:root{--blue:#0759c7;--blue-dark:#064ba6;--bg:#f5f7fb;--text:#172033;--muted:#778195;--border:#dce2eb;--white:#fff;--success:#16794c;--danger:#b42318}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}.sidebar{position:fixed;left:0;top:0;bottom:0;width:230px;background:#fff;border-right:1px solid var(--border);padding:24px 18px}.brand{display:flex;align-items:center;gap:11px;color:var(--blue);font-size:21px}.brand-mark{width:38px;height:38px;border-radius:9px;background:var(--blue);color:white;display:grid;place-items:center;font-size:13px;font-weight:800}.sidebar nav{margin-top:42px;display:grid;gap:8px}.sidebar a{padding:13px 16px;border-radius:9px;text-decoration:none;color:#243149}.sidebar a.active{background:linear-gradient(135deg,var(--blue),var(--blue-dark));color:#fff}.topbar{height:70px;position:fixed;left:230px;right:0;top:0;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 34px;z-index:2}.content{margin-left:230px;padding:104px 34px 50px;max-width:1650px}.breadcrumb{color:var(--blue);font-size:14px;margin-bottom:10px}.title-row{display:flex;align-items:center;gap:14px}.title-row h1,h1{margin:0;font-size:32px}.badge{background:#dce9fb;color:var(--blue-dark);padding:5px 10px;border-radius:8px;font-weight:700}.subtitle{color:var(--muted);margin:8px 0 22px}.card{background:#fff;border:1px solid #e7ebf1;border-radius:13px;box-shadow:0 3px 12px rgba(18,38,63,.05);padding:20px;margin-bottom:16px}.card h2{font-size:17px;color:var(--blue);margin:0 0 16px}.grid{display:grid;gap:16px}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.span3{grid-column:span 3}label{font-size:13px;font-weight:650;display:grid;gap:7px}input,textarea,select{width:100%;border:1px solid #ccd5e2;border-radius:7px;padding:11px 12px;font:inherit;background:white;color:var(--text)}textarea{resize:vertical}.actions{display:flex;justify-content:flex-end;margin-top:16px}.btn{border:0;border-radius:7px;padding:12px 22px;font-weight:700;cursor:pointer}.btn.primary{background:var(--blue);color:#fff}.alert{padding:12px 14px;border-radius:8px;margin-bottom:16px}.alert.success{background:#e7f6ee;color:var(--success)}.alert.error{background:#fdecea;color:var(--danger)}small{font-weight:400;color:var(--muted)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--border);font-size:14px}.status{background:#e7f6ee;color:var(--success);padding:5px 9px;border-radius:999px;font-size:12px}.login-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#f4f8ff,#eef2f8)}.login-card{width:min(440px,calc(100% - 32px));background:#fff;border:1px solid var(--border);border-radius:16px;padding:30px;box-shadow:0 16px 45px rgba(18,38,63,.1)}.login-card h1{margin-top:30px}.login-card p{color:var(--muted)}.login-card form{display:grid;gap:16px}.login-card .btn{width:100%}.login-help{background:#eef5ff;border:1px solid #cfe0f8;color:#29435f;border-radius:9px;padding:13px 14px;margin:18px 0;font-size:13px;line-height:1.5}.password-field{position:relative}.password-field input{padding-right:48px}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;background:transparent;border-radius:7px;cursor:pointer;font-size:17px;line-height:1;display:grid;place-items:center}.password-toggle:hover{background:#eef2f7}.password-toggle:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.password-match{min-height:18px;margin-top:-7px;font-size:12px;font-weight:650}.password-match.ok{color:var(--success)}.password-match.error{color:var(--danger)}@media(max-width:1000px){.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.span3{grid-column:span 1}}@media(max-width:720px){.sidebar{position:static;width:auto;height:auto}.sidebar nav{margin-top:18px;grid-template-columns:repeat(2,1fr)}.topbar{position:static;height:58px;padding:0 18px}.content{margin-left:0;padding:26px 18px}.grid.four,.grid.two{grid-template-columns:1fr}.title-row h1,h1{font-size:26px}}
