*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:#16181b;background:#f5f6f8}a{color:inherit;text-decoration:none}.shell{display:flex;min-height:100vh}.sidebar{width:250px;background:#111216;color:#eee;padding:24px 16px;display:flex;flex-direction:column;flex-shrink:0}.brand{display:flex;align-items:center;gap:12px;font-size:24px;font-weight:750;letter-spacing:3px;margin-bottom:42px}.brand img{width:60px;height:60px;object-fit:contain;background:#fff;border-radius:9px}.brand small{display:block;font-size:9px;letter-spacing:2px;color:#aaa;margin-top:5px}nav{display:grid;gap:6px}nav a{padding:14px 16px;border-radius:10px;color:#b9bac0}nav a:hover,nav a.active{background:#32353b;color:#fff}.sidebar-foot{margin-top:auto;border-top:1px solid #3a3b40;padding:20px 12px;display:grid;gap:7px}.sidebar-foot small{color:#aaa}.sidebar-foot a{color:#e5e5e5;font-size:13px}.main{padding:32px 40px;flex:1;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.eyebrow{font-size:11px;letter-spacing:2px;color:#7b7e84;font-weight:700}h1{font-size:30px;margin:7px 0}h2{font-size:19px}.date{color:#777}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0 28px}.stat,.panel{background:#fff;border:1px solid #e5e6e9;border-radius:14px;padding:22px;box-shadow:0 3px 15px #14141406}.stat label{display:block;color:#72767e;font-size:13px;margin-bottom:14px}.stat strong{font-size:24px;white-space:nowrap}.stat .hint{font-size:12px;color:#7c8087;margin-top:10px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}.btn,button{border:0;border-radius:8px;background:#17191d;color:#fff;padding:11px 17px;cursor:pointer;font-weight:600;font-size:14px}.btn.secondary{background:#e7e8eb;color:#18191c}.btn:hover,button:hover{opacity:.85}.panel{margin:18px 0;overflow-x:auto}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.panel-header h2{margin:0}table{width:100%;border-collapse:collapse;min-width:620px}th{text-align:left;font-size:12px;color:#85878c;font-weight:700;text-transform:uppercase;letter-spacing:.5px;background:#f8f8fa}th,td{padding:14px 12px;border-bottom:1px solid #eeeff1}tr:last-child td{border-bottom:0}.badge{display:inline-block;padding:5px 9px;border-radius:20px;background:#eceef0;font-size:12px;font-weight:700}.badge.paid,.badge.verified{background:#dff4e8;color:#166b40}.badge.pending,.badge.unpaid{background:#fff1d6;color:#875700}.badge.rejected{background:#ffe3e3;color:#9b2424}.badge.partial{background:#e3edff;color:#27559c}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}label.field{display:grid;gap:7px;font-size:13px;color:#4b4e55;font-weight:600}input,select,textarea{width:100%;border:1px solid #d7d9de;border-radius:8px;padding:11px 12px;background:#fff;color:#151515;font:inherit}textarea{min-height:90px}.full{grid-column:1/-1}.notice{padding:13px 16px;border-radius:8px;background:#e7ebf0;margin-bottom:18px}.muted{color:#767a81}.split{display:grid;grid-template-columns:2fr 1fr;gap:20px}.right{text-align:right}.inline{display:inline}.inline button{padding:7px 11px;font-size:12px}.login{max-width:420px;margin:10vh auto;background:#fff;padding:32px;border:1px solid #ddd;border-radius:15px}.login img{display:block;width:180px;margin:0 auto 20px}.login form{display:grid;gap:16px}.login h1{text-align:center}.error{color:#b42318}.logo-note{font-size:12px;color:#7b7b7b}@media(max-width:1050px){.stats{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}}@media(max-width:720px){.shell{display:block}.sidebar{width:100%;padding:12px}.brand{margin-bottom:12px}.brand img{width:45px;height:45px}nav{display:flex;overflow-x:auto}nav a{white-space:nowrap;padding:10px}.sidebar-foot{display:none}.main{padding:20px 14px}.stats,.form-grid{grid-template-columns:1fr}.topbar{align-items:flex-start}.date{font-size:12px}}@media print{.sidebar,.topbar,.actions,.no-print{display:none!important}.main{padding:0}.panel{border:0;box-shadow:none}body{background:#fff}}

/* NEXURA motion layer: smooth warehouse-style admin interactions */
:root{--motion-fast:180ms;--motion-standard:320ms;--silver:#b9bdc6}
@keyframes nx-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes nx-slide{from{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}
@keyframes nx-glow{0%,100%{box-shadow:0 0 0 0 rgba(185,189,198,0)}50%{box-shadow:0 0 0 5px rgba(185,189,198,.13)}}
.main{animation:nx-enter .48s cubic-bezier(.2,.8,.2,1) both}
.sidebar{animation:nx-slide .4s ease-out both}
.stat,.panel{transition:transform var(--motion-standard) ease,box-shadow var(--motion-standard) ease,border-color var(--motion-standard) ease}
.stat:hover,.panel:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(17,18,22,.09);border-color:#cbd0d8}
.stats>.stat{animation:nx-enter .5s both}
.stats>.stat:nth-child(2){animation-delay:.07s}.stats>.stat:nth-child(3){animation-delay:.14s}.stats>.stat:nth-child(4){animation-delay:.21s}
nav a{transition:background var(--motion-fast),color var(--motion-fast),transform var(--motion-fast);position:relative}
nav a:hover{transform:translateX(4px)}
nav a.active:before{content:'';position:absolute;left:0;top:20%;bottom:20%;width:3px;border-radius:4px;background:var(--silver)}
.btn,button{transition:transform var(--motion-fast),box-shadow var(--motion-fast),background var(--motion-fast)}
.btn:hover,button:hover{transform:translateY(-2px);box-shadow:0 5px 14px rgba(0,0,0,.15);opacity:1}
.btn:active,button:active{transform:scale(.98)}
input,select,textarea{transition:border-color var(--motion-fast),box-shadow var(--motion-fast)}
input:focus,select:focus,textarea:focus{outline:0;border-color:#8b919b;box-shadow:0 0 0 3px rgba(160,166,176,.18)}
tbody tr{transition:background var(--motion-fast)}tbody tr:hover{background:#f3f5f8}
.badge{transition:transform var(--motion-fast)}.badge:hover{transform:scale(1.04)}
.notice{animation:nx-enter .4s both}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media print{.main,.sidebar,.stats>.stat{animation:none!important}.stat,.panel{transform:none!important}}
