:root{
  --ink:#202127;--muted:#636574;--paper:#f6f6f8;--line:#dedee5;
  --night:#1c1b28;--violet:#55458d;--pale:#f0edf9;--lime:#d4eb92;
  --green:#237252;--red:#a34841;--side:238px;
  font-family:'Inter',system-ui,sans-serif;color:var(--ink);background:var(--paper);
}
*{box-sizing:border-box}
body{margin:0;font-size:15px;line-height:1.48}
button,input,select{font:inherit}
button{cursor:pointer;background:white;color:var(--ink);border:1px solid var(--line);padding:8px 13px;border-radius:8px;font-weight:550}
button:hover{background:#f1f0f5}button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #917cd8;outline-offset:2px}
.primary{background:var(--violet);border-color:var(--violet);color:white}.primary:hover{background:#453676}
aside{position:fixed;inset:0 auto 0 0;width:var(--side);background:var(--night);color:white;display:flex;flex-direction:column;padding:32px 18px 20px;overflow:auto}
.brand{display:flex;gap:12px;align-items:center;padding:0 6px 25px;border-bottom:1px solid #373544}
.brand-logo{width:44px;height:44px;object-fit:contain;border-radius:11px}.brand div{font-weight:730;font-size:18px;letter-spacing:-.6px}
.brand small{display:block;color:#c2bdcd;font-size:12px;letter-spacing:0;font-weight:450}
nav{display:grid;gap:5px;margin-top:25px}nav button{display:flex;align-items:center;text-align:left;gap:10px;color:#d2cedb;background:none;border-color:transparent;padding:10px 12px;font-size:14px}
nav button:hover{background:#302e3c}nav button.active{background:#383443;color:white;box-shadow:inset 3px 0 var(--lime)}
.ico{color:#c6bddc;font-size:18px;line-height:1;text-align:center;width:23px}.active .ico{color:var(--lime)}
.profile{margin-top:auto;padding:18px 6px 0}.profile label{display:block;color:#bdb8ca;font-size:12px}.profile select{width:100%;color:white;background:#312e3d;border-color:#494553}
.menu-toggle{display:none}
main{margin-left:var(--side);min-width:0}
header{height:65px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,60px);color:var(--muted);font-size:13px;background:#fcfcfd}
header b{color:var(--ink)}.badge{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:30px;padding:4px 10px;font-size:12px}.badge:before{content:'';width:7px;height:7px;border-radius:50%;background:#83934d}
section{max-width:1570px;margin:auto;padding:34px clamp(18px,4vw,60px) 60px}
h1,h2,p{margin-top:0}h1{font-size:clamp(28px,3.2vw,45px);letter-spacing:-.055em;line-height:1.13;margin-bottom:0;font-weight:730}h2{font-size:19px;letter-spacing:-.04em;margin-bottom:0}
p,small{color:var(--muted)}small{font-size:12px}.row,.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.row{justify-content:space-between}.actions{gap:6px}.actions button{font-size:13px}
.hero{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(110deg,#252230 8%,#342d48 70%,#41394f);color:#eeeaf5;padding:clamp(22px,3vw,38px);border-radius:20px;margin:24px 0 14px;font-weight:550}
.hero strong{display:block;line-height:1.2;font-size:clamp(36px,4.5vw,66px);font-weight:650;letter-spacing:-.06em;font-variant-numeric:tabular-nums;color:white;margin:5px 0 13px;overflow-wrap:anywhere}.hero small{color:#d4cddd;font-weight:400}
.wave{position:absolute;z-index:-1;inset:8% 2% 8% auto;width:49%;display:flex;gap:3px;align-items:center;opacity:.6;mask-image:linear-gradient(to right,transparent,#000 38%);transform:skewY(-5deg)}
.wave i{flex:1;background:repeating-linear-gradient(to top,#d1dba5 0px,#d1dba5 3px,transparent 3px,transparent 6px);border-radius:2px}
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.card,.panel{background:white;border:1px solid var(--line);border-radius:15px;box-shadow:0 3px 12px #15132206}
.card{text-align:left;padding:18px;color:var(--muted);font-size:13px;transition:border-color .15s}.card:hover{border-color:#aaa2c2;background:#fff}.card em{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;font-size:18px;font-style:normal;background:var(--pale);color:var(--violet);margin-bottom:12px}.card:first-child em{color:var(--green);background:#e5f3eb}.card:nth-child(2) em{color:var(--red);background:#faece8}
.card strong{display:block;font-size:clamp(17px,1.65vw,26px);color:var(--ink);letter-spacing:-.045em;line-height:1.3;margin-top:3px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.panel{padding:clamp(15px,2vw,25px);margin-top:20px;min-width:0}.panel>.row{margin-bottom:12px}.panel>h2:not(:first-child){margin-top:26px}.panel>h2+p{margin-top:6px}
.grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:16px}
.scroll{overflow-x:auto;max-width:100%;scrollbar-width:thin}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px;font-variant-numeric:tabular-nums}
th,td{padding:13px 9px;border-bottom:1px solid #e9e8ee;vertical-align:middle}th{background:#f6f5f8;color:var(--muted);font-size:12px;font-weight:620}td:last-child,th:last-child{text-align:right}tr:last-child td{border-bottom:none}td button,.row>button:not(.primary){font-size:12px}
td button{margin:2px}td small{display:block}td br+small{margin-top:-2px}.empty,.scroll>p{font-size:14px;padding:12px 0;margin:0}
.pos{color:var(--green)}.neg{color:var(--red)}.line{padding:12px 0;border-bottom:1px solid var(--line)}.line:last-child{border:0}.line small{display:block}.fixactions{display:inline-flex;gap:3px;flex-wrap:wrap}
dialog{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:18px;padding:24px;width:min(480px,94vw);max-height:88dvh;overflow:auto;box-shadow:0 24px 80px #15112333}dialog::backdrop{background:#1c18296b}
dialog .row{margin-bottom:16px}dialog form>.primary{margin-top:16px}dialog h2{font-size:22px}
dialog label,.panel label{display:block;margin:12px 0;font-size:14px;font-weight:550}
input,select{display:block;width:100%;margin-top:5px;padding:10px 12px;border:1px solid #cdcad6;background:white;color:var(--ink);border-radius:8px;min-height:42px;font-variant-numeric:tabular-nums}input[type=checkbox]{display:inline-block;vertical-align:middle;width:17px;height:17px;min-height:0;margin:0 5px 0 0;accent-color:var(--violet)}
fieldset,dialog details{border:1px solid var(--line);border-radius:10px;padding:9px 13px;margin:14px 0}legend,summary{font-weight:640}summary{cursor:pointer}.crew-list label{padding:3px 0;margin:6px 0}.loanbalance,.pay-total{background:var(--pale);color:var(--violet);border-radius:9px;padding:10px 12px}.owner-inbox h2{margin-bottom:12px}[role=alert]:not(:empty){color:var(--red);margin:10px 0}
@media(max-width:1100px){:root{--side:208px}section{padding-inline:20px}.grid{grid-template-columns:1.2fr 1fr}}
@media(max-width:850px){
 aside{position:relative;inset:auto;width:auto;padding:12px 16px;display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;overflow:visible}.brand{padding:0;border:0;gap:8px}.brand-logo{width:34px;height:34px}.brand div{font-size:16px}.brand small{display:none}.profile{grid-column:2;grid-row:1;padding:0;margin:0}.profile label{font-size:10px}.profile select{margin:0;padding:3px 6px;min-height:29px;font-size:13px}.menu-toggle{display:block;grid-column:3;grid-row:1;background:#373342;color:white;border-color:#514c5d;font-size:13px;min-height:42px}.menu-toggle:hover{background:#443e50}
 nav{display:none;grid-column:1/-1;margin:0;padding-top:10px;border-top:1px solid #433f50}nav.open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}nav button{min-height:44px;padding:8px}
 main{margin-left:0}header{height:46px;padding:0 17px}section{padding:23px 16px 45px}.grid{grid-template-columns:1fr;gap:0}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.wave{width:37%}.hero{margin-top:18px}.actions button{min-height:38px}
}
@media(max-width:600px){
 .panel{padding:14px}.cards{gap:9px}.card{padding:13px}.card em{margin-bottom:8px}.hero{border-radius:15px}.hero strong{max-width:88%}.wave{opacity:.38}
 section>.row:first-child{align-items:flex-start}.actions button{font-size:12px}
 .scroll table,.scroll tbody,.scroll tr{display:block}.scroll thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .scroll tr{padding:10px 0;border-bottom:1px solid var(--line)}.scroll tr:last-child{border:0}
 .scroll td,.scroll td:last-child{text-align:right;display:flow-root;padding:5px 0;border:0;overflow-wrap:anywhere}
 .scroll td:before{content:attr(data-label);float:left;text-align:left;width:36%;padding-right:8px;color:var(--muted);font-size:12px;line-height:1.7}
 .scroll td button{min-height:36px}.grid .scroll td:before{display:none}.grid .scroll tr{display:flex;justify-content:space-between;align-items:center;gap:10px}.grid .scroll td:first-child{text-align:left}
 dialog{padding:19px}input,select{font-size:16px}
}
.auth{min-height:100vh;display:grid;place-items:center;padding:20px;background:#f3f2f7}.auth section{width:min(460px,100%);background:white;border:1px solid var(--line);padding:30px;border-radius:18px}.auth h1{font-size:30px;margin-top:16px}.auth label{display:block;margin:14px 0}.auth button{margin-top:12px}.profile p,.profile a{color:#eee8ff}.profile a{font-size:12px}.profile form{margin-top:8px}@media(max-width:850px){.profile{grid-row:2;grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:9px}.profile p,.profile form{margin:0}.profile select{max-width:180px}.profile label{max-width:48%}.profile button{font-size:12px;padding:4px 8px}.menu-toggle{justify-self:end}}
