/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@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)}.table{display:table}}:root{--ink:#14272a;--muted:#647579;--paper:#f5f7f4;--white:#fff;--line:#dce4e0;--green:#0e665f;--green-dark:#084d48;--green-soft:#e9f4f1;--shadow:0 12px 32px #112f2d12}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-geist-sans), Arial, sans-serif;-webkit-font-smoothing:antialiased;margin:0}button,input{font:inherit}button{color:inherit}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{min-height:100vh}.topbar{border-bottom:1px solid var(--line);z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff2;justify-content:space-between;align-items:center;height:82px;padding:0 max(28px,50vw - 620px);display:flex;position:sticky;top:0}.brand{color:inherit;align-items:center;gap:13px;text-decoration:none;display:inline-flex}.brand-mark{background:var(--green);color:#fff;border-radius:13px;place-items:center;width:44px;height:44px;display:grid;box-shadow:inset 0 0 0 1px #ffffff2e}.brand-mark span{letter-spacing:-.04em;font-size:15px;font-weight:800}.brand-copy{flex-direction:column;gap:2px;display:flex}.brand-copy strong{letter-spacing:-.01em;font-size:15px}.brand-copy small{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:11px}.header-actions{align-items:center;gap:10px;display:flex}.btn{cursor:pointer;border:0;border-radius:11px;align-items:center;gap:8px;min-height:42px;padding:0 17px;font-size:13px;font-weight:700;text-decoration:none;transition:transform .18s,background .18s,box-shadow .18s;display:inline-flex}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:disabled{opacity:.65;cursor:wait}.btn-quiet{color:#405155;background:#eef2ef}.btn-quiet:hover{background:#e5ebe7}.btn-primary{background:var(--green);color:#fff;box-shadow:0 7px 18px #0e665f33}.btn-primary:hover{background:var(--green-dark)}.btn-section{background:var(--green-soft);color:var(--green-dark);border:1px solid #c7dfd9}.btn-section:hover{background:#dceee9}.button-icon{font-size:18px;font-weight:500;line-height:1}.upload-icon{transform:translateY(-1px)}.lock-icon{border:1.5px solid;border-radius:4px;place-items:center;width:15px;height:15px;font-size:0;display:grid;position:relative}.lock-icon:before{content:"";border:1.5px solid;border-bottom:0;border-radius:7px 7px 0 0;width:8px;height:7px;position:absolute;top:-7px;left:2px}.content{width:min(1240px,100% - 56px);margin:0 auto;padding:54px 0 30px}.intro-row{justify-content:space-between;align-items:flex-end;gap:28px;display:flex}.eyebrow,.section-kicker{color:var(--green);text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:800;line-height:1.2}.eyebrow{align-items:center;gap:9px;margin:0 0 14px;display:flex}.eyebrow span{background:#d59548;border-radius:2px;width:25px;height:2px}h1{letter-spacing:-.045em;margin:0;font-size:clamp(34px,4vw,52px);font-weight:700;line-height:1}.subtitle{color:var(--muted);margin:15px 0 0;font-size:15px}.live-pill{border:1px solid var(--line);color:#58696c;background:#fff;border-radius:999px;align-items:center;gap:9px;padding:9px 13px;font-size:12px;font-weight:700;display:inline-flex;box-shadow:0 5px 15px #0c37330a}.live-pill.is-live{color:var(--green);background:#f2faf7;border-color:#cde5df}.live-dot{background:#94a5a6;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #94a5a621}.is-live .live-dot{background:#20a56b;box-shadow:0 0 0 4px #20a56b21}.supervisor-feature{color:#fff;background:linear-gradient(120deg,#0b5d57 0%,#0e7067 68%,#168378 100%);border-radius:18px;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:19px;min-height:118px;margin-top:30px;padding:22px 24px;text-decoration:none;transition:transform .18s,box-shadow .18s;display:grid;position:relative;overflow:hidden;box-shadow:0 16px 34px #084d4833}.supervisor-feature:after{content:"";background:#ffffff12;border-radius:50%;width:190px;height:190px;position:absolute;top:-110px;right:-75px}.supervisor-feature:hover{transform:translateY(-2px);box-shadow:0 20px 40px #084d4840}.supervisor-feature-mark{color:#193738;background:#e7b96b;border-radius:16px;width:58px;height:58px;position:relative;box-shadow:inset 0 0 0 1px #ffffff47}.supervisor-feature-mark i,.supervisor-feature-mark b{display:block;position:absolute}.supervisor-feature-mark i{background:currentColor;border-radius:50%;width:15px;height:15px;top:11px;left:21px}.supervisor-feature-mark b{border:4px solid;border-bottom-width:3px;border-radius:16px 16px 7px 7px;width:32px;height:18px;top:31px;left:13px}.supervisor-feature-copy{flex-direction:column;gap:5px;min-width:0;display:flex}.supervisor-feature-copy small{color:#9edcd2;text-transform:uppercase;letter-spacing:.12em;font-size:9px;font-weight:850}.supervisor-feature-copy strong{letter-spacing:-.035em;font-size:clamp(20px,2.5vw,28px);line-height:1.1}.supervisor-feature-copy>span{color:#d5e9e6;font-size:11px;line-height:1.45}.supervisor-feature-action{z-index:1;min-height:43px;color:var(--green-dark);white-space:nowrap;background:#fff;border-radius:11px;align-items:center;gap:9px;padding:0 16px;font-size:11px;font-weight:850;display:inline-flex;position:relative}.supervisor-feature-action b{color:#ca8737;font-size:18px}.date-panel{background:var(--white);border:1px solid var(--line);min-height:92px;box-shadow:var(--shadow);border-radius:17px;align-items:center;gap:12px;margin:24px 0 42px;padding:11px;display:flex}.date-arrow{color:#5e7072;cursor:pointer;background:#f1f4f1;border:0;border-radius:12px;width:48px;height:58px;font-size:31px;line-height:1;transition:background .18s,color .18s}.date-arrow:hover{background:var(--green-soft);color:var(--green)}.date-main{flex:1;align-items:center;gap:15px;min-width:0;padding-left:4px;display:flex}.calendar-glyph{text-align:center;background:#fff;border:1px solid #d4dfda;border-radius:10px;flex-direction:column;flex:none;align-items:stretch;width:48px;height:50px;display:flex;overflow:hidden}.calendar-glyph i{background:var(--green);height:13px;display:block}.calendar-glyph b{font-size:17px;line-height:35px}.date-main div{flex-direction:column;gap:4px;min-width:0;display:flex}.date-main small{color:var(--green);text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:800}.date-main strong{letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;font-size:clamp(15px,2vw,20px);overflow:hidden}.date-picker-label{border-left:1px solid var(--line);gap:3px;padding-left:20px;display:grid}.date-picker-label span{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:700}.date-picker-label input{height:36px;color:var(--ink);cursor:pointer;background:0 0;border:0;padding:0;font-weight:650}.today-button{color:var(--green);cursor:pointer;background:#f3f8f6;border:1px solid #d8e5e0;border-radius:9px;padding:9px 11px;font-size:11px;font-weight:750}.notice{border-radius:12px;align-items:center;gap:10px;margin:-22px 0 30px;padding:12px 14px;font-size:13px;display:flex}.notice>span{color:#fff;border-radius:50%;place-items:center;width:24px;height:24px;font-weight:800;display:grid}.notice p{flex:1;margin:0}.notice button{cursor:pointer;opacity:.65;background:0 0;border:0;font-size:20px}.notice.success{color:#225f48;background:#e9f7f0}.notice.success>span{background:#239765}.notice.error{color:#864333;background:#fff0ec}.notice.error>span{background:#c65a41}.section-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:17px;display:flex}.section-heading h2,.upload-guide h2{letter-spacing:-.025em;margin:7px 0 0;font-size:21px}.section-heading>p{color:var(--muted);margin:0;font-size:11px;font-weight:600}.job-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;transition:opacity .2s;display:grid}.job-grid.is-loading{opacity:.55}.job-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:17px;flex-direction:column;min-height:274px;display:flex;position:relative;overflow:hidden}.card-topline{background:var(--accent);height:4px}.job-card-header{border-bottom:1px solid #edf0ee;justify-content:space-between;align-items:flex-start;gap:16px;padding:23px 24px 20px;display:flex}.job-card-header>div{padding-left:45px;position:relative}.task-icon{background:var(--soft);width:32px;height:32px;color:var(--accent);border-radius:9px;position:absolute;top:0;left:0}.task-icon i,.task-icon b{box-sizing:border-box;display:block;position:absolute}.task-icon-ceed i{clip-path:polygon(50% 0,100% 36%,50% 72%,0 36%);background:currentColor;width:22px;height:14px;top:6px;left:5px}.task-icon-ceed b{border-bottom:3px solid;border-radius:0 0 7px 7px;width:12px;height:8px;top:16px;left:10px}.task-icon-datix i{clip-path:polygon(50% 0,92% 16%,84% 68%,50% 100%,16% 68%,8% 16%);background:currentColor;width:18px;height:22px;top:5px;left:7px}.task-icon-datix b{background:#fff;border-radius:2px;width:2px;height:8px;top:10px;left:15px;box-shadow:0 11px #fff}.task-icon-dcc i{background:currentColor;border-radius:2px;width:18px;height:6px;top:13px;left:7px}.task-icon-dcc b{background:currentColor;border-radius:2px;width:6px;height:18px;top:7px;left:13px}.task-icon-complaints i{border:2px solid;border-radius:5px;width:20px;height:15px;top:7px;left:6px}.task-icon-complaints i:after{content:"";background:var(--soft);border-left:2px solid;width:6px;height:6px;position:absolute;bottom:-5px;left:3px;transform:skewY(-38deg)}.task-icon-complaints b{background:currentColor;border-radius:2px;width:10px;height:2px;top:12px;left:11px;box-shadow:0 4px}.task-icon-mm i{background:currentColor;border-radius:50%;width:6px;height:6px;top:6px;left:13px;box-shadow:-8px 4px,8px 4px}.task-icon-mm b{border:2px solid;border-radius:50% 50% 4px 4px;width:20px;height:8px;top:17px;left:6px}.job-card h3{letter-spacing:-.035em;margin:0;font-size:23px}.job-card-header p{color:var(--muted);margin:5px 0 0;font-size:11px}.status-badge{background:var(--soft);color:var(--accent-dark);text-transform:uppercase;letter-spacing:.06em;border-radius:999px;align-items:center;gap:6px;padding:6px 9px;font-size:10px;font-weight:800;display:inline-flex}.status-badge i{background:var(--accent);border-radius:50%;width:6px;height:6px}.status-badge.is-unassigned{color:#667678;background:#f1f3f2}.status-badge.is-unassigned i{background:#9aa5a6}.assignment-list{flex:1}.assignment{border-bottom:1px solid #edf0ee;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:13px;min-height:97px;padding:20px 24px;display:grid}.assignment:last-child{border-bottom:0}.avatar{width:42px;height:42px;color:var(--accent-dark);background:var(--soft);letter-spacing:.03em;border-radius:13px;place-items:center;font-size:12px;font-weight:800;display:grid}.doctor-info{flex-direction:column;gap:4px;display:flex}.doctor-info small{color:#879496;text-transform:uppercase;letter-spacing:.1em;font-size:9px;font-weight:750}.doctor-info strong{letter-spacing:-.015em;font-size:14px}.empty-assignment{color:#879496;align-items:center;gap:13px;min-height:97px;padding:20px 24px;display:flex}.empty-assignment>span{background:#f1f3f2;border-radius:13px;place-items:center;width:42px;height:42px;display:grid}.empty-assignment div{flex-direction:column;gap:4px;display:flex}.empty-assignment strong{color:#667678;font-size:13px}.empty-assignment small{font-size:10px}.month-view-button{background:var(--accent);color:#fff;text-align:left;cursor:pointer;width:calc(100% - 48px);min-height:58px;box-shadow:0 8px 18px var(--accent);border:0;border-radius:12px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:11px;margin:4px 24px 20px;padding:10px 13px;display:grid}@supports (color:color-mix(in lab, red, red)){.month-view-button{box-shadow:0 8px 18px color-mix(in srgb, var(--accent) 25%, transparent)}}.month-view-button{transition:transform .18s,filter .18s,box-shadow .18s}.month-view-button:hover{filter:brightness(.95);box-shadow:0 10px 22px var(--accent);transform:translateY(-1px)}@supports (color:color-mix(in lab, red, red)){.month-view-button:hover{box-shadow:0 10px 22px color-mix(in srgb, var(--accent) 32%, transparent)}}.month-view-button:focus-visible{outline:3px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.month-view-button:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 28%, transparent)}}.month-view-button:focus-visible{outline-offset:3px}.month-view-button>span:nth-child(2){flex-direction:column;gap:2px;min-width:0;display:flex}.month-view-button strong{letter-spacing:.01em;font-size:12px}.month-view-button small{color:#ffffffc7;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.month-view-button>b{font-size:19px}.month-view-icon{background:#ffffff2e;border-radius:9px;width:32px;height:32px;position:relative}.month-view-icon i{border:2px solid #fff;border-radius:3px;position:absolute;inset:8px 7px 6px}.month-view-icon i:before{content:"";border-top:2px solid #fff;position:absolute;top:4px;left:-2px;right:-2px}.month-view-icon b{background:#fff;border-radius:2px;width:2px;height:5px;position:absolute;top:6px;left:11px;box-shadow:8px 0 #fff}.card-footer{color:#8a9697;text-transform:uppercase;letter-spacing:.08em;background:#fafbfa;justify-content:space-between;align-items:center;padding:11px 24px;font-size:8px;font-weight:750;display:flex}.date-stamp{color:var(--accent-dark)}.accent-teal{--accent:#128a80;--accent-dark:#0b625c;--soft:#e5f4f1}.accent-orange{--accent:#dc853a;--accent-dark:#9b5522;--soft:#fff0e1}.accent-blue{--accent:#3f79a5;--accent-dark:#285779;--soft:#e9f1f7}.accent-plum{--accent:#8e6688;--accent-dark:#684763;--soft:#f3ebf2}.accent-red{--accent:#bc4b4b;--accent-dark:#823131;--soft:#f8e9e9}.job-card:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc(50% - 9px)}.month-modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#071c1dad;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.month-modal{background:#f8faf8;border:1px solid #fff9;border-radius:22px;width:min(1120px,100%);max-height:calc(100vh - 56px);overflow:auto;box-shadow:0 28px 80px #051a1b57}.month-modal-header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:flex-start;gap:20px;min-height:105px;padding:22px 24px;display:flex}.month-modal-title{align-items:center;gap:15px;min-width:0;display:flex}.month-modal-title>.task-icon{flex:none;width:46px;height:46px;position:relative;transform:scale(1.15)}.month-modal-title h2{letter-spacing:-.04em;margin:4px 0 3px;font-size:clamp(22px,3vw,31px)}.month-modal-title p{color:var(--muted);margin:0;font-size:11px}.month-modal-close{color:#526466;cursor:pointer;background:#edf1ef;border:0;border-radius:12px;flex:none;width:42px;height:42px;font-size:27px;line-height:1}.month-modal-close:hover{background:#e3e9e5}.month-modal-controls{border-bottom:1px solid var(--line);background:#f3f7f5;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;min-height:64px;padding:10px 24px;display:grid}.month-modal-controls strong{color:var(--accent-dark);font-size:14px}.month-modal-controls button{color:#526466;cursor:pointer;background:#fff;border:1px solid #d4e0db;border-radius:9px;align-items:center;gap:7px;min-height:38px;padding:0 13px;font-size:10px;font-weight:800;display:inline-flex}.month-modal-controls button:last-child{justify-self:end}.month-modal-status{min-height:430px;color:var(--muted);justify-content:center;align-items:center;gap:11px;font-size:12px;font-weight:700;display:flex}.month-modal-error,.month-empty{color:#8c4b3e;text-align:center;background:#fff4f1;border:1px solid #ead9d4;border-radius:11px;margin:24px;padding:16px;font-size:11px;font-weight:700}.calendar-wrap{padding:20px 24px 25px}.month-calendar{background:#fff;border:1px solid #dbe3df;border-radius:14px;grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.calendar-weekday{color:#617173;text-transform:uppercase;letter-spacing:.1em;background:#eef3f0;border-bottom:1px solid #dbe3df;border-right:1px solid #e3e9e6;place-items:center;min-height:35px;font-size:8px;font-weight:850;display:grid}.calendar-weekday:nth-child(7){border-right:0}.calendar-day{background:#fff;border-bottom:1px solid #e5ebe8;border-right:1px solid #e5ebe8;min-width:0;min-height:112px;padding:8px}.calendar-day:nth-child(7n){border-right:0}.calendar-day.is-outside{background:#f6f8f7}.calendar-day.is-today{box-shadow:inset 0 0 0 2px var(--accent)}.calendar-day-number{color:#526466;border-radius:8px;place-items:center;width:25px;height:25px;font-size:10px;font-weight:850;display:grid}.calendar-day.is-today .calendar-day-number,.calendar-day.has-allocation .calendar-day-number{background:var(--soft);color:var(--accent-dark)}.calendar-day-people{flex-direction:column;gap:4px;margin-top:6px;display:flex}.calendar-day-people span{background:var(--soft);color:var(--accent-dark);text-overflow:ellipsis;border-radius:6px;padding:5px 6px;font-size:8px;font-weight:750;line-height:1.25;overflow:hidden}.calendar-day-people small{color:#b0b9b7;padding-left:3px;font-size:11px}.calendar-wrap>.month-empty{margin:16px 0 0}.month-names-view{padding:24px}.month-names-heading{border:1px solid var(--accent);align-items:center;gap:13px;padding:17px 18px;display:flex}@supports (color:color-mix(in lab, red, red)){.month-names-heading{border:1px solid color-mix(in srgb, var(--accent) 22%, #dce4e0)}}.month-names-heading{background:var(--soft);border-radius:13px}.month-names-heading>span{background:var(--accent);color:#fff;border-radius:12px;place-items:center;width:42px;height:42px;font-size:17px;font-weight:850;display:grid}.month-names-heading div{flex-direction:column;gap:3px;display:flex}.month-names-heading strong{font-size:13px}.month-names-heading small{color:var(--accent-dark);font-size:9px}.month-name-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.month-name{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px;min-height:70px;padding:12px 14px;display:grid}.month-name>div{flex-direction:column;gap:3px;min-width:0;display:flex}.month-name small{color:#899698;text-transform:uppercase;letter-spacing:.09em;font-size:8px;font-weight:800}.month-name strong{font-size:12px}.upload-guide{color:#fff;background:#132f31;border-radius:17px;grid-template-columns:auto minmax(230px,.85fr) minmax(300px,1.3fr) auto;align-items:center;gap:22px;margin-top:34px;padding:23px 25px;display:grid;box-shadow:0 14px 34px #092b2a24}.guide-icon{color:#193738;width:52px;height:52px;font-family:var(--font-geist-mono);background:#e6b96a;border-radius:14px;place-items:center;font-size:14px;font-weight:900;display:grid}.upload-guide .section-kicker{color:#72c5b8}.upload-guide h2{color:#fff;font-size:18px}.upload-guide p{color:#acc0c0;margin:7px 0 0;font-size:11px}.column-chips{flex-wrap:wrap;gap:7px;display:flex}.column-chips span{color:#d8e5e4;font-family:var(--font-geist-mono);background:#ffffff0f;border:1px solid #ffffff26;border-radius:7px;padding:6px 8px;font-size:9px}.guide-actions{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.text-button{color:#e8bd73;cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:7px 0;font-size:11px;font-weight:750}.text-button span{margin-left:6px;transition:margin .18s}.text-button:hover span{margin-left:10px}.guide-actions small{color:#8ea7a7;text-align:right;max-width:170px;font-size:8px;line-height:1.4}footer{color:#8b9798;text-transform:uppercase;letter-spacing:.09em;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;padding:22px 3px 0;font-size:8px;font-weight:700;display:grid}footer>span:last-child{justify-self:end}.footer-contact{color:#536668;text-align:center;text-transform:none;letter-spacing:.02em;font-size:10px}.footer-contact strong{color:var(--green)}.viewer-shell{background:radial-gradient(circle at 15% 10%, #e2f0eb 0, transparent 34%), radial-gradient(circle at 85% 90%, #f4e5cf 0, transparent 30%), var(--paper);place-items:center;min-height:100vh;padding:32px 18px;display:grid}.viewer-card{border:1px solid var(--line);background:#fffffff7;border-radius:22px;width:min(470px,100%);min-height:530px;overflow:hidden;box-shadow:0 24px 64px #112f2d21}.viewer-brand{border-bottom:1px solid var(--line);align-items:center;gap:13px;min-height:86px;padding:18px 24px;display:flex}.viewer-card .admin-status,.viewer-card .admin-error-card{min-height:440px}.viewer-login-form{padding-top:42px}.viewer-login-form h1{margin:8px 0;font-size:31px}.viewer-help{color:#839193;margin-top:20px;font-size:9px;line-height:1.5;display:block}.admin-shell{background:radial-gradient(circle at 10% 10%, #e9f3ef 0, transparent 30%), var(--paper);min-height:100vh}.admin-topbar{border-bottom:1px solid var(--line);background:#fffffff2;justify-content:space-between;align-items:center;height:82px;padding:0 max(28px,50vw - 470px);display:flex}.admin-content{width:min(940px,100% - 40px);margin:0 auto;padding:58px 0 40px}.admin-heading{text-align:center;margin-bottom:28px}.admin-heading .eyebrow{justify-content:center}.admin-heading h1{font-size:clamp(34px,5vw,48px)}.admin-heading>p:last-child{color:var(--muted);margin:14px 0 0;font-size:14px}.admin-panel{border:1px solid var(--line);background:#fff;border-radius:20px;min-height:390px;overflow:hidden;box-shadow:0 18px 44px #112f2d17}.admin-status{min-height:390px;color:var(--muted);justify-content:center;align-items:center;gap:12px;font-size:13px;font-weight:650;display:flex}.admin-spinner{border:2px solid #d8e5df;border-top-color:var(--green);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite admin-spin}@keyframes admin-spin{to{transform:rotate(360deg)}}.login-form{text-align:center;width:min(420px,100% - 40px);margin:0 auto;padding:48px 0}.lock-mark{background:var(--green-soft);border-radius:17px;width:58px;height:58px;margin:0 auto 20px;position:relative}.lock-mark:before{content:"";border:3px solid var(--green);border-radius:6px;width:22px;height:19px;position:absolute;top:25px;left:15px}.lock-mark:after{content:"";border:3px solid var(--green);border-bottom:0;border-radius:12px 12px 0 0;width:15px;height:14px;position:absolute;top:11px;left:19px}.login-form h2{letter-spacing:-.03em;margin:8px 0;font-size:26px}.login-form>p{max-width:340px;color:var(--muted);margin:0 auto 25px;font-size:12px;line-height:1.55}.login-form label{text-align:left;gap:7px;display:grid}.login-form label span{color:#506164;font-size:11px;font-weight:750}.login-form input{background:#fbfcfb;border:1px solid #cedbd6;border-radius:11px;outline:none;width:100%;height:48px;padding:0 13px}.login-form input:focus{border-color:var(--green);box-shadow:0 0 0 3px #0e665f1a}.admin-submit{justify-content:center;width:100%;margin-top:14px}.form-error{color:#914b3b;text-align:left;background:#fff0ec;border-radius:9px;margin-top:10px;padding:10px;font-size:11px}.admin-error-card{justify-content:center;align-items:center;gap:15px;min-height:390px;padding:30px;display:flex}.admin-error-card>span{color:#b7553e;background:#fff0ec;border-radius:50%;place-items:center;width:42px;height:42px;font-weight:900;display:grid}.admin-error-card h2{margin:0 0 6px;font-size:18px}.admin-error-card p{color:var(--muted);margin:0;font-size:12px}.upload-panel{padding:0 34px 34px}.secure-banner{color:#275f4a;background:#e9f7f0;align-items:center;gap:11px;margin:0 -34px 30px;padding:15px 24px;display:flex}.secure-banner>span{color:#fff;background:#239765;border-radius:50%;place-items:center;width:27px;height:27px;font-weight:800;display:grid}.secure-banner div{flex-direction:column;flex:1;gap:2px;display:flex}.secure-banner strong{font-size:12px}.secure-banner small{color:#57806e;font-size:10px}.secure-banner button{color:#376c57;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;background:0 0;border:0;font-size:10px;font-weight:800}.upload-title{text-align:center}.upload-title h2{letter-spacing:-.03em;margin:7px 0 6px;font-size:24px}.upload-title p{color:var(--muted);margin:0;font-size:11px}.upload-dropzone{text-align:center;background:#f7faf8;border:1.5px dashed #bfd2ca;border-radius:15px;margin-top:23px;padding:29px 20px}.excel-mark{background:var(--green);color:#fff;width:48px;height:48px;font-family:var(--font-geist-mono);border-radius:13px;place-items:center;margin:0 auto 12px;font-size:13px;font-weight:900;display:grid}.upload-dropzone h3{margin:0;font-size:16px}.upload-dropzone p{color:var(--muted);margin:6px 0 16px;font-size:10px}.admin-columns{border:1px solid var(--line);border-radius:11px;justify-content:space-between;align-items:center;gap:20px;margin-top:18px;padding:14px 16px;display:flex}.admin-columns div{flex-direction:column;gap:4px;display:flex}.admin-columns span{color:#8a9899;text-transform:uppercase;letter-spacing:.09em;font-size:8px;font-weight:800}.admin-columns strong{color:#526366;font-family:var(--font-geist-mono);font-size:9px}.admin-columns button{color:var(--green);cursor:pointer;white-space:nowrap;background:0 0;border:0;font-size:10px;font-weight:800}.admin-message{border-radius:10px;margin-top:16px;padding:12px 14px;font-size:11px;font-weight:650}.admin-message.success{color:#226047;background:#e9f7f0}.admin-message.error{color:#914b3b;background:#fff0ec}.admin-footnote{text-align:center;color:#899798;text-transform:uppercase;letter-spacing:.09em;margin:16px 0 0;font-size:8px;font-weight:750}.supervisor-content{max-width:1240px}.supervisor-intro{align-items:center}.review-pill{min-width:205px;box-shadow:var(--shadow);background:#eef8f4;border:1px solid #cfe3dc;border-radius:15px;align-items:center;gap:12px;padding:14px 16px;display:flex}.review-pill>span{background:var(--green);color:#fff;border-radius:12px;place-items:center;width:42px;height:42px;font-size:20px;font-weight:800;display:grid}.review-pill div{flex-direction:column;gap:3px;display:flex}.review-pill small{color:var(--muted);text-transform:uppercase;letter-spacing:.09em;font-size:8px;font-weight:800}.review-pill strong{font-size:13px}.trainee-search{box-shadow:var(--shadow);background:#f7fbf9;border:1px solid #cfe3dc;border-radius:16px;grid-template-columns:minmax(190px,.65fr) minmax(280px,1.35fr);align-items:center;gap:20px;margin-top:28px;padding:16px 18px;display:grid}.trainee-search label{align-items:center;gap:12px;display:flex}.trainee-search label>span:last-child{flex-direction:column;gap:3px;display:flex}.trainee-search label small{color:var(--green);text-transform:uppercase;letter-spacing:.11em;font-size:8px;font-weight:850}.trainee-search label strong{font-size:14px}.trainee-search-icon{background:var(--green);border-radius:11px;flex:none;width:38px;height:38px;position:relative}.trainee-search-icon:before{content:"";border:3px solid #fff;border-radius:50%;width:12px;height:12px;position:absolute;top:9px;left:10px}.trainee-search-icon:after{content:"";transform-origin:0;background:#fff;border-radius:2px;width:9px;height:3px;position:absolute;top:24px;left:22px;transform:rotate(45deg)}.trainee-search-control{grid-template-columns:minmax(0,1fr) auto auto;gap:8px;min-width:0;display:grid}.trainee-search-control input{width:100%;height:46px;color:var(--ink);font:inherit;background:#fff;border:1px solid #bcd6cd;border-radius:11px;outline:0;padding:0 14px;font-size:12px;box-shadow:inset 0 1px 2px #12423e0a}.trainee-search-control input:focus{border-color:var(--green);box-shadow:0 0 0 3px #0e665f1f}.trainee-search-control input::placeholder{color:#91a09f}.trainee-search-control button{cursor:pointer;border:0;border-radius:11px;min-width:76px;height:46px;padding:0 15px;font-size:10px;font-weight:850}.trainee-search-control .search-submit{background:var(--green);color:#fff;box-shadow:0 5px 13px #0e665f2e}.trainee-search-control .search-clear{min-width:60px;color:var(--green-dark);background:#e6f1ed}.search-result-summary{color:var(--green-dark);margin:12px 2px 0;font-size:10px;font-weight:750}.search-result-summary.is-empty{color:#765b25;background:#fff9ec;border:1px solid #ead9b5;border-radius:11px;padding:13px 15px}.supervisor-section{margin-top:44px}.supervisor-heading{align-items:center}.supervisor-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.supervisor-grid-featured{grid-template-columns:repeat(2,minmax(0,1fr))}.supervisor-card{border:1px solid var(--line);min-width:0;box-shadow:var(--shadow);background:#fff;border-radius:16px;overflow:hidden}.supervisor-card-head{background:#f8fbf9;border-bottom:1px solid #edf1ef;grid-template-columns:45px minmax(0,1fr);align-items:center;gap:13px;min-height:94px;padding:20px;display:grid}.supervisor-avatar{width:44px;height:44px;color:var(--green-dark);background:#e7f3ef;border-radius:13px;place-items:center;font-size:12px;font-weight:850;display:grid}.supervisor-card h3{letter-spacing:-.02em;margin:0 0 3px;font-size:16px;line-height:1.25}.supervisor-card-head small{color:var(--muted);font-size:9px}.trainee-list{padding:16px 20px 18px}.trainee-label{color:#879597;text-transform:uppercase;letter-spacing:.09em;margin-bottom:9px;font-size:8px;font-weight:800;display:block}.trainee-row{border-bottom:1px solid #eff2f0;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px;min-height:34px;padding:6px 0;display:grid}.trainee-row:last-child{border-bottom:0}.trainee-row>span{color:#6f8082;background:#f0f4f2;border-radius:7px;place-items:center;width:22px;height:22px;font-size:8px;font-weight:800;display:grid}.trainee-info{flex-direction:column;gap:2px;min-width:0;display:flex}.trainee-row strong{min-width:0;font-size:11px;line-height:1.35}.trainee-info small{color:#758587;font-size:9px;line-height:1.35}.trainee-row.is-tbc strong{color:#879597;font-style:italic}.period-tabs{border:1px solid var(--line);background:#fff;border-radius:12px;gap:5px;margin:-2px 0 16px;padding:5px;display:inline-flex}.period-tabs button{min-height:38px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 15px;font-size:11px;font-weight:750}.period-tabs button.is-active{background:var(--green);color:#fff;box-shadow:0 5px 13px #0e665f2e}.period-summary{background:#f8fbf9;border:1px solid #dbe8e3;border-radius:12px;align-items:center;gap:9px;margin-bottom:16px;padding:12px 14px;display:flex}.period-summary strong{font-size:11px}.period-summary small{color:var(--muted);margin-left:auto;font-size:9px}@media (width<=950px){.upload-guide{grid-template-columns:auto 1fr}.column-chips,.guide-actions{grid-column:2;align-items:flex-start}.guide-actions small{text-align:left;max-width:none}.supervisor-grid,.supervisor-grid-featured{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.topbar{height:auto;min-height:74px;padding:12px 18px}.brand-copy small,.btn-quiet{display:none}.btn-primary{padding:0 13px}.content{width:min(100% - 30px,620px);padding-top:35px}.intro-row{align-items:flex-start}.live-pill{display:none}.date-panel{flex-wrap:wrap;padding:9px}.date-main{flex:calc(100% - 120px);order:1}.date-arrow{order:0;width:45px}.date-arrow:last-child{order:2}.date-picker-label{border-left:0;border-top:1px solid var(--line);order:3;width:100%;padding:9px 6px 0}.date-picker-label input{width:100%}.today-button{order:4;width:100%}.job-grid{grid-template-columns:1fr}.job-card:last-child:nth-child(odd){grid-column:auto;justify-self:stretch;width:auto}.month-modal-backdrop{padding:10px}.month-modal{border-radius:17px;max-height:calc(100vh - 20px)}.month-modal-header{padding:18px}.month-modal-title>.task-icon{display:none}.month-modal-controls{padding:9px 12px}.month-modal-controls button span{display:none}.calendar-wrap{padding:12px;overflow-x:auto}.month-calendar{min-width:680px}.calendar-day{min-height:96px}.month-name-list{grid-template-columns:1fr}.section-heading{flex-direction:column;align-items:flex-start;gap:8px}.section-heading>p{align-self:flex-start}.upload-guide{text-align:left;grid-template-columns:1fr}.guide-icon,.guide-copy,.column-chips,.guide-actions{grid-column:1}.guide-actions{align-items:flex-start}footer{text-align:center;grid-template-columns:1fr;gap:10px}footer>span:last-child{justify-self:center}.admin-topbar{height:74px;padding:10px 16px}.admin-content{width:calc(100% - 24px);padding-top:36px}.admin-panel{border-radius:16px}.upload-panel{padding:0 18px 24px}.secure-banner{margin:0 -18px 24px;padding:13px 16px}.admin-columns{flex-direction:column;align-items:flex-start}.supervisor-feature{grid-template-columns:50px minmax(0,1fr);gap:14px;padding:19px}.supervisor-feature-mark{border-radius:14px;width:50px;height:50px}.supervisor-feature-mark i{top:9px;left:18px}.supervisor-feature-mark b{top:27px;left:10px}.supervisor-feature-action{grid-column:2;justify-self:start}.review-pill{display:none}.trainee-search{grid-template-columns:1fr;gap:12px;padding:15px}.trainee-search-control{grid-template-columns:minmax(0,1fr) auto}.trainee-search-control .search-clear{grid-column:1/-1;width:100%}.supervisor-grid,.supervisor-grid-featured{grid-template-columns:1fr}.period-tabs{width:100%;display:flex}.period-tabs button{flex:1;padding:0 8px}.period-summary{flex-wrap:wrap;align-items:flex-start}.period-summary small{width:100%;margin-left:17px}}@media (width<=470px){.brand-copy strong{font-size:13px}.header-actions .btn-primary{font-size:11px}.header-actions .btn-section{text-align:center;max-width:116px;min-height:38px;padding:0 10px;font-size:10px;line-height:1.15}.supervisor-feature{text-align:left;grid-template-columns:1fr}.supervisor-feature-mark{display:none}.supervisor-feature-action{grid-column:1}.content{width:calc(100% - 24px)}.assignment{grid-template-columns:40px 1fr}.job-card-header{padding:20px}.assignment,.card-footer{padding-left:20px;padding-right:20px}.month-view-button{width:calc(100% - 40px);margin-left:20px;margin-right:20px}.month-modal-header{min-height:94px}.month-modal-title h2{font-size:20px}.month-modal-controls strong{font-size:12px}.viewer-shell{padding:12px}.viewer-card{border-radius:17px;min-height:calc(100vh - 24px)}.viewer-login-form{padding-top:34px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
