*{box-sizing:border-box}
:root{
  --navy:#0b2239;--navy-2:#102f4b;--navy-3:#173f61;--navy-4:#245578;
  --gold:#c9a24f;--gold-2:#e1c47a;--gold-soft:#f7f0df;
  --bg:#f4f6f8;--surface:#ffffff;--text:#1c2734;--muted:#667384;--border:#dde3e9;
  --success:#1f7a52;--danger:#a43a3a;--shadow:0 8px 30px rgba(11,34,57,.08);--shadow-lg:0 18px 50px rgba(11,34,57,.14);
  --radius:14px;--ease:cubic-bezier(.2,.8,.2,1)
}
html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}
body{overflow-x:hidden}
a{color:inherit}.app-shell{display:flex;min-height:100vh;background:linear-gradient(180deg,#f7f8fa 0,#f3f5f7 100%)}

/* Sidebar */
.sidebar{width:252px;background:linear-gradient(180deg,#0b2239 0%,#0d2943 58%,#091e31 100%);color:#fff;padding:22px 16px 18px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:1000;transition:transform .3s var(--ease),box-shadow .3s var(--ease);box-shadow:10px 0 36px rgba(7,24,40,.08)}
.sidebar:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 20% 0%,rgba(201,162,79,.10),transparent 28%)}
.brand{position:relative;display:flex;gap:12px;align-items:center;padding:3px 8px 20px;border-bottom:1px solid rgba(255,255,255,.10);min-height:70px}
.brand-logo{width:54px;height:54px;flex:0 0 54px;border-radius:13px;display:grid;place-items:center;overflow:hidden;background:#fff;border:1px solid rgba(255,255,255,.3);box-shadow:0 7px 20px rgba(0,0,0,.18);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.brand:hover .brand-logo{transform:translateY(-2px) rotate(-1deg);box-shadow:0 10px 24px rgba(0,0,0,.22)}
.brand-logo img{width:100%;height:100%;object-fit:contain;display:block;padding:4px;background:#fff}.brand-logo .brand-fallback{font-family:Georgia,serif;font-weight:800;color:var(--navy);font-size:16px;letter-spacing:.4px}
.brand strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:15px;line-height:1.25;letter-spacing:.1px}.brand small{display:block;color:#b7c5d0;margin-top:4px;font-size:10.5px;line-height:1.3}
.sidebar nav{position:relative;padding-top:18px}.sidebar nav a,.side-bottom a{position:relative;display:flex;align-items:center;color:#dbe5ed;text-decoration:none;padding:11px 12px;border-radius:10px;margin:4px 0;transition:all .22s var(--ease);font-size:14px}
.sidebar nav a:before{content:"";width:3px;height:0;border-radius:4px;background:var(--gold);position:absolute;left:-1px;top:50%;transform:translateY(-50%);transition:height .22s var(--ease)}
.sidebar nav a:hover,.sidebar nav a.active,.side-bottom a:hover{background:rgba(255,255,255,.085);color:#fff;transform:translateX(2px)}.sidebar nav a.active{box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}.sidebar nav a.active:before{height:24px}
.side-bottom{position:relative;margin-top:auto;border-top:1px solid rgba(255,255,255,.10);padding-top:14px}.side-bottom span{display:block;padding:8px 12px;color:#9fb2c2;font-size:13px}.side-bottom a{padding-top:9px;padding-bottom:9px}

/* Main */
.content{margin-left:252px;width:calc(100% - 252px);padding:0 30px 44px;min-width:0;animation:contentIn .45s var(--ease) both}.topbar{padding:25px 0 14px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(11,34,57,.06);margin-bottom:18px}.topbar h1{font-family:Georgia,"Times New Roman",serif;font-size:28px;letter-spacing:-.25px;margin:0;color:#152435}.topbar-meta{margin-left:auto;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#8190a0;display:flex;align-items:center;gap:8px}.topbar-meta:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(201,162,79,.13)}
.mobile-menu-btn{display:none;border:1px solid rgba(255,255,255,.08);background:var(--navy);color:#fff;width:42px;height:42px;border-radius:11px;font-size:21px;line-height:1;cursor:pointer;box-shadow:0 5px 15px rgba(11,34,57,.18);transition:transform .2s var(--ease),background .2s}.mobile-menu-btn:active{transform:scale(.96)}.sidebar-overlay{display:none}

/* Layout / Cards */
.grid{display:grid;gap:16px}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{position:relative;background:rgba(255,255,255,.96);border:1px solid var(--border);border-radius:var(--radius);padding:19px;box-shadow:0 2px 8px rgba(11,34,57,.035);transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s;overflow:hidden}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#d4dce4}.card:after{content:"";position:absolute;left:0;top:0;width:100%;height:2px;background:linear-gradient(90deg,var(--gold),transparent 45%);opacity:.6}
.stat strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:29px;color:var(--navy);line-height:1}.stat span{display:block;color:var(--muted);margin-top:7px;font-size:14px}
.section-title{display:flex;justify-content:space-between;align-items:center;margin:27px 0 11px;gap:12px}.section-title h2,.section-title h3{font-family:Georgia,"Times New Roman",serif;margin:0;color:#1a2b3c}.section-title h3{font-size:18px}

/* Buttons */
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:7px;background:linear-gradient(180deg,#12324f,#0b2239);color:#fff;border:1px solid rgba(0,0,0,.08);border-radius:9px;padding:10px 15px;text-decoration:none;cursor:pointer;font:inherit;font-weight:600;box-shadow:0 4px 12px rgba(11,34,57,.12);transition:transform .2s var(--ease),box-shadow .2s,filter .2s}.btn:hover{transform:translateY(-1px);box-shadow:0 7px 17px rgba(11,34,57,.18);filter:brightness(1.03)}.btn:active{transform:translateY(0) scale(.98)}
.btn.secondary{background:linear-gradient(180deg,#dfb85d,#c99d3d);color:#231b0d;border-color:#bf9130}.btn.light{background:#eef2f5;color:var(--navy);box-shadow:none;border-color:#dde4ea}.btn.light:hover{background:#e7edf2}.btn.danger{background:linear-gradient(180deg,#b44b4b,#983232)}.quick-actions{display:flex;gap:10px;flex-wrap:wrap}

/* Tables */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px;border:1px solid var(--border);background:#fff;box-shadow:0 2px 10px rgba(11,34,57,.035)}.table{width:100%;border-collapse:separate;border-spacing:0;background:#fff}.table th,.table td{padding:12px 13px;border-bottom:1px solid #e8edf1;text-align:left;vertical-align:top}.table th{font-size:11px;letter-spacing:.055em;text-transform:uppercase;color:#687687;background:#f8fafb;font-weight:700;position:sticky;top:0;z-index:2}.table tbody tr{transition:background .18s ease}.table tbody tr:hover{background:#fbfaf6}.table tbody tr:last-child td{border-bottom:0}

/* Forms */
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-group{display:flex;flex-direction:column;gap:7px}.form-group.full{grid-column:1/-1}label{font-size:12.5px;font-weight:600;color:#526071}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #ccd5dd;border-radius:9px;background:#fff;font:inherit;color:var(--text);transition:border-color .18s,box-shadow .18s,transform .18s}input:hover,select:hover,textarea:hover{border-color:#b8c5d0}input:focus,select:focus,textarea:focus{outline:none;border-color:#7d96aa;box-shadow:0 0 0 4px rgba(16,47,75,.08)}textarea{min-height:104px;resize:vertical}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:15px}.tabs a{padding:8px 12px;border-radius:8px;background:#eaf0f4;text-decoration:none;color:var(--navy);font-weight:600;font-size:13px;transition:.2s}.tabs a:hover{transform:translateY(-1px);background:#e3ebf0}.tabs a.active{background:var(--navy);color:#fff;box-shadow:0 5px 14px rgba(11,34,57,.14)}
.badge{display:inline-flex;align-items:center;padding:4px 9px;border-radius:99px;background:#edf2f5;font-size:12px;color:#435363}.alert{padding:12px 14px;border-radius:10px;margin:10px 0;box-shadow:0 3px 12px rgba(0,0,0,.04);animation:alertIn .35s var(--ease) both}.alert.ok{background:#e9f6ef;color:#17623f;border:1px solid #cbe9d8}.alert.err{background:#fceced;color:#8c2c2c;border:1px solid #f1cdcf}.muted{color:var(--muted)}.searchbar{display:flex;gap:8px}.searchbar input{flex:1}.invoice-box{max-width:850px;margin:auto;background:#fff;padding:40px;border-radius:16px;box-shadow:var(--shadow)}.right{text-align:right}

/* Login */
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:28px;background:#071b2d;position:relative;overflow:hidden}.login-wrap:before,.login-wrap:after{content:"";position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none}.login-wrap:before{width:520px;height:520px;left:-190px;top:-190px;background:radial-gradient(circle,rgba(201,162,79,.18),rgba(201,162,79,0) 68%);animation:floatOrb 10s ease-in-out infinite}.login-wrap:after{width:600px;height:600px;right:-240px;bottom:-260px;background:radial-gradient(circle,rgba(43,103,145,.28),rgba(43,103,145,0) 70%);animation:floatOrb 13s ease-in-out infinite reverse}
.login-shell{position:relative;z-index:1;width:min(920px,100%);display:grid;grid-template-columns:.92fr 1.08fr;background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 34px 90px rgba(0,0,0,.34);border:1px solid rgba(255,255,255,.18);animation:loginIn .65s var(--ease) both}
.login-hero{position:relative;padding:48px 42px;background:linear-gradient(145deg,#0c2942,#123a59 72%,#0a2439);color:#fff;display:flex;flex-direction:column;justify-content:space-between;min-height:580px;overflow:hidden}.login-hero:after{content:"§";position:absolute;right:-25px;bottom:-55px;font-family:Georgia,serif;font-size:260px;line-height:1;color:rgba(255,255,255,.035);transform:rotate(-8deg)}
.login-crest{display:flex;align-items:center;gap:13px}.login-crest .login-logo{width:72px;height:72px;margin:0;border-radius:16px}.login-crest-text strong{font-family:Georgia,"Times New Roman",serif;font-size:22px;display:block}.login-crest-text span{color:#b9cad7;font-size:12px;display:block;margin-top:4px}.login-hero-copy{position:relative;z-index:1;margin:42px 0}.login-hero-copy .eyebrow{font-size:11px;letter-spacing:.17em;text-transform:uppercase;color:var(--gold-2);font-weight:700}.login-hero-copy h1{font-family:Georgia,"Times New Roman",serif;font-size:39px;line-height:1.12;margin:12px 0 15px;font-weight:600}.login-hero-copy p{color:#c5d2dc;line-height:1.7;margin:0;max-width:360px}.login-trust{display:grid;gap:11px;font-size:12px;color:#c7d4de}.login-trust div{display:flex;align-items:center;gap:9px}.login-trust div:before{content:"✓";width:21px;height:21px;border-radius:50%;display:grid;place-items:center;background:rgba(201,162,79,.15);color:var(--gold-2);font-weight:800;border:1px solid rgba(201,162,79,.28)}
.login-panel{padding:58px 56px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(180deg,#fff,#fbfcfd)}.login-panel-head{margin-bottom:28px}.login-panel-head .eyebrow{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:#9a7b39;font-weight:800}.login-panel-head h2{font-family:Georgia,"Times New Roman",serif;margin:8px 0 8px;color:var(--navy);font-size:30px}.login-panel-head p{margin:0;color:var(--muted);font-size:14px}.login-card{width:100%;background:transparent;padding:0;border:0;box-shadow:none}.login-card .form-group{margin-bottom:16px}.login-card input{padding:13px 14px;border-radius:10px}.login-card .btn{width:100%;padding:13px 16px;font-weight:700;margin-top:5px;border-radius:10px}.login-note{text-align:center;font-size:11px;color:#8793a0;margin-top:20px;line-height:1.5}.login-logo{width:82px;height:82px;margin:0 auto 14px;border-radius:16px;display:grid;place-items:center;overflow:hidden;background:#fff;border:1px solid #e5e7eb;box-shadow:0 6px 18px rgba(16,38,59,.12)}.login-logo img{width:100%;height:100%;object-fit:contain;padding:6px;display:block}.login-logo .brand-fallback{font-family:Georgia,serif;font-size:23px;font-weight:800;color:var(--navy)}

/* Motion */
.js-ready .card,.js-ready .section-title,.js-ready .table-wrap,.js-ready .tabs,.js-ready .quick-actions{opacity:0;transform:translateY(8px)}.js-ready .reveal-in{animation:reveal .42s var(--ease) forwards}.btn.ripple:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;left:var(--rx,50%);top:var(--ry,50%);transform:translate(-50%,-50%) scale(0);background:rgba(255,255,255,.24);animation:ripple .5s ease-out}
@keyframes contentIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes reveal{to{opacity:1;transform:none}}@keyframes alertIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}@keyframes loginIn{from{opacity:0;transform:translateY(14px) scale(.99)}to{opacity:1;transform:none}}@keyframes floatOrb{0%,100%{transform:translate(0,0)}50%{transform:translate(24px,18px)}}@keyframes ripple{to{transform:translate(-50%,-50%) scale(2.5);opacity:0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

@media(max-width:900px){
  .app-shell{display:block}.sidebar{width:286px;max-width:84vw;transform:translateX(-103%);box-shadow:none}.sidebar.mobile-open{transform:translateX(0);box-shadow:12px 0 38px rgba(0,0,0,.28)}
  .sidebar-overlay{display:block;position:fixed;inset:0;background:rgba(4,15,25,.56);z-index:999;opacity:0;visibility:hidden;transition:.25s}.sidebar-overlay.show{opacity:1;visibility:visible}
  .content{margin-left:0;width:100%;padding:0 14px 30px}.topbar{position:sticky;top:0;z-index:800;background:rgba(244,246,248,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding:12px 0 10px;margin-bottom:12px}.topbar h1{font-size:23px}.topbar-meta{display:none}.mobile-menu-btn{display:inline-grid;place-items:center;flex:0 0 42px}
  .grid-3,.grid-4,.form-grid{grid-template-columns:1fr}.section-title{align-items:flex-start}.quick-actions{gap:8px}.btn{min-height:42px}.tabs{gap:6px}.tabs a{padding:8px 10px;font-size:13px}
  .card{padding:15px}.table{min-width:660px}.table th,.table td{padding:10px 9px;font-size:13px}.searchbar{flex-direction:column}.brand{padding-top:6px}.side-bottom{margin-top:auto}
  .login-wrap{padding:18px}.login-shell{grid-template-columns:1fr;max-width:480px}.login-hero{min-height:auto;padding:28px 26px}.login-hero-copy{margin:28px 0 20px}.login-hero-copy h1{font-size:30px}.login-trust{grid-template-columns:1fr 1fr}.login-panel{padding:32px 26px 30px}.login-panel-head h2{font-size:27px}
}
@media(max-width:520px){
  .content{padding-left:10px;padding-right:10px}.topbar h1{font-size:21px}.card{border-radius:12px}.section-title{margin-top:20px}.quick-actions .btn{flex:1 1 calc(50% - 8px);text-align:center}.invoice-box{padding:18px}.login-wrap{padding:0;background:#071b2d}.login-shell{border-radius:0;min-height:100vh;box-shadow:none}.login-hero{padding:24px 20px 21px}.login-crest .login-logo{width:58px;height:58px}.login-crest-text strong{font-size:19px}.login-hero-copy{margin:22px 0 16px}.login-hero-copy h1{font-size:27px;margin-bottom:10px}.login-hero-copy p{font-size:13px;line-height:1.55}.login-trust{display:none}.login-panel{padding:29px 20px 30px}.login-panel-head{margin-bottom:23px}.login-panel-head h2{font-size:25px}.login-card input{font-size:16px}.stat strong{font-size:27px}
}
@media print{.sidebar,.sidebar-overlay,.topbar,.no-print,.alert{display:none!important}.content{margin:0;width:100%;padding:0}.invoice-box{box-shadow:none;border:none;padding:0}.card{box-shadow:none;transform:none!important}}
