:root{--primary:#6d28d9;--primary-light:#7c3aed;--primary-dark:#3b176e;--pink:#ec168c;--cyan:#16c7e8;--navy:#17152b;--ink:#242035;--muted:#706b82;--line:#e8e5f0;--bg:#f7f7fc;--soft:#f3f0ff;--pink-soft:#fff0f8;--success:#16814a;--warning:#a16207;--danger:#b42318;--shadow:0 14px 40px rgba(45,31,87,.08)}
*{box-sizing:border-box}html{font-family:"Plus Jakarta Sans",system-ui,sans-serif;color:var(--ink);background:var(--bg)}body{margin:0;min-height:100vh;background:var(--bg);-webkit-font-smoothing:antialiased}a{color:inherit}button,input,textarea{font-family:inherit}
.investor-shell{min-height:100vh}.investor-side{display:none}.investor-main{min-width:0}.investor-top{position:sticky;top:0;z-index:20;height:72px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 18px;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.topbar-page,.topbar-user{display:flex;align-items:center;min-width:0}.topbar-page{gap:10px}.topbar-page img{width:36px;height:36px;object-fit:contain;flex:0 0 auto}.topbar-page>div,.topbar-user>span{display:flex;flex-direction:column;gap:2px;min-width:0}.topbar-page small,.topbar-user small,.portal-heading small{font-size:10px;line-height:1.2;letter-spacing:.13em;color:var(--primary);font-weight:800}.topbar-page b,.topbar-user b{overflow:hidden;font-size:14px;white-space:nowrap;text-overflow:ellipsis}.topbar-user{gap:11px}.topbar-user>span{display:none;text-align:right}.topbar-user small{color:var(--muted);letter-spacing:0;font-weight:500}.avatar,.profile-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--primary),var(--pink));box-shadow:0 7px 18px rgba(109,40,217,.22);font-weight:800;text-decoration:none}
.investor-content{width:min(100%,1180px);margin:auto;padding:24px 16px 106px}.portal-heading{margin:2px 0 24px}.portal-heading h1{margin:7px 0;color:var(--navy);font-size:26px;line-height:1.2;letter-spacing:-.035em}.portal-heading p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}.metric-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-bottom:30px}.metric{display:flex;flex-direction:column;gap:8px;padding:21px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow)}.metric.featured{position:relative;overflow:hidden;color:#fff;border:0;background:linear-gradient(135deg,var(--primary-dark),var(--primary) 55%,var(--pink))}.metric.featured:after{content:"";position:absolute;top:-60px;right:-45px;width:170px;height:170px;border:28px solid rgba(255,255,255,.08);border-radius:50%}.metric span{position:relative;z-index:1;color:var(--muted);font-size:12px;font-weight:700}.metric.featured span,.metric.featured small{color:rgba(255,255,255,.78)}.metric strong{position:relative;z-index:1;font-size:24px;line-height:1.2;letter-spacing:-.025em}.metric small{position:relative;z-index:1;color:var(--muted);font-size:12px}.metric.compact{min-width:260px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 11px}.section-title h2{margin:0;color:var(--navy);font-size:17px}.section-title a{color:var(--primary);font-size:13px;font-weight:700}.portal-card{border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow)}.table-card{overflow:hidden}.responsive-table{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{padding:13px 15px;color:var(--muted);background:#faf9fd;font-size:10px;letter-spacing:.07em;text-align:left;text-transform:uppercase;white-space:nowrap}td{padding:15px;border-top:1px solid #efedf4;vertical-align:middle}td small{display:block;margin-top:3px;color:var(--muted)}.green{color:var(--success)}.portal-badge{display:inline-flex;padding:5px 9px;border-radius:999px;color:#655f71;background:#f0eef4;font-size:10px;font-weight:800}.portal-badge.completed{color:#117142;background:#e8f8ef}.portal-badge.ongoing{color:#08748a;background:#e6faff}.portal-badge.confirmed,.portal-badge.approved{color:#5b21b6;background:#eee8ff}.portal-badge.pending{color:var(--warning);background:#fff7d9}.portal-badge.cancelled,.portal-badge.accident{color:var(--danger);background:#ffebe9}.portal-empty{padding:36px!important;color:var(--muted);text-align:center!important}.portal-empty i{display:block;margin-bottom:10px;color:#b0a6c1;font-size:24px}
.investor-bottom{position:fixed;right:0;bottom:0;left:0;z-index:30;display:grid;grid-template-columns:repeat(4,1fr);height:76px;padding:8px max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));border-top:1px solid var(--line);background:rgba(255,255,255,.96);backdrop-filter:blur(16px)}.investor-bottom a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border-radius:13px;color:#817a90;font-size:10px;font-weight:700;text-decoration:none}.investor-bottom a i{font-size:18px}.investor-bottom a.active{color:var(--primary);background:var(--soft)}.notice{max-width:1148px;margin:14px auto 0;padding:12px 15px;border-radius:12px;font-size:13px}.notice.ok{color:#126638;background:#e7f8ee}.notice.bad{color:#92221b;background:#ffebe9}
.asset-grid{display:grid;grid-template-columns:1fr;gap:14px}.asset-card{position:relative;padding:19px}.asset-card:before{content:"";position:absolute;top:0;right:22px;left:22px;height:3px;border-radius:0 0 5px 5px;background:linear-gradient(90deg,var(--cyan),var(--primary),var(--pink))}.asset-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:15px;color:var(--primary);background:var(--soft);font-size:22px}.asset-title{margin:13px 0}.asset-title span{color:var(--pink);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.asset-title h2{margin:3px 0;color:var(--navy);font-size:17px}.asset-title b{color:var(--muted);font-size:13px}.asset-card dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.asset-card dl div{padding:11px;border-radius:12px;background:#faf9fd}.asset-card dt{color:var(--muted);font-size:10px}.asset-card dd{margin:4px 0 0;font-size:13px;font-weight:800}.asset-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}.asset-foot a,.portal-back{color:var(--primary);font-size:12px;font-weight:800;text-decoration:none}.portal-back{display:inline-flex;align-items:center;gap:7px;margin-bottom:16px}
.income-toolbar{display:flex;flex-direction:column;gap:12px;margin-bottom:14px}.income-toolbar form{display:flex;align-items:end;gap:8px}.income-toolbar label,.login-card label,.account-form label{display:flex;flex-direction:column;gap:7px;color:var(--navy);font-size:12px;font-weight:700}.income-toolbar input,.login-card input,.account-form input,.account-form textarea{width:100%;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:#fff;font:inherit;transition:border-color .2s,box-shadow .2s}.income-toolbar input,.login-card input,.account-form input{height:46px;padding:0 13px}.account-form textarea{min-height:94px;padding:11px 12px;resize:vertical}.income-toolbar input:focus,.login-card input:focus,.account-form input:focus,.account-form textarea:focus{outline:none;border-color:var(--primary-light);box-shadow:0 0 0 4px rgba(124,58,237,.12)}.income-toolbar a{padding:13px 4px;color:var(--primary);font-size:12px}.account-grid{display:grid;align-items:start;gap:14px}.account-forms{display:grid;gap:14px}.profile-card,.account-form{padding:22px}.profile-card{position:relative;overflow:hidden;text-align:center}.profile-card:before{content:"";position:absolute;top:0;right:0;left:0;height:72px;background:linear-gradient(110deg,var(--soft),var(--pink-soft))}.profile-avatar{position:relative;width:76px;height:76px;margin:13px auto 12px;border:4px solid #fff;font-size:26px}.profile-card h2{position:relative;margin:0 0 16px;color:var(--navy)}.profile-card p{color:var(--muted);font-size:13px;line-height:1.6}.profile-card i{width:22px;color:var(--primary)}.account-form{display:flex;flex-direction:column;gap:14px}.account-form h2{margin:0;color:var(--navy);font-size:17px}.account-form label small{color:var(--muted);font-size:11px;font-weight:500;line-height:1.4}.account-form-title{display:flex;align-items:center;gap:11px}.account-form-title p{margin:3px 0 0;color:var(--muted);font-size:12px}.account-form-icon{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:13px;color:var(--primary);background:var(--soft)}.portal-button{min-height:47px;padding:0 18px;border:0;border-radius:12px;color:#fff;background:linear-gradient(100deg,var(--primary),var(--pink));box-shadow:0 9px 22px rgba(109,40,217,.2);font:inherit;font-weight:800;cursor:pointer;transition:transform .2s,box-shadow .2s}.portal-button:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(109,40,217,.27)}.portal-button:focus-visible{outline:3px solid rgba(22,199,232,.35);outline-offset:2px}.portal-button i{margin-right:6px}.logout-mobile{display:flex;align-items:center;justify-content:center;gap:8px;margin:18px 0;color:var(--danger);font-size:13px;font-weight:700;text-decoration:none}.pagination{display:flex;justify-content:center;gap:6px;padding:18px}.pagination a{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:13px;font-weight:700;text-decoration:none}.pagination a.active{color:#fff;border-color:var(--primary);background:var(--primary)}
.detail-list{margin-bottom:28px;padding:20px}.detail-list h2{margin:0 0 16px;color:var(--navy);font-size:17px}.detail-list dl{display:grid;grid-template-columns:1fr 1fr;gap:1px;overflow:hidden;margin:0;padding:1px;border-radius:13px;background:var(--line)}.detail-list dl div{padding:13px;background:#fff}.detail-list dt{color:var(--muted);font-size:10px;text-transform:uppercase}.detail-list dd{margin:5px 0 0;font-size:13px;font-weight:800}.detail-history{margin-top:24px}
.investor-login-body{display:grid;place-items:center;padding:30px 20px;background:radial-gradient(circle at 12% 10%,rgba(22,199,232,.28),transparent 32%),radial-gradient(circle at 88% 8%,rgba(236,22,140,.34),transparent 34%),linear-gradient(145deg,var(--navy),var(--primary-dark) 55%,var(--primary))}.login-wrap{width:min(100%,420px)}.login-brand{display:flex;flex-direction:column;align-items:center;margin-bottom:20px;color:#fff;text-align:center}.login-logo{display:grid;place-items:center;width:min(100%,290px);min-height:86px;margin-bottom:17px;padding:16px 22px;border:1px solid rgba(255,255,255,.55);border-radius:22px;background:#fff;box-shadow:0 18px 44px rgba(13,8,32,.28)}.login-logo img{display:block;width:100%;height:auto}.login-brand>span{color:#c9f8ff;font-size:10px;font-weight:800;letter-spacing:.18em}.login-brand h1{margin:7px 0 5px;font-size:24px;letter-spacing:-.03em}.login-brand p{max-width:360px;margin:0;color:rgba(255,255,255,.76);font-size:13px;line-height:1.55}.login-card{display:flex;flex-direction:column;gap:16px;padding:23px}.login-card .portal-button{margin-top:2px}.login-help{color:rgba(255,255,255,.75);font-size:12px;text-align:center}.login-help i{margin-right:4px;color:var(--cyan)}.login-notice{position:fixed;top:12px;right:12px;left:12px;z-index:2;margin:0 auto}
@media(max-width:720px){.responsive-table table,.responsive-table tbody,.responsive-table tr,.responsive-table td{display:block}.responsive-table thead{display:none}.responsive-table tr{padding:10px 14px;border-top:1px solid var(--line)}.responsive-table tr:first-child{border-top:0}.responsive-table td{display:flex;justify-content:space-between;gap:14px;padding:6px 0;border:0;text-align:right}.responsive-table td:before{content:attr(data-label);color:var(--muted);font-size:10px;font-weight:800;text-align:left;text-transform:uppercase}.responsive-table td small{text-align:right}.responsive-table .portal-empty{display:block;text-align:center!important}.responsive-table .portal-empty:before{display:none}}
@media(min-width:560px){.topbar-user>span{display:flex}}
@media(min-width:680px){.investor-content{padding:31px 26px 106px}.portal-heading h1{font-size:31px}.metric-grid{grid-template-columns:1fr 1fr}.asset-grid{grid-template-columns:repeat(2,1fr)}.income-toolbar{flex-direction:row;align-items:end;justify-content:space-between}.account-grid{grid-template-columns:.8fr 1.2fr}.detail-list dl{grid-template-columns:repeat(3,1fr)}.login-notice{max-width:420px}}
@media(min-width:980px){.investor-shell{display:grid;grid-template-columns:260px 1fr}.investor-side{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;padding:24px 17px;border-right:1px solid var(--line);background:#fff}.investor-brand{display:flex;flex-direction:column;align-items:center;gap:12px;margin:2px 0 30px;padding:13px 10px 18px;border-bottom:1px solid var(--line)}.investor-brand img{display:block;width:190px;max-height:52px;object-fit:contain}.investor-brand span{color:var(--primary);font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.investor-side nav{display:flex;flex-direction:column;gap:7px}.investor-side nav a,.side-logout{display:flex;align-items:center;gap:12px;padding:13px 15px;border-radius:13px;color:var(--muted);font-size:13px;font-weight:700;text-decoration:none;transition:color .2s,background .2s,transform .2s}.investor-side nav a:hover{color:var(--primary);background:var(--soft);transform:translateX(2px)}.investor-side nav a.active{color:#fff;background:linear-gradient(100deg,var(--primary),var(--pink));box-shadow:0 9px 22px rgba(109,40,217,.2)}.investor-side nav i,.side-logout i{width:20px;text-align:center}.side-logout{margin-top:auto;color:var(--danger)}.investor-bottom{display:none}.investor-content{padding:38px 38px 55px}.investor-top{padding:0 38px}.asset-grid{grid-template-columns:repeat(3,1fr)}.logout-mobile{display:none}}
.password-input{position:relative}.password-input>input{padding-inline-end:50px!important}.password-toggle{position:absolute;top:50%;inset-inline-end:5px;transform:translateY(-50%);display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:9px;color:var(--muted);background:transparent;font-size:15px;cursor:pointer}.password-toggle:hover{color:var(--primary);background:var(--soft)}.password-toggle:focus-visible{outline:2px solid var(--primary-light);outline-offset:1px}

/* Investor dashboard */
.dashboard-welcome{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:25px}.dashboard-welcome .portal-heading{margin:0}.dashboard-period{flex:0 0 auto;padding:11px 14px;border-radius:15px}.dashboard-period label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:2px 9px;color:var(--primary);font-size:15px}.dashboard-period label>i{grid-row:1/3}.dashboard-period label>span{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.dashboard-period input{width:155px;padding:0;border:0;outline:0;color:var(--navy);background:transparent;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.dashboard-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:32px}.dashboard-kpi{min-width:0;min-height:176px}.dashboard-kpi .metric-icon{display:grid;place-items:center;width:38px;height:38px;margin-bottom:3px;border-radius:12px;color:#fff;background:rgba(255,255,255,.16);font-size:16px}.dashboard-kpi:not(.featured) .metric-icon{color:var(--primary);background:var(--soft)}.dashboard-kpi:not(.featured) .metric-icon.pink{color:var(--pink);background:var(--pink-soft)}.dashboard-kpi:not(.featured) .metric-icon.cyan{color:#07829a;background:#e8fbff}.dashboard-kpi strong{font-size:21px;overflow-wrap:anywhere}.metric-change{display:inline-flex;align-items:center;gap:4px;margin-right:4px}.metric-change.up{color:#bfffd9}.metric-change.down{color:#ffd0df}.dashboard-kpi:not(.featured) .metric-change.up{color:var(--success)}.dashboard-kpi:not(.featured) .metric-change.down{color:var(--danger)}
.dashboard-section{margin-top:31px}.dashboard-section-title{align-items:flex-end;margin-bottom:13px}.dashboard-section-title>div>small,.dashboard-card-head small{display:block;margin-bottom:4px;color:var(--primary);font-size:9px;font-weight:800;letter-spacing:.11em}.fleet-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.fleet-status{display:flex;align-items:center;gap:13px;padding:17px;box-shadow:0 9px 28px rgba(45,31,87,.055)}.fleet-status-icon{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:14px;font-size:18px}.fleet-status>div:last-child{display:flex;flex-direction:column;min-width:0}.fleet-status strong{color:var(--navy);font-size:24px;line-height:1}.fleet-status span{margin-top:5px;color:var(--navy);font-size:11px;font-weight:800}.fleet-status small{margin-top:3px;color:var(--muted);font-size:9px;line-height:1.35}.fleet-status.running .fleet-status-icon{color:#08748a;background:#e6faff}.fleet-status.idle .fleet-status-icon{color:var(--success);background:#e8f8ef}.fleet-status.service .fleet-status-icon{color:var(--warning);background:#fff7d9}.fleet-status.bookings .fleet-status-icon{color:var(--primary);background:var(--soft)}
.dashboard-split{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.65fr);gap:14px}.trend-card,.portfolio-health{padding:21px}.dashboard-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.dashboard-card-head h2{margin:0;color:var(--navy);font-size:17px}.dashboard-card-head a{color:var(--primary);font-size:11px;font-weight:800}.income-chart{display:grid;grid-template-columns:repeat(6,minmax(48px,1fr));align-items:end;gap:9px;height:260px;margin-top:20px;padding-top:25px;border-bottom:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent 54px,rgba(112,107,130,.09) 55px)}.income-bar-item{display:grid;grid-template-rows:24px 1fr 19px 18px;align-items:end;height:100%;min-width:0;text-align:center}.income-bar-value{overflow:hidden;color:var(--muted);font-size:9px;font-weight:700;white-space:nowrap;text-overflow:ellipsis}.income-bar-track{position:relative;width:min(34px,72%);height:100%;margin:0 auto}.income-bar{position:absolute;right:0;bottom:0;left:0;min-height:5px;border-radius:9px 9px 3px 3px;background:linear-gradient(180deg,#b9a0f9,var(--primary-light));transition:height .3s}.income-bar.active{background:linear-gradient(180deg,var(--pink),var(--primary));box-shadow:0 7px 18px rgba(236,22,140,.18)}.income-bar-item>b{color:var(--navy);font-size:10px}.income-bar-item>small{color:var(--muted);font-size:8px}.portfolio-health{display:flex;flex-direction:column}.health-ring{display:grid;place-items:center;width:150px;height:150px;margin:23px auto 19px;border-radius:50%;background:conic-gradient(var(--primary) calc(var(--value)*1%),#eeeaf5 0);box-shadow:inset 0 0 0 1px rgba(109,40,217,.04)}.health-ring:before{content:"";grid-area:1/1;width:112px;height:112px;border-radius:50%;background:#fff}.health-ring>div{z-index:1;grid-area:1/1;display:flex;flex-direction:column;text-align:center}.health-ring strong{color:var(--navy);font-size:27px}.health-ring span{color:var(--muted);font-size:10px}.health-details{display:grid;gap:1px;overflow:hidden;margin-top:auto;border:1px solid var(--line);border-radius:13px;background:var(--line)}.health-details>div{display:flex;justify-content:space-between;gap:12px;padding:11px;background:#fff;font-size:10px}.health-details span{color:var(--muted)}.health-details b{color:var(--navy);text-align:right}.table-detail-link{display:inline-flex;align-items:center;gap:5px;color:var(--primary);font-size:11px;font-weight:800;text-decoration:none;white-space:nowrap}
@media(max-width:1120px){.dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fleet-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.dashboard-welcome{align-items:stretch;flex-direction:column}.dashboard-period{width:100%}.dashboard-period label{grid-template-columns:auto 1fr auto}.dashboard-period label>i{grid-row:1/2}.dashboard-period label>span{align-self:center}.dashboard-period input{width:auto}.dashboard-split{grid-template-columns:1fr}.income-chart{height:230px;gap:5px}.trend-card,.portfolio-health{padding:17px}}
@media(max-width:520px){.dashboard-kpi-grid,.fleet-status-grid{grid-template-columns:1fr}.dashboard-kpi{min-height:0}.fleet-status{padding:15px}.dashboard-section{margin-top:25px}.income-chart{grid-template-columns:repeat(6,minmax(38px,1fr));height:210px;margin-right:-7px;margin-left:-7px}.income-bar-track{width:min(25px,68%)}.income-bar-value{font-size:8px}.dashboard-card-head a{display:none}}
