@import url('https://fonts.googleapis.com/css2?family=Abel&family=Inter:wght@400;500;600;700&display=swap');
:root{--navy:#003B5C;--midnight:#120602;--clay:#CB4819;--tan:#E1C7A8;--calm:#557186;--seagull:#F1F3E9;--sage:#6D7957;--ink:#17324a;--line:#dce3e6;--danger:#9c2d24}
*{box-sizing:border-box}
body{margin:0;background:#edf1f2;color:var(--ink);font-family:Inter,Arial,sans-serif}
.shell{display:grid;grid-template-columns:255px 1fr;min-height:100vh}
aside{background:var(--navy);padding:24px 16px;color:white;position:sticky;top:0;height:100vh;overflow:auto}
aside img{width:205px;margin:0 8px 26px}
aside .nav-section{color:var(--tan);font:12px Abel;letter-spacing:.13em;padding:18px 14px 5px}
aside a{display:block;color:white;text-decoration:none;padding:10px 13px;border-radius:4px;font-family:Abel;font-size:18px}
aside a.active,aside a:hover{background:rgba(255,255,255,.12)}
main{padding:32px;max-width:1500px;width:100%;overflow:hidden}
.toprow{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.eyebrow{font-family:Abel;color:var(--calm);letter-spacing:.18em}
.toprow h1,.page-title{font:48px Abel;color:var(--navy);margin:5px 0 18px}
.top-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.site-link{color:var(--navy);text-decoration:none;background:white;padding:10px 14px;border-radius:4px;border:0;font:inherit;cursor:pointer}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.stat,.panel{background:white;border-radius:7px;box-shadow:0 6px 20px rgba(0,59,92,.06)}
.stat{padding:21px}.stat span{display:block;font-size:13px}.stat strong{display:block;font:37px Abel;color:var(--navy);margin-top:7px}
.panel{padding:22px;margin-top:18px}.panel h2{font:31px Abel;color:var(--navy);margin:0 0 13px}
.panel h3{font:24px Abel;color:var(--navy);margin:0 0 10px}
.panel-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:10px}
.muted{color:#687985}.small{font-size:13px}.danger-text{color:var(--danger)}
.attention{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.attention a{padding:17px;background:#f7f1e9;border-radius:5px;text-decoration:none;color:inherit}
.attention b{display:block;font:33px Abel;color:var(--clay)}.attention span{font-size:13px}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid #e6e9ea;vertical-align:top}th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#617580}
.tablewrap{overflow:auto}
.btn{background:var(--clay);color:white;border:0;padding:11px 17px;font:18px Abel;cursor:pointer;border-radius:3px;text-decoration:none;display:inline-block}
.btn.secondary{background:var(--navy)}.btn.ghost{background:white;color:var(--navy);border:1px solid var(--navy)}.btn.danger{background:var(--danger)}
.btn.small-btn{padding:7px 10px;font-size:15px}
.actions{display:flex;gap:7px;flex-wrap:wrap}
.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}
.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
label{display:grid;gap:5px;font-size:13px;font-weight:600}
input,select,textarea{width:100%;padding:10px;border:1px solid #cfd7da;border-radius:4px;background:white;color:var(--ink);font:inherit}
textarea{min-height:84px;resize:vertical}
.checkbox-label{display:flex;align-items:center;gap:8px;padding:10px 0}.checkbox-label input{width:auto}
.form-actions{display:flex;gap:10px;align-items:center;margin-top:14px}
.form-msg{min-height:20px;color:var(--sage);font-weight:600;font-size:13px}
.tag{display:inline-block;padding:4px 8px;border-radius:999px;background:#edf2f4;font-size:12px}
.tag.good{background:#e9f2e7;color:#49643e}.tag.warn{background:#fff0dc;color:#8a5419}.tag.bad{background:#f7e5e2;color:#8d3029}.tag.info{background:#e4eef5;color:#315d7b}
.toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:12px}
.toolbar .search{max-width:380px}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.mini-card{background:#f8faf9;border:1px solid #e3e8ea;border-radius:6px;padding:16px}
.price{font:28px Abel;color:var(--clay)}
.service-row{display:grid;grid-template-columns:1.1fr 115px 125px 100px 90px;gap:10px;align-items:center;padding:14px 0;border-bottom:1px solid #e8ecee}
.service-row .desc{grid-column:1/-1}
.calendar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}
.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:#dce3e6;border:1px solid #dce3e6}
.calendar-day,.calendar-label{background:white;padding:8px;min-height:105px}
.calendar-label{min-height:auto;text-align:center;font-size:12px;font-weight:700;color:#627684}
.calendar-day.other{background:#f5f7f7;color:#9ca8ad}
.day-num{font-weight:700;font-size:12px;margin-bottom:5px}
.cal-event{display:block;background:#e7eff4;border-left:3px solid var(--clay);padding:5px;margin:4px 0;font-size:11px;text-decoration:none;color:var(--ink);border-radius:2px}
.bar-list{display:grid;gap:10px}.bar-row{display:grid;grid-template-columns:150px 1fr 75px;gap:10px;align-items:center}.bar-track{height:11px;background:#e9edef;border-radius:9px;overflow:hidden}.bar-fill{height:100%;background:var(--navy)}
.integration-card{display:grid;grid-template-columns:1fr 120px;gap:15px;padding:18px 0;border-bottom:1px solid #e6e9ea}
.integration-card h3{margin-bottom:5px}.integration-fields{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.5fr;gap:10px}
.note-box{padding:15px;background:#fff8ef;border-left:4px solid var(--clay);margin:12px 0}
.empty{padding:25px;text-align:center;color:#74858f}

/* auth */
.auth-body{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#edf1f2 0%,#f7f1e9 100%)}
.auth-card{width:min(460px,100%);background:#fff;border-radius:10px;padding:38px;box-shadow:0 18px 50px rgba(0,50,100,.12)}
.auth-card-wide{width:min(560px,100%)}.auth-logo{display:block;width:250px;max-width:80%;margin:0 0 28px}
.auth-card h1{font:46px Abel;color:var(--navy);margin:6px 0 8px}.auth-copy,.auth-help{color:#557186;line-height:1.55}.auth-help{font-size:13px;margin:22px 0 0}
.auth-form{display:grid;gap:16px;margin-top:24px}.auth-form label{display:grid;gap:7px;font-weight:600;font-size:14px}
.auth-submit{width:100%;margin-top:4px}.auth-submit:disabled{opacity:.65;cursor:wait}.field-note{font-size:12px;color:#6b7781;margin-top:-6px}
.user-form{display:grid;grid-template-columns:1fr 1.2fr 1.5fr 120px auto;gap:10px;align-items:end}.users-list{display:grid}.user-row{display:grid;grid-template-columns:minmax(260px,1fr) 130px 120px;gap:18px;align-items:center;padding:14px 0;border-bottom:1px solid #e6e9ea}.user-row>div{display:grid;gap:3px}.user-row span{font-size:13px;color:#6b7781}.active-toggle{display:flex;align-items:center;gap:8px}.active-toggle input{width:auto}

@media(max-width:1100px){.stats{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr 1fr}.card-grid{grid-template-columns:1fr 1fr}.service-row{grid-template-columns:1fr 100px 110px}.service-row .service-active,.service-row .service-order{display:none}}
@media(max-width:900px){.shell{grid-template-columns:1fr}aside{position:static;height:auto}.stats,.attention,.card-grid{grid-template-columns:1fr 1fr}main{padding:20px}.form-grid,.form-grid.two,.form-grid.three{grid-template-columns:1fr}.calendar-grid{min-width:760px}.calendar-scroll{overflow:auto}.integration-fields{grid-template-columns:1fr}.user-form{grid-template-columns:1fr}.user-row{grid-template-columns:1fr}.auth-card{padding:28px}}
@media(max-width:600px){.stats,.attention,.card-grid{grid-template-columns:1fr}.toprow{flex-direction:column}.service-row{grid-template-columns:1fr}.service-row>*{grid-column:1!important}}
/* Programs manager */
.program-admin-card{border:1px solid var(--line,#d7dde1);border-left:4px solid #e1c7a8;padding:20px;margin:0 0 18px;background:#fff}
.program-admin-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px}
.program-admin-head strong{font-size:22px;color:#003b5c}
.compact-fields{margin-top:8px}
.span-2{grid-column:1/-1}
.actions-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}
.danger-btn{border:1px solid #9d2d23;background:#fff;color:#9d2d23;padding:10px 14px;border-radius:4px;cursor:pointer;font-weight:700}
.empty-state{padding:28px;border:1px dashed #b8c2c8;color:#5d6b73;background:#fafafa}
@media(max-width:760px){.span-2{grid-column:auto}.program-admin-head{flex-direction:column}}
