:root{--navy:#14243c;--navy2:#0b1729;--blue:#2a8fa0;--teal:#2ea896;--orange:#f4a261;--red:#c94c4c;--ink:#213044;--muted:#708095;--line:#dce5ed;--bg:#f3f6f9;--white:#fff}
*{box-sizing:border-box}html,body,form{margin:0;min-height:100%;font-family:Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--bg)}a{color:inherit;text-decoration:none}.app-shell{display:flex;min-height:100vh}.sidebar{width:245px;flex:0 0 245px;background:linear-gradient(180deg,var(--navy),var(--navy2));color:#eef5ff;display:flex;flex-direction:column;padding:24px 18px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:.5px;font-size:15px}.brand small{font-size:9px;color:#a9c2d7;letter-spacing:1.5px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--orange);color:var(--navy);font-size:22px}.nav-menu{display:grid;gap:8px;margin-top:40px}.nav-link{padding:13px 12px;border-radius:10px;color:#c4d6e4;font-size:14px;transition:.2s}.nav-link:hover{background:#203b59;color:#fff}.nav-link:first-child{background:#1e6f7d;color:#fff}.nav-link span{margin-left:8px}.sidebar-note{margin-top:auto;color:#8fa6c2;font-size:11px;line-height:1.6;padding:10px}.sidebar-note span{color:#5e7892}.main-area{min-width:0;flex:1}.topbar{height:74px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 34px;gap:16px;position:sticky;top:0;z-index:5}.topbar strong{font-size:18px;color:var(--navy)}.topbar-sub{font-size:11px;color:var(--muted);margin-top:3px}.menu-toggle{display:none;border:0;background:transparent;font-size:23px;color:var(--navy)}.user-menu{margin-left:auto;font-size:12px;color:var(--muted);display:flex;align-items:center;gap:9px}.user-menu a{color:var(--blue);font-weight:700;margin-left:10px}.status-dot{width:8px;height:8px;background:#31b277;border-radius:50%}.content-wrap{padding:32px 36px 55px;max-width:1500px;margin:auto}.eyebrow{color:var(--blue);font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase}.page-title{font-size:30px;line-height:1.15;color:var(--navy);margin:4px 0 8px}.page-intro{color:var(--muted);font-size:14px;margin:0 0 24px}.grid{display:grid;gap:18px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card,.panel{background:var(--white);border:1px solid var(--line);border-radius:14px;box-shadow:0 7px 22px rgba(20,36,60,.05)}.metric{padding:20px;position:relative;overflow:hidden}.metric:after{content:"";position:absolute;right:-18px;top:-24px;width:85px;height:85px;border-radius:50%;background:#edf7f8}.metric-label{font-size:12px;color:var(--muted);position:relative;z-index:1}.metric-value{font-size:31px;font-weight:800;color:var(--navy);margin-top:8px;position:relative;z-index:1}.metric-foot{font-size:11px;color:var(--teal);margin-top:4px}.panel{padding:22px}.panel-title{font-size:17px;font-weight:800;color:var(--navy);margin:0 0 16px}.panel-title small{font-size:11px;font-weight:400;color:var(--muted);display:block;margin-top:4px}.actions{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:6px;min-width:170px;flex:1}.field label{font-size:11px;color:var(--muted);font-weight:700}.input,.select,.textarea{font:inherit;border:1px solid #cbd7e2;border-radius:8px;padding:10px 11px;min-height:40px;color:var(--ink);background:#fff}.textarea{min-height:90px;resize:vertical}.btn{border:0;border-radius:8px;padding:11px 16px;font:inherit;font-size:13px;font-weight:700;cursor:pointer;background:var(--blue);color:#fff}.btn:hover{filter:brightness(.95)}.btn-secondary{background:#eaf2f6;color:var(--navy)}.btn-danger{background:#fae8e8;color:var(--red)}.message{display:block;border-radius:8px;padding:10px 12px;margin:0 0 16px;font-size:13px}.message-error{background:#fdecec;color:#a63737}.message-success{background:#e7f7ef;color:#21744d}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px}.data-table{width:100%;border-collapse:collapse;min-width:700px;font-size:13px}.data-table th{background:var(--navy);color:#fff;text-align:left;padding:12px 13px;font-size:11px;white-space:nowrap}.data-table td{padding:12px 13px;border-bottom:1px solid var(--line);vertical-align:top}.data-table tr:nth-child(even) td{background:#f7fafc}.tag{display:inline-block;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:800;background:#eaf2f6;color:var(--blue)}.tag-red{background:#fde8e8;color:var(--red)}.tag-green{background:#e7f7ef;color:#21744d}.tag-orange{background:#fff1e6;color:#ac6024}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 85% 15%,#2b7583 0,#14243c 33%,#091321 100%);padding:20px}.login-card{width:min(430px,100%);background:#fff;border-radius:18px;padding:35px;box-shadow:0 25px 70px rgba(0,0,0,.28)}.login-card .brand{color:var(--navy);margin-bottom:35px}.login-title{font-size:27px;color:var(--navy);margin:0 0 8px}.login-note{font-size:13px;color:var(--muted);margin:0 0 25px}.login-card .field{margin-bottom:15px}.login-card .btn{width:100%;margin-top:8px}.login-foot{font-size:11px;color:var(--muted);margin-top:20px;text-align:center}.hero{background:linear-gradient(120deg,#15314c,#1d7d87);color:#fff;border-radius:16px;padding:25px 28px;margin-bottom:20px}.hero h2{margin:0 0 8px;font-size:24px}.hero p{margin:0;color:#cce5e9;font-size:13px}.split{display:flex;justify-content:space-between;align-items:center;gap:15px}.empty{padding:30px;text-align:center;color:var(--muted);font-size:13px}.hint{font-size:11px;color:var(--muted);margin-top:8px}
@media(max-width:1050px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar{width:220px;flex-basis:220px}.content-wrap{padding-left:24px;padding-right:24px}}
@media(max-width:760px){.sidebar{position:fixed;left:-250px;z-index:20;transition:left .2s}.sidebar.open{left:0}.menu-toggle{display:block}.topbar{padding:0 16px}.user-menu{font-size:11px}.content-wrap{padding:22px 15px 45px}.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}.page-title{font-size:25px}.panel{padding:16px}.actions{display:grid;grid-template-columns:1fr}.field{min-width:0}.btn{width:100%}.data-table{min-width:620px}.hero{padding:21px}.hero h2{font-size:20px}}
