:root{--brand:#bd101d;--brand-deep:#8d0712;--ink:#1b2738;--muted:#677489;--line:#e5eaf1;--bg:#f5f7fb;--card:#fff;--positive:#117b52;--negative:#bf3636;--warning:#a96300;--shadow:0 13px 32px rgba(25,37,58,.08)}*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}.app-shell{min-height:100vh;display:flex}.sidebar{position:fixed;inset:0 auto 0 0;width:258px;z-index:30;padding:22px 14px;background:linear-gradient(180deg,#ca1a27 0%,#990b16 100%);color:#fff;display:flex;flex-direction:column;transition:transform .2s ease}.side-brand,.auth-brand{display:flex;gap:11px;align-items:center}.side-brand{padding:2px 10px 28px}.brand-badge{display:grid;place-items:center;width:43px;height:43px;border-radius:13px;background:var(--brand);color:#fff;font-size:16px;font-weight:900;letter-spacing:-.08em;flex:0 0 auto}.brand-badge.inverse{background:#fff;color:var(--brand)}.side-brand strong,.auth-brand strong{display:block;font-size:18px;letter-spacing:.01em}.side-brand span,.auth-brand span{display:block;margin-top:2px;font-size:12px;color:rgba(255,255,255,.75)}.auth-brand span{color:var(--muted)}.nav{display:grid;gap:7px}.nav button{border:0;background:transparent;color:rgba(255,255,255,.8);font-weight:750;text-align:left;padding:12px;border-radius:11px;display:flex;gap:12px;align-items:center;transition:.15s}.nav button:hover,.nav button.active{color:#fff;background:rgba(255,255,255,.16)}.nav button span{width:18px;text-align:center;font-size:17px}.side-footer{margin-top:auto;padding:14px 10px 3px;font-size:12px;line-height:1.6;color:rgba(255,255,255,.75)}.side-footer a{display:inline-block;margin-top:7px;color:#fff;font-weight:750}.main{margin-left:258px;min-width:0;flex:1}.topbar{position:sticky;top:0;z-index:20;min-height:78px;padding:14px clamp(17px,3vw,38px);display:flex;align-items:center;justify-content:space-between;gap:15px;background:rgba(255,255,255,.95);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}.eyebrow{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}.topbar h1{margin:0;font-size:22px;letter-spacing:-.03em}.top-actions{display:flex;gap:10px;align-items:center}.today{font-size:13px;color:#4d5b70;white-space:nowrap}.mobile-menu{display:none;background:transparent;border:0;color:var(--ink);font-size:23px;padding:4px}.content{max-width:1480px;margin:0 auto;padding:clamp(18px,3vw,34px)}.stack{display:grid;gap:18px}.toolbar{display:flex;justify-content:space-between;align-items:end;gap:14px;flex-wrap:wrap}.toolbar h2{margin:0;font-size:20px;letter-spacing:-.025em}.toolbar p,.panel-head p{margin:5px 0 0;color:var(--muted)}.toolbar-actions,.filter-row,.inline-actions{display:flex;gap:9px;align-items:end;flex-wrap:wrap}.btn{border:1px solid transparent;display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:7px;padding:9px 13px;border-radius:10px;line-height:1;font-weight:760;text-decoration:none;white-space:nowrap}.btn.primary{color:#fff;background:var(--brand);box-shadow:0 7px 15px rgba(189,16,29,.18)}.btn.primary:hover{background:var(--brand-deep)}.btn.outline{color:#354256;border-color:var(--line);background:#fff}.btn.outline:hover{background:#f8fafc}.btn.danger{color:#b62b2b;border-color:#ffd5d5;background:#fff4f4}.btn.small{min-height:31px;padding:7px 9px;font-size:12px}.panel{border:1px solid var(--line);border-radius:16px;background:var(--card);box-shadow:var(--shadow);overflow:hidden}.panel-head{padding:18px 20px 0;display:flex;align-items:start;justify-content:space-between;gap:12px}.panel-head h3{margin:0;font-size:15px}.panel-body{padding:20px}.cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.metric{padding:16px;border:1px solid var(--line);border-radius:15px;border-top:4px solid #9ba6b8;background:#fff;min-width:0}.metric.in{border-top-color:#2f70ba}.metric.bank{border-top-color:#7d58c6}.metric.cash{border-top-color:#ce861a}.metric.balance,.metric.positive{border-top-color:#19895b}.metric.negative{border-top-color:#c43737}.metric span{display:block;margin-bottom:9px;font-size:12px;color:var(--muted);font-weight:700}.metric strong{display:block;font-size:clamp(18px,2vw,25px);letter-spacing:-.035em;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.positive{color:var(--positive)}.negative{color:var(--negative)}.two-col{display:grid;grid-template-columns:minmax(300px,.88fr) minmax(440px,1.6fr);gap:18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:grid;gap:7px;min-width:0}.field.full{grid-column:1/-1}.field label{color:#39475a;font-size:13px;font-weight:760}.input,select,textarea{width:100%;min-height:42px;padding:10px 11px;color:var(--ink);border:1px solid #d9dee7;border-radius:9px;background:#fff;outline:0}.input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(189,16,29,.12)}textarea{min-height:82px;resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:700px}th,td{padding:12px 13px;text-align:left;border-bottom:1px solid #edf0f4;vertical-align:top}th{background:#fbfcfe;color:#6a7788;font-size:12px;white-space:nowrap}td{font-size:13px}.money{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.subtext,.muted{font-size:12px;color:var(--muted)}.table-note{max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#4c596c}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800}.badge.carrier{color:#4c5d74;background:#edf2f8}.badge.bank{color:#6c45b4;background:#f3edff}.badge.cash{color:#a46400;background:#fff7e5}.empty{padding:34px 20px;text-align:center;color:var(--muted)}.empty strong{display:block;margin-bottom:5px;color:#3d4b5d}.notice{display:flex;gap:10px;padding:12px 14px;border:1px solid #f3deaa;border-radius:12px;background:#fffbef;color:#73560b;font-size:13px}.notice b{color:#5e470a}.carrier-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.carrier-card{border:1px solid var(--line);border-radius:12px;padding:14px}.carrier-card span{display:block;color:var(--muted);font-size:12px;font-weight:700}.carrier-card strong{display:block;margin-top:7px;font-size:18px;letter-spacing:-.025em}.pill{display:inline-flex;padding:5px 8px;border-radius:999px;background:#f0f3f8;color:#536173;font-size:11px;font-weight:760}.settings-list{display:grid;gap:12px}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-bottom:1px dashed var(--line)}.setting-row:last-child{border:0}.setting-row strong{display:block}.setting-row span{display:block;color:var(--muted);font-size:12px;margin-top:2px}.toast{position:fixed;right:18px;bottom:18px;z-index:100;max-width:min(430px,calc(100vw - 36px));padding:12px 14px;border-radius:11px;background:#172235;color:#fff;box-shadow:0 12px 30px rgba(0,0,0,.2);font-weight:650;pointer-events:none;opacity:0;transform:translateY(18px);transition:.2s}.toast.show{opacity:1;transform:translateY(0)}.toast.error{background:#a32525}.loading{padding:60px;text-align:center;color:var(--muted)}.auth-page{min-height:100vh;display:grid;place-items:center;padding:22px;background:linear-gradient(135deg,#f9eaec 0%,#f4f7fc 52%,#fff 100%)}.auth-card{width:min(100%,480px);padding:30px;border:1px solid var(--line);border-radius:19px;background:#fff;box-shadow:0 22px 50px rgba(27,40,61,.12)}.auth-card.compact{width:min(100%,420px)}.auth-card h1{margin:28px 0 8px;font-size:23px;letter-spacing:-.03em}.auth-intro{margin:0 0 22px;color:var(--muted)}.auth-form{display:grid;gap:14px}.auth-form label{display:grid;gap:7px;color:#39475a;font-size:13px;font-weight:760}.auth-form input{min-height:43px;padding:10px 11px;border:1px solid #d9dee7;border-radius:9px;outline:0}.auth-form input:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(189,16,29,.12)}.btn.full{width:100%;margin-top:5px}.auth-note{margin:20px 0 0;font-size:12px;color:var(--muted)}.auth-note code{padding:2px 5px;border-radius:4px;background:#f2f4f8}.alert{margin:18px 0;padding:11px 12px;border-radius:10px;font-size:13px}.alert.error{color:#972525;background:#fff1f1;border:1px solid #ffd3d3}.alert.success{color:#146f4d;background:#eaf8f0;border:1px solid #c9eedb}.overlay{display:none}
@media(max-width:1100px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.two-col{grid-template-columns:1fr}.carrier-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.sidebar{transform:translateX(-100%);box-shadow:10px 0 40px rgba(20,27,39,.23)}.sidebar.open{transform:translateX(0)}.overlay.open{display:block;position:fixed;z-index:25;inset:0;background:rgba(19,29,43,.35)}.main{margin-left:0}.mobile-menu{display:block}.topbar{min-height:68px;padding:11px 16px}.topbar h1{font-size:18px}.top-actions .today,.top-actions .btn{display:none}.content{padding:18px 14px}.toolbar{align-items:stretch}.toolbar-actions{width:100%}.toolbar-actions .input{flex:1;min-width:138px}.toolbar-actions .btn{flex:1}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric{padding:14px}.metric strong{font-size:18px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.panel-head{padding:16px 16px 0}.panel-body{padding:16px}.filter-row .field{width:calc(50% - 5px)}.filter-row .btn{flex:1}.carrier-grid{grid-template-columns:1fr}.form-actions .btn{flex:1}}@media(max-width:420px){.cards{grid-template-columns:1fr}.filter-row .field{width:100%}.btn{padding:9px 10px;font-size:13px}}
