@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--navy-950:#101b2c;--navy-900:#142238;--navy-800:#1d304a;--navy-700:#263e5d;--grey-50:#f7f8fa;--grey-100:#edf0f4;--grey-200:#e0e5eb;--grey-300:#cbd2dc;--grey-500:#748094;--grey-700:#3e4859;--white:#fff;--accent:#147d83;--accent-soft:#e3f3f2;--success:#1c7549;--warning:#9a6500;--danger:#b42318;--radius:9px;--font:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif}
*{box-sizing:border-box}body{margin:0;font:14px/1.55 var(--font);color:var(--navy-950);background:var(--grey-50)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,a.btn{transition:background .15s,border-color .15s}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.app{display:grid;grid-template-columns:228px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--navy-950);color:white;padding:25px 15px;display:flex;flex-direction:column;min-height:100vh}.brand-mark{display:block;font-size:19px;font-weight:700;color:#fff;letter-spacing:-.5px;margin:0 8px 38px}.brand-mark span{color:#80d3d2;margin-left:3px}.brand-mark:hover{text-decoration:none}.nav-label{color:#7f8ba0;font-size:10px;font-weight:700;letter-spacing:1.3px;padding:0 12px;margin:8px 0 10px}.nav{display:grid;gap:5px;margin-bottom:25px}.nav a{display:block;color:#c5cfdd;padding:10px 12px;border-radius:7px;font-weight:500}.nav a:hover,.nav a.active{background:var(--navy-700);color:#fff;text-decoration:none}.sidebar-bottom{margin-top:auto;color:#a7b4c6;font-size:11px;padding:12px 8px}.online-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#49c58a;margin-right:7px}.main{min-width:0;display:flex;flex-direction:column}.topbar{min-height:72px;display:flex;align-items:center;gap:14px;padding:12px 30px;background:white;border-bottom:1px solid var(--grey-100)}.topbar-title{font-size:14px;font-weight:700}.topbar-sub{font-size:11px;color:var(--grey-500);margin-top:2px}.topbar-right{display:flex;align-items:center;gap:12px;margin-left:auto}.topbar-user{color:var(--grey-700);font-size:12px}.role-pill{font-size:10px;font-weight:700;color:var(--accent);background:var(--accent-soft);border-radius:30px;padding:5px 9px}.menu-btn{display:none;border:0;background:transparent;font-size:20px}.content{padding:28px 30px;max-width:1600px;width:100%;flex:1}.footer{padding:16px 30px;color:var(--grey-500);font-size:11px;border-top:1px solid var(--grey-100);background:white}.footer span{float:right}
.page-head{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:22px}.page-head h1{font-size:25px;line-height:1.25;margin:0;font-weight:700;letter-spacing:-.7px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.4px;color:var(--accent);margin:0 0 7px}.muted{color:var(--grey-500)}.small-text{font-size:11px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.section-head h2,h2{font-size:14px;margin:0;font-weight:700}.section-head>a{font-size:12px;font-weight:600}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--grey-300);background:white;color:var(--navy-900);padding:9px 13px;border-radius:7px;cursor:pointer;font-weight:600;font-size:12px;white-space:nowrap}.btn:hover{background:var(--grey-50);text-decoration:none}.btn.primary{background:var(--navy-800);border-color:var(--navy-800);color:white}.btn.primary:hover{background:var(--navy-700)}.btn.small{padding:6px 10px;font-size:11px}.btn.full{width:100%;padding:11px}
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:24px}.card{background:white;border:1px solid var(--grey-100);border-radius:var(--radius);padding:19px;min-width:0}.metric-card{min-height:130px}.card .label{font-size:11px;color:var(--grey-500);font-weight:500}.card .value{font-size:25px;letter-spacing:-.7px;font-weight:700;margin-top:9px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.metric-foot{font-size:10px;color:var(--grey-500);margin-top:7px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.section-gap{margin-top:22px}.bar-row{display:grid;grid-template-columns:95px minmax(40px,1fr) 86px;gap:10px;align-items:center;padding:8px 0;font-size:11px}.bar{height:7px;background:var(--grey-100);border-radius:10px;overflow:hidden}.bar i{display:block;height:100%;background:var(--accent);border-radius:10px}.num{text-align:right;font-variant-numeric:tabular-nums}.list-row{display:flex;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid var(--grey-100)}.list-row:last-child{border:0}.date-chip{background:var(--grey-50);border:1px solid var(--grey-100);border-radius:5px;padding:3px 7px;font-size:11px;white-space:nowrap;align-self:center}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:15px}.filters input,.filters select{min-width:135px}.filters input[type=search]{min-width:220px;flex:1}.filters input,.filters select,input,select,textarea{padding:10px 11px;border:1px solid var(--grey-300);border-radius:7px;background:white;color:var(--navy-950);width:100%}.filters input,.filters select{width:auto;padding:8px 10px;font-size:12px}
.table-wrap{background:white;border:1px solid var(--grey-100);border-radius:9px;overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12px}th,td{padding:12px 13px;text-align:left;border-bottom:1px solid var(--grey-100);vertical-align:middle;white-space:nowrap}th{font-size:10px;letter-spacing:.3px;text-transform:uppercase;color:var(--grey-500);font-weight:700;background:#fafbfd}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fcfdfe}.badge{display:inline-block;padding:4px 8px;border-radius:99px;font-size:10px;font-weight:700;white-space:nowrap}.badge-active{background:#e3f4ea;color:var(--success)}.badge-scheduled{background:#e6eefb;color:#1f4f9c}.badge-paused{background:#fff2d7;color:var(--warning)}.badge-completed,.badge-archived{background:#edf0f4;color:#5d6675}.empty{padding:34px;text-align:center;color:var(--grey-500)}.actions{font-size:11px}.inline-form{display:inline}.link-btn{border:0;background:transparent;color:var(--accent);padding:0;cursor:pointer;font-size:11px}.danger-link{color:var(--danger)}
.form-card{max-width:900px}.form-card form>label,.auth-card label{display:grid;gap:6px;font-size:12px;font-weight:600;margin-bottom:15px}.form-card label input,.form-card label select,.form-card label textarea{font-weight:400}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.alert{padding:11px 14px;border-radius:7px;margin-bottom:18px;font-size:12px}.alert.success{background:#e6f5ec;color:#17613b}.alert.error{background:#fff0ef;color:#9e2219}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:18px 0}.detail-grid>div{display:grid;gap:5px;font-size:12px}.progress{height:6px;background:var(--grey-100);border-radius:8px;overflow:hidden;margin-top:12px}.progress i{display:block;height:100%;background:var(--accent)}.inner-table{border-radius:6px}.head-actions{display:flex;gap:8px}
.auth-body{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#f7f9fb,#edf2f6)}.auth-card{background:white;width:min(100%,420px);padding:35px;border:1px solid var(--grey-100);border-radius:13px;box-shadow:0 16px 50px #15253b0d}.brand-mark.dark{color:var(--navy-950);margin:0 0 35px}.brand-mark.dark span{color:var(--accent)}.auth-card h1{font-size:25px;letter-spacing:-.5px;margin:0 0 8px}.auth-card>p{font-size:12px;margin:0 0 22px}.auth-card form{margin-top:22px}.auth-switch{text-align:center;margin:22px 0 0!important}.auth-switch a{font-weight:600}
@media(max-width:1100px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.content{padding:22px}.topbar{padding:12px 22px}}
@media(max-width:760px){.app{grid-template-columns:1fr}.sidebar{display:none;position:fixed;z-index:10;inset:0 auto 0 0;width:255px;box-shadow:0 0 0 100vw #101b2c55}.sidebar.open{display:flex}.menu-btn{display:block}.topbar{padding:12px 15px;gap:8px}.topbar-right{gap:7px}.topbar-user{display:none}.role-pill{font-size:9px}.content{padding:20px 14px}.cards{gap:10px}.card{padding:14px}.card .value{font-size:22px}.grid-2{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr 1fr}.footer{padding:14px}.footer span{float:none;display:block;margin-top:5px}.page-head h1{font-size:22px}.auth-card{padding:27px 22px}}
@media(max-width:420px){.cards{grid-template-columns:1fr 1fr}.metric-card{min-height:112px}.card .value{font-size:20px}.role-pill{display:none}.detail-grid{grid-template-columns:1fr}}
