/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.block{display:block}.grid{display:grid}.hidden{display:none}.table{display:table}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}:root{--ink:#17233f;--muted:#72809b;--purple:#6d5ce7;--purple-dark:#5142c8;--soft:#f4f6fb;--line:#e6eaf2;--white:#fff;--teal:#13a8a8;--orange:#f39a3f;--blue:#4297e9;--shadow:0 12px 36px #2d375814}*{box-sizing:border-box}html,body{background:var(--soft);min-height:100%;color:var(--ink);margin:0;font-family:Inter,Avenir Next,Avenir,Segoe UI,Arial,sans-serif}button,input,select{font:inherit}button,a,select{transition:all .2s}button{cursor:pointer}svg{flex:none}.app-shell{min-height:100vh}.sidebar{color:#fff;z-index:30;background:linear-gradient(#342a9e 0%,#4c3dc2 48%,#2b246f 100%);flex-direction:column;width:248px;padding:28px 18px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:12px;padding:0 12px 24px;display:flex}.brand-mark{background:linear-gradient(145deg,#8b7aff,#fff);border-radius:13px;place-items:center;width:42px;height:42px;display:grid;position:relative;box-shadow:0 8px 20px #1c145f66}.brand-mark span{color:#4636b5;font-size:21px;font-weight:900}.brand-mark i{background:#ffd061;border:2px solid #4f40c3;border-radius:50%;width:8px;height:8px;position:absolute;top:7px;right:7px}.brand strong{letter-spacing:.04em;font-size:21px;display:block}.brand small{color:#bdb7f6;letter-spacing:.15em;text-transform:uppercase;font-size:10px;font-weight:600;display:block}.school-card{background:#ffffff12;border:1px solid #ffffff1d;border-radius:14px;align-items:center;gap:10px;margin-bottom:28px;padding:12px;display:flex}.school-badge{object-fit:contain;filter:drop-shadow(0 2px 4px #17133440);background:0 0;flex:none;width:42px;height:42px}.school-card strong,.school-card small{display:block}.school-card strong{font-size:13px}.school-card small{color:#c7c3ed;margin-top:3px;font-size:10px}.nav-label{letter-spacing:.16em;color:#aaa4e1;margin:0 12px 9px;font-size:10px;font-weight:700}.sidebar nav{gap:6px;display:grid}.sidebar nav button,.sidebar-bottom>button{color:#cbc7f0;text-align:left;background:0 0;border:0;border-radius:11px;align-items:center;gap:12px;padding:11px 12px;font-size:13px;display:flex}.sidebar nav button:hover,.sidebar nav button.active{color:#fff;background:#ffffff18}.sidebar nav button.active{box-shadow:inset 3px 0 #ffd061}.sidebar nav button em{color:#3c307d;background:#ffcf58;border-radius:20px;place-items:center;min-width:21px;height:21px;margin-left:auto;font-size:10px;font-style:normal;font-weight:800;display:grid}.sidebar-bottom{gap:12px;margin-top:auto;display:grid}.sidebar-bottom>a{color:#fff;background:#ffffff10;border:1px solid #ffffff17;border-radius:14px;align-items:center;gap:10px;padding:11px;text-decoration:none;display:flex}.ds-badge{color:#4335ac;background:#fff;border:4px solid #22b7a6;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.sidebar-bottom a div small,.sidebar-bottom a div strong{display:block}.sidebar-bottom a div small{letter-spacing:.08em;color:#bbb6e6;font-size:7px}.sidebar-bottom a div strong{margin:2px 0;font-size:11px}.scrim{display:none}main{min-height:100vh;margin-left:248px}header{border-bottom:1px solid var(--line);z-index:20;background:#fff;align-items:center;height:78px;padding:0 34px;display:flex;position:sticky;top:0}.header-title p{color:#8b96aa;letter-spacing:.14em;margin:0 0 5px;font-size:9px;font-weight:800}.header-title h1{letter-spacing:-.02em;margin:0;font-size:17px}.header-actions{align-items:center;gap:12px;margin-left:auto;display:flex}.search{border:1px solid var(--line);color:#9aa3b5;background:#f8f9fc;border-radius:12px;align-items:center;gap:8px;width:250px;height:40px;padding:0 12px;display:flex}.search:focus-within{border-color:#897bec;box-shadow:0 0 0 3px #6d5ce716}.search input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:12px}.icon-btn{border:1px solid var(--line);color:#67718a;background:#fff;border-radius:12px;place-items:center;width:40px;height:40px;display:grid;position:relative}.icon-btn span{background:#f05b70;border:2px solid #fff;border-radius:50%;width:7px;height:7px;position:absolute;top:7px;right:8px}.avatar{color:#fff;background:linear-gradient(145deg,#6d5ce7,#4235ad);border-radius:12px;place-items:center;width:40px;height:40px;font-size:12px;font-weight:800;display:grid}.menu-btn{display:none}.live-datetime{color:#8a94a7;text-transform:capitalize;margin-top:3px;font-size:8px;display:block}.avatar{border:0}.anchor-section{scroll-margin-top:96px}.content{max-width:1600px;margin:auto;padding:30px 34px 16px}.page-head{justify-content:space-between;align-items:flex-end;margin-bottom:22px;display:flex}.eyebrow{color:#61708d;align-items:center;gap:6px;font-size:10px;font-weight:700;display:flex}.eyebrow span{background:#18ae79;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #18ae7920}.page-head h2{letter-spacing:-.04em;margin:8px 0 5px;font-size:26px}.page-head p{color:var(--muted);margin:0;font-size:13px}.page-actions{gap:9px;display:flex}.page-actions button,.page-actions select{border:1px solid var(--line);color:#4d5871;background:#fff;border-radius:11px;align-items:center;gap:8px;height:41px;padding:0 14px;font-size:12px;font-weight:700;display:flex}.page-actions select{min-width:85px}.page-actions .primary{background:var(--purple);border-color:var(--purple);color:#fff;box-shadow:0 8px 18px #6d5ce731}.page-actions .primary:hover{background:var(--purple-dark);transform:translateY(-1px)}.metric-grid{grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:16px;display:grid}.metric-grid article{border:1px solid var(--line);background:#fff;border-radius:17px;padding:17px 17px 14px;position:relative;box-shadow:0 3px 12px #29355705}.metric-icon{border-radius:11px;place-items:center;width:40px;height:40px;display:grid;position:absolute;top:16px;right:16px}.metric-icon.purple{color:var(--purple);background:#eeeafe}.metric-icon.teal{color:var(--teal);background:#e2f7f4}.metric-icon.orange{color:var(--orange);background:#fff0df}.metric-icon.blue{color:var(--blue);background:#e8f2fd}.metric-top{align-items:center;gap:8px;padding-right:42px;display:flex}.metric-top>span{color:#69758d;font-size:11px;font-weight:700}.metric-top b{border-radius:12px;padding:3px 6px;font-size:8px}.positive{color:#14875e;background:#e7f7f0}.metric-grid article>strong{letter-spacing:-.04em;margin:12px 0 6px;font-size:29px;display:block}.metric-grid article p{color:#8590a4;margin:0;font-size:9px}.metric-grid article p b{color:#46516a}.progress{background:#edeffa;border-radius:10px;height:4px;margin-top:12px;overflow:hidden}.progress i{background:var(--purple);border-radius:10px;height:100%;display:block}.progress.tealbar i{background:var(--teal)}.progress.orangebar i{background:var(--orange)}.progress.bluebar i{background:var(--blue)}.main-grid{grid-template-columns:minmax(0,1.55fr) minmax(320px,.85fr);gap:16px;margin-bottom:16px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:18px;box-shadow:0 3px 12px #29355705}.panel-head{justify-content:space-between;align-items:flex-start;padding:19px 20px 12px;display:flex}.panel-head h3{margin:0 0 5px;font-size:14px}.panel-head p{color:#8994a8;margin:0;font-size:10px}.panel-head select{border:1px solid var(--line);color:#5f6a83;background:#fff;border-radius:9px;outline:none;padding:7px 10px;font-size:9px}.more{color:#97a0b1;letter-spacing:3px;background:0 0;border:0;font-weight:900}.chart-area{height:222px;padding:10px 22px 6px 18px;display:flex}.y-labels{color:#a1a9b8;text-align:right;flex-direction:column;justify-content:space-between;width:34px;margin-bottom:21px;padding-right:7px;font-size:8px;display:flex}.bars{border-left:1px solid var(--line);border-bottom:1px solid var(--line);background:repeating-linear-gradient(#0000 0 49px,#edf0f5 50px);flex:1;justify-content:space-around;align-items:flex-end;display:flex}.bar-item{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;height:100%;display:flex;position:relative}.bar-item>b{color:#56627b;margin-bottom:5px;font-size:8px}.bar-track{align-items:flex-end;width:28px;height:calc(100% - 35px);display:flex}.bar-track i{border-radius:5px 5px 0 0;width:100%;min-height:3px;display:block}.bar-item>span{color:#778198;height:25px;padding-top:7px;font-size:8px;font-weight:700}.chart-note{background:#f6f4ff;border:1px solid #ece8ff;border-radius:11px;align-items:center;gap:8px;margin:8px 20px 18px;padding:10px 12px;display:flex}.chart-note>span{width:29px;height:29px;color:var(--purple);background:#e4deff;border-radius:8px;place-items:center;display:grid}.chart-note p{color:#69748b;flex:1;margin:0;font-size:9px;line-height:1.45}.chart-note p strong{color:#4b5670}.chart-note p b{color:var(--purple)}.chart-note button,.text-button{color:var(--purple);background:0 0;border:0;align-items:center;gap:3px;font-size:9px;font-weight:800;display:flex}.ring-row{align-items:center;gap:22px;padding:12px 24px 18px;display:flex}.ring{border-radius:50%;place-items:center;width:128px;height:128px;display:grid;position:relative}.ring:before{content:"";background:#fff;border-radius:50%;position:absolute;inset:11px}.ring>div{text-align:center;position:relative}.ring strong,.ring span{display:block}.ring strong{letter-spacing:-.04em;font-size:25px}.ring span{color:#8a94a7;margin-top:2px;font-size:8px}.quality-list{flex:1;gap:12px;display:grid}.quality-list>div{justify-content:space-between;font-size:9px;display:flex}.quality-list span{color:#788398;align-items:center;gap:7px;display:flex}.quality-list b{font-size:10px}.dot{border-radius:50%;width:7px;height:7px;display:block}.purple-dot{background:var(--purple)}.teal-dot{background:var(--teal)}.orange-dot{background:var(--orange)}.blue-dot{background:var(--blue)}.next-action{background:#fff9eb;border:1px solid #f4e6bc;border-radius:12px;align-items:center;gap:10px;margin:5px 20px 20px;padding:12px;display:flex}.next-action>span{color:#b67a11;background:#ffe9a9;border-radius:9px;place-items:center;width:32px;height:32px;display:grid}.next-action div{flex:1}.next-action small,.next-action strong,.next-action p{margin:0;display:block}.next-action small{letter-spacing:.1em;color:#a88239;font-size:7px}.next-action strong{margin:3px 0;font-size:10px}.next-action p{color:#988b70;font-size:8px}.next-action button{color:#8d7850;background:#fff;border:0;border-radius:8px;place-items:center;width:27px;height:27px;display:grid}.programme-panel{margin-bottom:16px}.text-button{font-size:10px}.table-wrap{overflow-x:auto}.table-wrap table{border-collapse:collapse;width:100%;min-width:800px}.table-wrap th{text-align:left;letter-spacing:.08em;color:#939cad;background:#fafbfc;border-top:1px solid #eef0f5;border-bottom:1px solid #eef0f5;padding:8px 20px;font-size:7px;font-weight:800}.table-wrap td{color:#6d7890;border-bottom:1px solid #eff1f5;padding:11px 20px;font-size:9px}.table-wrap tbody tr:last-child td{border-bottom:0}.table-wrap td:first-child{color:#2f3a54;align-items:center;gap:9px;display:flex}.programme-icon{color:#6d5ce7;background:#eeebff;border-radius:9px;place-items:center;width:31px;height:31px;display:grid}.pi-1{color:#13a8a8;background:#e4f7f4}.pi-2{color:#e8872e;background:#fff0df}.pi-3{color:#3686d3;background:#e8f2fd}.impact-score{align-items:center;gap:7px;display:flex}.impact-score>span{background:#edf0f4;border-radius:10px;width:52px;height:4px;overflow:hidden}.impact-score i{background:var(--purple);height:100%;display:block}.impact-score b{color:#38435d;font-size:9px}.table-wrap em{border-radius:10px;padding:4px 7px;font-size:8px;font-style:normal;font-weight:700}.done{color:#13825a;background:#e5f6ee}.follow{color:#bd6c1d;background:#fff1db}.row-arrow{color:#7a8497;background:#f3f5f9;border:0;border-radius:8px;place-items:center;width:27px;height:27px;display:grid}.empty{text-align:center;color:#8a94a8;padding:25px;font-size:11px}.files-panel{margin-bottom:16px}.file-head-actions{align-items:center;gap:8px;display:flex}.file-head-actions select{min-width:170px;height:38px}.upload-button{background:var(--purple);color:#fff;border:0;border-radius:10px;align-items:center;gap:7px;height:38px;padding:0 13px;font-size:10px;font-weight:800;display:flex;box-shadow:0 7px 16px #6d5ce728}.file-list{border-top:1px solid #eef0f5}.file-row{border-bottom:1px solid #eef0f5;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px 20px;display:grid}.file-row:last-child{border-bottom:0}.file-type{width:38px;height:38px;color:var(--purple);background:#eeeafe;border-radius:11px;place-items:center;display:grid}.file-info{min-width:0}.file-info strong{white-space:nowrap;text-overflow:ellipsis;font-size:10px;display:block;overflow:hidden}.file-info p{color:#8a94a7;margin:4px 0 0;font-size:8px}.file-meta{color:#8b95a7;gap:18px;font-size:8px;display:flex}.file-actions{gap:6px;display:flex}.file-actions a,.file-actions button{border:1px solid var(--line);color:#6e7890;background:#fff;border-radius:9px;place-items:center;width:31px;height:31px;text-decoration:none;display:grid}.file-actions button:hover{color:#d55267;background:#fff4f6;border-color:#ffdbe1}.files-empty{background:#fafbfe;border:1px dashed #d9ddea;border-radius:14px;align-items:center;gap:14px;min-height:116px;margin:0 20px 20px;padding:20px;display:flex}.files-empty>span{width:52px;height:52px;color:var(--purple);background:#eeeafe;border-radius:15px;place-items:center;display:grid}.files-empty>div{flex:1}.files-empty strong{font-size:11px}.files-empty p{color:#8993a6;margin:5px 0 0;font-size:9px;line-height:1.5}.files-empty button{height:36px;color:var(--purple);background:#f2efff;border:1px solid #dcd7fa;border-radius:10px;align-items:center;gap:6px;padding:0 12px;font-size:9px;font-weight:800;display:flex}.programme-empty{text-align:center;color:#8791a4;border-top:1px solid #eef0f5;min-width:800px;padding:28px 20px 31px}.programme-empty>span{width:42px;height:42px;color:var(--purple);background:#f0edff;border-radius:13px;place-items:center;margin:0 auto 9px;display:grid}.programme-empty strong{color:#566178;font-size:10px;display:block}.programme-empty p{margin:5px 0 0;font-size:8px}.file-input input{background:#f8f7fe!important;border-style:dashed!important;height:auto!important;padding:10px!important}.file-input small{color:#9099ab;margin-top:-2px;font-size:8px}footer{color:#8e98aa;justify-content:space-between;align-items:center;padding:9px 3px;font-size:8px;display:flex}footer a{color:#6758c7;letter-spacing:.04em;font-weight:800;text-decoration:none}.modal-layer{z-index:80;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#15152a99;border:0;position:absolute;inset:0}.record-modal{background:#fff;border-radius:20px;width:min(540px,100%);padding:24px;position:relative;box-shadow:0 24px 80px #17152e55}.modal-head{justify-content:space-between;margin-bottom:20px;display:flex}.modal-head small{letter-spacing:.14em;color:var(--purple);font-size:8px;font-weight:900}.modal-head h3{letter-spacing:-.03em;margin:5px 0 3px;font-size:21px}.modal-head p{color:#8791a5;margin:0;font-size:10px}.modal-head>button{border:1px solid var(--line);color:#727d91;background:#f7f8fb;border-radius:10px;width:34px;height:34px;font-size:22px;line-height:1}.record-modal label{gap:7px;margin-bottom:13px;display:grid}.record-modal label span{color:#5d6880;font-size:9px;font-weight:800}.record-modal input,.record-modal select{border:1px solid var(--line);color:#25304a;background:#fafbfc;border-radius:10px;outline:0;height:42px;padding:0 12px;font-size:11px}.record-modal input:focus,.record-modal select:focus{border-color:#8a7ce8;box-shadow:0 0 0 3px #6d5ce713}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.modal-actions{justify-content:flex-end;gap:9px;margin-top:8px;display:flex}.modal-actions button{border:1px solid var(--line);color:#606b82;background:#fff;border-radius:10px;height:40px;padding:0 16px;font-size:11px;font-weight:800}.modal-actions .save{background:var(--purple);border-color:var(--purple);color:#fff}.modal-actions .save:disabled{opacity:.6;cursor:wait}.toast{z-index:90;color:#fff;background:#17233f;border-radius:12px;align-items:center;gap:8px;padding:12px 15px;font-size:10px;animation:.25s toast-in;display:flex;position:fixed;bottom:22px;right:22px;box-shadow:0 14px 40px #17233f44}.toast svg{color:#65ddb2}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.locked-field{border:1px solid var(--line);color:#59657d;background:#f1f3f8;border-radius:10px;align-items:center;height:42px;padding:0 12px;font-size:11px;display:flex}.info-modal{width:min(470px,100%)}.profile-summary{border:1px solid var(--line);background:#f8f9fc;border-radius:14px;align-items:center;gap:14px;margin-bottom:18px;padding:16px;display:flex}.profile-avatar,.member-avatar{color:#fff;text-transform:uppercase;background:linear-gradient(145deg,#6d5ce7,#4235ad);border-radius:14px;place-items:center;width:48px;height:48px;font-size:13px;font-weight:900;display:grid}.profile-summary strong{font-size:13px}.profile-summary p{color:#818ca1;margin:4px 0 0;font-size:9px}.signout-button{color:#c4475e;background:#fff4f6;border:1px solid #ffd8df;border-radius:10px;align-items:center;height:40px;padding:0 16px;font-size:11px;font-weight:800;text-decoration:none;display:flex}.notice-list{gap:9px;margin-bottom:18px;display:grid}.notice-list article{border:1px solid var(--line);background:#fafbfc;border-radius:12px;align-items:center;gap:11px;padding:12px;display:flex}.notice-list article>span{width:32px;height:32px;color:var(--purple);background:#eeeafe;border-radius:10px;place-items:center;font-weight:900;display:grid}.notice-list strong{font-size:10px}.notice-list p{color:#8892a5;margin:4px 0 0;font-size:8px}.calendar-empty{text-align:center;color:#8590a5;background:#fafbfe;border:1px dashed #d8ddeb;border-radius:14px;padding:26px 18px}.calendar-empty svg{color:var(--purple);margin:auto}.calendar-empty strong{color:#59657c;margin:10px 0 5px;font-size:11px;display:block}.calendar-empty p{margin:0;font-size:9px;line-height:1.5}.analysis-list{gap:10px;margin-bottom:14px;display:grid}.analysis-list>div{color:#69748a;background:#f7f8fb;border-radius:10px;justify-content:space-between;padding:11px 12px;font-size:10px;display:flex}.analysis-list b{color:var(--ink)}.analysis-note{color:#7c879b;background:#fff9eb;border:1px solid #f3e5b9;border-radius:11px;padding:11px;font-size:9px;line-height:1.55}.members-modal{width:min(660px,100%);max-height:88vh;overflow:auto}.member-form{border-bottom:1px solid var(--line);padding-bottom:16px}.member-save{background:var(--purple);color:#fff;border:0;border-radius:10px;height:40px;padding:0 15px;font-size:10px;font-weight:800}.member-list{margin-top:12px;display:grid}.member-list article{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px 0;display:grid}.member-avatar{border-radius:10px;width:36px;height:36px;font-size:10px}.member-list strong{font-size:10px}.member-list p{color:#8791a4;margin:4px 0 0;font-size:8px}.member-list button{color:#cb4e62;background:#fff4f6;border:1px solid #ffdbe1;border-radius:9px;place-items:center;width:30px;height:30px;display:grid}.access-page{background:radial-gradient(circle at top,#f2efff,#f5f7fb 55%);place-items:center;min-height:100vh;margin:0;padding:24px;display:grid}.access-card{text-align:center;border:1px solid var(--line);width:min(470px,100%);box-shadow:var(--shadow);background:#fff;border-radius:24px;padding:34px}.access-card img{object-fit:contain;width:88px;height:88px}.access-card>small{color:var(--purple);letter-spacing:.16em;margin-top:12px;font-size:9px;font-weight:900;display:block}.access-card h1{margin:10px 0;font-size:25px}.access-card p{color:#748097;font-size:11px;line-height:1.7}.access-card a{background:var(--purple);color:#fff;border-radius:10px;align-items:center;height:40px;margin-top:8px;padding:0 17px;font-size:10px;font-weight:800;text-decoration:none;display:inline-flex}.auth-page{background:radial-gradient(at 20% 8%,#e7e3ff 0,#0000 34%),radial-gradient(at 88% 88%,#e1f6f1 0,#0000 31%),#f3f5fa;place-items:center;min-height:100vh;margin:0;padding:30px 20px;display:grid}.auth-card{background:#fff;border:1px solid #e7eaf3;border-radius:26px;width:min(470px,100%);padding:34px;box-shadow:0 24px 75px #41436918}.auth-brand{align-items:center;gap:14px;display:flex}.auth-brand img{object-fit:contain;width:68px;height:68px}.auth-brand strong,.auth-brand small{display:block}.auth-brand strong{letter-spacing:-.04em;font-size:20px}.auth-brand strong span{color:var(--purple)}.auth-brand small{letter-spacing:.12em;color:#8490a4;margin-top:6px;font-size:8px;font-weight:800}.auth-copy{margin:30px 0 23px}.auth-kicker{letter-spacing:.15em;color:var(--purple);font-size:8px;font-weight:900}.auth-copy h1{letter-spacing:-.045em;margin:7px 0 5px;font-size:27px}.auth-copy p{color:#758199;margin:0;font-size:11px;line-height:1.6}.auth-form{gap:13px;display:grid}.auth-form label{gap:7px;display:grid}.auth-form label>span{color:#525e77;font-size:10px;font-weight:800}.auth-form input{color:#26324c;background:#f9fafc;border:1px solid #e3e7f0;border-radius:11px;outline:0;width:100%;height:46px;padding:0 13px;font-size:12px}.auth-form input:focus{border-color:#897bec;box-shadow:0 0 0 3px #6d5ce71a}.auth-forgot{color:var(--purple);background:0 0;border:0;justify-self:end;padding:2px 0;font-size:10px;font-weight:800}.auth-submit{color:#fff;background:linear-gradient(135deg,#7969ee,#5543ce);border:0;border-radius:12px;height:48px;font-size:12px;font-weight:850;box-shadow:0 9px 22px #6d5ce72e}.auth-submit:hover{transform:translateY(-1px)}.auth-submit:disabled{opacity:.65;cursor:wait}.auth-alert{border-radius:10px;padding:10px 12px;font-size:10px;line-height:1.55}.auth-error{color:#b63c51;background:#fff2f4;border:1px solid #ffdce2}.auth-success{color:#147c58;background:#e9f8f1;border:1px solid #c9edda}.auth-switch{text-align:center;color:#78839a;margin:19px 0 0;font-size:10px}.auth-switch button{color:var(--purple);background:0 0;border:0;font-size:10px;font-weight:850}.auth-divider{background:#edf0f5;height:1px;margin:25px 0 15px}.auth-credit{text-align:center}.auth-credit span,.auth-credit strong,.auth-credit a{display:block}.auth-credit span{letter-spacing:.15em;color:#96a0b0;font-size:7px;font-weight:800}.auth-credit strong{color:#3a4660;margin:5px 0;font-size:9px}.auth-credit a{color:var(--purple);font-size:9px;text-decoration:none}@media (width<=1180px){.metric-grid{grid-template-columns:repeat(2,1fr)}.main-grid{grid-template-columns:1fr}.impact-card{grid-template-columns:1fr 1fr;display:grid}.impact-card .panel-head{grid-column:1/-1}.search{width:190px}}@media (width<=760px){.sidebar{transition:all .25s;transform:translate(-105%);box-shadow:20px 0 60px #17133455}.sidebar.open{transform:translate(0)}.scrim{z-index:25;background:#15112c88;border:0;display:block;position:fixed;inset:0}main{margin-left:0}header{height:68px;padding:0 16px}.menu-btn{border:1px solid var(--line);background:#fff;border-radius:10px;place-items:center;width:38px;height:38px;margin-right:11px;display:grid}.header-title p{display:none}.header-title h1{font-size:14px}.live-datetime{white-space:nowrap;text-overflow:ellipsis;max-width:200px;font-size:7px;overflow:hidden}.search{display:none}.content{padding:21px 15px 12px}.page-head{align-items:flex-start;gap:16px}.page-head h2{font-size:22px}.page-head p{font-size:11px;line-height:1.45}.page-actions select,.page-actions .secondary{display:none}.page-actions .primary{justify-content:center;width:40px;padding:0;font-size:0}.metric-grid{grid-template-columns:1fr 1fr;gap:10px}.metric-grid article{padding:14px}.metric-icon{width:34px;height:34px;top:12px;right:12px}.metric-top>span{font-size:9px}.metric-top b{display:none}.metric-grid article>strong{font-size:24px}.metric-grid article p{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.main-grid{display:block}.achievement{margin-bottom:12px}.panel-head{padding:16px 15px 9px}.chart-area{height:210px;padding-left:8px;padding-right:10px}.bar-track{width:22px}.chart-note{margin:8px 12px 14px}.chart-note button{display:none}.impact-card{display:block}.ring-row{justify-content:center}.programme-panel{margin-top:12px}.programme-panel .panel-head{align-items:center}footer{flex-direction:column;gap:5px;padding:12px}.header-actions{gap:7px}.avatar,.icon-btn{border-radius:10px;width:36px;height:36px}.members-modal{max-height:92vh}.member-form .form-grid{grid-template-columns:1fr}.access-card{padding:25px}.files-panel .panel-head{display:block}.file-head-actions{margin-top:12px}.file-head-actions select{flex:1;min-width:0}.upload-button{justify-content:center;width:38px;padding:0;font-size:0}.file-row{grid-template-columns:auto minmax(0,1fr) auto;padding:11px 14px}.file-meta{display:none}.files-empty{text-align:center;justify-items:center;margin:0 14px 14px;display:grid}.files-empty>div{width:100%}.files-empty button{justify-content:center}.file-info p{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.file-actions{gap:4px}}@media (width<=420px){.metric-grid{grid-template-columns:1fr}.metric-grid article{min-height:120px}.page-head h2{font-size:20px}.page-head .eyebrow{font-size:8px}.panel-head select{max-width:115px}.quality-list{gap:10px}.ring{width:112px;height:112px}.ring-row{gap:14px;padding-inline:15px}}@media (width<=520px){.record-modal{padding:19px}.form-grid{grid-template-columns:1fr;gap:0}.modal-actions button{flex:1}.toast{bottom:15px;left:15px;right:15px}.auth-page{padding:18px 13px}.auth-card{border-radius:20px;padding:25px 21px}.auth-brand img{width:58px;height:58px}.auth-brand strong{font-size:17px}.auth-copy{margin-top:25px}.auth-copy h1{font-size:24px}}.member-section-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:11px;display:flex}.member-section-head h4{color:var(--ink);margin:0;font-size:12px}.member-section-head p{color:#8791a4;margin:4px 0 0;font-size:8px}.member-section-head>span{color:#9b6812;background:#fff1d2;border-radius:20px;place-items:center;min-width:27px;height:27px;padding:0 8px;font-size:10px;font-weight:900;display:grid}.approval-section{background:#fffaf0;border:1px solid #f0dfb8;border-radius:15px;margin-bottom:14px;padding:14px}.pending-list{gap:10px;display:grid}.pending-card{background:#fff;border:1px solid #eadfca;border-radius:13px;padding:12px}.pending-person{align-items:center;gap:10px;display:flex}.pending-person strong{font-size:10px;display:block}.pending-person p{color:#7f899d;margin:3px 0;font-size:8px}.pending-person small{color:#966410;background:#fff1d2;border-radius:10px;padding:3px 7px;font-size:7px;font-weight:800;display:inline-block}.pending-fields{grid-template-columns:1fr 1fr;gap:9px;margin-top:11px;display:grid}.pending-fields label{gap:5px;display:grid}.pending-fields label>span{color:#59657a;font-size:8px;font-weight:800}.pending-fields select{color:#38445c;background:#fafbfc;border:1px solid #e1e5ee;border-radius:9px;height:36px;padding:0 9px;font-size:9px}.pending-actions{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.pending-actions button{border-radius:9px;height:34px;padding:0 13px;font-size:9px;font-weight:850}.pending-actions .reject{color:#bd4057;background:#fff4f6;border:1px solid #ffd8df}.pending-actions .approve{background:var(--purple);color:#fff;border:0}.pending-actions button:disabled{opacity:.6}.approval-empty{color:#7f899a;background:#fff;border:1px dashed #dfd5c2;border-radius:11px;justify-content:center;align-items:center;gap:8px;padding:16px;font-size:9px;display:flex}.approval-empty svg{color:#28a777}.manual-member{border:1px solid var(--line);background:#fafbfc;border-radius:13px;margin-bottom:16px}.manual-member summary{cursor:pointer;color:var(--purple);padding:12px 14px;font-size:9px;font-weight:850}.manual-member .member-form{border:0;padding:0 14px 14px}.active-member-section{margin-top:3px}.active-member-section .member-section-head>span{color:#208466;background:#eaf8f2}@media (width<=520px){.approval-section{padding:11px}.pending-fields{grid-template-columns:1fr}.pending-actions button{flex:1}.members-modal{padding:17px}.member-section-head p{line-height:1.4}}.files-page-head{margin-bottom:18px}.files-workspace{min-height:480px;padding:18px 20px 22px}.file-toolbar{grid-template-columns:minmax(260px,1fr) 240px;gap:10px;margin-bottom:18px;display:grid}.file-search{border:1px solid var(--line);color:#8b95a8;background:#fafbfc;border-radius:11px;align-items:center;gap:9px;height:42px;padding:0 12px;display:flex}.file-search input{color:#29354d;background:0 0;border:0;outline:0;width:100%;font-size:10px}.file-toolbar select{border:1px solid var(--line);color:#354159;background:#fafbfc;border-radius:11px;height:42px;padding:0 12px;font-size:10px}.panitia-groups{gap:16px;display:grid}.panitia-file-group{background:#fff;border:1px solid #e8ebf3;border-radius:15px;overflow:hidden}.panitia-group-head{background:linear-gradient(90deg,#f6f3ff,#fbfcff);border-bottom:1px solid #ebeef4;align-items:center;gap:11px;padding:13px 16px;display:flex}.panitia-group-head>span{color:#fff;background:linear-gradient(145deg,#7665ea,#4b3ab8);border-radius:11px;place-items:center;width:38px;height:38px;font-size:9px;font-weight:900;display:grid}.panitia-group-head h3{margin:0;font-size:11px}.panitia-group-head p{color:#8993a6;margin:4px 0 0;font-size:8px}.panitia-file-group .file-list{border-top:0}.file-type.is-link{color:#168a70;background:#e6f7f2}.file-actions a:hover{color:var(--purple);background:#f4f1ff;border-color:#d9d2ff}.link-input small,.file-input small{color:#9099ab;font-size:8px;line-height:1.45}.upload-divider{color:#9aa3b3;letter-spacing:.12em;align-items:center;gap:10px;margin:3px 0 12px;font-size:7px;font-weight:850;display:flex}.upload-divider:before,.upload-divider:after{content:"";background:#eceef4;flex:1;height:1px}.access-note{color:#7b621d;background:#fff9e8;border:1px solid #f0dda2;border-radius:12px;align-items:center;gap:10px;margin:-8px 0 16px;padding:12px 14px;display:flex}.access-note strong{font-size:10px;display:block}.access-note p{color:#8b7331;margin:3px 0 0;font-size:8px;line-height:1.45}@media (width<=760px){.files-workspace{padding:13px}.file-toolbar{grid-template-columns:1fr}.files-primary{width:40px!important}.panitia-group-head{padding:11px 12px}.panitia-file-group .file-row{padding-left:11px;padding-right:11px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
