:root{
    --bg:#f3f6fb;
    --bg-soft:#f8fafc;
    --panel:#ffffff;
    --panel-2:#fbfdff;
    --ink:#101828;
    --text:#344054;
    --muted:#667085;
    --muted-2:#98a2b3;
    --line:#e4e7ec;
    --border:#e4e7ec;
    --line-strong:#d0d5dd;
    --brand:#0f766e;
    --brand-2:#115e59;
    --brand-3:#134e4a;
    --brand-soft:#ccfbf1;
    --accent:#f59e0b;
    --accent-soft:#fffbeb;
    --danger:#b42318;
    --danger-soft:#fef3f2;
    --success:#067647;
    --success-soft:#ecfdf3;
    --warning:#b54708;
    --warning-soft:#fffaeb;
    --radius:18px;
    --radius-sm:12px;
    --shadow:0 12px 30px rgba(16,24,40,.08);
    --shadow-sm:0 8px 18px rgba(16,24,40,.06);
    --shadow-lg:0 24px 60px rgba(16,24,40,.14);
    --sidebar-width:292px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    min-height:100vh;
    background:
        radial-gradient(circle at top left, rgba(15,118,110,.10), transparent 32rem),
        radial-gradient(circle at 85% 10%, rgba(245,158,11,.12), transparent 24rem),
        linear-gradient(180deg,#f8fafc 0%,var(--bg) 100%);
    color:var(--ink);
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
    font-size:15px;
    line-height:1.5;
    letter-spacing:-.01em;
}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
::selection{background:var(--brand-soft);color:var(--brand-3)}

.layout{display:flex;min-height:100vh;width:100%}
.sidebar{
    width:var(--sidebar-width);
    position:fixed;
    inset:0 auto 0 0;
    z-index:40;
    display:flex;
    flex-direction:column;
    gap:18px;
    padding:20px;
    overflow:auto;
    color:#ecfeff;
    background:
        linear-gradient(180deg,rgba(15,118,110,.98),rgba(17,94,89,.98)),
        radial-gradient(circle at 20% 5%,rgba(255,255,255,.24),transparent 20rem);
    border-right:1px solid rgba(255,255,255,.12);
    box-shadow:18px 0 60px rgba(15,23,42,.12);
}
.sidebar::-webkit-scrollbar{width:7px}.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.24);border-radius:999px}
.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-mark{
    width:48px;height:48px;flex:0 0 48px;border-radius:16px;
    display:grid;place-items:center;
    color:#fff;font-weight:900;letter-spacing:.7px;
    background:linear-gradient(145deg,rgba(255,255,255,.24),rgba(255,255,255,.10));
    border:1px solid rgba(255,255,255,.18);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 10px 24px rgba(0,0,0,.14);
}
.brand-copy{min-width:0}.brand-copy strong,.brand strong{display:block;font-size:15px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-copy span,.brand span{display:block;margin-top:3px;color:#b7f4ea;font-size:12px;font-weight:600}.sidebar-close{display:none;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);color:#fff;border-radius:12px;width:38px;height:38px;font-size:24px;line-height:1;cursor:pointer}
.sidebar-profile{
    display:flex;align-items:center;gap:12px;
    padding:14px;
    border-radius:18px;
    background:rgba(255,255,255,.10);
    border:1px solid rgba(255,255,255,.14);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
}
.sidebar-profile strong{display:block;color:#fff;font-size:14px;line-height:1.25}.sidebar-profile span{display:block;color:#b7f4ea;font-size:12px;margin-top:2px;font-weight:600}.avatar{
    width:42px;height:42px;border-radius:999px;
    display:grid;place-items:center;
    color:#115e59;font-weight:900;
    background:linear-gradient(145deg,#ecfeff,#99f6e4);
    border:1px solid rgba(255,255,255,.60);
    box-shadow:0 10px 24px rgba(0,0,0,.12);
}.avatar-sm{width:36px;height:36px;font-size:13px;box-shadow:none}
.nav{display:grid;gap:5px;padding:2px 0 10px}.nav-section{
    display:block;margin:18px 9px 7px;
    color:#a7f3d0;
    font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.11em;
}
.nav a{
    position:relative;
    display:flex;align-items:center;gap:10px;
    min-height:43px;
    padding:10px 12px;
    border-radius:14px;
    color:#e6fffb;
    font-weight:750;
    transition:background .18s ease,transform .18s ease,color .18s ease,box-shadow .18s ease;
}
.nav a:hover{background:rgba(255,255,255,.12);transform:translateX(2px)}
.nav a.active{
    color:#0f5138;
    background:linear-gradient(145deg,#ffffff,#dcfce7);
    box-shadow:0 12px 26px rgba(0,0,0,.16);
}
.nav a.active::before{
    content:"";position:absolute;left:-8px;top:12px;bottom:12px;width:4px;border-radius:999px;background:#facc15;
}
.nav-icon{width:25px;height:25px;border-radius:9px;display:inline-grid;place-items:center;background:rgba(255,255,255,.12);font-size:14px;flex:0 0 25px}.nav a.active .nav-icon{background:#ccfbf1;color:#0f766e}.sidebar-footer{margin-top:auto;padding:14px;border-radius:16px;background:rgba(0,0,0,.13);border:1px solid rgba(255,255,255,.10)}.sidebar-footer small{display:block;color:#b7f4ea;font-weight:700}.sidebar-footer strong{display:block;margin-top:2px;color:#fff;font-size:12px}.sidebar-backdrop{display:none}

.main{flex:1;min-width:0;margin-left:var(--sidebar-width)}
.topbar{
    position:sticky;top:0;z-index:25;
    min-height:76px;
    display:flex;align-items:center;justify-content:space-between;gap:16px;
    padding:14px 28px;
    background:rgba(255,255,255,.78);
    border-bottom:1px solid rgba(228,231,236,.85);
    backdrop-filter:blur(18px);
    box-shadow:0 1px 0 rgba(255,255,255,.85),0 12px 30px rgba(16,24,40,.04);
}
.topbar-left,.topbar-right{display:flex;align-items:center;gap:14px;min-width:0}.topbar-left strong{display:block;font-size:18px}.eyebrow{display:block;margin-bottom:1px;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.user-chip{display:flex;align-items:center;gap:10px;padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.72)}.user-chip strong{display:block;max-width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.user-chip span{display:block;color:var(--muted);font-size:12px;line-height:1.1}.logout,.menu-button{
    border:1px solid var(--line-strong);
    color:#344054;
    background:#fff;
    box-shadow:0 1px 2px rgba(16,24,40,.05);
    border-radius:12px;
    font-weight:800;
}
.logout{padding:10px 14px}.logout:hover,.menu-button:hover{border-color:#99f6e4;color:var(--brand);box-shadow:0 8px 18px rgba(15,118,110,.12)}.menu-button{display:none;width:42px;height:42px;cursor:pointer}
.content{width:100%;max-width:1440px;margin:0 auto;padding:30px}

.page-title{
    display:flex;justify-content:space-between;align-items:flex-start;gap:16px;
    margin:2px 0 24px;
    padding:0 2px;
}
.page-title h1{margin:0;color:#0f172a;font-size:30px;line-height:1.15;letter-spacing:-.035em}.page-title p{margin:7px 0 0;color:var(--muted);max-width:820px}.page-title .btn{margin-top:2px}
.card{
    position:relative;
    background:linear-gradient(180deg,#ffffff 0%,var(--panel-2) 100%);
    border:1px solid rgba(228,231,236,.92);
    border-radius:var(--radius);
    box-shadow:var(--shadow);
    padding:24px;
    margin-bottom:22px;
    overflow:hidden;
}
.card::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--brand),#14b8a6,var(--accent));opacity:.95}.card h2{margin:0 0 18px;color:#101828;font-size:18px;line-height:1.25;letter-spacing:-.02em}.card p:first-child{margin-top:0}.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}.col-1{grid-column:span 1}.col-2{grid-column:span 2}.col-3{grid-column:span 3}.col-4{grid-column:span 4}.col-5{grid-column:span 5}.col-6{grid-column:span 6}.col-8{grid-column:span 8}.col-10{grid-column:span 10}.col-12{grid-column:span 12}
.stat{
    position:relative;
    min-height:126px;
    padding:20px;
    border-radius:22px;
    border:1px solid rgba(228,231,236,.90);
    background:linear-gradient(145deg,#fff,#f8fafc);
    box-shadow:var(--shadow);
    overflow:hidden;
}
.stat::before{content:"";position:absolute;right:-28px;top:-32px;width:108px;height:108px;border-radius:999px;background:var(--brand-soft);opacity:.88}.stat::after{content:"";position:absolute;right:22px;top:20px;width:38px;height:38px;border-radius:14px;background:linear-gradient(145deg,var(--brand),var(--brand-2));box-shadow:0 12px 24px rgba(15,118,110,.20)}.stat strong{position:relative;display:block;margin-top:8px;color:#0f172a;font-size:34px;line-height:1;font-weight:900;letter-spacing:-.05em}.stat span{position:relative;display:block;margin-top:10px;color:var(--muted);font-weight:800}.grid .col-3:nth-child(2) .stat::before{background:#dbeafe}.grid .col-3:nth-child(2) .stat::after{background:linear-gradient(145deg,#2563eb,#1d4ed8)}.grid .col-3:nth-child(3) .stat::before{background:#fef3c7}.grid .col-3:nth-child(3) .stat::after{background:linear-gradient(145deg,#f59e0b,#d97706)}.grid .col-3:nth-child(4) .stat::before{background:#fce7f3}.grid .col-3:nth-child(4) .stat::after{background:linear-gradient(145deg,#db2777,#be185d)}

label{display:block;margin-bottom:7px;color:#344054;font-size:13px;font-weight:850}.hint{color:var(--muted);font-size:13px}.form-control,select,textarea,input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],input:not([type]){
    width:100%;
    min-height:44px;
    border:1px solid #d0d5dd;
    border-radius:12px;
    padding:10px 12px;
    color:#101828;
    background:#fff;
    outline:0;
    transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
    box-shadow:0 1px 2px rgba(16,24,40,.04);
}
textarea{min-height:118px;resize:vertical;line-height:1.5}select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#667085 50%),linear-gradient(135deg,#667085 50%,transparent 50%);background-position:calc(100% - 18px) 19px,calc(100% - 13px) 19px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:34px}input:focus,select:focus,textarea:focus{border-color:#14b8a6;box-shadow:0 0 0 4px rgba(20,184,166,.12);background:#fff}input[type=checkbox]{width:17px;height:17px;vertical-align:-3px;accent-color:var(--brand);margin-right:7px}
.btn{
    min-height:42px;
    border:0;
    border-radius:12px;
    padding:10px 16px;
    font-size:14px;
    font-weight:900;
    cursor:pointer;
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease,color .16s ease;
    box-shadow:0 1px 2px rgba(16,24,40,.05);
}
.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:linear-gradient(145deg,var(--brand),var(--brand-2));color:#fff;box-shadow:0 12px 22px rgba(15,118,110,.24)}.btn-primary:hover{box-shadow:0 16px 28px rgba(15,118,110,.30)}.btn-secondary{background:#fff;color:#344054;border:1px solid var(--line-strong)}.btn-secondary:hover{border-color:#99f6e4;color:var(--brand);box-shadow:0 10px 20px rgba(15,118,110,.10)}.btn-danger{background:linear-gradient(145deg,#d92d20,#b42318);color:#fff}.btn-sm{min-height:34px;padding:7px 11px;border-radius:10px;font-size:12px}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.actions .btn{white-space:nowrap}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 1px 2px rgba(16,24,40,.03)}table{width:100%;border-collapse:separate;border-spacing:0;background:#fff}th,td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{position:sticky;top:0;z-index:1;background:#f8fafc;color:#475467;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}tbody tr{transition:background .14s ease}tbody tr:hover{background:#f9fafb}tr:last-child td{border-bottom:0}td{color:#344054}td strong{color:#101828}
.badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#e6fffb;color:#0f766e;font-weight:900;font-size:12px;line-height:1;border:1px solid #99f6e4}.badge::before{content:"";width:6px;height:6px;border-radius:999px;background:currentColor}.badge-muted{background:#f2f4f7;color:#475467;border-color:#e4e7ec}.badge-danger{background:#fee4e2;color:#b42318;border-color:#fecdca}
.alert{position:relative;padding:14px 16px 14px 44px;border-radius:16px;margin:0 0 18px;border:1px solid;font-weight:750;box-shadow:0 8px 18px rgba(16,24,40,.05)}.alert::before{content:"✓";position:absolute;left:16px;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:999px;display:grid;place-items:center;font-size:12px;font-weight:900}.alert-success{background:var(--success-soft);border-color:#abefc6;color:var(--success)}.alert-success::before{background:#abefc6;color:#067647}.alert-error{background:var(--danger-soft);border-color:#fecdca;color:var(--danger)}.alert-error::before{content:"!";background:#fecdca;color:#b42318}.phase-box,.indicator-box{position:relative;border:1px solid var(--line);border-radius:16px;padding:16px;background:#fff;margin-bottom:13px;box-shadow:0 1px 2px rgba(16,24,40,.03)}.phase-box:hover,.indicator-box:hover{border-color:#99f6e4}.phase-box header,.indicator-box header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.indicator-box header strong{color:#101828;line-height:1.35}.phase-box textarea{background:#fcfcfd}

.login-page{
    min-height:100vh;
    display:grid;
    place-items:center;
    padding:32px;
    background:
        radial-gradient(circle at 18% 18%,rgba(20,184,166,.20),transparent 23rem),
        radial-gradient(circle at 82% 6%,rgba(245,158,11,.18),transparent 20rem),
        linear-gradient(135deg,#ecfeff 0%,#f8fafc 48%,#fefce8 100%);
}
.login-card{
    width:min(960px,94vw);
    min-height:560px;
    display:grid;
    grid-template-columns:1fr 1.05fr;
    padding:0;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.65);
    border-radius:30px;
    background:#fff;
    box-shadow:var(--shadow-lg);
}
.login-card::before{content:"";display:block;background:
    linear-gradient(160deg,rgba(15,118,110,.96),rgba(17,94,89,.96)),
    radial-gradient(circle at top left,rgba(255,255,255,.32),transparent 18rem);
}
.login-card-inner{padding:42px;display:flex;flex-direction:column;justify-content:center}.login-card .brand{color:var(--brand);margin-bottom:28px}.login-card .brand-mark{background:#e6fffb;color:var(--brand);border-color:#99f6e4;box-shadow:none}.login-card h1{margin:0 0 8px;color:#0f172a;font-size:34px;line-height:1.08;letter-spacing:-.05em}.login-card p{margin:0 0 24px;color:var(--muted)}.login-card .btn{width:100%;margin-top:4px}.login-note{margin-top:18px!important;padding:12px;border-radius:14px;background:#f8fafc;border:1px dashed var(--line-strong);font-size:13px}.login-aside{position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:42px;color:#fff;overflow:hidden}.login-aside::before{content:"";position:absolute;inset:0;background:
    radial-gradient(circle at 25% 18%,rgba(255,255,255,.26),transparent 12rem),
    radial-gradient(circle at 75% 72%,rgba(250,204,21,.22),transparent 15rem),
    linear-gradient(160deg,#0f766e,#115e59 70%);}
.login-aside>*{position:relative}.login-aside-badge{width:max-content;margin-bottom:18px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.login-aside h2{margin:0 0 10px;font-size:30px;line-height:1.1;letter-spacing:-.04em}.login-aside p{color:#ccfbf1;margin:0}.login-feature-list{display:grid;gap:10px;margin-top:24px}.login-feature-list span{display:flex;align-items:center;gap:10px;color:#ecfeff;font-weight:800}.login-feature-list span::before{content:"✓";width:22px;height:22px;border-radius:999px;display:grid;place-items:center;background:rgba(255,255,255,.18);font-size:12px}.print-only{display:none}

@media(max-width:1100px){.user-chip{display:none}.content{padding:24px}.col-1,.col-2,.col-3,.col-4,.col-5,.col-6{grid-column:span 6}.col-8,.col-10,.col-12{grid-column:span 12}.grid .col-3 .stat{min-height:112px}}
@media(max-width:900px){
    .sidebar{transform:translateX(-102%);transition:transform .24s ease;box-shadow:24px 0 60px rgba(15,23,42,.20)}
    .sidebar.open{transform:translateX(0)}.sidebar-close{display:inline-grid;place-items:center}.sidebar-backdrop{display:block;position:fixed;inset:0;z-index:35;background:rgba(15,23,42,.45);opacity:0;pointer-events:none;transition:opacity .2s ease}.sidebar-backdrop.show{opacity:1;pointer-events:auto}.main{margin-left:0}.menu-button{display:inline-grid;place-items:center}.topbar{padding:12px 16px}.topbar-right{gap:8px}.content{padding:20px 16px}.page-title{display:block}.page-title .btn{margin-top:14px}.grid{grid-template-columns:1fr}.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-8,.col-10,.col-12{grid-column:span 1}.card{padding:20px}.phase-box header,.indicator-box header{display:block}.phase-box header .hint,.indicator-box header .hint{display:block;margin-top:5px}.login-card{grid-template-columns:1fr;width:min(470px,94vw);min-height:0}.login-card::before,.login-aside{display:none}.login-card-inner{padding:34px}.login-card h1{font-size:30px}}
@media(max-width:520px){body{font-size:14px}.topbar-left strong{font-size:16px}.topbar .logout{padding:9px 11px}.page-title h1{font-size:26px}.card{border-radius:16px;padding:18px}.stat{min-height:auto}.stat strong{font-size:30px}th,td{padding:12px}.login-page{padding:18px}.login-card-inner{padding:26px}.login-card h1{font-size:28px}}
@media print{
    body{background:#fff;color:#000}.sidebar,.topbar,.actions,.btn,.no-print,.sidebar-backdrop{display:none!important}.main{margin-left:0}.content{max-width:none;padding:0}.page-title{margin-bottom:12px}.card{box-shadow:none;border:1px solid #bbb;border-radius:8px;break-inside:avoid;padding:16px}.card::before{display:none}.table-wrap{border-color:#bbb;box-shadow:none}th{position:static;background:#f3f4f6}.print-only{display:block}
}

/* Dynamic COT tiles and printable COT sheet enhancements */
.empty-state{
    padding:18px;
    border:1px dashed var(--line-strong);
    border-radius:var(--radius-sm);
    color:var(--muted);
    background:var(--bg-soft);
}
.tile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.phase-tile-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.tile-check{
    position:relative;
    display:flex;
    gap:12px;
    align-items:flex-start;
    min-height:92px;
    padding:16px;
    border:1px solid var(--line);
    border-radius:18px;
    background:linear-gradient(180deg,#fff,#fbfdff);
    box-shadow:0 10px 22px rgba(16,24,40,.05);
    cursor:pointer;
    transition:.18s ease;
}
.tile-check:hover{border-color:rgba(15,118,110,.38);transform:translateY(-1px);box-shadow:0 16px 30px rgba(16,24,40,.08)}
.tile-check input{margin-top:4px;width:18px;height:18px;accent-color:var(--brand)}
.tile-check strong{display:block;color:var(--ink);font-size:14px;line-height:1.25}
.tile-check small{display:block;margin-top:5px;color:var(--muted);font-size:12px;line-height:1.35}
.tile-check:has(input:checked){border-color:var(--brand);background:linear-gradient(180deg,#ecfdf5,#ffffff);box-shadow:0 0 0 3px rgba(15,118,110,.10)}
.tile-note{min-height:70px;margin-top:-6px;grid-column:auto;border-style:dashed;background:#fff}
.indicator-tile{
    padding:18px;
    margin:16px 0;
    border:1px solid var(--line);
    border-radius:20px;
    background:#fff;
    box-shadow:0 12px 28px rgba(16,24,40,.06);
}
.indicator-main{display:grid;grid-template-columns:70px 1fr;gap:14px;align-items:start}
.indicator-code{
    display:grid;place-items:center;
    min-height:44px;
    border-radius:14px;
    background:var(--brand-soft);
    color:var(--brand-3);
    font-weight:900;
    text-align:center;
}
.rating-tile-row{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 12px}
.rating-tile-row[data-empty="1"]::after{content:'No rating values match this teacher position/school scope. Add values in Rating Values.';color:var(--danger);font-size:13px;background:var(--danger-soft);border:1px solid #fecdca;border-radius:12px;padding:10px 12px}
.rating-tile{
    align-items:center;
    gap:8px;
    padding:10px 14px;
    border:1px solid var(--line-strong);
    border-radius:999px;
    background:var(--bg-soft);
    cursor:pointer;
    font-weight:800;
    color:var(--ink);
    transition:.15s ease;
}
.rating-tile input{accent-color:var(--brand)}
.rating-tile small{color:var(--muted);font-size:11px;font-weight:700}
.rating-tile:hover{border-color:var(--brand);background:#fff}
.rating-tile:has(input:checked){background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 8px 18px rgba(15,118,110,.22)}
.rating-tile:has(input:checked) small{color:#d1fae5}
.evidence-input{margin-top:8px}
.rating-mini{display:inline-grid;place-items:center;min-width:34px;padding:6px 9px;border-radius:10px;background:var(--brand-soft);color:var(--brand-3);font-weight:900}
.cot-print-sheet{background:#fff;color:#111;border-radius:0;box-shadow:none}
.cot-sheet-head{text-align:center;margin-bottom:18px}.cot-sheet-head h2{font-size:20px;margin:4px 0;text-transform:uppercase}.cot-sheet-head h3{font-size:16px;margin:4px 0}.cot-sheet-ribbon{display:inline-block;padding:9px 90px;margin:10px auto;background:#07a957;color:#fff;font-weight:900;letter-spacing:.03em}
.cot-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px 30px;margin:18px 0}.cot-meta div{border-bottom:1px solid #222;padding:4px 0}.cot-meta strong{display:inline-block;min-width:155px;text-transform:uppercase}
.cot-rating-table{width:100%;border-collapse:collapse;background:#fff}.cot-rating-table th{background:#09a957;color:#fff;text-align:center;border:1px solid #167047;padding:8px}.cot-rating-table td{border:1px solid #555;padding:8px;vertical-align:top}.cot-rating-table .indicator-col{width:64%;text-align:left}.cot-rating-table .center{text-align:center;vertical-align:middle;font-weight:900}.cot-comment-box{min-height:80px;border:1px solid #555;border-top:0;padding:10px}.signature-row{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:55px;text-align:center}.signature-line{border-top:1px solid #111;padding-top:8px}
@media (max-width:900px){.phase-tile-grid,.tile-grid{grid-template-columns:1fr}.indicator-main{grid-template-columns:1fr}.indicator-code{width:max-content;padding:0 14px}.tile-note{margin-top:0}}
@media print{.sidebar,.topbar,.actions,.btn,.sidebar-backdrop{display:none!important}.main{margin:0!important}.content{padding:0!important}.card{box-shadow:none!important;border:0!important}.cot-print-sheet{padding:0!important}.cot-rating-table th{background:#09a957!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.cot-sheet-ribbon{background:#09a957!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* v3: Stronger COT Rated dynamic scale visibility */
.cot-rating-headline{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    margin-bottom:14px;
}
.rating-scale-notice{
    flex:0 0 auto;
    max-width:420px;
    padding:10px 14px;
    border-radius:16px;
    background:#ecfdf5;
    border:1px solid #a7f3d0;
    color:#047857;
    font-weight:800;
    font-size:13px;
    line-height:1.35;
}
.rating-scale-notice.rating-scale-warning{
    background:#fff7ed;
    border-color:#fed7aa;
    color:#c2410c;
}
.rating-priority-card{
    border:1px solid rgba(5,150,105,.24);
    background:linear-gradient(180deg,#ffffff 0%,#f0fdf4 100%);
}
.rating-scale-strip{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:12px 0 18px;
}
.rating-scale-large{
    padding:14px;
    border-radius:22px;
    background:#ffffff;
    border:1px dashed rgba(5,150,105,.36);
}
.rating-scale-pill{
    min-width:72px;
    display:inline-flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    padding:12px 14px;
    border-radius:18px;
    background:#059669;
    color:#ffffff;
    box-shadow:0 12px 24px rgba(5,150,105,.18);
}
.rating-scale-pill strong{
    font-size:20px;
    line-height:1;
}
.rating-scale-pill small{
    max-width:120px;
    font-size:10px;
    line-height:1.2;
    text-align:center;
    color:rgba(255,255,255,.85);
}
.checklist-pill{
    background:#2563eb;
    box-shadow:0 12px 24px rgba(37,99,235,.18);
}
.preset-form{
    margin-top:12px;
    padding-top:12px;
    border-top:1px solid rgba(148,163,184,.25);
}
.warning-text{
    color:#b45309;
    font-weight:800;
    padding:12px 14px;
    border-radius:16px;
    background:#fffbeb;
    border:1px solid #fde68a;
}
.rating-number-tile{
    min-width:62px;
    min-height:58px;
    border-color:rgba(5,150,105,.28);
}
.rating-number-tile span{
    font-size:20px;
    font-weight:900;
}
.rating-number-tile input:checked + span,
.rating-checklist-tile input:checked + span{
    transform:scale(1.06);
}
.rating-tile-row[data-empty="1"]{
    display:none;
}
.no-rating-values-message{
    margin-top:10px;
    padding:12px 14px;
    border-radius:16px;
    background:#fff7ed;
    border:1px solid #fed7aa;
    color:#9a3412;
    font-size:13px;
    font-weight:700;
}
.rating-mini-rated{
    background:#059669!important;
    color:#fff!important;
    border-color:#059669!important;
}
.rated-row td:first-child{
    font-weight:800;
    color:#065f46;
}
@media (max-width: 900px){
    .cot-rating-headline{
        flex-direction:column;
    }
    .rating-scale-notice{
        width:100%;
        max-width:none;
    }
    .rating-scale-pill{
        min-width:60px;
        flex:1 1 72px;
    }
}

/* v4 Reports and print-ready observation materials */
.badge-info{background:#e0f2fe;color:#075985;border:1px solid #bae6fd}
.badge-success{background:#ecfdf3;color:#067647;border:1px solid #abefc6}
.report-stat-grid .stat.compact{min-height:96px;padding:16px}.report-stat-grid .stat.compact strong{font-size:28px}.report-stat-grid .stat.compact span{font-size:12px}.report-filter-card .filter-actions{display:flex;gap:10px;align-items:end}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.actions-cell{white-space:nowrap}.actions-cell .btn{margin:2px}.btn-sm{padding:8px 10px;font-size:12px;border-radius:10px}.print-body{background:#e5e7eb;color:#111;font-family:Arial,Helvetica,sans-serif}.print-toolbar{position:sticky;top:0;z-index:10;display:flex;gap:10px;justify-content:center;padding:12px;background:#0f172a;box-shadow:0 12px 28px rgba(15,23,42,.18)}.print-page{width:8.5in;min-height:11in;margin:22px auto;padding:.45in;background:#fff;box-shadow:0 25px 70px rgba(15,23,42,.22);position:relative;font-size:13px;line-height:1.28}.print-page h1,.print-page h2,.print-page h3,.print-page p{margin:0}.deped-seal{width:70px;height:70px;border:2px solid #284399;border-radius:999px;display:grid;place-items:center;margin:0 auto 10px;color:#284399;font-size:13px;font-weight:900;background:radial-gradient(circle,#fff 50%,#eef2ff 51%);text-transform:uppercase}.corner{position:absolute;width:26px;height:26px}.corner-tl{left:.25in;top:.25in;border-left:1px solid #999;border-top:1px solid #999}.corner-tr{right:.25in;top:.25in;border-right:1px solid #999;border-top:1px solid #999}.cot-official-head{text-align:center;text-transform:uppercase;margin-bottom:18px}.cot-official-head h1{font-size:20px;line-height:1.12;letter-spacing:.02em;font-weight:800}.cot-official-head h2{font-size:16px;font-style:italic;font-weight:600;margin-top:2px}.cot-official-head h3{font-size:17px;line-height:1.15;font-weight:800;margin-top:10px}.green-ribbon{display:inline-block;background:#08a957;color:#fff;padding:9px 85px;margin:12px auto 0;font-size:17px;font-weight:900;letter-spacing:.03em}.cot-line-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 46px;margin:12px 0 16px}.cot-line-grid div{display:flex;align-items:flex-end;gap:8px}.cot-line-grid .wide{grid-column:span 2}.cot-line-grid strong{text-transform:uppercase;white-space:nowrap;font-size:13px}.cot-line-grid span{display:block;flex:1;border-bottom:1px solid #111;min-height:18px;padding:0 4px}.cot-line-grid .obs-no span{max-width:280px}.cot-directions{font-size:13px;margin:12px 0 16px}.cot-directions strong{text-transform:uppercase;display:block;margin-bottom:3px}.cot-directions ol{margin:0;padding-left:18px}.official-cot-table{width:100%;border-collapse:collapse;table-layout:fixed}.official-cot-table th{background:#08a957;color:#fff;border:1px solid #09733e;text-transform:uppercase;font-size:13px;padding:8px 6px}.official-cot-table th:not(.indicator-col){width:46px}.official-cot-table td{border:1px solid #333;vertical-align:top;padding:8px 8px;font-size:12.5px}.official-cot-table .indicator-col{width:auto;text-align:left}.official-cot-table em{font-style:normal;color:#222}.mark-cell{text-align:center!important;vertical-align:middle!important;font-weight:900;font-size:18px}.official-comment-box{border:1px solid #333;border-top:0;min-height:86px;padding:8px;font-size:13px}.rating-footnote{font-size:12.5px;margin-top:5px}.official-signatures{margin-top:48px}.signature-row{display:grid;grid-template-columns:1fr 1fr;gap:80px;text-align:center;margin-top:44px}.signature-row div span{display:block;min-height:24px;border-bottom:1px solid #111;padding-bottom:4px}.signature-row div strong{display:block;padding-top:5px;font-size:12px;font-weight:500}.official-footer{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:14px;background:#08a957;color:#06251a;padding:12px 45px;font-size:12px}.official-footer span{margin-left:auto;color:#fff;font-weight:800}.simple-print-head{display:grid;grid-template-columns:82px 1fr;gap:14px;align-items:center;border-bottom:4px solid #0f766e;padding-bottom:14px;margin-bottom:16px}.simple-print-head .deped-seal{margin:0;width:66px;height:66px}.simple-print-head p{text-transform:uppercase;font-size:11px;color:#475467;font-weight:800;letter-spacing:.08em}.simple-print-head h1{font-size:22px;color:#0f172a;line-height:1.08}.simple-print-head h2{font-size:15px;color:#0f766e;margin-top:4px}.walkthrough-head{border-color:#2563eb}.walkthrough-head h2{color:#2563eb}.print-meta-card{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;border:1px solid #cbd5e1;border-radius:12px;padding:12px;background:#f8fafc;margin-bottom:14px}.print-meta-card div{display:grid;grid-template-columns:145px 1fr;gap:8px;align-items:start}.print-meta-card .wide{grid-column:span 2}.print-meta-card strong{text-transform:uppercase;color:#344054;font-size:11px}.print-meta-card span{border-bottom:1px solid #94a3b8;min-height:18px}.soft-note-box{border:1px solid #a7f3d0;background:#ecfdf5;border-radius:12px;padding:10px 12px;color:#064e3b;margin-bottom:14px}.coaching-table,.summary-table{width:100%;border-collapse:collapse}.coaching-table th,.coaching-table td,.summary-table th,.summary-table td{border:1px solid #475467;padding:7px;vertical-align:top;font-size:12px}.coaching-table th,.summary-table th{background:#f1f5f9;text-transform:uppercase;font-size:11px}.coaching-table th:nth-child(1){width:34px}.coaching-table th:nth-last-child(1){width:190px}.coaching-table small{display:block;margin-top:5px;color:#475467}.two-boxes{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.two-boxes div{border:1px solid #cbd5e1;border-radius:12px;min-height:105px;padding:10px;background:#fff}.two-boxes strong{text-transform:uppercase;font-size:12px;color:#344054}.two-boxes p{margin-top:6px;white-space:pre-wrap}.phase-print-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.phase-print-tile{border:1px solid #cbd5e1;border-radius:12px;min-height:112px;padding:10px;background:#fff;position:relative}.phase-print-tile span{position:absolute;right:10px;top:8px;width:24px;height:24px;border:1px solid #64748b;border-radius:6px;display:grid;place-items:center;font-weight:900}.phase-print-tile.observed{border-color:#2563eb;background:#eff6ff}.phase-print-tile.observed span{background:#2563eb;color:#fff;border-color:#2563eb}.phase-print-tile strong{display:block;max-width:78%;font-size:13px;color:#0f172a}.phase-print-tile p{margin-top:8px;color:#475467;font-size:11.5px}.walkthrough-boxes div{min-height:120px}.summary-print-page{padding:.5in}.summary-print-head{text-align:center;border-bottom:3px solid #0f766e;padding-bottom:14px;margin-bottom:18px}.summary-print-head h1{text-transform:uppercase;font-size:22px}.summary-print-head p{color:#475467;font-weight:700}.summary-counts{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:16px}.summary-counts div{border:1px solid #cbd5e1;border-radius:10px;padding:10px;background:#f8fafc;text-align:center}.summary-counts span{display:block;font-size:11px;text-transform:uppercase;color:#475467;font-weight:800}.summary-counts strong{font-size:24px}.summary-signatures{display:grid;grid-template-columns:1fr 1fr;gap:120px;margin-top:60px;text-align:center}.summary-signatures span{display:block;border-bottom:1px solid #111;height:26px}.summary-signatures strong{display:block;margin-top:6px;font-size:12px}
@page{size:letter;margin:.35in}
@media print{
    .print-body{background:#fff!important}.print-toolbar,.no-print{display:none!important}.print-page{width:auto;min-height:auto;margin:0;padding:0;box-shadow:none}.green-ribbon,.official-cot-table th,.official-footer{print-color-adjust:exact;-webkit-print-color-adjust:exact}.cot-rated-print{padding-bottom:.48in}.simple-print-head,.print-meta-card,.soft-note-box,.phase-print-tile,.two-boxes div,.summary-counts div{break-inside:avoid}.official-cot-table tr,.coaching-table tr,.summary-table tr{break-inside:avoid}.deped-seal{print-color-adjust:exact;-webkit-print-color-adjust:exact}
}
@media(max-width:900px){.report-filter-card .filter-actions{grid-column:span 1}.print-toolbar{flex-wrap:wrap}.print-page{width:min(100% - 20px,8.5in);margin:10px auto;padding:18px}.phase-print-grid{grid-template-columns:1fr}.cot-line-grid,.print-meta-card,.two-boxes,.signature-row,.summary-counts{grid-template-columns:1fr}.cot-line-grid .wide,.print-meta-card .wide{grid-column:span 1}.green-ribbon{padding:9px 28px}.official-footer{position:static;margin-top:20px}.simple-print-head{grid-template-columns:1fr;text-align:center}.simple-print-head .deped-seal{margin:0 auto}.official-cot-table{font-size:11px}}

/* v5 notification/settings polish */
.settings-grid { align-items: start; }
.settings-card textarea { min-height: 120px; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12px; }
.settings-help-card { position: sticky; top: 92px; }
.numbered-help { margin: 14px 0 0; padding-left: 20px; color: var(--muted); line-height: 1.7; }
.numbered-help li { margin-bottom: 10px; }
.card-headline { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.card-headline h2 { margin-bottom: 3px; }
.card-headline p { margin: 0; color: var(--muted); }
.switch-row { display: inline-flex; align-items: center; gap: 10px; padding: 12px 14px; border: 1px solid var(--border); border-radius: 14px; background: #f8fafc; font-weight: 700; color: var(--text); cursor: pointer; width: 100%; }
.switch-row input { width: 18px; height: 18px; accent-color: var(--primary); }
.compact-switch { padding: 9px 10px; font-size: 12px; }
.inline-filter { margin: 0; min-width: 260px; }
.inline-form { display: inline-flex; margin: 0; }
.compact-note { font-size: 12px; line-height: 1.55; }
.print-link-box { border: 1px dashed rgba(37, 99, 235, .35); background: #eff6ff; color: #1e3a8a; border-radius: 16px; padding: 14px 16px; font-size: 13px; }
.notification-ready-card { border-left: 5px solid var(--primary); }
.badge-danger { background: #fee2e2; color: #991b1b; }
.btn-success { background: #059669; color: #fff; border-color: #059669; }
.btn-success:hover { background: #047857; }
table input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--primary); }
table td input { min-width: 170px; }
code { background: #f1f5f9; border: 1px solid #e2e8f0; border-radius: 8px; padding: 2px 6px; }
@media (max-width: 900px) {
    .settings-help-card { position: static; }
    .card-headline { flex-direction: column; }
    .inline-filter { width: 100%; min-width: 0; }
    .inline-form { width: 100%; }
    .inline-form .btn { width: 100%; justify-content: center; }
}


/* v6 Universal logo and branding settings */
.brand-logo{
    width:48px;
    height:48px;
    flex:0 0 48px;
    border-radius:16px;
    object-fit:contain;
    background:rgba(255,255,255,.94);
    border:1px solid rgba(255,255,255,.22);
    padding:6px;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 10px 24px rgba(0,0,0,.14);
}
.login-brand-logo{
    background:#fff;
    border-color:#ccfbf1;
    box-shadow:0 8px 22px rgba(15,118,110,.12);
}
.branding-card .card-headline{margin-bottom:16px}.branding-form{align-items:stretch}.logo-preview-box{
    height:100%;min-height:232px;border:1px dashed var(--line-strong);border-radius:22px;background:linear-gradient(180deg,#fff,#f8fafc);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;gap:10px
}.logo-preview-box img{width:128px;height:128px;object-fit:contain;border-radius:24px;background:#fff;border:1px solid var(--line);padding:10px;box-shadow:0 12px 26px rgba(16,24,40,.08)}.logo-preview-fallback{width:128px;height:128px;border-radius:24px;display:grid;place-items:center;background:linear-gradient(145deg,var(--brand),var(--brand-2));color:#fff;font-size:32px;font-weight:900;letter-spacing:.08em}.logo-preview-box strong{display:block;color:#101828}.logo-preview-box span{color:var(--muted);font-size:13px}.danger-switch span{color:var(--danger)!important;font-weight:800}.print-logo{width:70px;height:70px;object-fit:contain;background:#fff;border-radius:8px}.print-logo-center{display:block;margin:0 auto 10px}.simple-print-head .print-logo{margin:0;width:70px;height:70px}.print-agency-line{text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.06em;margin-bottom:4px!important;color:#344054}@media print{.brand-logo,.print-logo{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* v7 Password management UI */
.alert-warning{background:var(--warning-soft);border-color:#fedf89;color:var(--warning)}
.alert-warning::before{content:"!";background:#fedf89;color:#b54708}
.security-card .hint strong{color:var(--brand)}
.profile-summary{display:flex;align-items:center;gap:14px;margin:4px 0 18px;padding:16px;border:1px solid var(--line);border-radius:18px;background:#fff}
.profile-summary strong{display:block;color:#101828;font-size:18px;line-height:1.2}.profile-summary span{display:block;margin-top:4px;color:var(--muted);font-weight:800}.profile-avatar{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,var(--brand),var(--brand-2));color:#fff;font-size:22px;font-weight:900;box-shadow:0 12px 24px rgba(15,118,110,.18)}
.info-list{display:grid;gap:10px}.info-list>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}.info-list>div:last-child{border-bottom:0}.info-list span{color:var(--muted);font-weight:800}.info-list strong{text-align:right;color:#101828;font-weight:900}
.default-password-box{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;padding:18px;border-radius:18px;border:1px dashed #99f6e4;background:linear-gradient(145deg,#f0fdfa,#ffffff)}.default-password-box.compact{margin:0 0 18px}.default-password-box span{display:block;color:var(--muted);font-weight:800;font-size:13px}.default-password-box strong{display:block;margin-top:4px;color:var(--brand-2);font-size:30px;line-height:1;font-weight:950;letter-spacing:.06em}.default-password-box p{margin:0;max-width:740px;color:#475467;font-weight:650}
@media(max-width:760px){.default-password-box{display:block}.default-password-box p{margin-top:12px}.info-list>div{display:block}.info-list strong{text-align:left;display:block;margin-top:4px}}

/* v8 School Admin Dashboard Completion Tracker */
.school-tracker-card{overflow:hidden}
.section-head.align-center{align-items:center}
.inline-filter-form{display:flex;align-items:end;gap:10px;min-width:260px}
.inline-filter-form label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:900;margin-bottom:4px}
.inline-filter-form select{min-width:230px}
.tracker-summary-strip{display:grid;grid-template-columns:2fr 1fr;gap:14px;margin:12px 0 18px}
.tracker-summary-strip div{border:1px solid var(--border);background:linear-gradient(135deg,#fff,#f8fafc);border-radius:18px;padding:16px 18px;box-shadow:var(--shadow-sm)}
.tracker-summary-strip span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:900;margin-bottom:6px}
.tracker-summary-strip strong{font-size:22px;color:var(--ink);letter-spacing:-.03em}
.coverage-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px}
.coverage-card{position:relative;border:1px solid var(--border);border-radius:22px;padding:18px;background:#fff;box-shadow:var(--shadow-sm);overflow:hidden}
.coverage-card::before{content:"";position:absolute;right:-34px;top:-38px;width:120px;height:120px;border-radius:999px;background:#dbeafe;opacity:.9}
.coverage-card.walkthrough::before{background:#dbeafe}.coverage-card.not-rated::before{background:#fef3c7}.coverage-card.rated::before{background:#dcfce7}
.coverage-card-top{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.coverage-card-top span{display:block;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.coverage-card-top strong{display:block;font-size:36px;line-height:1;margin-top:8px;color:var(--ink);letter-spacing:-.06em}.coverage-card-top b{background:#f8fafc;border:1px solid var(--border);border-radius:999px;padding:8px 12px;color:#334155}.coverage-card p{position:relative;margin:12px 0 0;color:var(--muted);font-weight:650}.coverage-progress{position:relative;height:12px;background:#eef2f7;border-radius:999px;margin-top:16px;overflow:hidden}.coverage-progress span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--brand),var(--brand-2));min-width:0}.coverage-card.walkthrough .coverage-progress span{background:linear-gradient(90deg,#2563eb,#1d4ed8)}.coverage-card.not-rated .coverage-progress span{background:linear-gradient(90deg,#f59e0b,#d97706)}.coverage-card.rated .coverage-progress span{background:linear-gradient(90deg,#16a34a,#15803d)}.coverage-counts{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.coverage-counts span{background:#f8fafc;border:1px solid var(--border);border-radius:14px;padding:10px;font-size:12px;color:var(--muted);font-weight:750}.coverage-counts strong{display:block;font-size:22px;color:var(--ink);line-height:1.1}.coverage-table td{vertical-align:top}.badge-success{background:#dcfce7;color:#166534;border-color:#bbf7d0}.badge-danger{background:#fee2e2;color:#991b1b;border-color:#fecaca}.action-create-observation{margin-top:8px;display:inline-flex}.alert-info{background:#eff6ff;color:#1e3a8a;border-color:#bfdbfe}
@media(max-width:1100px){.coverage-card-grid{grid-template-columns:1fr}.tracker-summary-strip{grid-template-columns:1fr}.inline-filter-form{width:100%;align-items:stretch;flex-direction:column}.inline-filter-form select{min-width:0;width:100%}}

.empty-cell{padding:28px;text-align:center;color:#64748b;font-weight:700;background:#f8fafc;}

/* v10 Global Percentage Tracker */
.page-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.global-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:26px;background:radial-gradient(circle at top right,rgba(20,184,166,.18),transparent 34%),linear-gradient(135deg,#ffffff,#f8fafc)}
.global-hero-copy h2{font-size:54px;line-height:1;margin:8px 0 8px;color:var(--ink);letter-spacing:-.07em}.global-hero-copy p{margin:0;color:var(--muted);font-weight:700;max-width:760px}.global-hero-progress{display:flex;align-items:center;justify-content:center}.global-ring{--p:0;width:152px;height:152px;border-radius:999px;display:grid;place-items:center;position:relative;background:conic-gradient(var(--brand) calc(var(--p) * 1%),#e5e7eb 0);box-shadow:0 18px 38px rgba(15,118,110,.16)}.global-ring::before{content:"";position:absolute;inset:13px;border-radius:999px;background:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}.global-ring strong,.global-ring span{position:relative;z-index:1;display:block;text-align:center}.global-ring strong{font-size:31px;color:var(--ink);letter-spacing:-.05em}.global-ring span{margin-top:34px;font-size:12px;color:var(--muted);font-weight:900;text-transform:uppercase;letter-spacing:.08em}.global-coverage-grid{margin-top:0}.global-table td{vertical-align:top}.mini-progress-line{height:9px;background:#e5e7eb;border-radius:999px;overflow:hidden;min-width:120px;margin-bottom:7px}.mini-progress-line span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--brand),var(--brand-2));min-width:0}.mini-progress-line.walkthrough span{background:linear-gradient(90deg,#2563eb,#1d4ed8)}.mini-progress-line.not-rated span{background:linear-gradient(90deg,#f59e0b,#d97706)}.mini-progress-line.rated span{background:linear-gradient(90deg,#16a34a,#15803d)}.missing-summary-pill{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:#f8fafc;border-radius:999px;padding:10px 14px;color:var(--muted);font-weight:800}.missing-summary-pill strong{font-size:22px;color:var(--ink);line-height:1}.button-stack-cell{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap}.button-stack-cell .btn{margin:0}
@media(max-width:900px){.global-hero{grid-template-columns:1fr;text-align:left}.global-hero-progress{justify-content:flex-start}.page-actions{justify-content:flex-start;margin-top:14px}.global-ring{width:132px;height:132px}.global-ring strong{font-size:26px}}

/* v11 Username management and My Account UI repair */
.account-page-title{margin-bottom:18px}
.account-hero{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
    padding:24px;
    margin-bottom:20px;
    background:
        radial-gradient(circle at top right,rgba(15,118,110,.14),transparent 25rem),
        linear-gradient(135deg,#ffffff,#f8fafc);
    overflow:hidden;
}
.account-identity{display:flex;align-items:center;gap:18px;min-width:0}
.account-avatar{
    width:76px;height:76px;flex:0 0 76px;
    border-radius:24px;
    display:grid;place-items:center;
    background:linear-gradient(145deg,var(--brand),var(--brand-2));
    color:#fff;font-size:32px;font-weight:950;
    box-shadow:0 18px 34px rgba(15,118,110,.22);
}
.account-identity h2{margin:3px 0 2px;font-size:28px;line-height:1.05;letter-spacing:-.05em;color:var(--ink)}
.account-identity p{margin:0;color:var(--muted);font-weight:750}
.account-login-badge{
    min-width:220px;
    padding:16px 18px;
    border:1px solid #a7f3d0;
    border-radius:22px;
    background:linear-gradient(145deg,#ecfdf5,#ffffff);
    box-shadow:var(--shadow-sm);
}
.account-login-badge span{display:block;color:var(--muted);font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}
.account-login-badge strong{display:block;margin-top:5px;color:var(--brand-2);font-size:22px;line-height:1.1;overflow-wrap:anywhere}
.account-layout{
    display:grid;
    grid-template-columns:minmax(280px,380px) minmax(0,1fr);
    gap:20px;
    align-items:start;
}
.account-sidebar-stack,.account-main-stack{display:grid;gap:20px;min-width:0}
.account-card{padding:22px;min-width:0;overflow:hidden}
.account-card h2{margin:0;color:var(--ink);font-size:20px;letter-spacing:-.03em}
.account-help-card{background:linear-gradient(145deg,#ffffff,#f0fdfa);border-color:#ccfbf1}
.account-help-card p{margin:10px 0 0;color:var(--text)}
.account-help-card strong{color:var(--brand-2)}
.account-info-list>div{align-items:flex-start}
.account-info-list strong{max-width:60%;overflow-wrap:anywhere}
.card-headline{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}
.card-headline p{margin:5px 0 0}
.account-form-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    align-items:start;
}
.password-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.form-field{min-width:0}
.form-field.full-width,.form-actions.full-width{grid-column:1 / -1}
.form-actions{display:flex;align-items:end;justify-content:flex-end;height:100%;padding-top:22px}
.form-actions .btn{white-space:nowrap}
.username-input-wrap{
    display:flex;
    align-items:center;
    width:100%;
    min-height:44px;
    border:1px solid var(--line-strong);
    border-radius:14px;
    background:#fff;
    overflow:hidden;
    transition:border-color .18s ease, box-shadow .18s ease;
}
.username-input-wrap:focus-within{border-color:var(--brand);box-shadow:0 0 0 4px rgba(15,118,110,.10)}
.username-input-wrap span{
    align-self:stretch;
    min-width:44px;
    display:grid;
    place-items:center;
    color:var(--brand-2);
    font-weight:950;
    background:#ecfdf5;
    border-right:1px solid var(--line);
}
.username-input-wrap input{
    border:0!important;
    box-shadow:none!important;
    outline:0!important;
    border-radius:0!important;
    min-height:42px;
    width:100%;
}
.user-form-card .username-input-wrap input{padding-left:12px}
.user-form-card .username-input-wrap{margin-top:0}
@media(max-width:1100px){
    .account-layout{grid-template-columns:1fr}
    .account-info-list strong{max-width:none}
}
@media(max-width:760px){
    .account-hero{display:block;padding:20px}
    .account-identity{align-items:flex-start}
    .account-avatar{width:62px;height:62px;flex-basis:62px;border-radius:20px;font-size:26px}
    .account-identity h2{font-size:23px}
    .account-login-badge{min-width:0;margin-top:16px}
    .account-form-grid,.password-form-grid{grid-template-columns:1fr}
    .form-actions{justify-content:stretch;padding-top:0}
    .form-actions .btn{width:100%;justify-content:center}
    .card-headline{display:block}
}

/* v12 district and quarter tracker enhancements */
.enhanced-filter-card .section-head,
.tracker-filter-panel .section-head{margin-bottom:18px}.filter-pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:#f8fafc;color:#334155;border-radius:999px;padding:9px 12px;font-weight:850;font-size:12px}.tracker-filter-panel{border-left:5px solid var(--brand)}.tracker-filter-panel .filter-actions,.enhanced-filter-card .filter-actions{display:flex;align-items:flex-end;justify-content:flex-start;gap:10px}.tracker-filter-form{display:flex;align-items:end;gap:10px;flex-wrap:wrap;justify-content:flex-end}.tracker-filter-form label{margin-bottom:0;font-size:11px}.tracker-filter-form select{min-width:180px}.quarter-aware-strip{grid-template-columns:1.5fr 1fr 1fr}.tracker-summary-strip small{display:block;margin-top:4px;color:var(--muted);font-size:12px;font-weight:700}.global-table td .mini-progress-line{margin-bottom:6px}.button-stack-cell{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.missing-summary-pill{display:flex;align-items:center;gap:10px;border:1px solid var(--border);background:#fff7ed;border-radius:16px;padding:10px 14px}.missing-summary-pill strong{font-size:24px;color:#c2410c}.missing-summary-pill span{color:#9a3412;font-weight:750;font-size:12px}
@media(max-width:900px){.quarter-aware-strip{grid-template-columns:1fr}.tracker-filter-form{width:100%;align-items:stretch;justify-content:stretch;flex-direction:column}.tracker-filter-form select{width:100%;min-width:0}.filter-pill{width:100%;justify-content:center}.tracker-filter-panel .filter-actions,.enhanced-filter-card .filter-actions{align-items:stretch;flex-direction:column}.tracker-filter-panel .filter-actions .btn,.enhanced-filter-card .filter-actions .btn{width:100%;justify-content:center}}

/* v13 Mobile App Ready / Responsive Upgrade */
html{height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body.app-shell{min-height:100svh;overflow-x:hidden;touch-action:manipulation}
body.app-shell .main{min-height:100svh}
img,svg,video{max-width:100%;height:auto}
button,.btn,a,input,select,textarea{-webkit-tap-highlight-color:rgba(15,118,110,.18)}
button:focus-visible,.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(20,184,166,.35);outline-offset:2px}
.install-button{min-height:40px;border:1px solid #99f6e4;border-radius:12px;background:#ecfdf5;color:#0f766e;font-weight:900;padding:9px 13px;cursor:pointer;box-shadow:0 1px 2px rgba(16,24,40,.05)}
.install-button:hover{background:#d1fae5}
.mobile-bottom-nav{display:none}
.table-wrap{max-width:100%;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}.table-wrap table{min-width:760px}.table-wrap::after{content:"";display:block;height:0}.responsive-scroll-note{display:none}
.card,.stat,.coverage-card,.account-card,.indicator-tile,.tile-check{contain:layout style}

/* Better app-like sizing */
@media(max-width:900px){
    :root{--sidebar-width:min(86vw,330px)}
    body.app-shell{background:#f6f8fb}
    .sidebar{width:var(--sidebar-width);padding:calc(16px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom));border-top-right-radius:0;border-bottom-right-radius:0}
    .sidebar-head{position:sticky;top:0;z-index:2;margin:-16px -16px 4px;padding:16px;background:linear-gradient(180deg,rgba(15,118,110,.98),rgba(15,118,110,.90));backdrop-filter:blur(14px)}
    .nav a{min-height:48px;padding:12px 13px;font-size:15px}.nav-icon{width:28px;height:28px;flex-basis:28px}.sidebar-profile{padding:13px}.sidebar-footer{display:none}
    .topbar{min-height:64px;padding:calc(10px + env(safe-area-inset-top)) 14px 10px}.topbar-left{flex:1}.topbar-left>div{min-width:0}.topbar-left strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:58vw}.topbar-right .account-link,.topbar-right .user-chip{display:none}.topbar-right .logout{min-height:40px;padding:9px 12px}.install-button{display:none}
    .content{padding:18px 14px calc(94px + env(safe-area-inset-bottom));max-width:100%}.page-title{margin-bottom:16px}.page-title h1{font-size:clamp(22px,6vw,28px)}.page-title p{font-size:14px}.card{padding:16px;border-radius:18px;margin-bottom:16px}.card h2{font-size:17px;margin-bottom:14px}.stat{border-radius:18px;padding:16px}.grid{gap:12px}.actions{gap:8px}.btn{min-height:46px;border-radius:14px;padding:11px 14px}.btn-sm{min-height:38px;padding:8px 11px}
    input,select,textarea,.form-control,input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],input:not([type]){min-height:48px;font-size:16px;border-radius:14px}textarea{min-height:112px}label{font-size:12px}.hint{font-size:12px}
    .phase-tile-grid,.tile-grid{grid-template-columns:1fr!important;gap:11px}.tile-check{min-height:64px;border-radius:16px;padding:14px}.tile-check input{width:22px;height:22px}.tile-check strong{font-size:15px}.tile-note{min-height:78px}.indicator-tile{padding:15px;border-radius:18px}.rating-tile-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.rating-tile{min-height:48px;justify-content:center;text-align:center;border-radius:14px}.rating-number-tile{min-width:0}.rating-number-tile span{font-size:18px}.rating-checklist-tile{grid-column:span 1}.coverage-card-grid,.global-coverage-grid{gap:12px}.coverage-card{padding:16px}.coverage-card h3{font-size:17px}.coverage-percent,.global-hero-copy h2{font-size:42px}.global-hero{gap:16px}.global-ring{width:118px;height:118px}.global-ring strong{font-size:24px}.tracker-summary-strip,.quarter-aware-strip{gap:10px}.tracker-filter-panel,.enhanced-filter-card{border-left-width:0;border-top:5px solid var(--brand)}
}

/* Mobile bottom navigation for app-like use */
@media(max-width:760px){
    .mobile-bottom-nav{position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:34;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:7px;border:1px solid rgba(208,213,221,.86);border-radius:24px;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);box-shadow:0 18px 44px rgba(15,23,42,.18)}
    .mobile-bottom-nav a{min-width:0;min-height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:18px;color:#667085;font-weight:900;font-size:11px}
    .mobile-bottom-nav a span{font-size:18px;line-height:1}.mobile-bottom-nav a strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.mobile-bottom-nav a.active{background:linear-gradient(145deg,var(--brand),var(--brand-2));color:#fff;box-shadow:0 10px 22px rgba(15,118,110,.22)}
    .topbar{position:sticky}.topbar-right .logout[href="logout.php"]{font-size:0;width:42px;height:42px;padding:0;border-radius:14px}.topbar-right .logout[href="logout.php"]::before{content:"⎋";font-size:18px}.menu-button{width:42px;height:42px;border-radius:14px}.eyebrow{display:none}.brand-copy strong,.brand strong{max-width:190px}.sidebar-close{width:42px;height:42px}
    .page-title .actions,.page-actions,.actions.mobile-action-stack,.actions-cell.mobile-action-stack,.button-stack-cell.mobile-action-stack{display:grid!important;grid-template-columns:1fr;align-items:stretch;width:100%}.page-title .actions .btn,.page-actions .btn,.actions.mobile-action-stack .btn,.actions-cell.mobile-action-stack .btn,.button-stack-cell.mobile-action-stack .btn{width:100%;justify-content:center;margin:0}.actions-cell{white-space:normal}.actions-cell .btn{width:100%;margin:3px 0}.filter-actions,.report-filter-card .filter-actions,.tracker-filter-panel .filter-actions,.enhanced-filter-card .filter-actions{display:grid!important;grid-template-columns:1fr;width:100%;gap:8px}.filter-actions .btn,.report-filter-card .filter-actions .btn,.tracker-filter-panel .filter-actions .btn,.enhanced-filter-card .filter-actions .btn{width:100%;justify-content:center}
    .login-page{min-height:100svh;padding:18px 12px calc(18px + env(safe-area-inset-bottom))}.login-card{width:100%;border-radius:24px}.login-card-inner{padding:24px 18px}.login-card .brand{align-items:flex-start}.login-card h1{font-size:26px}.login-note{font-size:12px}.account-hero{border-radius:18px}.account-card{padding:16px}.account-login-badge strong{font-size:18px}.global-hero-copy h2{font-size:36px}.coverage-percent{font-size:36px}.coverage-counts{grid-template-columns:1fr}.missing-summary-pill{border-radius:14px;width:100%}
}

/* Turn wide data tables into readable mobile cards */
@media(max-width:720px){
    .table-wrap.mobile-card-table{border:0;background:transparent;box-shadow:none;overflow:visible}.table-wrap.mobile-card-table table{min-width:0;width:100%;display:block;background:transparent}.table-wrap.mobile-card-table thead{display:none}.table-wrap.mobile-card-table tbody{display:grid;gap:12px}.table-wrap.mobile-card-table tr{display:block;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm);overflow:hidden}.table-wrap.mobile-card-table td{display:grid;grid-template-columns:minmax(112px,38%) minmax(0,1fr);gap:10px;align-items:start;border-bottom:1px solid var(--line);padding:11px 12px;text-align:left;min-height:44px;overflow-wrap:anywhere}.table-wrap.mobile-card-table td:last-child{border-bottom:0}.table-wrap.mobile-card-table td::before{content:attr(data-label);color:#667085;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.06em}.table-wrap.mobile-card-table td[data-label="Actions"],.table-wrap.mobile-card-table td.actions-cell{display:block}.table-wrap.mobile-card-table td[data-label="Actions"]::before,.table-wrap.mobile-card-table td.actions-cell::before{display:block;margin-bottom:8px}.table-wrap.mobile-card-table td[data-label="Actions"] .btn,.table-wrap.mobile-card-table td.actions-cell .btn{width:100%;margin:3px 0;justify-content:center}
    .badge{white-space:normal;line-height:1.25}.mini-progress-line{min-width:0}.button-stack-cell{width:100%}
}

/* Very small phones */
@media(max-width:420px){
    .content{padding-left:10px;padding-right:10px}.topbar{padding-left:10px;padding-right:10px}.topbar-left strong{max-width:50vw;font-size:15px}.card{padding:14px}.page-title h1{font-size:22px}.stat strong{font-size:28px}.rating-tile-row{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-bottom-nav{left:6px;right:6px;bottom:calc(6px + env(safe-area-inset-bottom));border-radius:20px}.mobile-bottom-nav a{min-height:50px;border-radius:15px}.table-wrap.mobile-card-table td{grid-template-columns:1fr;gap:4px}.table-wrap.mobile-card-table td::before{font-size:10px}.print-toolbar{display:grid;grid-template-columns:1fr;padding:10px}.print-toolbar .btn{width:100%}
}

@media(hover:none){.btn:hover,.nav a:hover,.tile-check:hover,.rating-tile:hover{transform:none;box-shadow:inherit}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.mobile-bottom-nav,.install-button{display:none!important}body.app-shell .content{padding:0}}
