@font-face{font-family:Cairo;font-style:normal;font-weight:400 800;font-display:swap;src:url('/assets/fonts/cairo-arabic.woff2') format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:Cairo;font-style:normal;font-weight:400 800;font-display:swap;src:url('/assets/fonts/cairo-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--navy:#126d5d;--navy-dark:#174b42;--navy-light:#398779;--gold:#bf9852;--gold-light:#e0c283;--cream:#f5f7f2;--paper:#fff;--ink:#284c43;--muted:#6b8177;--line:#dfe9e1;--soft:#eaf4ed;--green:#126d5d;--red:#a46058;--shadow:0 8px 26px rgba(20,90,72,.08)}
*{box-sizing:border-box}html{font-family:Cairo,Tahoma,sans-serif;background:var(--cream);color:var(--ink)}body{margin:0;min-width:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold-light);outline-offset:2px}[hidden]{display:none!important}.app-shell{display:flex;min-height:100vh}.sidebar{width:246px;flex:none;background:var(--navy-dark);color:#eef4f2;display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;height:100vh;z-index:10}.brand{display:flex;gap:11px;align-items:center;padding:25px 18px 29px;border-bottom:1px solid #ffffff19}.brand-mark{width:42px;height:42px;border:1px solid var(--gold-light);border-radius:12px;display:grid;place-items:center;color:var(--gold-light);font-size:24px}.brand strong{display:block;font-size:16px;line-height:1.4}.brand small{display:block;color:#a9bfc3;font-size:11px;margin-top:3px}.sidebar-caption{font-size:12px;font-weight:800;color:#d4e0dd;padding:25px 24px 12px}.sidebar nav{padding:0 11px 18px;overflow:auto;flex:1}.nav-item{border:0;background:none;color:#c5d4d8;display:flex;align-items:center;gap:12px;width:100%;padding:10px 14px;border-radius:10px;text-align:right;font-size:13px;font-weight:700;margin:2px 0;white-space:nowrap}.nav-item:hover,.nav-item.active{background:#ffffff16;color:white}.nav-item.active{box-shadow:inset -3px 0 var(--gold-light)}.nav-icon{width:20px;text-align:center;color:#cfb482;font-size:17px}.sidebar-bottom{font-size:11px;color:#a6bac0;margin:0 22px 24px;padding-top:12px;border-top:1px solid #ffffff20}.workspace{min-width:0;flex:1}.topbar{height:76px;background:var(--paper);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 36px;gap:15px}.topbar-start,.topbar-actions{display:flex;align-items:center;gap:18px}.breadcrumb{font-size:13px;color:var(--muted)}.breadcrumb span{margin:0 8px;color:#bbb}.breadcrumb b{color:var(--ink)}.today{color:var(--muted);font-size:12px}.icon-button{border:1px solid var(--line);background:#fff;color:var(--navy);width:38px;height:38px;border-radius:11px;font-size:21px;position:relative}.icon-button i{position:absolute;top:7px;right:8px;width:6px;height:6px;background:var(--gold);border-radius:50%}.profile{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:800}.profile small{display:block;color:var(--muted);font-size:10px;font-weight:600}.avatar{width:36px;height:36px;border-radius:11px;background:#e9e1d5;color:var(--gold);display:grid;place-items:center;font-weight:800}.menu-button{display:none}main{max-width:1540px;padding:31px 36px 55px;margin:auto}.page-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:25px}.eyebrow{font-size:12px;font-weight:800;color:var(--gold)}.page-head h1{font-size:27px;line-height:1.5;margin:3px 0 1px;color:var(--navy-dark)}.page-head p{margin:0;color:var(--muted);font-size:13px}.head-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.primary-button,.secondary-button,.danger-button{border-radius:10px;padding:9px 15px;min-height:39px;font-size:13px;font-weight:800}.primary-button{background:var(--navy);border:1px solid var(--navy);color:white}.primary-button:hover{background:var(--navy-light)}.secondary-button{border:1px solid #d8d2c9;background:var(--paper);color:var(--navy)}.secondary-button:hover{background:var(--soft)}.danger-button{border:1px solid #d8b7b4;color:#994f49;background:#fff9f8}.welcome-card{position:relative;overflow:hidden;background:linear-gradient(120deg,#193e4c,#10303f);color:white;border-radius:19px;padding:24px 29px;margin-bottom:23px;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow)}.welcome-card:after{content:"";position:absolute;width:270px;height:270px;border:1px solid #d8b46a50;border-radius:50%;left:-85px;top:-125px;box-shadow:0 0 0 30px #d8b46a0c,0 0 0 60px #d8b46a09}.welcome-card h2{font-size:20px;margin:1px 0 5px}.welcome-card p{margin:0;color:#d5e2e1;font-size:13px}.welcome-kicker{color:#dfc596;font-size:11px;font-weight:800}.welcome-symbol{position:relative;z-index:1;width:55px;height:55px;border:1px solid #d5ba86;border-radius:50%;display:grid;place-items:center;font-size:26px;color:#e0bd80}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:25px}.metric{background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:18px 20px;box-shadow:var(--shadow);position:relative}.metric:before{content:"";position:absolute;right:0;top:0;bottom:0;width:4px;background:var(--gold)}.metric:nth-child(2):before{background:var(--navy-light)}.metric:nth-child(3):before{background:var(--red)}.metric:nth-child(4):before{background:var(--green)}.metric-label{font-size:13px;color:#566b73;font-weight:700}.metric-value{font-size:31px;font-weight:800;line-height:1.25;color:var(--navy-dark);margin-top:13px}.metric-foot{font-size:11px;color:var(--muted);margin-top:4px}.content-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);gap:18px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);min-width:0;margin-bottom:17px}.panel-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 23px;border-bottom:1px solid var(--line)}.panel-header h2{font-size:16px;margin:0;color:var(--navy-dark)}.panel-body{padding:18px 22px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:650px}th,td{text-align:right;padding:13px 18px;font-size:12px;border-top:1px solid var(--line)}th{background:#fbf9f6;color:#6e7a7f;font-weight:700}td{color:var(--ink)}tbody tr{cursor:pointer}tbody tr:hover{background:#faf6ef}.badge{font-size:11px;font-weight:800;border-radius:20px;padding:4px 9px;white-space:nowrap;background:#f0e5d5;color:#8d6331}.badge.blue{background:#e8eef0;color:#315566}.badge.red{background:#f4e7e4;color:#9c5c55}.badge.green{background:#e6f0ea;color:#4b796f}.empty{text-align:center;padding:35px;color:var(--muted);font-size:13px}.error{padding:18px;border:1px solid #efd0ca;background:#fbecea;color:#a04742;border-radius:12px}.loading{text-align:center;padding:60px;color:var(--muted)}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:17px}.filters input,.filters select{min-height:40px;border:1px solid var(--line);border-radius:10px;background:white;padding:8px 11px;min-width:140px;color:var(--ink)}.filters input[type=search]{min-width:250px;flex:1}.backdrop{position:fixed;inset:0;background:#09263078;z-index:19}.drawer{position:fixed;left:0;top:0;bottom:0;width:min(570px,100vw);background:var(--paper);z-index:20;padding:30px;overflow:auto;box-shadow:15px 0 55px #102b3929}.drawer-close{position:absolute;top:12px;left:18px;background:none;border:0;font-size:29px;color:var(--muted)}.drawer h2{font-size:21px;color:var(--navy);margin:18px 0}.drawer h3{font-size:15px;color:var(--navy);margin-top:25px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:5px}.field.wide{grid-column:1/-1}.field label{font-size:12px;color:var(--navy);font-weight:800}.field input,.field select,.field textarea{width:100%;min-width:0;border:1px solid #d9d9d3;border-radius:10px;background:white;color:var(--ink);padding:9px 11px;font-size:13px}.field textarea{min-height:90px;resize:vertical}.form-actions{display:flex;gap:8px;margin-top:20px;flex-wrap:wrap}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.detail-item{background:#f7f3ed;border:1px solid var(--line);border-radius:10px;padding:10px}.detail-item small{display:block;color:var(--muted);font-size:11px}.detail-item strong{font-size:13px;overflow-wrap:anywhere}.action-list{display:flex;flex-wrap:wrap;gap:8px}.evidence-list{display:grid;gap:8px}.evidence-item{padding:9px 12px;border:1px solid var(--line);border-radius:9px;font-size:12px}.evidence-item a{color:var(--navy);font-weight:800}.toast{position:fixed;bottom:24px;left:24px;z-index:30;background:var(--navy);color:white;border-radius:10px;padding:10px 16px;box-shadow:var(--shadow);font-size:12px}.bar{height:8px;border-radius:20px;background:#ece8e1;overflow:hidden}.bar i{display:block;height:100%;background:var(--gold);border-radius:20px}.list{display:grid;gap:8px}.list-item{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:11px 13px;text-align:right;color:var(--ink)}.list-item:hover{border-color:var(--gold-light)}.list-item small{display:block;color:var(--muted)}.section-tabs{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}.section-tabs button{border:1px solid var(--line);background:white;color:var(--navy);border-radius:9px;padding:7px 10px;font-size:12px;font-weight:800}.section-tabs button.active{background:var(--navy);color:white}.report-list{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.report-card{background:white;border:1px solid var(--line);border-radius:14px;padding:20px;text-align:right;color:var(--ink);font-weight:800}.report-card:hover{border-color:var(--gold)}.report-card small{display:block;color:var(--muted);font-weight:500;margin-top:7px}.notice{background:#eef3f3;border:1px solid #d8e4e5;border-radius:12px;padding:12px 15px;color:var(--navy);font-size:12px;margin-bottom:17px}
@media(max-width:1100px){.sidebar{width:216px}.topbar{padding:0 23px}main{padding:28px 23px}.metrics{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}.report-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.sidebar{position:fixed;right:0;transform:translateX(100%);transition:transform .2s;width:246px}.sidebar.open{transform:translateX(0)}.menu-button{display:block}.topbar{height:65px;padding:0 15px}.today,.breadcrumb{display:none}.topbar-actions{gap:9px}.profile{font-size:10px}.profile small{display:none}main{padding:22px 15px}.page-head{align-items:start;flex-direction:column}.page-head h1{font-size:23px}.metrics{gap:9px}.metric{padding:14px}.metric-value{font-size:25px}.welcome-card{padding:21px}.welcome-symbol{display:none}.panel-header{padding:17px}.drawer{padding:25px 18px}.report-list{grid-template-columns:1fr}.field-grid,.detail-grid{grid-template-columns:1fr}.field.wide{grid-column:auto}.table-wrap{overflow:auto}.filters input[type=search]{min-width:100%}}
.welcome-symbol{background:#fff9eb url('/assets/al-bayariq-logo.jpeg') center 42%/155% auto no-repeat;font-size:0}

main.dashboard-page{padding-top:12px}
main.dashboard-page .dashboard-filters{margin-bottom:14px}
.sidebar nav{overflow-x:hidden;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}
.sidebar nav::-webkit-scrollbar{display:none;width:0;height:0}
@media(max-width:1100px){main.dashboard-page{padding-top:10px}}
@media(max-width:760px){main.dashboard-page{padding-top:10px}}

/* Visual language shared with the previous supervision interface. */
.sidebar{transition:width .22s ease,transform .22s ease;overflow:hidden}
.sidebar.collapsed{width:0}
.brand{gap:10px;padding:24px 18px 27px;white-space:nowrap}
.brand-mark{flex:none;width:42px;height:42px;border-radius:13px}
.brand-mark svg{width:29px;height:29px;stroke:var(--gold-light);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.brand strong{font-size:17px}.brand small{font-size:12px}
.sidebar-caption{font-size:13px}
.nav-item{min-height:43px;font-size:14px;transition:background .15s ease,color .15s ease}
.nav-icon{flex:none;width:21px;font-size:18px;font-family:Segoe UI Symbol,Tahoma,sans-serif}
.sidebar-close{display:flex;align-items:center;gap:10px;width:calc(100% - 22px);min-height:42px;margin:8px 11px 13px;padding:8px 13px;background:#ffffff0d;border:1px solid #ffffff25;border-radius:10px;color:#e7efec;text-align:right;font-size:20px;line-height:1}
.sidebar-close span{font-size:13px;font-weight:700}.sidebar-close:hover{background:#ffffff1d}
.menu-button{display:grid;place-items:center;flex:none;font-size:19px;line-height:1}
.menu-button{z-index:11}
.icon-button{transition:background .15s ease,border-color .15s ease,transform .15s ease}
.icon-button:hover{background:#f5f0e8;border-color:var(--gold-light);transform:translateY(-1px)}
.notification-button{display:grid;place-items:center}
.notification-button svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.notification-button i{top:6px;right:6px;width:7px;height:7px}
.nav-backdrop{display:none}
.dashboard-filters{display:grid;grid-template-columns:repeat(4,minmax(145px,1fr));align-items:end;gap:10px}
.dashboard-filters .date-filter{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:700;color:var(--muted)}
.dashboard-filters .date-filter input{min-height:42px}
@media(max-width:760px){.dashboard-filters .date-filter{grid-column:auto}}
.department-choices{display:flex;flex-wrap:wrap;gap:10px;padding:10px 0}.department-choices label{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid #dcd8d0;border-radius:10px}
.field input[type=checkbox]{width:17px;min-width:17px;height:17px;min-height:17px;padding:0;margin:0;accent-color:var(--navy);vertical-align:middle}
.field label:has(> input[type=checkbox]){display:inline-flex;align-items:center;gap:7px}
.dashboard-filters input,.dashboard-filters select{width:100%;min-width:0;min-height:42px;border-color:#dcd8d0;border-radius:10px;font-size:13px;box-shadow:0 1px 2px #173b4a08}
.dashboard-filters input:hover,.dashboard-filters select:hover{border-color:var(--gold-light)}
.dashboard-filters select{padding-inline-end:29px}
.welcome-card{background:linear-gradient(120deg,#193e4c 0%,#10303f 100%);border-radius:19px}
.welcome-card h2{line-height:1.55}.welcome-card p{line-height:1.7}
.welcome-symbol{background:none;font-size:26px}
.metric{min-height:150px;overflow:hidden;transition:transform .15s ease,border-color .15s ease}
.metric:hover{transform:translateY(-2px);border-color:var(--gold-light)}
.metric:nth-child(1){background:#fcf6ec;border-color:#ebddc5}
.metric:nth-child(2){background:#edf4f5;border-color:#d7e5e8}
.metric:nth-child(3){background:#fbf0ed;border-color:#eddcd7}
.metric:nth-child(4){background:#eef5ef;border-color:#d8e8dc}
.metric:nth-child(1) .metric-value{color:#87622d}
.metric:nth-child(2) .metric-value{color:#235167}
.metric:nth-child(3) .metric-value{color:#995951}
.metric:nth-child(4) .metric-value{color:#396d5e}
.metric:after{content:'✦';position:absolute;left:18px;top:17px;width:35px;height:35px;border-radius:9px;background:#f4ebdd;color:var(--gold);display:grid;place-items:center;font-size:17px}
.metric:nth-child(2):after{content:'✓';background:#e1ecef;color:var(--navy)}
.metric:nth-child(3):after{content:'◉';background:#f6e5e1;color:var(--red)}
.metric:nth-child(4):after{content:'▣';background:#e2eee5;color:var(--green)}
.metric-label{padding-inline-end:38px;line-height:1.55}
.panel,.report-card{overflow:hidden}
.panel-header{background:#faf8f4}.panel-header h2{font-size:16px;line-height:1.5}
.panel:nth-child(4n+1) .panel-header{background:#fbf3e6}
.panel:nth-child(4n+2) .panel-header{background:#eaf2f4}
.panel:nth-child(4n+3) .panel-header{background:#f9edea}
.panel:nth-child(4n) .panel-header{background:#eaf3ed}
.empty{padding:24px 20px;line-height:1.8}
.empty:before{content:'◇';display:grid;place-items:center;margin:0 auto 7px;width:35px;height:35px;border-radius:10px;background:#f4eee4;color:var(--gold);font-size:20px}
.field label{line-height:1.6}.field input,.field select{min-height:42px}.field textarea{line-height:1.7}
.field label:has(+ :required):after{content:' *';color:var(--red);font-weight:800}
.field input[type=file]{padding:8px 10px;min-height:44px}
.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--gold-light)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold)}
.primary-button,.secondary-button,.danger-button{transition:background .15s ease,border-color .15s ease,transform .15s ease}
.primary-button:hover,.secondary-button:hover,.danger-button:hover{transform:translateY(-1px)}
.table-wrap{max-width:100%;overflow-x:auto}
th{background:#f7f4ee;color:#566b73;font-size:12px;white-space:nowrap}
td{line-height:1.65}tbody tr{transition:background .15s ease}
.badge{display:inline-flex;align-items:center;line-height:1.35}
.list-item,.report-card,.section-tabs button{transition:background .15s ease,border-color .15s ease,transform .15s ease}
.report-card:hover{transform:translateY(-2px)}
@media(max-width:1200px){.dashboard-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1100px){.metric{min-height:140px}}
@media(max-width:760px){.sidebar{width:246px}.sidebar.collapsed{width:246px}.sidebar.open{transform:translateX(0)}.nav-backdrop:not([hidden]){display:block;position:fixed;inset:0;background:#09263080;z-index:9}.dashboard-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-filters input,.dashboard-filters select{min-width:0}.metric{min-height:132px}.metric:after{width:29px;height:29px;left:11px;top:11px}.metric-label{padding-inline-end:25px}}
@media(max-width:760px){.app-shell.nav-open .menu-button,.app-shell.nav-open .menu-button:hover{transform:translateX(-246px)}}
@media(max-width:420px){.dashboard-filters{gap:8px}.dashboard-filters input{font-size:12px}.metric-label{font-size:12px}.metric-value{font-size:24px}.metric-foot{font-size:10px}.topbar-actions{gap:7px}}
@media(prefers-reduced-motion:reduce){.sidebar,.icon-button,.metric,.primary-button,.secondary-button,.danger-button{transition:none}}
@media(max-width:760px){.topbar-start{min-width:0;gap:10px}.topbar-actions{flex:none}.breadcrumb{display:block;min-width:0;color:var(--navy-dark);font-size:12px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.breadcrumb span,.breadcrumb b{display:none}}
@media(max-width:360px){.topbar{padding-inline:10px;gap:8px}.topbar-start{gap:7px}.breadcrumb{font-size:11px}}

.plan-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:22px;direction:rtl}
.plan-filter-grid select{width:100%;min-width:0;min-height:44px;border:1px solid #dcd8d0;border-radius:11px;background:#fff;color:var(--ink);padding:8px 12px;font-size:13px;font-weight:700;box-shadow:0 1px 2px #173b4a08}
.plan-filter-grid select:hover{border-color:var(--gold-light)}
.plan-group{margin-bottom:24px}
.plan-group-heading{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:0 0 13px}
.plan-group-heading h2{font-size:18px;color:var(--navy-dark);margin:3px 0}
.plan-group-heading h2 small{font-size:12px;color:var(--muted);font-weight:700}
.plan-group-heading p{font-size:12px;color:var(--muted);margin:0}
.plan-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.plan-card{width:100%;min-width:0;display:flex;flex-direction:column;align-items:stretch;text-align:right;gap:10px;background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:17px;box-shadow:var(--shadow);color:var(--ink)}
.plan-card:hover{border-color:var(--gold-light);transform:translateY(-2px)}
.plan-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.plan-card-kind{color:var(--gold);font-size:11px;font-weight:800}
.plan-card>strong{font-size:17px;color:var(--navy-dark);line-height:1.5}
.plan-card-person{font-size:13px;font-weight:700;color:var(--navy)}
.plan-card-meta{display:flex;flex-wrap:wrap;gap:5px 12px;border-top:1px solid var(--line);padding-top:10px;color:var(--muted);font-size:11px}
.plan-empty{grid-column:1/-1;background:var(--paper);border:1px dashed var(--line);border-radius:14px;padding:24px;color:var(--muted);font-size:13px;text-align:center}
@media(max-width:1250px){.plan-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.plan-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.plan-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-card-grid{grid-template-columns:1fr}}
@media(max-width:480px){.plan-filter-grid{grid-template-columns:1fr}.plan-group-heading h2{font-size:16px}}
.weekly-filters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}.weekly-filters label{display:grid;gap:5px;color:var(--navy);font-size:12px;font-weight:800}.weekly-filters select{width:100%;min-width:0;min-height:42px;border:1px solid var(--line);border-radius:10px;background:white;padding:7px}.weekly-week-nav{display:flex;align-items:center;justify-content:center;gap:15px;margin:12px 0 18px}.weekly-week-nav strong{color:var(--navy)}.weekly-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:20px}.weekly-summary>div{background:white;border:1px solid var(--line);border-radius:12px;padding:12px 15px;display:grid;gap:3px}.weekly-summary small{color:var(--muted)}.weekly-summary strong{font-size:24px;color:var(--navy)}.weekly-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.weekly-card{display:grid;gap:8px;text-align:right;background:white;border:1px solid var(--line);border-radius:14px;padding:17px;color:var(--ink);box-shadow:var(--shadow)}.weekly-card:hover{border-color:var(--gold)}.weekly-card>strong{font-size:16px;color:var(--navy)}.weekly-card>small{color:var(--muted);line-height:1.6}.weekly-card-top{display:flex;align-items:center;justify-content:space-between;gap:7px}.weekly-chain{margin-top:18px;background:#eef3f3;border-radius:10px;padding:12px;color:var(--navy);font-size:12px;line-height:1.8}
@media(max-width:1200px){.weekly-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.weekly-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.weekly-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.weekly-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.weekly-cards{grid-template-columns:1fr}.weekly-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.weekly-week-nav{gap:6px}.weekly-week-nav .secondary-button{padding:7px}}
@media(max-width:420px){.weekly-filters{grid-template-columns:1fr}.weekly-summary{gap:6px}.weekly-summary>div{padding:9px}.weekly-summary strong{font-size:20px}}
.annual-summary{margin-bottom:17px}
.annual-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px 22px}
.annual-summary-grid>div{background:#faf8f4;border:1px solid var(--line);border-radius:11px;padding:12px 14px;min-width:0}
.annual-summary-grid small{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}
.annual-summary-grid strong{display:block;color:var(--navy-dark);font-size:14px;overflow-wrap:anywhere}
.annual-summary-dates{display:flex;gap:18px;flex-wrap:wrap;padding:0 22px 18px;color:var(--muted);font-size:12px}
.annual-actions{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 17px}
.annual-review-notes{background:#fff9ed;border:1px solid #e9d7b8;border-radius:13px;padding:16px 20px;margin-bottom:17px}
.annual-review-notes h2{font-size:15px;color:#815d32;margin:0 0 10px}
.annual-review-notes>div+div{border-top:1px solid #eadcc6;padding-top:10px}
.annual-review-notes strong{font-size:12px;color:var(--navy)}
.annual-review-notes p{font-size:13px;margin:4px 0 10px;white-space:pre-wrap}
.annual-items-table{min-width:1080px}
.annual-items-table td{vertical-align:top;max-width:230px;overflow-wrap:anywhere}
.annual-row-actions{display:flex;gap:6px;flex-wrap:wrap}
.annual-row-actions button{min-height:34px;padding:5px 9px;font-size:11px}
[hidden]{display:none!important}
.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#113945dd,#173b4ab8),url('/assets/login-background.png') center/cover}
.login-card{width:min(100%,420px);display:grid;gap:15px;background:#fff;border-radius:20px;padding:30px;box-shadow:0 20px 60px #081f2d44;text-align:center}
.login-card img{width:88px;height:88px;object-fit:contain;justify-self:center;border-radius:14px}
.login-card h1{font-size:23px;color:var(--navy);margin:0}.login-card p{margin:0;color:var(--muted)}
.login-card label{text-align:right;font-size:13px;font-weight:700;display:grid;gap:5px}.login-card input{width:100%;box-sizing:border-box;padding:11px;border:1px solid var(--line);border-radius:9px;font:inherit}
.password-field{display:block;position:relative}.password-field input{padding-inline-end:48px}.login-card .password-toggle{position:absolute;inset-inline-end:5px;top:50%;transform:translateY(-50%);width:38px;height:38px;min-height:38px;padding:8px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--muted)}.login-card .password-toggle:hover{background:var(--soft);color:var(--navy)}.password-toggle svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.password-toggle[aria-pressed=true]{color:var(--navy)}
.login-card button{justify-self:stretch}
@media(max-width:760px){#currentUser{display:none}.topbar-actions #logout{padding:6px 9px}}
.annual-link{display:block;border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:8px;padding:5px 8px;margin-bottom:5px;text-align:right;font-size:11px}
.annual-link:hover{border-color:var(--gold-light);background:#faf6ef}
.annual-unlinked{color:var(--muted);font-size:11px}
.annual-history{padding:6px 20px 12px}
.annual-history-item{padding:11px 3px;border-bottom:1px solid var(--line)}
.annual-history-item:last-child{border-bottom:0}
.annual-history-item strong,.annual-history-item small{display:block}
.annual-history-item strong{font-size:13px;color:var(--navy)}
.annual-history-item small{font-size:11px;color:var(--muted);margin-top:3px}
@media(max-width:760px){.annual-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px;gap:9px}.annual-summary-dates{padding-inline:14px}}
@media(max-width:420px){.annual-summary-grid{grid-template-columns:1fr 1fr}.annual-summary-grid strong{font-size:12px}.annual-items-table{min-width:900px}}
.semester-week-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:14px;padding:18px}
.semester-week{min-width:0;padding:15px;border:1px solid var(--border,#e5e7eb);border-radius:14px;background:#fafcfb}
.semester-week h3{margin:0 0 12px;font-size:16px}
.semester-activity{padding:13px;margin-top:10px;background:white;border:1px solid var(--border,#e5e7eb);border-radius:12px;overflow-wrap:anywhere}
.semester-activity p{margin:8px 0;color:#46545b;font-size:13px}
.semester-activity .annual-row-actions{margin-top:12px;flex-wrap:wrap}
@media(max-width:600px){.semester-week-grid{grid-template-columns:1fr;padding:12px}.semester-week{padding:12px}}
.v5-link{border:0;background:transparent;color:var(--primary,#175b74);font:inherit;font-weight:700;cursor:pointer;text-align:start;text-decoration:underline;text-underline-offset:3px}.v5-block{padding:12px 14px;margin:8px 0;border:1px solid #dce6e8;border-radius:12px;background:#fbfdfd;white-space:pre-wrap;overflow-wrap:anywhere}.v5-block p{margin:6px 0}.v5-actions button{border:1px solid #cbdde1;border-radius:9px;padding:9px 13px;background:#fff;color:#184456;cursor:pointer}.v5-actions button:hover{background:#edf7f7}
@media(max-width:640px){#v5Filters{display:grid;grid-template-columns:1fr 1fr;gap:8px}#v5Filters>*{min-width:0;width:100%}.v5-actions{display:grid;grid-template-columns:1fr 1fr}.v5-actions button{width:100%}.v5-block{font-size:14px}.detail-grid{min-width:0}}
.teacher-directory{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;padding:18px}.teacher-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:right;padding:18px;border:1px solid #dbe3e7;background:#fff;border-radius:12px;cursor:pointer;color:inherit;min-height:120px}.teacher-card:hover,.teacher-card:focus-visible{border-color:#247f82;box-shadow:0 0 0 2px #d2ebeb}.teacher-card strong{font-size:17px}.teacher-card span,.teacher-card small{line-height:1.6}.teacher-meta{margin:0 0 16px;color:#52646e}.teacher-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:10px;margin-bottom:18px}.teacher-summary>div{background:#fff;border:1px solid #dbe3e7;border-radius:11px;padding:13px;display:flex;flex-direction:column;gap:5px}.teacher-summary strong{font-size:24px;color:#175c60}.teacher-filters{align-items:end;flex-wrap:wrap}.teacher-filters label{display:flex;flex-direction:column;gap:5px;min-width:130px}.teacher-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 12px;margin-bottom:8px}.teacher-tabs button{white-space:nowrap;padding:10px 14px;border-radius:9px;border:1px solid #dbe3e7;background:#fff;cursor:pointer}.teacher-tabs button[aria-selected="true"]{background:#175c60;color:#fff}.teacher-content{padding:20px}.teacher-content h2{font-size:18px;margin:8px 0 15px}.teacher-row,.teacher-note{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 4px;border-bottom:1px solid #e6ecee}.teacher-row p,.teacher-note p{margin:5px 0;white-space:pre-wrap}.teacher-row small{color:#667982}.teacher-row button,.teacher-note button,.teacher-row a,.teacher-pager button{border:1px solid #c9d7d9;background:#fff;color:#175c60;border-radius:7px;padding:8px 12px;cursor:pointer;white-space:nowrap}.teacher-pager{display:flex;align-items:center;justify-content:center;gap:15px;padding:18px}.teacher-pager button:disabled{opacity:.4;cursor:default}@media(max-width:600px){.teacher-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-directory{grid-template-columns:1fr;padding:12px}.teacher-row,.teacher-note{align-items:flex-start;flex-direction:column}.teacher-row button,.teacher-row a{white-space:normal}.teacher-content{padding:12px}.teacher-filters label{min-width:min(100%,160px)}}
.p7-filters{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:16px}.p7-filters label{display:flex;flex-direction:column;gap:5px;min-width:130px;font-size:12px;color:var(--muted)}.p7-filters select,.p7-filters input{width:100%;min-height:38px;box-sizing:border-box}.p7-filters input[type=checkbox]{width:20px;min-height:20px}.p7-list{display:grid;gap:10px;padding:16px}.p7-card{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:right;padding:14px 16px;border:1px solid #dce6e8;border-radius:11px;background:#fff;color:var(--navy);cursor:pointer;overflow-wrap:anywhere}.p7-card:hover,.p7-card:focus-visible{border-color:#247f82;background:#f5fbfa}.p7-card b{font-size:15px}.p7-card small{font-size:12px;color:var(--muted)}.p7-card span{font-size:12px}.p7-detail{padding:18px 22px;margin-bottom:16px;overflow-wrap:anywhere}.p7-detail h2{margin:0 0 12px;font-size:17px}.p7-detail p{white-space:pre-wrap;line-height:1.7}.p7-detail .action-list{display:flex;flex-wrap:wrap;gap:8px}.p7-detail .action-list button{min-height:38px}.p7-detail .teacher-row>*{min-width:0}@media(max-width:640px){.p7-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.p7-filters label{min-width:0}.p7-filters button{width:100%}.p7-list{padding:10px}.p7-detail{padding:14px}.p7-detail .action-list button{flex:1 1 43%}}
.p8-filters{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:16px}.p8-filters label{display:flex;flex-direction:column;gap:5px;min-width:125px;font-size:12px;color:var(--muted)}.p8-filters select,.p8-filters input{width:100%;min-height:38px;box-sizing:border-box}.p8-filters input[type=checkbox]{width:20px;min-height:20px}.p8-list{display:grid;gap:10px;padding:16px}.p8-card{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:right;padding:14px 16px;border:1px solid #dce6e8;border-radius:11px;background:#fff;color:var(--navy);cursor:pointer;overflow-wrap:anywhere}.p8-card:hover,.p8-card:focus-visible{border-color:#247f82;background:#f5fbfa}.p8-card b{font-size:15px}.p8-card small,.p8-card span{font-size:12px}.p8-card small{color:var(--muted)}.p8-detail{padding:18px 22px;margin-bottom:16px;overflow-wrap:anywhere}.p8-detail h2{font-size:17px;margin:0 0 12px}.p8-detail p{white-space:pre-wrap;line-height:1.7}.p8-actions{display:flex;flex-wrap:wrap;gap:8px}.p8-actions button{min-height:38px}.p8-detail .teacher-row>*{min-width:0}#p8Form select[multiple]{min-height:110px;width:100%;padding:8px;border:1px solid var(--line);border-radius:9px}@media(max-width:640px){.p8-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.p8-filters label{min-width:0}.p8-filters button{width:100%}.p8-list{padding:10px}.p8-detail{padding:14px}.p8-actions button{flex:1 1 42%}}@media print{#sidebar,.topbar,.p8-actions,.teacher-tabs,.p8-filters,#p8Back,#p8Print{display:none!important}.p8-detail{break-inside:avoid;box-shadow:none;border:1px solid #ccc}main{width:100%!important;margin:0!important}}

/* Phase 10: reports and setup. */
.p10-report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.p10-report-grid .report-card{text-align:right;display:flex;align-items:center;min-height:64px;padding:14px 18px}.p10-report-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:10px;align-items:end;margin-bottom:16px}.p10-report-filters label,.p10-year-form label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700}.p10-report-filters select,.p10-report-filters input,.p10-year-form input{min-height:39px;width:100%;border:1px solid var(--line);border-radius:9px;padding:6px;background:#fff}.p10-print-meta{font-size:12px;color:var(--muted);margin:10px 0 14px}.p10-report-table{min-width:850px}.p10-report-table th,.p10-report-table td{vertical-align:top;overflow-wrap:anywhere;white-space:pre-wrap}.p10-report-table td{max-width:360px}.p10-pages{display:flex;justify-content:center;align-items:center;gap:12px;margin:12px 0}.p10-year-form{display:flex;align-items:end;gap:10px;max-width:430px}.p10-year-form label{flex:1}.p10-setup-list p{margin:4px 0 12px}
@media(max-width:640px){.p10-report-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.p10-report-filters button{width:100%}.p10-year-form{flex-direction:column;align-items:stretch}.p10-year-form label{width:100%}}
@media print{main.report-page{max-width:none!important;padding:0!important;margin:0!important;color:#111;background:#fff}main.report-page .p10-print-hide,main.report-page .p10-pages,#sidebar,.topbar,.nav-backdrop,#toast{display:none!important}main.report-page .panel{box-shadow:none;border:0}main.report-page .panel-body{padding:0}main.report-page .table-wrap{overflow:visible}main.report-page table{min-width:0;width:100%;font-size:9pt;table-layout:fixed}main.report-page th,main.report-page td{border:1px solid #bbb;padding:5px;white-space:pre-wrap;overflow-wrap:anywhere}main.report-page thead{display:table-header-group}main.report-page tr{break-inside:avoid}main.report-page .page-head{margin-bottom:12px}main.report-page h1{font-size:19pt}main.report-page .p10-print-meta{color:#111}@page{size:A4 landscape;margin:12mm}}
/* Phase 9 dashboard */
.p9-head{margin-bottom:16px}.p9-filters{display:flex;flex-wrap:wrap;align-items:end;gap:10px;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:17px}.p9-filters label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700;color:var(--navy);min-width:150px}.p9-filters select{min-height:40px;border:1px solid var(--line);border-radius:9px;background:white;padding:7px 10px;max-width:240px}.p9-panel .panel-body{padding:12px 17px}.p9-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:right;padding:11px 12px;border:1px solid var(--line);background:white;border-radius:10px;color:var(--ink);margin-bottom:7px}.p9-item:hover,.p9-item:focus-visible,.p9-stat:hover,.p9-stat:focus-visible{border-color:var(--gold);box-shadow:0 0 0 2px #d8b46a20}.p9-item span:first-child{min-width:0}.p9-item b,.p9-item small{display:block}.p9-item b{font-size:13px}.p9-item small{font-size:11px;color:var(--muted);margin-top:3px}.p9-state{font-size:11px;font-weight:800;color:var(--navy);white-space:nowrap}.p9-empty{padding:15px 6px;color:var(--muted);font-size:13px}.p9-more,.p9-note{font-size:12px;color:var(--muted);margin:10px 2px 3px}.p9-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:17px 0}.p9-stat{display:flex;flex-direction:column;align-items:flex-start;text-align:right;gap:3px;border:1px solid var(--line);border-radius:13px;background:var(--paper);padding:15px;color:var(--ink)}.p9-stat span{font-size:12px;font-weight:800}.p9-stat strong{font-size:29px;color:var(--navy)}.p9-stat small{font-size:11px;color:var(--muted)}.p9-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.p9-grid .panel{margin:0}.p9-fact{display:grid;grid-template-columns:minmax(90px,.6fr) minmax(0,2fr) auto;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding:10px 3px;font-size:12px}.p9-fact:last-child{border-bottom:0}.p9-fact strong{color:var(--navy)}.p9-fact span{color:var(--muted)}.p9-fact button,.p9-chart-link{background:none;border:0;color:var(--navy);font-weight:800;text-decoration:underline}.p9-table-wrap{overflow-x:auto}.p9-table{min-width:620px}.p9-table tbody tr{cursor:default}.p9-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.p9-charts .panel{margin:0}.p9-bar{display:grid;grid-template-columns:110px minmax(0,1fr) 30px;align-items:center;gap:8px;margin:8px 0;font-size:11px}.p9-bar>div{height:10px;background:#e9eeee;border-radius:20px;overflow:hidden}.p9-bar i{display:block;height:100%;background:var(--navy-light);border-radius:20px}.p9-months{display:flex;flex-wrap:wrap;gap:10px}.p9-months>div{display:flex;flex-direction:column;background:var(--soft);border-radius:8px;padding:8px 15px}.p9-months strong{color:var(--navy)}.p9-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;margin:18px 0;color:var(--muted)}
@media(max-width:900px){.p9-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.p9-grid,.p9-charts{grid-template-columns:1fr}}
@media(max-width:600px){.p9-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.p9-filters label{min-width:0}.p9-filters select{width:100%;min-width:0}.p9-filters button{grid-column:1/-1}.p9-item{align-items:flex-start}.p9-state{white-space:normal;text-align:left}.p9-fact{grid-template-columns:1fr auto}.p9-fact span{grid-column:1/-1;grid-row:2}.p9-bar{grid-template-columns:95px minmax(0,1fr) 25px}.p9-panel .panel-body{padding:10px 12px}}
.p9-filters input[name="year"]{min-height:40px;width:100%;max-width:240px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:7px 10px}.p9-filters #p9SaveYear{white-space:nowrap}
@media(max-width:600px){.p9-filters input[name="year"]{max-width:none}.p9-filters #p9SaveYear{grid-column:auto}}

/* Brand palette: a distinct green header with restrained gold details. */
.app-shell:has(main.dashboard-page) .sidebar{background:linear-gradient(170deg,#155f50,#103f39 82%)}
.app-shell:has(main.dashboard-page) .nav-item.active{background:linear-gradient(100deg,#ffffff16,#ffffff2a);box-shadow:inset -3px 0 #e1bd70}
.topbar{background:linear-gradient(110deg,#105347,#14715f 58%,#20836d);border-bottom:3px solid #c5a15b;box-shadow:0 5px 18px #104d4424;color:#f7fffa}
.topbar .breadcrumb,.topbar .breadcrumb b,.topbar #currentUser,.topbar .today{color:#f7fffa}
.topbar .breadcrumb span{color:#e6c980}
.topbar .icon-button,.topbar .secondary-button{background:#ffffff1c;border-color:#ffffff55;color:#fff}
.topbar .icon-button:hover,.topbar .secondary-button:hover{background:#ffffff30}
.topbar .icon-button i{background:#e9c87b}
.topbar #divisionFilter{appearance:none;-webkit-appearance:none;width:108px;min-width:0;height:39px;padding:5px 12px 5px 28px;border:1px solid #ffffff70;border-radius:11px;background-color:#ffffff1c;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23f4dfaa' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:left 10px center;color:#fff;font-size:13px;font-weight:800;text-align:right;cursor:pointer;transition:background-color .15s,border-color .15s,box-shadow .15s}
.topbar #divisionFilter:hover{background-color:#ffffff2d;border-color:#e0c283}
.topbar #divisionFilter:focus-visible{outline:2px solid #f2d68c;outline-offset:2px;box-shadow:0 0 0 4px #ffffff24}
.topbar #divisionFilter option{background:#fff;color:#174b42}
@media(max-width:760px){.topbar #divisionFilter{width:88px;height:36px;padding:4px 9px 4px 24px;background-position:left 7px center;font-size:12px}}
.app-shell:has(main.dashboard-page) .workspace{background:#f5f7f2}
main.dashboard-page{--navy:#126d5d;--navy-dark:#174b42;--navy-light:#398779;--gold:#bf9852;--gold-light:#e0c283;--paper:#fff;--ink:#284c43;--muted:#6b8177;--line:#dfe9e1;--soft:#eaf4ed;--green:#126d5d}
main.dashboard-page .p9-head{background:linear-gradient(112deg,#fff 25%,#e4f3ea);border:1px solid #d9e9df;border-inline-start:6px solid #c5a15b;border-radius:18px;padding:23px 25px;box-shadow:0 10px 28px #145a4815}
main.dashboard-page .p9-head h1{color:#0d6556;font-size:29px}
main.dashboard-page .p9-head .eyebrow{color:#a47b35}
main.dashboard-page .p9-head .secondary-button{background:#fff;border-color:#b8d5c3;color:#126d5d}
main.dashboard-page .p9-filters{background:#fff;border-color:#dfe9e1;box-shadow:0 7px 22px #145a4810;padding:17px}
main.dashboard-page .p9-filters label{color:#3f685a}
main.dashboard-page .p9-filters select,main.dashboard-page .p9-filters input[name="year"]{border-color:#cadfd0;color:#284c43}
main.dashboard-page .p9-filters .primary-button{background:#147461;border-color:#147461}
main.dashboard-page .p9-filters .primary-button:hover{background:#105e50}
main.dashboard-page .p9-stat{position:relative;background:linear-gradient(135deg,#fff 52%,#e9f6ed);border-color:#dce9df;border-radius:16px;padding:18px 20px;box-shadow:0 7px 22px #145a4810}
main.dashboard-page .p9-stat:nth-child(even){background:linear-gradient(135deg,#fff 52%,#fbf3e4)}
main.dashboard-page .p9-stat::before{content:"";position:absolute;right:19px;top:18px;width:8px;height:8px;border-radius:50%;background:#c5a15b}
main.dashboard-page .p9-stat:nth-child(even)::before{background:#3e9b82}
main.dashboard-page .p9-stat span{padding-right:15px;color:#385f52}
main.dashboard-page .p9-stat strong{color:#0d6d5c;font-size:32px}
main.dashboard-page .p9-panel{background:#fff;border-color:#e0e9e1;box-shadow:0 6px 20px #145a480d}
main.dashboard-page .p9-panel .panel-header{background:linear-gradient(100deg,#fff,#f1f8f3);border-bottom:1px solid #e2ece4;padding:17px 20px}
main.dashboard-page .p9-panel .panel-header h2{color:#126454}
main.dashboard-page .p9-panel .panel-header h2::before{content:"";display:inline-block;width:4px;height:15px;border-radius:5px;background:#c5a15b;margin-left:10px;vertical-align:-2px}
main.dashboard-page .p9-item:hover,main.dashboard-page .p9-item:focus-visible,main.dashboard-page .p9-stat:hover,main.dashboard-page .p9-stat:focus-visible{border-color:#9ccbb0;box-shadow:0 7px 23px #145a481c}
main.dashboard-page .p9-bar>div{background:#e6f0e8}
main.dashboard-page .p9-bar i{background:#36927b}
@media(max-width:600px){main.dashboard-page .p9-head{padding:17px}main.dashboard-page .p9-head h1{font-size:23px}main.dashboard-page .p9-filters{padding:13px}}

/* Main navigation uses the same green and gold accents across every page. */
.sidebar{width:262px;background:linear-gradient(170deg,#155f50,#103f39 82%);color:#f5fcf8;box-shadow:-7px 0 22px #103f3920}
.brand{padding:23px 20px 22px;border-bottom:1px solid #ffffff27}
.brand-mark{background:#ffffff12;border-color:#d9bb78;box-shadow:0 0 0 4px #ffffff08}
.brand strong{color:#fff}
.brand small{color:#c6ddd2}
.sidebar-caption{display:flex;align-items:center;gap:12px;color:#e2c78d;padding:22px 21px 10px}
.sidebar-caption::after{content:"";height:1px;flex:1;background:#ffffff2a}
.sidebar nav{min-height:0;padding:2px 12px 16px}
.nav-item{min-height:48px;white-space:normal;line-height:1.55;gap:11px;margin:4px 0;padding:8px 11px;border:1px solid transparent;border-radius:12px;color:#d8e8e0;transition:background .18s ease,border-color .18s ease,transform .18s ease}
.nav-icon{display:grid;place-items:center;flex:none;width:30px;height:30px;border:1px solid #ffffff23;border-radius:9px;background:#ffffff0c;color:#e2c78d;font-size:16px}
.nav-item:hover{background:#ffffff18;border-color:#ffffff26;color:#fff;transform:translateX(-2px)}
.nav-item.active{background:linear-gradient(100deg,#ffffff16,#ffffff2a);border-color:#ffffff2b;color:#fff;box-shadow:inset -3px 0 #e1bd70}
.nav-item.active .nav-icon{background:#e1bd7026;border-color:#e1bd7066;color:#f3d99f}
.nav-item:focus-visible,.sidebar-close:focus-visible{outline:2px solid #e1bd70;outline-offset:2px}
.sidebar-close{border-color:#ffffff32;background:#ffffff11}
.sidebar-bottom{color:#b5d0c3;border-top-color:#ffffff27;margin:0 20px 19px}
@media(max-width:1100px){.sidebar{width:244px}}
@media(max-width:760px){.sidebar{width:min(278px,86vw)}}

/* Interior pages share the navigation palette and component rhythm. */
.app-shell:has(main:not(.dashboard-page)) .workspace{background:#f5f7f2}
main:not(.dashboard-page) .page-head{align-items:center;min-height:116px;padding:21px 25px;margin-bottom:22px;border:1px solid #19816d;border-radius:18px;background:linear-gradient(112deg,#0f594d,#19806b);box-shadow:0 10px 28px #105a491f}
main:not(.dashboard-page) .page-head h1{color:#fff;font-size:26px}
main:not(.dashboard-page) .page-head .eyebrow{color:#efcf8c}
main:not(.dashboard-page) .page-head p{color:#e1f1e9}
main:not(.dashboard-page) .page-head .primary-button{background:#fff;border-color:#fff;color:#126d5d}
main:not(.dashboard-page) .page-head .secondary-button{background:#ffffff16;border-color:#ffffff80;color:#fff}
main:not(.dashboard-page) .page-head .secondary-button:hover{background:#ffffff2a}
main:not(.dashboard-page) .panel{border-color:#dce8df;box-shadow:0 7px 24px #145a4810}
main:not(.dashboard-page) .panel-header,main:not(.dashboard-page) .panel:nth-child(n) .panel-header{background:linear-gradient(105deg,#fff,#edf7f0);border-bottom-color:#dce9df}
main:not(.dashboard-page) .panel-header h2{color:#145f51}
main:not(.dashboard-page) .panel-header h2::before{content:"";display:inline-block;width:4px;height:15px;margin-left:10px;border-radius:5px;background:#c5a15b;vertical-align:-2px}
main:not(.dashboard-page) :is(.filters,.plan-filter-grid,.weekly-filters,.p7-filters,.p8-filters,.p10-report-filters,.teacher-filters){padding:15px;border:1px solid #dce8df;border-radius:14px;background:#fff;box-shadow:0 5px 18px #145a480c}
main:not(.dashboard-page) :is(select,input:not([type="checkbox"]):not([type="radio"]),textarea){border-color:#cedfd3;border-radius:10px;color:#284c43}
main:not(.dashboard-page) :is(select,input,textarea):focus-visible{outline:2px solid #c5a15b;outline-offset:2px}
main:not(.dashboard-page) .primary-button{background:#147461;border-color:#147461;color:#fff}
main:not(.dashboard-page) .primary-button:hover{background:#105e50}
main:not(.dashboard-page) .page-head .primary-button:hover{background:#f6f5e9;border-color:#f6f5e9;color:#105e50}
main:not(.dashboard-page) .secondary-button{background:#fff;border-color:#c9ddcf;color:#126d5d}
main:not(.dashboard-page) .secondary-button:hover{background:#edf7f0}
main:not(.dashboard-page) :is(.section-tabs button.active,.teacher-tabs button[aria-selected="true"]){background:#147461;border-color:#147461;color:#fff}
main:not(.dashboard-page) :is(.plan-card,.weekly-card,.teacher-card,.p7-card,.p8-card,.report-card){background:linear-gradient(145deg,#fff 65%,#f0f8f2);border-color:#dce9df;box-shadow:0 5px 18px #145a480b}
main:not(.dashboard-page) :is(.plan-card,.weekly-card,.teacher-card,.p7-card,.p8-card,.report-card):hover{border-color:#86bfa0;box-shadow:0 10px 24px #145a481b;transform:translateY(-2px)}
main:not(.dashboard-page) :is(.plan-card>strong,.weekly-card>strong,.teacher-card strong,.p7-card b,.p8-card b,.report-card strong){color:#145f51}
main:not(.dashboard-page) :is(.weekly-summary>div,.teacher-summary>div,.annual-summary-grid>div){background:linear-gradient(135deg,#fff,#f1f8f3);border-color:#dce8df}
main:not(.dashboard-page) :is(.weekly-summary strong,.teacher-summary strong,.annual-summary-grid strong){color:#126d5d}
main:not(.dashboard-page) :is(.plan-group-heading h2,.weekly-week-nav strong,.teacher-content h2){color:#145f51}
main:not(.dashboard-page) :is(.weekly-chain,.semester-week,.v5-block){background:#f1f8f3;border-color:#dce9df;color:#2b5c4c}
main:not(.dashboard-page) table th{background:#edf6ef;color:#315e4c;border-color:#dce9df}
main:not(.dashboard-page) table td{border-color:#e5ede6}
main:not(.dashboard-page) table tbody tr:hover{background:#f4faf5}
main:not(.dashboard-page) .badge.blue{background:#e4f2ec;color:#216b56}
main:not(.dashboard-page) .badge.green{background:#def1e5;color:#176342}
main:not(.dashboard-page) .plan-card-kind{color:#a67d35}
main:not(.dashboard-page) .report-card{min-height:70px;border-inline-start:4px solid #c5a15b}
main:not(.dashboard-page) .report-card:hover{border-inline-start-color:#147461}
.drawer{border-left:4px solid #c5a15b}
.drawer h2,.drawer h3{color:#145f51}
.drawer :is(.field input,.field select,.field textarea){border-color:#cedfd3}
.drawer .detail-item{background:#f0f7f2;border-color:#dce8df}
.drawer .primary-button{background:#147461;border-color:#147461}
.drawer .secondary-button{border-color:#c9ddcf;color:#126d5d}
@media(max-width:760px){main:not(.dashboard-page) .page-head{min-height:0;padding:18px 17px;gap:12px}main:not(.dashboard-page) .page-head h1{font-size:22px}main:not(.dashboard-page) :is(.filters,.plan-filter-grid,.weekly-filters,.p7-filters,.p8-filters,.p10-report-filters,.teacher-filters){padding:11px}}
@media print{main.report-page .page-head{min-height:0;padding:0;border:0;border-radius:0;background:#fff;box-shadow:none}main.report-page .page-head h1,main.report-page .page-head p{color:#111}main.report-page .panel,main.report-page .panel:nth-child(n) .panel-header{background:#fff;box-shadow:none}}

/* Direction 2: a brighter school workspace with one consistent button language. */
:root{--cream:#f4f9f4;--soft:#eaf5ed;--line:#d9e8dd;--ink:#244b3e;--muted:#678276;--shadow:0 8px 24px #195b3e10}
.app-shell:has(main.dashboard-page) .workspace,.app-shell:has(main:not(.dashboard-page)) .workspace{background:#f4f9f4}
.sidebar,.app-shell:has(main.dashboard-page) .sidebar{background:linear-gradient(170deg,#f6fbf5,#e6f2e8 85%);color:#214f3f;border-left:1px solid #cfe2d3;box-shadow:-8px 0 22px #164b3510}
.brand{background:linear-gradient(120deg,#fff,#eef7ef);border-bottom-color:#d5e8d9}
.brand-mark{background:#136d55;border-color:#136d55;box-shadow:0 0 0 4px #cce9d4}
.brand-mark svg{stroke:#f5d88f}
.brand strong{color:#155b47}.brand small{color:#6e8a78}
.sidebar-caption{color:#8c6d31}.sidebar-caption::after{background:#cfdfd1}
.nav-item{color:#3d6856;border-color:transparent}
.nav-icon{background:#e0efe3;border-color:#cae1cf;color:#187259}
.nav-item:hover{background:#e2f1e5;border-color:#c7e2ce;color:#145a45}
.nav-item.active,.app-shell:has(main.dashboard-page) .nav-item.active{background:linear-gradient(100deg,#cce9d2,#e2f2e5);border-color:#acd5b6;color:#104d3b;box-shadow:inset -3px 0 #c49b4c}
.nav-item.active .nav-icon{background:#14755b;border-color:#14755b;color:#fff}
.nav-item:focus-visible,.sidebar-close:focus-visible{outline-color:#bd9349}
.sidebar-close{background:#fff;border-color:#c9dfce;color:#245d47}
.sidebar-close:hover{background:#e8f5eb}
.sidebar-bottom{color:#729080;border-top-color:#cfdfd1}
.topbar{background:linear-gradient(108deg,#0d654e,#17836a 68%,#2a9775);border-bottom-color:#d6b36c}
main.dashboard-page .p9-head{background:linear-gradient(108deg,#f5fbf2,#e4f5e8 72%,#d1eddd);border-color:#cfe9d4;border-inline-start:6px solid #c7a056;box-shadow:0 10px 27px #155a3c12}
main.dashboard-page .p9-head h1{color:#116247}
main.dashboard-page .p9-head .eyebrow{color:#987333}
main.dashboard-page .p9-filters{background:#fff;border-color:#d7e9da;border-radius:17px}
main.dashboard-page .p9-stat{background:linear-gradient(135deg,#ecf8ee,#dff1e4);border-color:#cce7d2;box-shadow:0 7px 20px #155a3c0d}
main.dashboard-page .p9-stat:nth-child(2){background:linear-gradient(135deg,#fff7e7,#f8edcd);border-color:#ead9aa}
main.dashboard-page .p9-stat:nth-child(3){background:linear-gradient(135deg,#e9f7f3,#d9efe8);border-color:#c4e5da}
main.dashboard-page .p9-stat:nth-child(4){background:linear-gradient(135deg,#f1f7eb,#e4efd6);border-color:#d5e5c5}
main.dashboard-page .p9-stat strong{color:#0e694e}
main.dashboard-page .p9-panel{border-color:#d8e9dc;border-radius:17px}
main.dashboard-page .p9-panel .panel-header{background:linear-gradient(100deg,#fff,#eff8f0)}
main.dashboard-page .p9-item{border-color:#d7e7db}
main.dashboard-page .p9-item:hover{background:#f2faf3}
main:not(.dashboard-page) .page-head{background:linear-gradient(105deg,#f5fbf2,#e5f5e9 70%,#d8efe0);border-color:#cce7d3;border-inline-start:6px solid #c4a15c;box-shadow:0 9px 25px #155a3c13}
main:not(.dashboard-page) .page-head h1{color:#126448}
main:not(.dashboard-page) .page-head .eyebrow{color:#9a762f}
main:not(.dashboard-page) .page-head p{color:#587566}
main:not(.dashboard-page) .page-head .primary-button{background:#14775c;border-color:#14775c;color:#fff}
main:not(.dashboard-page) .page-head .primary-button:hover{background:#0e604b;border-color:#0e604b;color:#fff}
main:not(.dashboard-page) .page-head .secondary-button{background:#fff;border-color:#bad8c2;color:#176448}
main:not(.dashboard-page) .page-head .secondary-button:hover{background:#eaf6ed;border-color:#9ccbab;color:#12553f}
main:not(.dashboard-page) :is(.plan-card,.weekly-card,.teacher-card,.p7-card,.p8-card,.report-card){background:linear-gradient(145deg,#fff 55%,#edf8ef)}
main:not(.dashboard-page) .panel-header,main:not(.dashboard-page) .panel:nth-child(n) .panel-header{background:linear-gradient(105deg,#fff,#f0f9f1)}
.primary-button,.secondary-button,.danger-button{min-height:42px;border-radius:11px;padding:8px 16px;font-weight:800;line-height:1.5;box-shadow:0 2px 7px #174f3710;transition:background .16s,border-color .16s,box-shadow .16s,transform .16s}
.primary-button,main:not(.dashboard-page) .primary-button,.drawer .primary-button{background:#14775c;border-color:#14775c;color:#fff}
.primary-button:hover,main:not(.dashboard-page) .primary-button:hover,.drawer .primary-button:hover{background:#0d6049;border-color:#0d6049;box-shadow:0 5px 13px #12604429}
.secondary-button,main:not(.dashboard-page) .secondary-button,.drawer .secondary-button{background:#fff;border-color:#bfdac6;color:#176247}
.secondary-button:hover,main:not(.dashboard-page) .secondary-button:hover,.drawer .secondary-button:hover{background:#eaf6ed;border-color:#9bc9a8;color:#12543e}
.danger-button{background:#fff7f5;border-color:#eac9c1;color:#995145}
.danger-button:hover{background:#fdeae5;border-color:#dca99c}
.topbar .secondary-button{background:#ffffff1c;border-color:#ffffff65;color:#fff;box-shadow:none}
.topbar .secondary-button:hover{background:#ffffff30;border-color:#fff;color:#fff}
main.dashboard-page .p9-head .secondary-button{background:#fff;border-color:#b8d7c0;color:#14634b}
main:not(.dashboard-page) .page-head .primary-button,main:not(.dashboard-page) .page-head .primary-button:hover{color:#fff}
button:disabled{opacity:.55;cursor:not-allowed;transform:none!important;box-shadow:none!important}
button:focus-visible{outline:3px solid #cfaa60;outline-offset:2px}
.section-tabs button,.teacher-tabs button{min-height:39px;border-radius:10px;border-color:#cce2d1;color:#246348;transition:background .16s,border-color .16s,transform .16s}
.section-tabs button:hover,.teacher-tabs button:hover{background:#eaf5ec;border-color:#a9d2b4}
main:not(.dashboard-page) :is(.section-tabs button.active,.teacher-tabs button[aria-selected="true"]){background:#16785e;border-color:#16785e;color:#fff}
.p9-fact button,.p9-chart-link{min-height:32px;border-radius:8px;padding:4px 9px;text-decoration:none;background:#e9f5ec;color:#176248}
.p9-fact button:hover,.p9-chart-link:hover{background:#d5ebdc}
.v5-actions button,.teacher-row button,.teacher-row a,.teacher-note button,.teacher-pager button{min-height:39px;border:1px solid #bfdac6;border-radius:10px;background:#fff;color:#176247;font-weight:800;box-shadow:0 2px 7px #174f3710;transition:background .16s,border-color .16s,transform .16s}
.v5-actions button:hover,.teacher-row button:hover,.teacher-row a:hover,.teacher-note button:hover,.teacher-pager button:hover{background:#eaf6ed;border-color:#9bc9a8;transform:translateY(-1px)}
.v5-link{color:#176247;text-underline-offset:3px}
@media(max-width:760px){main:not(.dashboard-page) .page-head{padding:17px 18px}.sidebar{box-shadow:-10px 0 30px #123e2e26}.primary-button,.secondary-button,.danger-button{min-height:39px}}
@media print{main.report-page .page-head{background:#fff;border:0;box-shadow:none}}

/* Blue and gold study: soft accents around the existing school green. */
:root{--blue:#2c6780;--blue-soft:#eaf3f8;--blue-line:#c9dfe9;--gold:#bf9852;--cream:#f5f9f8;--soft:#eef5f5}
.app-shell:has(main.dashboard-page) .workspace,.app-shell:has(main:not(.dashboard-page)) .workspace{background:#f5f9f8}
.sidebar,.app-shell:has(main.dashboard-page) .sidebar{background:linear-gradient(170deg,#fbfcf9,#eaf3f5 88%);border-left-color:#d0e1e5}
.brand{background:linear-gradient(115deg,#fff,#edf5f4);border-bottom-color:#d6e7e9}
.sidebar-caption::after{background:#d0dfe2}
.nav-icon{background:#e9f3f7;border-color:#d2e4eb;color:#2c6780}
.nav-item:hover{background:#e8f2f6;border-color:#cbdfe8;color:#235e71}
.nav-item.active,.app-shell:has(main.dashboard-page) .nav-item.active{background:linear-gradient(100deg,#d9ebe4,#e6f1f5);border-color:#bdd7d6;color:#10533e;box-shadow:inset -3px 0 #c09b55}
.nav-item.active .nav-icon{background:#176a5b;border-color:#176a5b;color:#fff}
.sidebar-bottom{border-top-color:#d3e2e4}
.topbar{background:linear-gradient(108deg,#0d6151,#197667 64%,#2f7888);border-bottom-color:#d4af68}
.topbar #divisionFilter{border-color:#ffffff89}
main.dashboard-page .p9-head{background:linear-gradient(108deg,#f9fcf8,#eaf6ef 56%,#e5f2f8);border-color:#d3e5e6;border-inline-start-color:#c5a05a}
main.dashboard-page .p9-stat:nth-child(1){background:linear-gradient(135deg,#eff8f0,#e1f1e6);border-color:#cee5d4}
main.dashboard-page .p9-stat:nth-child(2){background:linear-gradient(135deg,#eff6fa,#e2eff6);border-color:#c9dfe9}
main.dashboard-page .p9-stat:nth-child(2) strong{color:#276681}
main.dashboard-page .p9-stat:nth-child(2)::before{background:#6d9cb0}
main.dashboard-page .p9-stat:nth-child(3){background:linear-gradient(135deg,#fff9ed,#f8edcf);border-color:#eadbad}
main.dashboard-page .p9-stat:nth-child(3) strong{color:#80612d}
main.dashboard-page .p9-stat:nth-child(3)::before{background:#c3a15c}
main.dashboard-page .p9-stat:nth-child(4){background:linear-gradient(135deg,#eef8f4,#e2f0eb);border-color:#cfe4db}
main.dashboard-page .p9-grid>.panel:nth-child(even) .panel-header,main.dashboard-page .p9-charts>.panel:nth-child(even) .panel-header{background:linear-gradient(100deg,#fff,#edf5f9)}
main.dashboard-page .p9-table th{background:#edf4f8;color:#315e72}
main.dashboard-page .p9-bar i{background:#4f91a4}
main:not(.dashboard-page) .page-head{background:linear-gradient(106deg,#f9fcf8,#eaf6ef 55%,#e8f2f8);border-color:#d2e4e5;border-inline-start-color:#c5a05a}
main:not(.dashboard-page) .panel:nth-child(even) .panel-header{background:linear-gradient(105deg,#fff,#edf5f9)}
main:not(.dashboard-page) table th{background:#edf4f8;color:#315e72;border-color:#d5e4e9}
main:not(.dashboard-page) .report-card:nth-child(3n+2){border-inline-start-color:#79a9bc;background:linear-gradient(145deg,#fff 55%,#eef6fa)}
main:not(.dashboard-page) .report-card:nth-child(3n){border-inline-start-color:#9bc4ac}
.secondary-button,main:not(.dashboard-page) .secondary-button,.drawer .secondary-button{background:#fafdff;border-color:#c9dfe9;color:#2c6780}
.secondary-button:hover,main:not(.dashboard-page) .secondary-button:hover,.drawer .secondary-button:hover{background:#eaf3f8;border-color:#a9cfdd;color:#20596f}
.topbar .secondary-button{background:#ffffff1c;border-color:#ffffff65;color:#fff}
.topbar .secondary-button:hover{background:#ffffff30;border-color:#fff;color:#fff}
main.dashboard-page .p9-head .secondary-button,main:not(.dashboard-page) .page-head .secondary-button{background:#fff;border-color:#bed8e3;color:#28667d}
main.dashboard-page .p9-head .secondary-button:hover,main:not(.dashboard-page) .page-head .secondary-button:hover{background:#eaf4f8;border-color:#9ec5d4;color:#20596f}
.section-tabs button,.teacher-tabs button{border-color:#cbdfe8;color:#2c6780}
.section-tabs button:hover,.teacher-tabs button:hover{background:#eaf3f8;border-color:#a9cfdd}
.v5-actions button,.teacher-row button,.teacher-row a,.teacher-note button,.teacher-pager button{border-color:#c9dfe9;color:#2c6780}
.v5-actions button:hover,.teacher-row button:hover,.teacher-row a:hover,.teacher-note button:hover,.teacher-pager button:hover{background:#eaf3f8;border-color:#a9cfdd}
.p9-fact button,.p9-chart-link{background:#eaf3f8;color:#28657d}
.p9-fact button:hover,.p9-chart-link:hover{background:#dbeef5}
@media print{main.report-page .page-head,main.report-page .panel-header{background:#fff!important;border-color:#ccc;box-shadow:none}}
