@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{font-family:DM Sans,sans-serif;color:#172b3d;background:#f4f7fa}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea{font:inherit}.loading{height:100vh;display:flex;align-items:center;justify-content:center;gap:12px;font:700 20px Manrope;color:#15344a}.brand-mark{width:42px;height:42px;border-radius:13px;background:#0d2b43;color:#fff;display:grid;place-items:center}.login-shell{min-height:100vh;background:radial-gradient(circle at 15% 10%,#e4edf3,transparent 35%),#f5f8fa;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:32px 20px;position:relative}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:28px;color:#102b40}.login-brand b{font:800 22px Manrope}.login-brand small{font-size:9px;letter-spacing:1.5px;color:#7890a1;display:block}.login-card{background:#fff;border:1px solid #e6edf1;border-radius:18px;padding:36px;width:min(100%,440px);box-shadow:0 16px 60px #17344b0d}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.1px;text-transform:uppercase;color:#54809b;display:flex;align-items:center;gap:7px}.login-card h1,.welcome-row h1,.module-view h1,.detail-heading h1{font:800 27px Manrope;letter-spacing:-.8px;margin:13px 0 7px;color:#122c41}.muted{color:#8193a1;font-size:13px;line-height:1.6;margin:0}.login-card form{display:flex;flex-direction:column;margin-top:28px}.login-card label{font-size:12px;font-weight:700;color:#385166;margin:0 0 8px}.login-card input{height:47px;border:1px solid #dfe7ec;border-radius:9px;padding:0 13px;outline:none;margin-bottom:18px}.primary{height:43px;border:0;border-radius:9px;background:#12344d;color:#fff;font-weight:700;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 15px;cursor:pointer}.primary:disabled{opacity:.5}.login-card .primary{height:48px;width:100%}.login-foot{border-top:1px solid #edf1f4;margin-top:24px;padding-top:18px;color:#8a9aa5;font-size:11px;text-align:center}.login-bottom{position:absolute;bottom:20px;left:28px;right:28px;display:flex;justify-content:space-between;color:#8da0ad;font-size:11px}.lang{display:flex;align-items:center;gap:7px;border:1px solid #e2e9ee;background:#fff;color:#496276;border-radius:8px;padding:8px 10px;font-size:11px;font-weight:700;cursor:pointer}.error{color:#b83e3e;font-size:12px}.sidebar{position:fixed;inset:0 auto 0 0;width:252px;background:#102b40;color:#c3d0d9;padding:23px 15px 14px;display:flex;flex-direction:column;z-index:10}.side-brand{display:flex;align-items:center;gap:11px;padding:0 9px 31px;color:#fff}.side-brand b{font:800 17px Manrope;display:block}.side-brand small{font-size:8px;letter-spacing:1.3px;color:#8ca3b4}.side-brand .brand-mark{background:#24465f}.side-label{font-size:9px;letter-spacing:1.5px;font-weight:700;color:#718b9e;padding:0 12px 11px}.sidebar nav{display:flex;flex-direction:column;gap:4px}.nav-item{border:0;background:transparent;color:#a9bdca;display:flex;align-items:center;gap:12px;width:100%;height:42px;padding:0 12px;border-radius:8px;text-align:left;font-size:12px;cursor:pointer}.nav-item:hover{background:#ffffff0d;color:#fff}.nav-item.selected{background:#21445e;color:#fff;box-shadow:inset 3px 0 #6bb1c8}.side-bottom{margin-top:auto}.secure-note{display:flex;gap:10px;background:#183950;border:1px solid #254960;border-radius:10px;padding:12px;margin-bottom:14px;color:#9cc5d4}.secure-note b{display:block;color:#e0ebf0;font-size:10px}.secure-note small{display:block;color:#9bb0bd;font-size:9px;line-height:1.5}.profile{display:flex;align-items:center;gap:9px;padding:15px 5px 2px;border-top:1px solid #294458}.avatar{width:32px;height:32px;border-radius:50%;background:#d3e5ed;color:#15354b;display:grid;place-items:center;font-weight:700;font-size:12px}.profile-info{min-width:0;flex:1}.profile-info b,.profile-info small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-info b{font-size:11px;color:#fff}.profile-info small{font-size:9px;color:#8fa7b6;margin-top:3px}.profile button,.hamb,.mobile-close,.close{border:0;background:transparent;color:inherit;cursor:pointer}.main{margin-left:252px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:70px;background:#fff;border-bottom:1px solid #e8edf0;display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:5}.crumb{font-size:11px;color:#8b9ba6}.crumb span{padding:0 10px;color:#c3cdd4}.crumb b{color:#365267}.top-actions{display:flex;align-items:center;gap:14px}.searchbox{height:35px;width:210px;background:#f5f7f9;border:1px solid #edf1f3;border-radius:8px;display:flex;align-items:center;gap:8px;padding:0 10px;color:#8da0ad}.searchbox input{border:0;outline:0;background:transparent;width:100%;font-size:11px}.content{padding:34px;flex:1;max-width:1500px;width:100%;margin:0 auto}.welcome-row{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:26px}.welcome-row h1,.module-view h1{font-size:25px;margin:9px 0 5px}.date-chip{display:flex;align-items:center;gap:8px;color:#718797;font-size:11px;background:#fff;border:1px solid #e8edf0;padding:9px 12px;border-radius:8px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:18px}.stat-card,.panel{background:#fff;border:1px solid #e7edf1;border-radius:12px}.stat-card{padding:17px 18px}.stat-top{display:flex;justify-content:space-between;align-items:center;color:#7b8f9d;font-size:11px;font-weight:600}.stat-top i{width:33px;height:33px;border-radius:9px;background:#eff5f8;color:#3e718c;display:grid;place-items:center}.stat-value{font:800 28px Manrope;color:#17354a;margin-top:12px}.stat-detail{font-size:10px;color:#9aa9b3;margin-top:2px}.dash-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;margin-bottom:16px}.panel{padding:19px}.panel-head{display:flex;justify-content:space-between;align-items:center}.panel-head h3{font:700 13px Manrope;color:#244156;margin:0 0 5px}.panel-head p{font-size:10px;color:#98a7b1;margin:0}.text-btn{border:0;background:transparent;color:#4d7d97;font-size:10px;font-weight:700;display:flex;align-items:center;gap:4px;cursor:pointer}.empty-state{min-height:175px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:7px;color:#8da0ac}.empty-state b{font-size:11px;color:#617887}.empty-state span{font-size:10px;max-width:320px;line-height:1.5}.empty-icon{width:48px;height:48px;border-radius:14px;background:#f0f5f7;color:#7294a7;display:grid;place-items:center;margin-bottom:5px}.quick-panel{margin-bottom:22px}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:17px}.quick-item{display:flex;align-items:center;gap:10px;border:1px solid #edf1f3;background:#fff;padding:11px;border-radius:9px;color:#456176;text-align:left;cursor:pointer}.quick-item span{width:32px;height:32px;border-radius:8px;background:#eff5f8;display:grid;place-items:center;color:#497b94}.quick-item b{font-size:10px;flex:1}.footer{border-top:1px solid #e6ecef;padding:16px 34px;color:#9aabb5;font-size:9px}.toast{display:flex;align-items:center;gap:9px;padding:11px 13px;background:#edf5f8;border:1px solid #d9e8ef;color:#345b71;border-radius:9px;font-size:12px;margin-bottom:17px}.toast button{margin-left:auto;border:0;background:none;color:inherit;cursor:pointer}.compact-btn{height:40px}.list-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.filter-tabs{display:flex;gap:5px}.filter-tabs button{border:1px solid transparent;background:transparent;color:#81939f;padding:8px 11px;border-radius:7px;font-size:11px;cursor:pointer}.filter-tabs button.on{background:#fff;border-color:#e4ebef;color:#24475d;font-weight:700}.filter-tabs b{margin-left:5px;color:#7893a3}.refresh,.secondary,.danger,.back-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #dfe7ec;background:#fff;color:#476276;border-radius:8px;padding:9px 12px;font-size:11px;font-weight:600;cursor:pointer}.table-panel{padding:0;overflow:hidden}.table-row{display:grid;grid-template-columns:1.5fr 1.1fr .9fr 1fr .7fr 32px;gap:12px;align-items:center;padding:13px 17px;border-top:1px solid #edf1f3;font-size:11px;color:#617887}.table-header{background:#f9fbfc;border-top:0;color:#8a9ba6;font-size:9px;text-transform:uppercase;letter-spacing:.5px;font-weight:700}.vessel-title{display:flex;align-items:center;gap:9px;border:0;background:none;color:#27475c;text-align:left;cursor:pointer;font-size:11px}.vessel-icon,.mini-icon{width:30px;height:30px;border-radius:8px;background:#edf4f7;color:#4c7b94;display:grid;place-items:center}.status{display:inline-block;width:7px;height:7px;border-radius:50%;background:#49a27a;margin-right:7px}.status.off{background:#b6c0c6}.row-open{border:0;background:transparent;color:#8da0ac;cursor:pointer}.table-foot{font-size:10px;color:#95a5af;padding:11px 3px}.mini-list{margin-top:14px}.mini-list button{width:100%;display:flex;align-items:center;gap:10px;padding:9px 0;border:0;border-top:1px solid #f0f3f5;background:#fff;text-align:left;cursor:pointer;color:#718694}.mini-name{flex:1}.mini-name b,.mini-name small{display:block}.mini-name b{font-size:11px;color:#36546a}.mini-name small{font-size:9px;color:#9aabb5;margin-top:3px}.detail-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.back-btn{border:0;padding:8px 0;background:transparent}.detail-actions{display:flex;gap:8px}.danger{border-color:#f0d9d6;color:#a94f47}.detail-heading{display:flex;align-items:center;gap:16px;margin-bottom:22px}.detail-symbol{width:58px;height:58px;border-radius:15px;background:#eaf2f6;color:#3d718c;display:grid;place-items:center}.detail-heading h1{margin:4px 0;font-size:24px}.detail-heading p{margin:0;color:#8a9ba6;font-size:11px}.pill{margin-left:auto;border-radius:20px;padding:7px 11px;font-size:10px;font-weight:700}.pill.good{background:#eaf6f0;color:#438367}.pill.off{background:#f0f2f3;color:#7e8d96}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 25px;margin-top:8px}.detail-field{padding:13px 0;border-top:1px solid #edf1f3}.detail-field span{display:block;font-size:10px;color:#8a9ca7;margin-bottom:6px}.detail-field b{font-size:12px;color:#355368;font-weight:600}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#102b4077;z-index:30;display:flex;align-items:center;justify-content:center;padding:20px}.modal{width:min(100%,780px);max-height:90vh;overflow:auto;background:#fff;border-radius:16px;padding:24px;box-shadow:0 25px 90px #0b203044}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:22px}.modal-head h2{font:800 20px Manrope;color:#18364b;margin:7px 0 0}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 16px}.field{display:flex;flex-direction:column;gap:6px;font-size:10px;font-weight:700;color:#526c7e}.field input,.field textarea{width:100%;border:1px solid #dfe7ec;border-radius:8px;padding:10px 11px;outline:0;color:#244256;font-size:12px;background:#fff}.field input{height:39px}.field textarea{resize:vertical}.field.full{grid-column:1/-1}.check-field{display:flex;align-items:center;gap:8px;font-size:11px;color:#526c7e}.check-field input{accent-color:#1c526e}.modal-actions{display:flex;justify-content:flex-end;gap:9px;border-top:1px solid #edf1f3;margin-top:20px;padding-top:16px}.modal-actions .primary{height:40px}.hamb,.mobile-close{display:none}@media(max-width:1100px){.stat-grid{grid-template-columns:repeat(2,1fr)}.dash-grid{grid-template-columns:1fr}.quick-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.sidebar{transform:translate(-100%);transition:transform .2s;width:270px;box-shadow:15px 0 40px #102b4020}.sidebar.open{transform:translate(0)}.mobile-close{display:block;margin-left:auto}.main{margin-left:0}.topbar{height:60px;padding:0 16px}.hamb{display:block;color:#4a6475;padding:4px;margin-right:12px}.crumb{flex:1;font-size:10px}.top-actions{gap:8px}.searchbox{width:35px;border:0;background:transparent;padding:0}.searchbox input{display:none}.content{padding:24px 16px}.welcome-row{align-items:flex-start;gap:12px;flex-direction:column}.stat-grid{gap:9px}.stat-card{padding:13px}.stat-value{font-size:24px}.panel{padding:15px}.quick-grid{grid-template-columns:1fr}.footer{padding:14px 16px}.login-card{padding:26px 22px}.login-bottom{left:20px;right:20px}.table-panel{overflow-x:auto}.vessel-table{min-width:780px}.detail-grid{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.modal{padding:19px}.detail-heading{gap:10px}.detail-symbol{width:45px;height:45px}.detail-heading h1{font-size:19px}}
