.guide{--bg:#101311;--card:#181c1a;--sunken:#1f2422;--line:#272d2a;--ink:#eaefec;--muted:#89928d;--green:#03BF64;--orange:#EC9F48;--red:#E2555B;--deepgreen:#029950;--head:"Fredoka","Trebuchet MS","Segoe UI",sans-serif;--body:"Nunito","Segoe UI",system-ui,sans-serif}.guide *{box-sizing:border-box}.guide{background:var(--bg);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.guide a{color:var(--green);text-decoration:none;border-bottom:1px solid rgba(3,191,100,.4)}.guide a:hover{color:#4fd897;border-bottom-color:#4fd897}.guide ::selection{background:#03bf644d;color:#fff}@media print{.guide{--bg:#fff;--card:#fff;--sunken:#f2f4f2;--line:#c9cec9;--ink:#111;--muted:#555;--green:#03BF64;--orange:#c47a12;--red:#AB2323;--deepgreen:#029950}.guide{background:#fff;color:#111}.guide a{color:#111;border-bottom:1px solid #999}.guide *{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.gt-page{--bg:#ffffff;--surface:#f5f5f5;--text:#171717;--muted:#585858;--line:#dedede;--green:#03BF64;--orange:#EC9F48;--deepgreen:#029950;--red:#AB2323;--charcoal:#1A1A1A;--head:"Fredoka","Trebuchet MS","Segoe UI",sans-serif;--body:"Nunito","Segoe UI",system-ui,sans-serif;background:var(--bg);color:var(--text);font-family:var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;margin:0;min-height:100vh}.gt-page[data-theme=dark]{--bg:#111111;--surface:#1c1c1c;--text:#f5f5f5;--muted:#c7c7c7;--line:#383838;--red:#E2555B}.gt-page *{box-sizing:border-box}.gt-page a{color:var(--text);text-decoration:underline;text-decoration-color:var(--green);text-decoration-thickness:2px;text-underline-offset:3px}.gt-page a:hover{color:var(--green)}.gt-page ::selection{background:#03bf6447}.gt-page :focus-visible{outline:2px solid var(--green);outline-offset:2px;border-radius:4px}.gt-btn{font:700 14px var(--body);border:1px solid var(--line);background:var(--surface);color:var(--text);padding:9px 16px;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:7px;line-height:1}.gt-btn:hover{border-color:var(--green);color:var(--green)}.gt-btn-primary{background:var(--green);border-color:var(--green);color:#08130c}.gt-btn-primary:hover{background:var(--deepgreen);border-color:var(--deepgreen);color:#eafff3}.gt-grid{display:grid;grid-template-columns:234px minmax(0,1fr);gap:52px;align-items:start;max-width:1120px;margin:0 auto;padding:0 24px}.gt-rail{position:sticky;top:80px;max-height:calc(100vh - 100px);overflow:auto}.gt-rail-mobile{display:none}.toc-link{display:flex;gap:10px;align-items:baseline;padding:5px 0 5px 14px;border-left:2px solid var(--line);color:var(--muted);text-decoration:none;font:600 14px var(--body);line-height:1.3}.toc-link:hover{color:var(--text)}.toc-link.active{color:var(--green);border-left-color:var(--green);font-weight:800}.toc-link .tn{font:700 11.5px var(--body);min-width:20px;opacity:.7}.toc-link.alert.active{color:var(--red);border-left-color:var(--red)}.gt-page .olnum:before{content:counter(oli)}@media(max-width:900px){.gt-grid{grid-template-columns:1fr;gap:0;padding:0 18px}.gt-rail{display:none}.gt-rail-mobile{display:block}}@media print{.gt-page,.gt-page[data-theme=dark]{--bg:#ffffff !important;--surface:#f5f5f5 !important;--text:#171717 !important;--muted:#585858 !important;--line:#dedede !important;--red:#AB2323 !important;background:#fff!important;color:#171717!important}.no-print{display:none!important}.gt-grid{display:block!important;padding:0!important;max-width:none!important}.gt-page section,.gt-page .keep{break-inside:avoid}.gt-page h1,.gt-page h2,.gt-page h3,.gt-page .sec-head{break-after:avoid}.gt-page a{color:#171717!important}.gt-page a[href^=http]:after{content:" (" attr(href) ")";font:400 11px var(--body);color:#585858;word-break:break-all}@page{margin:18mm}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.gt-page .gt-rail{top:74px;max-height:calc(100vh - 96px)}.gt-page .gt-grid{padding:0}.gt-page>div[style*=max-width]{padding-left:0;padding-right:0}@media(max-width:900px){.gt-page .gt-grid{padding:0}}.register-workspace{display:grid;gap:20px}.register-intro{padding:24px}.register-intro h2,.register-card h3{margin:0 0 8px}.register-filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:12px}.register-filters label{display:grid;gap:6px}.register-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:18px}.register-card{padding:22px;min-width:0;overflow-wrap:anywhere}.register-card-heading{display:flex;align-items:start;justify-content:space-between;gap:12px}.register-card-heading .button{flex-shrink:0}.register-card details{margin-top:18px}.register-card summary{cursor:pointer;padding:8px 0}.register-next{border-left:3px solid var(--accent, #03bf64);padding:12px;margin:14px 0;background:var(--surface)}.register-next.overdue{border-color:#d38237}.register-next p{margin:6px 0 0}.register-text{white-space:pre-wrap}.register-choices{display:flex;flex-wrap:wrap;gap:12px;border:1px solid var(--border);border-radius:12px;padding:14px}.register-choices label{display:flex;align-items:center;gap:8px}.register-workspace input[type=checkbox]{width:auto}.register-workspace .programme-actions{flex-wrap:wrap}@media(max-width:650px){.register-filters{grid-template-columns:1fr 1fr}.register-card-heading{flex-direction:column}.register-intro,.register-card{padding:18px}}.programme-intro,.programme-card{padding:24px;margin-bottom:20px}.programme-intro p{margin:12px 0}.programme-actions,.programme-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.programme-actions{justify-content:flex-start;margin:20px 0}.programme-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px;margin:24px 0}.programme-filters label,.programme-link-form label{display:flex;flex-direction:column;gap:8px;font-size:13px}.programme-topics{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.programme-topics span{border:1px solid var(--border);border-radius:20px;padding:4px 10px;font-size:12px}.programme-preparation{margin:20px 0}.programme-preparation p{margin:8px 0}.programme-edition{border-top:1px solid var(--border);padding-top:20px;margin-top:20px}.programme-task-list{padding:0;list-style:none}.programme-task-list li{display:flex;gap:16px;justify-content:space-between;align-items:center;padding:8px 0}.programme-task-list button{text-align:left}.programme-task-list .status-badge{flex-shrink:0}.programme-link-form{display:grid;gap:20px}.programme-link-form select{max-width:100%}@media(max-width:700px){.programme-filters{grid-template-columns:1fr}.programme-intro,.programme-card{padding:16px}.programme-task-list li{align-items:flex-start;flex-wrap:wrap}}.programme-workspace{min-width:0;overflow-wrap:anywhere}.programme-workspace .text-button{white-space:normal;overflow-wrap:anywhere;max-width:100%;text-align:left}.programme-tabs{display:inline-flex;gap:4px;padding:5px;background:var(--surface-sunk);border:1px solid var(--line);border-radius:14px;margin-bottom:28px;max-width:100%}.programme-tabs .button{background:transparent;border-color:transparent;box-shadow:none;color:var(--muted);min-height:40px}.programme-tabs .button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 2px 8px #0003;border-color:var(--line-strong)}.programme-intro{background:transparent;border:0;box-shadow:none;padding:0;margin-bottom:28px;max-width:850px}.programme-intro h2{font-size:28px;letter-spacing:-.04em}.programme-intro>p{color:var(--ink-soft);max-width:680px}.programme-tools{font-size:13px;color:var(--muted);margin-top:12px}.programme-tools summary{cursor:pointer;color:var(--ink-soft)}.programme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(310px,100%),1fr));gap:20px;align-items:start;margin:20px 0 32px}.programme-grid>.programme-card{margin:0;padding:0;overflow:hidden;min-width:0}.programme-disclosure>summary{list-style:none;cursor:pointer;padding:26px;display:flex;flex-direction:column;gap:16px;min-height:230px}.programme-disclosure>summary::-webkit-details-marker{display:none}.programme-disclosure>summary:hover{background:#ffffff03}.programme-disclosure>summary h2{font-size:22px;line-height:1.3;letter-spacing:-.035em}.programme-eyebrow{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.programme-preview{font-size:14px;color:var(--ink-soft);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.programme-card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--muted);margin-top:auto}.programme-state{padding:5px 9px;border-radius:7px;background:var(--surface-sunk);color:var(--ink-soft)}.programme-open-hint{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:16px;color:var(--green-bright);font-size:13px}.programme-disclosure[open]{grid-column:1/-1}.programme-disclosure[open]>summary{min-height:0;background:var(--surface-sunk)}.programme-disclosure[open] .programme-open-hint{display:none}.programme-detail{padding:26px;max-width:1000px}.programme-detail>p{margin:14px 0;color:var(--ink-soft)}.programme-filters{padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:18px;gap:18px}.programme-filters label{color:var(--muted);font-size:12px}.programme-edition{padding:22px;background:var(--bg);border:1px solid var(--line);border-radius:16px;margin-top:16px}.programme-projects>summary{cursor:pointer;font-size:18px;margin:24px 0}.programme-projects>summary span{margin-left:10px;font-size:13px}@media(max-width:700px){.programme-tabs{display:flex}.programme-tabs .button{flex:1;font-size:13px;padding:8px}.programme-intro h2{font-size:25px}.programme-disclosure>summary,.programme-detail{padding:20px}.programme-edition{padding:16px}.programme-filters{gap:12px}.programme-grid{gap:14px}}.programme-workspace>.programme-intro{background:transparent;border:0;box-shadow:none;padding:0;max-width:none}.programme-state{text-transform:capitalize}.course-editor{max-width:760px}.course-editor label{text-transform:capitalize}.course-editor textarea{min-height:90px}.course-text{margin:20px 0}.course-text h3{text-transform:capitalize}.course-text p{white-space:pre-wrap;margin-top:8px}.registration-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px 0;border-top:1px solid var(--line)}.registration-row input[type=checkbox]{width:auto;margin-right:8px}@media(max-width:540px){.registration-row{grid-template-columns:1fr}}.modal.course-editor{width:min(760px,calc(100vw - 28px))}.course-editor input[type=number],.course-editor input[type=time]{width:100%;padding:10px 12px;border:1px solid var(--line-strong);background:var(--surface);border-radius:11px;min-width:0}.course-editor .modal-actions{position:sticky;bottom:-24px;background:var(--surface);padding:16px 0;margin-top:12px;z-index:1}.course-editor .field-pair>label{min-width:0}:root{color-scheme:dark;--green: #03bf64;--green-bright: #19d97a;--green-deep: #029950;--green-soft: #0e2f20;--on-green: #08130d;--orange: #ec9f48;--orange-soft: #2f2414;--red: #e2555b;--red-soft: #351a1c;--mark: #029950;--mark-neutral: #7d8a84;--mark-late: #e2555b;--bg: #101311;--surface: #181c1a;--surface-sunk: #1f2422;--line: #272d2a;--line-strong: #363d39;--ink: #eaefec;--ink-soft: #b8c1bc;--muted: #89928d;--radius: 14px;--radius-sm: 10px;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 10px 28px -18px rgba(0, 0, 0, .9);--shadow-lift: 0 4px 10px rgba(0, 0, 0, .5), 0 22px 48px -20px rgba(0, 0, 0, .95);--font: "Nunito", "Segoe UI", system-ui, -apple-system, sans-serif;--font-heading: "Fredoka", "Trebuchet MS", "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);font-size:15px;line-height:1.5;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0;font-family:var(--font-heading);font-weight:600;letter-spacing:-.005em}p{margin:0}button,input,textarea,select{font:inherit;color:inherit}a{color:var(--green-bright)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}:focus-visible{outline:2px solid var(--green);outline-offset:2px;border-radius:4px}.button{display:inline-flex;align-items:center;gap:7px;justify-content:center;padding:9px 14px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-weight:500;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .12s ease}.button:hover:not(:disabled){background:var(--surface-sunk)}.button:active:not(:disabled){transform:translateY(1px)}.button:disabled{opacity:.55;cursor:not-allowed}.button.primary{background:var(--green);border-color:var(--green);color:var(--on-green);font-weight:700}.button.primary:hover:not(:disabled){background:var(--green-bright);border-color:var(--green-bright)}.button.danger{color:var(--red);border-color:#4a2a2c}.button.danger:hover:not(:disabled){background:var(--red-soft)}.button.wide{width:100%}.button.small-button{padding:6px 11px;font-size:13.5px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--ink-soft);cursor:pointer;transition:background .12s ease,color .12s ease}.icon-button:hover{background:var(--surface-sunk);color:var(--ink)}.icon-button.active{background:var(--green-soft);color:var(--green-bright)}.text-button{border:0;background:none;padding:6px 2px;color:var(--green-deep);font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.text-button:hover{text-decoration:underline}.text-button.muted{color:var(--muted)}input:not([type]),input[type=text],input[type=email],input[type=password],input[type=url],input[type=date],input[type=search],select,textarea{width:100%;padding:9px 11px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);outline-offset:1px}input:focus,select:focus,textarea:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px var(--green-soft)}textarea{resize:vertical;min-height:78px}label{display:block;font-size:13px;font-weight:500;color:var(--ink-soft)}label input,label select,label textarea{margin-top:5px;font-weight:400;color:var(--ink)}.avatar{display:inline-flex;align-items:center;justify-content:center;flex:none;width:30px;height:30px;border-radius:50%;overflow:hidden;font-size:11.5px;font-weight:600;color:var(--ink-soft);letter-spacing:.02em;border:1px solid rgba(255,255,255,.09)}.avatar img{width:100%;height:100%;object-fit:cover}.avatar.small{width:23px;height:23px;font-size:9.5px}.avatar-stack{display:inline-flex}.avatar-stack .avatar+.avatar{margin-left:-8px}.status-badge,.priority-badge,.due-date,.chip{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;padding:3px 9px;border-radius:999px;font-size:12.5px;font-weight:500;background:var(--surface-sunk);color:var(--ink-soft)}.status-badge.backlog{background:#20251f;color:var(--muted)}.status-badge.to-do{background:#252b28;color:var(--ink-soft)}.status-badge.done{background:var(--green);color:var(--on-green);font-weight:700}.priority-badge.low{color:var(--muted)}.priority-badge.medium{background:var(--orange-soft);color:var(--orange-ink)}.priority-badge.high{background:var(--red-soft);color:var(--red)}.due-date{background:transparent;padding:3px 0;color:var(--muted);font-size:12.5px}.due-date.late{color:var(--red);font-weight:700}.chip{background:var(--green-soft);color:var(--green-bright)}.chip button{border:0;background:none;padding:0;cursor:pointer;color:inherit;display:inline-flex}.board-dot{width:8px;height:8px;border-radius:50%;flex:none}.empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;padding:44px 20px;text-align:center;color:var(--muted)}.empty-state svg{color:var(--line-strong)}.empty-state h3{font-size:15.5px;color:var(--ink-soft)}.empty-state p{max-width:42ch;font-size:13.5px}.app{display:flex;min-height:100%}.sidebar{position:sticky;top:0;align-self:flex-start;display:flex;flex-direction:column;gap:4px;flex:none;width:248px;height:100vh;padding:18px 14px;background:var(--surface);border-right:1px solid var(--line);overflow-y:auto}.brand{display:flex;align-items:center;gap:9px;padding:4px 8px 18px}.brand span{font-family:var(--font-heading);font-size:18px;font-weight:400;color:var(--green-bright);letter-spacing:-.01em}.brand span b{font-weight:600;color:var(--ink)}.nav-label{padding:16px 10px 6px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;border-radius:var(--radius-sm);background:none;color:var(--ink-soft);font-size:14.5px;text-align:left;cursor:pointer}.nav-item:hover{background:var(--surface-sunk);color:var(--ink)}.nav-item:disabled{opacity:.55;cursor:default}.nav-item:disabled:hover{background:none}.nav-item.active{background:var(--green-soft);color:var(--green-deep);font-weight:700}.nav-item .count{margin-left:auto;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.nav-item.active .count{color:var(--green-bright)}.nav-item .count.urgent{color:var(--red);font-weight:700}.sidebar-footer{margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}.who{display:flex;align-items:center;gap:9px;padding:6px 4px 10px}.who strong{display:block;font-size:13.5px;font-weight:600}.who span{font-size:12px;color:var(--muted)}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:12px;padding:14px 24px;background:#101311db;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.topbar h1{font-size:19px}.topbar .subtitle{font-size:13px;color:var(--muted)}.topbar-title{min-width:0}.topbar-title h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-spacer{flex:1}.search{position:relative;width:min(300px,40vw)}.search svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--muted)}.search input{padding-left:32px;background:var(--surface)}.menu-button{display:none}.content{padding:22px 24px 64px}.section{margin-bottom:26px}.section-head{display:flex;align-items:center;gap:9px;margin-bottom:10px}.section-head h2{font-size:14px;letter-spacing:.01em}.section-head .tally{min-width:21px;padding:1px 7px;border-radius:999px;background:var(--surface-sunk);font-size:12px;font-weight:600;color:var(--muted);text-align:center}.section.alert .section-head h2{color:var(--red)}.section.alert .tally{background:var(--red-soft);color:var(--red)}.rows{display:flex;flex-direction:column;gap:7px}.task-row{display:flex;align-items:center;gap:12px;width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);text-align:left;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease}.task-row:hover{border-color:var(--line-strong);box-shadow:var(--shadow)}.task-row.late{border-left:3px solid var(--red)}.task-row .tick{flex:none;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:1.5px solid var(--line-strong);border-radius:50%;background:var(--surface);color:transparent;cursor:pointer}.task-row .tick:hover{border-color:var(--green);color:var(--green)}.task-row .body{flex:1;min-width:0}.task-row .title{display:block;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-row.finished .title{color:var(--muted);text-decoration:line-through}.task-row .meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:3px;font-size:12.5px;color:var(--muted)}.task-row .meta .where{display:inline-flex;align-items:center;gap:5px}.task-row .trail{display:flex;align-items:center;gap:8px;flex:none}.board{display:flex;gap:14px;align-items:flex-start;overflow-x:auto;padding-bottom:12px}.column{display:flex;flex-direction:column;gap:9px;flex:none;width:270px;padding:11px;border-radius:var(--radius);background:var(--surface-sunk);border:1px solid transparent;transition:background .12s ease,border-color .12s ease}.column.over{background:var(--green-soft);border-color:var(--green)}.column-head{display:flex;align-items:center;gap:8px;padding:2px 4px}.column-head h2{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft)}.column-head .tally{margin-left:auto;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.column-cards{display:flex;flex-direction:column;gap:8px;min-height:12px}.card{display:flex;flex-direction:column;gap:7px;padding:11px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);box-shadow:0 1px 2px #00000059;cursor:pointer}.card:hover{border-color:var(--line-strong)}.card.dragging{opacity:.4}.card.floating{box-shadow:var(--shadow-lift);transform:rotate(1.5deg);cursor:grabbing}.card .card-title{font-weight:500;line-height:1.35}.card .card-tags{display:flex;flex-wrap:wrap;gap:5px}.card .card-foot{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--muted)}.card .card-foot .spacer{flex:1}.card .grip{display:inline-flex;color:var(--line-strong);cursor:grab;touch-action:none}.card .grip:active{cursor:grabbing}.card-progress{display:inline-flex;align-items:center;gap:5px;font-variant-numeric:tabular-nums}.quick-add{display:flex;gap:6px}.quick-add input{flex:1;min-width:0;padding:7px 10px;font-size:13.5px;background:var(--surface)}.column .add-button{display:flex;align-items:center;gap:7px;width:100%;padding:7px 10px;border:0;border-radius:var(--radius-sm);background:none;color:var(--muted);font-size:13.5px;text-align:left;cursor:pointer}.column .add-button:hover{background:#ffffff0f;color:var(--ink)}.people-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(288px,1fr))}.person-card{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.person-head{display:flex;align-items:center;gap:11px}.person-head strong{display:block;font-size:15px}.person-head span{font-size:12.5px;color:var(--muted)}.person-link{width:100%;margin:-4px -6px 0;padding:4px 6px;border:0;border-radius:var(--radius-sm);background:none;text-align:left;color:inherit;font:inherit;cursor:pointer}.person-link:hover{background:var(--surface-sunk)}.person-link:hover strong{text-decoration:underline}.person-link:focus-visible{outline:2px solid var(--green);outline-offset:1px}.person-stats{display:flex;gap:8px;flex-wrap:wrap}.stat{flex:1;min-width:74px;padding:8px 10px;border-radius:var(--radius-sm);background:var(--surface-sunk);text-align:center}.stat b{display:block;font-size:18px;font-variant-numeric:tabular-nums}.stat span{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.stat.alert{background:var(--red-soft)}.stat.alert b{color:var(--red)}.person-tasks{display:flex;flex-direction:column;gap:2px}.person-task{display:flex;align-items:center;gap:9px;width:100%;padding:7px 8px;border:0;border-radius:var(--radius-sm);background:none;font-size:13.5px;text-align:left;cursor:pointer;color:var(--ink-soft)}.person-task:hover{background:var(--surface-sunk);color:var(--ink)}.person-task .name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-card .nothing{font-size:13px;color:var(--muted);padding:4px 8px}.avatar-stack{display:inline-flex;align-items:center}.avatar-stack>*{margin-left:-7px;box-shadow:0 0 0 2px var(--surface)}.avatar-stack>*:first-child{margin-left:0}.avatar-more{font-size:11px;background:var(--surface-sunk);color:var(--ink-soft)}.people-picker{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.person-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:13px;color:var(--ink-soft);cursor:pointer}.person-chip:hover{background:var(--surface-sunk);color:var(--ink)}.person-chip.on{border-color:var(--green);background:var(--green-soft);color:var(--green-deep);font-weight:600}.person-chip:disabled{opacity:.55;cursor:default}.detail-people{display:grid;gap:14px;margin-bottom:16px}.detail-people-label{font-size:13px;font-weight:500;color:var(--ink-soft)}.detail-people-label em{font-style:normal;color:var(--muted);font-weight:400}@media(min-width:620px){.detail-people{grid-template-columns:1fr 1fr}}.modal-overlay{position:fixed;inset:0;background:#000000a8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:40}.modal{position:fixed;z-index:41;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;width:min(560px,calc(100vw - 28px));max-height:min(88vh,900px);overflow-y:auto;padding:20px;border-radius:16px;background:var(--surface);box-shadow:var(--shadow-lift)}.modal.wide{width:min(760px,calc(100vw - 28px))}.modal-top{display:flex;align-items:flex-start;gap:12px;margin-bottom:6px}.modal-top h2{flex:1;font-size:17px;line-height:1.35}.modal-description{margin-bottom:12px;font-size:13.5px;color:var(--muted)}.modal form{display:flex;flex-direction:column;gap:13px;margin-top:10px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.field-pair{display:grid;gap:13px;grid-template-columns:1fr 1fr}.detail-title{flex:1;min-width:0;padding:4px 6px;margin:-4px -6px 2px;border:1px solid transparent;border-radius:var(--radius-sm);background:none;font-size:18px;font-weight:600;letter-spacing:-.01em;line-height:1.35;resize:none;min-height:0;overflow:hidden}.detail-title:hover{border-color:var(--line)}.detail-where{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--muted);margin-bottom:14px}.detail-grid{display:grid;gap:11px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:18px}.detail-grid select,.detail-grid input{padding:7px 9px;font-size:13.5px}.detail-block{padding-top:16px;margin-top:16px;border-top:1px solid var(--line)}.detail-block>h3{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.detail-block>h3 .spacer{flex:1}.tag-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.tag-row input{width:130px;padding:4px 9px;font-size:12.5px;border-radius:999px}.checklist{display:flex;flex-direction:column;gap:3px}.check-item{display:flex;align-items:center;gap:9px;padding:5px 6px;border-radius:var(--radius-sm)}.check-item:hover{background:var(--surface-sunk)}.check-item input[type=checkbox]{width:16px;height:16px;flex:none;accent-color:var(--green);margin:0}.check-item span{flex:1;font-size:14px}.check-item.done span{color:var(--muted);text-decoration:line-through}.check-item .icon-button{width:26px;height:26px;opacity:0}.check-item:hover .icon-button{opacity:1}.progress-track{height:5px;border-radius:999px;background:var(--surface-sunk);overflow:hidden;margin-bottom:9px}.progress-fill{height:100%;background:var(--green);border-radius:999px;transition:width .2s ease}.comment{display:flex;gap:10px;padding:9px 0}.comment .bubble{flex:1;min-width:0}.comment .who-line{display:flex;align-items:baseline;gap:8px;font-size:13px}.comment .who-line strong{font-weight:600}.comment .who-line time{font-size:11.5px;color:var(--muted)}.comment p{font-size:14px;color:var(--ink-soft);white-space:pre-wrap;word-break:break-word}.comment-form{display:flex;flex-direction:column;gap:8px;margin-top:10px}.comment-form .modal-actions{margin-top:0;align-items:center}.comment .who-line .edited{font-size:11.5px;color:var(--muted);font-style:italic}.comment .comment-edit{margin-left:auto;font-size:12px;opacity:0;transition:opacity .15s}.comment:hover .comment-edit,.comment .comment-edit:focus-visible{opacity:1}@media(hover:none){.comment .comment-edit{opacity:1}}.comment-hint{margin-right:auto;font-size:12.5px;color:var(--muted)}.mention{color:var(--green-bright);font-weight:700;background:var(--green-soft);border-radius:5px;padding:0 3px}.mention-box{position:relative}.mention-box textarea{width:100%}.mention-menu{position:absolute;left:0;bottom:calc(100% + 6px);z-index:5;min-width:220px;display:flex;flex-direction:column;padding:5px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-lift)}.mention-menu button{display:flex;align-items:center;gap:8px;padding:7px 9px;border:0;border-radius:7px;background:none;text-align:left;cursor:pointer;font-size:14px}.mention-menu button.on,.mention-menu button:hover{background:var(--green-soft);color:var(--green-bright)}.giiyo{display:block;object-fit:contain;-webkit-user-select:none;user-select:none}.empty-state .giiyo{margin-bottom:2px}.attachment{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:6px}.attachment .name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;color:var(--ink);text-decoration:none}.attachment .name:hover{color:var(--green-bright);text-decoration:underline}.attachment>svg{color:var(--muted);flex:none}.attachment .size{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.link-add{display:flex;gap:6px;margin-top:8px}.link-add input{padding:7px 10px;font-size:13.5px}.link-add input:first-child{flex:0 0 34%}.link-add input:nth-child(2){flex:1;min-width:0}.activity-list{display:flex;flex-direction:column;gap:7px;font-size:13px;color:var(--muted)}.activity-list li{display:flex;gap:8px;align-items:baseline}.activity-list{list-style:none;padding:0;margin:0}.detail-foot{display:flex;align-items:center;gap:8px;padding-top:16px;margin-top:16px;border-top:1px solid var(--line)}.detail-foot .spacer{flex:1}.results{display:flex;flex-direction:column;gap:6px;max-height:56vh;overflow-y:auto;margin-top:10px}.editor{border:1px solid var(--line-strong);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.editor-toolbar{display:flex;flex-wrap:wrap;gap:2px;padding:5px;border-bottom:1px solid var(--line);background:var(--surface-sunk)}.url-entry{display:flex;align-items:center;gap:6px;padding:7px 8px;border-bottom:1px solid var(--line)}.url-entry input{flex:1;padding:6px 9px;font-size:13.5px}.url-entry span{font-size:12.5px;color:var(--red)}.table-tools{display:flex;flex-wrap:wrap;gap:5px;padding:6px 8px;border-bottom:1px solid var(--line)}.table-tools button{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);font-size:12.5px;cursor:pointer}.table-tools button:hover{background:var(--surface-sunk)}.editor-actions{display:flex;gap:7px;padding:9px;border-top:1px solid var(--line);background:var(--surface-sunk)}.rich-content{padding:13px 15px;min-height:110px;outline:none;font-size:14.5px;color:var(--ink-soft)}.rich-content:focus{outline:none}.rich-content>*+*{margin-top:10px}.rich-content h1,.rich-content h2,.rich-content h3{color:var(--ink);line-height:1.3}.rich-content h2{font-size:16px}.rich-content h3{font-size:14.5px}.rich-content ul,.rich-content ol{padding-left:22px}.rich-content li+li{margin-top:4px}.rich-content blockquote{padding:3px 0 3px 13px;border-left:3px solid var(--green);color:var(--ink-soft)}.rich-content code{padding:1px 5px;border-radius:4px;background:var(--surface-sunk);font-size:.92em}.rich-content pre{padding:11px 13px;border-radius:var(--radius-sm);background:var(--surface-sunk);overflow-x:auto}.rich-content pre code{padding:0;background:none}.rich-content img{max-width:100%;border-radius:var(--radius-sm)}.rich-content table{border-collapse:collapse;width:100%;font-size:13.5px}.rich-content th,.rich-content td{border:1px solid var(--line-strong);padding:6px 9px;text-align:left}.rich-content th{background:var(--surface-sunk);font-weight:600}.rich-content p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;height:0;color:var(--muted);pointer-events:none}.read-only-description .rich-content{padding:0;min-height:0}.auth-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;min-height:100vh;padding:30px 18px;background:var(--bg)}.auth-brand{display:flex;align-items:center;justify-content:center}.auth-brand img{width:260px;height:auto}.auth-form{width:min(400px,100%);padding:28px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}.auth-form .eyebrow{font-size:11px;font-weight:600;letter-spacing:.1em;color:var(--muted)}.auth-form h1{margin:8px 0 6px;font-size:23px}.auth-form>p{color:var(--muted);font-size:14px}.auth-form form{display:flex;flex-direction:column;gap:13px;margin:20px 0 14px}.form-message{font-size:13px;color:var(--orange-ink)}.auth-footer{font-size:12.5px;color:var(--muted)}.centre{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:100vh;color:var(--muted)}@media(max-width:860px){.sidebar{position:fixed;z-index:30;top:0;left:0;width:264px;height:100vh;height:100dvh;padding-bottom:calc(18px + env(safe-area-inset-bottom));transform:translate(-100%);transition:transform .18s ease;box-shadow:var(--shadow-lift)}.sidebar.open{transform:none}.scrim{position:fixed;inset:0;z-index:29;background:#0009;border:0}.menu-button{display:inline-flex}.topbar{flex-wrap:wrap;gap:9px;padding:9px 12px}.topbar h1{font-size:17px}.topbar .subtitle{display:none}.content{padding:14px 12px calc(56px + env(safe-area-inset-bottom))}.search{order:10;flex:1 1 100%;width:auto}.search input{padding-top:7px;padding-bottom:7px}.button-label{display:none}.field-pair{grid-template-columns:1fr}input:not([type]),input[type=text],input[type=email],input[type=password],input[type=url],input[type=date],input[type=search],select,textarea,.detail-grid select,.detail-grid input,.quick-add input,.link-add input,.url-entry input,.tag-row input{font-size:16px}.tag-row input{width:150px}.nav-item{min-height:44px}.icon-button{width:40px;height:40px}.button{min-height:40px}.button.small-button{min-height:36px}.person-task{min-height:44px}.column .add-button{min-height:42px}.text-button{padding:10px 2px}.task-row .tick{position:relative}.task-row .tick:after{content:"";position:absolute;inset:-11px}.check-item{padding:9px 6px}.check-item input[type=checkbox]{width:20px;height:20px}.check-item .icon-button{width:32px;height:32px}.task-row{flex-wrap:wrap;row-gap:8px}.task-row .body{flex:1 1 160px}.task-row .title{white-space:normal}.task-row .trail{flex:1 1 100%;justify-content:flex-start;margin-left:34px;flex-wrap:wrap}.section-head{flex-wrap:wrap;row-gap:8px}.section-head .topbar-spacer{display:none}.detail-grid{grid-template-columns:1fr 1fr}.detail-title{font-size:17px}.editor-toolbar,.table-tools{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.editor-toolbar::-webkit-scrollbar,.table-tools::-webkit-scrollbar{display:none}.editor-toolbar .icon-button{width:36px;height:36px;flex:none}.table-tools button{flex:none}}@media(max-width:760px){.board{flex-direction:column;gap:12px;overflow-x:visible}.column{width:100%}.column-cards{min-height:6px}.modal,.modal.wide{top:auto;bottom:0;left:0;transform:none;width:100%;max-width:100%;max-height:92vh;max-height:92dvh;overscroll-behavior:contain;border-radius:18px 18px 0 0;padding:16px 14px calc(18px + env(safe-area-inset-bottom))}.results{max-height:60vh}}@media(max-width:430px){.detail-grid{grid-template-columns:1fr}.people-grid{grid-template-columns:minmax(0,1fr)}}@media(hover:none){.check-item .icon-button{opacity:1}}.month-bar{display:flex;align-items:center;gap:4px;margin-bottom:18px}.month-bar strong{font-family:var(--font-heading);font-size:15px;min-width:11ch;text-align:center}.panel{padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.dash-note{font-size:13.5px;color:var(--ink-soft)}.dash-note b{color:var(--ink)}.tiles{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:12px}.tile{display:flex;flex-direction:column;gap:2px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.tile-top{color:var(--muted)}.tile b{font-size:26px;font-weight:700;line-height:1.1}.tile>span:last-child{font-size:12.5px;color:var(--muted)}.hero{display:flex;align-items:baseline;gap:10px;margin-bottom:16px}.hero b{font-size:40px;font-weight:800;line-height:1}.hero span{font-size:14px;color:var(--ink-soft)}.weeks{display:flex;align-items:flex-end;gap:10px;height:132px;margin-bottom:18px}.week{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;height:100%}.week-value{font-size:12px;font-variant-numeric:tabular-nums;color:var(--ink-soft);min-height:15px}.week-track{flex:1;width:100%;display:flex;align-items:flex-end;border-bottom:1px solid var(--line)}.week-bar{width:100%;max-width:44px;margin:0 auto;background:var(--mark);border-radius:4px 4px 0 0;transition:opacity .12s ease}.week:hover .week-bar{opacity:.82}.week-label{font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums}.week-tip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);z-index:3;margin-bottom:6px;padding:5px 9px;white-space:nowrap;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-sunk);color:var(--ink);font-size:12px;box-shadow:var(--shadow)}.legend{display:flex;gap:14px;margin-bottom:12px;font-size:12.5px;color:var(--ink-soft)}.legend span{display:inline-flex;align-items:center;gap:6px}.swatch{width:10px;height:10px;border-radius:3px;flex:none}.load-rows{display:flex;flex-direction:column;gap:9px}.load-row{display:grid;grid-template-columns:8ch 1fr auto;align-items:center;gap:10px}.who-name{font-size:13.5px;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.load-track{min-width:0}.load-bar{display:flex;gap:2px;height:16px;min-width:3px}.load-bar .seg{height:100%}.load-bar .seg:first-child{border-radius:4px 0 0 4px}.load-bar .seg:last-child{border-radius:0 4px 4px 0}.load-bar .seg:only-child{border-radius:4px}.seg.on-track{background:var(--mark-neutral)}.seg.late{background:var(--mark-late)}.load-none{font-size:12.5px;color:var(--muted);font-style:italic}.load-count{font-size:13px;color:var(--ink-soft);font-variant-numeric:tabular-nums}.load-count .late-count{color:var(--red);font-weight:700}.callout{display:flex;align-items:flex-start;gap:9px;margin-top:14px;padding:11px 13px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-sunk);font-size:13.5px;color:var(--ink-soft)}.callout svg{flex:none;margin-top:2px;color:var(--orange)}.credited{display:flex;flex-direction:column;gap:10px}.credited .avatar-stack{gap:6px}.credited .avatar-stack>*{margin-left:0;box-shadow:none}@media(max-width:860px){.load-row{grid-template-columns:7ch 1fr auto;gap:8px}.weeks{gap:6px;height:118px}.hero b{font-size:34px}}.not-a-person{align-self:flex-start;margin-top:2px;font-size:12.5px}.account-rows{display:flex;flex-direction:column;gap:8px}.account-row{display:flex;align-items:center;gap:11px;padding:11px 13px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.account-who{flex:1;min-width:0}.account-who strong{display:block;font-size:14px}.account-who span{font-size:12.5px;color:var(--muted)}@media(max-width:560px){.account-row{flex-wrap:wrap}.account-row .button{width:100%}}.recap-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.check-result{margin-top:12px;padding:11px 13px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-sunk);font-size:13px}.check-result p{margin-bottom:4px;color:var(--ink-soft)}.check-result p.ok{color:var(--green-bright)}.check-result p.bad{color:var(--red)}.check-result pre{margin-top:8px;padding:9px;border-radius:var(--radius-sm);background:var(--bg);font-size:12px;color:var(--muted);overflow-x:auto}:root{--font-heading: var(--font);--radius: 12px;--surface: #191e1c;--line: #2d3530;--muted: #a0aba4}.sidebar{width:252px;flex-shrink:0;padding:24px 16px 16px}.brand{margin-bottom:20px}.sidebar nav{display:grid;gap:3px}.nav-label{padding:0;margin:20px 12px 7px;font-size:10px;letter-spacing:.13em;font-weight:700}.nav-item{min-height:40px;font-size:14px;padding:9px 12px}.nav-item.active{color:var(--green-bright)}.nav-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-children{margin:3px 0 6px 20px;padding-left:9px;border-left:1px solid var(--line-strong)}.nav-children .nav-item{font-size:13px;min-height:35px;padding:7px 9px}.nav-disclosure.section-active{color:var(--ink)}.nav-secondary{color:var(--muted)}.sidebar-footer{margin-top:24px}.topbar{min-height:88px;padding:20px 32px;background:var(--bg)}.topbar h1{font-size:24px;letter-spacing:-.035em}.topbar .subtitle{margin-top:3px}.content{padding:28px 32px 64px;max-width:1560px;width:100%;margin:0 auto}h2{font-size:19px;letter-spacing:-.02em}.section-head{margin-bottom:14px}.section-head h2{font-weight:700}.rows{border-radius:12px}.task-row{padding-top:15px;padding-bottom:15px}.view-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px;flex-wrap:wrap}.filter-search{display:grid;gap:8px;max-width:380px;width:100%;font-size:13px;color:var(--ink-soft)}.team-search{margin-bottom:24px}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:18px}.project-tile{border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:24px;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:12px;transition:border-color .15s}.project-tile:hover{border-color:var(--green)}.project-tile-heading,.project-counts{display:flex;align-items:center;justify-content:space-between;gap:12px}.project-tile-heading{color:var(--muted);margin-bottom:8px}.project-tile p{color:var(--ink-soft);font-size:14px;min-height:42px}.project-tile .project-counts{margin-top:auto;padding-top:14px;font-size:13px}.project-tile progress{width:100%;height:5px;border:0;border-radius:6px;overflow:hidden;background:var(--line);accent-color:var(--green)}.project-tile progress::-webkit-progress-bar{background:var(--line)}.project-tile progress::-webkit-progress-value{background:var(--green)}.project-tile>.muted{font-size:12px}.setup-panel,.access-intro{padding:28px;display:grid;gap:16px}.setup-panel{max-width:760px}.setup-panel .button{justify-self:start}.access-legend{display:flex;flex-wrap:wrap;gap:16px 28px;color:var(--muted);font-size:13px}.access-legend strong{display:block;color:var(--ink);margin-bottom:3px}.access-workspace>.view-toolbar{margin-top:26px}.access-list{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--surface)}.access-row{padding:20px;display:grid;grid-template-columns:minmax(180px,1.4fr) 90px minmax(140px,1fr) minmax(150px,1fr);align-items:center;gap:20px}.access-row+.access-row{border-top:1px solid var(--line)}.access-person{display:flex;align-items:center;gap:12px;min-width:0}.access-person span:not(.avatar){display:block;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.role-pill{border-radius:20px;padding:5px 10px;font-size:12px;background:var(--surface-sunk);justify-self:start}.role-pill.owner{background:var(--green-soft);color:var(--green-bright)}.roster-setting{font-size:11px;color:var(--muted)}.roster-setting select{margin-top:5px;font-size:13px}.access-help{margin:16px 0;font-size:13px}.preview-note{font-size:12px;color:var(--orange)}.task-composer{max-width:620px}.composer-fields{border:0;padding:0;margin:0;display:grid;gap:22px;min-width:0}.composer-fields label{margin:0}.task-title-label input{font-size:18px;padding:14px}.field-label{font-size:13px;color:var(--ink-soft);font-weight:600;display:block;margin-bottom:10px}.composer-assignees>.muted{margin-top:10px;font-size:12px}.optional-details{justify-self:start;font-size:13px}.form-error{color:var(--red);font-size:13px;padding:12px 0}.modal-top h2{font-size:23px}.modal-description{margin-bottom:24px}.modal-actions{margin-top:28px;padding-top:18px;border-top:1px solid var(--line)}@media(max-width:1100px){.access-row{grid-template-columns:minmax(140px,1fr) 90px}.roster-setting{grid-column:1}.access-row>.button,.owner-protected{grid-column:2;max-width:100%}}@media(max-width:860px){.sidebar{width:272px;padding:20px 14px}.topbar{min-height:unset;padding:14px 16px}.topbar h1{font-size:20px}.content{padding:22px 16px 60px}.topbar .button-label{display:inline}.sidebar-footer{margin-top:20px}}@media(max-width:540px){.access-row{padding:16px;gap:16px;grid-template-columns:1fr auto}.access-row>.button,.owner-protected{grid-column:1/-1;justify-self:start}.roster-setting{grid-column:1/-1}.project-tile,.access-intro,.setup-panel{padding:20px}.view-toolbar{gap:12px}.view-toolbar>.button{width:100%}.task-composer{padding:22px}.task-title-label input{font-size:16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.work-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:30px}.work-summary>div{border:1px solid var(--line);border-radius:12px;padding:20px;background:var(--surface)}.work-summary strong{display:block;font-size:28px;font-weight:600;letter-spacing:-.04em}.work-summary span{font-size:13px;color:var(--muted)}.work-summary .needs-attention strong{color:var(--orange)}@media(max-width:540px){.work-summary{gap:8px;margin-bottom:24px}.work-summary>div{padding:14px 10px}.work-summary strong{font-size:24px}.work-summary span{font-size:11px}}:root{--font:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--radius:18px;--radius-sm:11px;--shadow:0 2px 8px #00000012,0 12px 32px #0000000a}body{letter-spacing:-.012em}.sidebar{background:linear-gradient(160deg,#1b211dee,#161c19f5);border-right-color:#ffffff09}.brand{font-size:19px;letter-spacing:-.04em}.nav-item{border-radius:11px;transition:background .18s ease,color .18s ease}.nav-item.active{background:#03bf6418}.topbar{background:#101311e8;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom-color:#ffffff09}.topbar h1{font-weight:600;letter-spacing:-.045em}.button{border-radius:11px;min-height:40px;font-weight:500;transition:background .18s ease,box-shadow .18s ease,transform .18s ease}.button:active:not(:disabled){transform:scale(.98)}.button.primary{box-shadow:0 3px 12px #03bf6412}.button:hover:not(:disabled){box-shadow:0 3px 12px #0002}input,select,textarea{border-radius:11px;transition:border-color .18s ease,box-shadow .18s ease}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px #03bf6412}.panel,.project-tile,.person-card,.work-summary>div{border-radius:18px;border-color:#ffffff0d;box-shadow:var(--shadow)}.project-tile:hover{border-color:#03bf6455;box-shadow:0 10px 30px #0002}.work-summary>div{padding:24px;background:linear-gradient(135deg,var(--surface),#191e1c88)}.work-summary strong{font-size:32px;letter-spacing:-.05em;font-weight:500}.rows{border-radius:16px;overflow:hidden}.task-row{transition:background .16s ease}.task-row+.task-row{border-top-color:#ffffff08}.modal{border-radius:22px;box-shadow:0 30px 100px #0007}@media(max-width:540px){.work-summary>div{padding:16px 11px}.work-summary strong{font-size:26px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}:root{color-scheme:light;--bg:#f5f7f6;--surface:#fff;--surface-sunk:#f0f3f1;--ink:#192c23;--ink-soft:#42574b;--muted:#627168;--line:#e0e7e2;--line-strong:#bdccc2;--border:var(--line);--green:#03bf64;--green-bright:#087442;--green-deep:#087442;--green-soft:#e5f5eb;--on-green:#072716;--orange:#965710;--orange-soft:#fff2df;--red:#b3333b;--red-soft:#fff0f0;--mark:#087442;--mark-neutral:#83988b;--mark-late:#b3333b;--radius:14px;--radius-sm:9px;--shadow:0 2px 5px #17302105;--shadow-lift:0 8px 24px #1730210c;--font:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-heading:var(--font)}body{font-size:14px;letter-spacing:-.012em}h1,h2,h3{line-height:1.3}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}.sidebar{width:240px;background:var(--surface);border-right:1px solid var(--line);padding:26px 14px 16px}.brand{padding:0 10px;gap:9px}.brand span{font-size:17px}.brand img{width:30px;height:30px}.brand b{font-weight:500;color:var(--muted)}.nav-item{border-radius:9px;min-height:42px;color:var(--ink-soft);font-weight:500}.nav-item.active{background:var(--green-soft);color:var(--green-deep);font-weight:650}.nav-item:hover{background:var(--surface-sunk)}.nav-label{font-size:10px;color:var(--muted);letter-spacing:.11em;margin-top:24px}.nav-children{margin-left:20px}.sidebar-footer{border-color:var(--line)}.topbar{background:#ffffffed;border-bottom:1px solid var(--line);min-height:94px;padding:22px 36px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.topbar h1{font-size:25px;font-weight:650;letter-spacing:-.04em}.topbar .subtitle{font-size:13px;margin-top:5px}.content{padding:30px 36px 72px;max-width:1500px}.button{border-radius:9px;min-height:40px;padding:9px 15px;font-weight:600;border-color:var(--line);box-shadow:none;gap:7px;font-size:13px}.button.primary{background:var(--green);border-color:var(--green);color:var(--on-green);box-shadow:none}.button.primary:hover:not(:disabled){background:#07ab5c;border-color:#07ab5c;color:#072716}.button:hover:not(:disabled){box-shadow:none}.button.danger{border-color:#efc4c7}input,textarea,select{border-color:var(--line-strong);background:var(--surface);border-radius:9px;min-height:42px}input::placeholder,textarea::placeholder{color:var(--muted)}label{font-size:12px;font-weight:550;color:var(--ink-soft)}input[type=checkbox]{min-height:0;accent-color:var(--green-deep)}a,.text-button{color:var(--green-deep)}.panel,.project-tile,.person-card,.work-summary>div{border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.work-summary>div{background:var(--surface);padding:22px}.task-row+.task-row{border-top-color:var(--line)}.status-badge.backlog,.status-badge.to-do{background:var(--surface-sunk);color:var(--ink-soft)}.project-tile{padding:23px}.project-tile:hover{border-color:var(--line-strong);box-shadow:var(--shadow-lift)}.rows{border:1px solid var(--line);border-radius:12px}.workspace-summary{display:flex;gap:0;margin-bottom:28px;padding:23px 0;border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center}.workspace-summary>div{display:grid;gap:6px;padding:0 36px;border-right:1px solid var(--line)}.workspace-summary>div:first-child{padding-left:0}.workspace-summary>div:last-of-type{border:0}.workspace-summary strong{font-size:29px;line-height:1;font-weight:650;letter-spacing:-.04em}.workspace-summary span{font-size:12px;color:var(--muted)}.view-toolbar{gap:12px;margin-bottom:20px;justify-content:flex-start}.view-toolbar>label{display:grid;gap:7px}.view-toolbar .filter-search{flex:1;max-width:none;min-width:200px}.view-toolbar>.button.primary{margin-left:auto}.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:18px;margin-top:20px}.course-tile{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:23px;min-width:0;transition:border-color .15s,box-shadow .15s}.course-tile:hover{border-color:var(--line-strong);box-shadow:var(--shadow-lift)}.course-tile-top{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px;margin-bottom:20px}.format-label{background:var(--green-soft);color:var(--green-deep);padding:4px 9px;border-radius:6px;font-weight:600}.course-tile h2{font-size:19px;letter-spacing:-.025em;margin-bottom:10px}.course-summary{color:var(--muted);font-size:13px;line-height:1.65;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:24px}.course-tile-meta{margin-top:auto;font-size:12px;color:var(--ink-soft);display:flex;align-items:center;gap:7px;padding-bottom:16px}.status-dot{width:6px;height:6px;background:var(--green);border-radius:50%}.course-tile-actions{display:flex;gap:8px;border-top:1px solid var(--line);padding-top:16px}.course-tile-actions .primary{flex:1}.programme-tools{margin:10px 0;color:var(--muted)}.programme-tools>summary{font-size:12px;list-style:none;display:inline-flex;padding:8px 11px;background:var(--surface);border:1px solid var(--line);border-radius:8px}.programme-tools>summary:after{content:" +";margin-left:14px}.programme-tools[open]>summary:after{content:" −"}.modal{background:var(--surface);border-radius:18px;padding:26px;box-shadow:0 25px 90px #152c2630}.modal-overlay{background:#10271c55;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-top{padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:18px}.modal-top h2{font-size:21px;letter-spacing:-.03em}.modal.course-detail-modal,.modal.record-detail-modal{width:min(850px,calc(100vw - 32px))}.course-detail-modal .programme-detail{padding:0}.course-detail-modal .programme-actions{margin:14px 0}.programme-edition{background:var(--surface-sunk);border:1px solid var(--line);border-radius:12px;padding:20px;margin-top:16px}.programme-edition>p{color:var(--ink-soft);margin-top:7px;font-size:13px}.course-detail-modal h3{font-size:17px}.course-editor label{text-transform:none}.form-section{border:1px solid var(--line);border-radius:10px;padding:0 15px;margin:8px 0}.form-section>summary{padding:15px 0;cursor:pointer;font-weight:600;color:var(--ink)}.form-section[open]{padding-bottom:16px}.form-section[open]>label{display:grid;gap:7px;margin:14px 0}.form-section .field-pair{margin:14px 0}.register-choices{border-color:var(--line);gap:8px;max-height:240px;overflow:auto;margin:14px 0}.register-choices label{padding:6px 9px;border-radius:7px;background:var(--surface-sunk);font-size:12px}.register-choices legend{font-weight:600;padding:0 5px}.register-intro{background:transparent;border:0;box-shadow:none;padding:0;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--muted)}.register-workspace{gap:16px}.register-filters{gap:12px}.register-workspace>.programme-actions{margin:0}.register-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,310px),1fr));gap:16px}.register-card{padding:22px;display:flex;flex-direction:column;gap:9px}.register-card h3{font-size:17px;letter-spacing:-.025em;margin-bottom:0}.register-card-heading{gap:10px}.register-card-heading .button{min-height:32px;padding:5px 10px;font-size:12px}.register-card>p{color:var(--muted);font-size:13px;margin:0}.programme-eyebrow{font-size:10px;color:var(--green-deep);letter-spacing:.07em;text-transform:uppercase;margin-bottom:9px}.register-next{border:1px solid var(--line);border-left:3px solid var(--green);border-radius:8px;padding:12px;margin:4px 0;background:var(--surface-sunk);font-size:12px}.register-next strong{font-weight:550;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.register-next.overdue{background:var(--orange-soft);border-color:#e7c69b}.register-next p{color:var(--ink-soft)}.record-card-footer{display:flex;justify-content:space-between;gap:10px;padding-top:14px;border-top:1px solid var(--line);margin-top:auto;font-size:12px}.record-card-footer .text-button{margin-left:auto}.record-detail{display:grid;gap:13px;margin-top:20px}.record-detail-modal>.button{margin-top:15px}.register-results{color:var(--muted);font-size:12px}.pagination{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:22px;font-size:12px}.access-intro{background:transparent;border:0;box-shadow:none;padding:0}.access-intro h2{display:none}.access-legend{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px;gap:30px}.role-pill.owner{color:var(--green-deep)}.roster-setting select{min-height:36px}.owner-protected{font-size:12px}.access-row{gap:16px}.avatar{color:#fff}@media(min-width:1100px){.register-workspace .register-filters{grid-template-columns:2fr 1fr 1fr 1fr}.search{max-width:220px}}@media(max-width:760px){.sidebar{width:260px}.topbar{padding:18px 16px;min-height:78px;gap:10px}.topbar h1{font-size:21px}.topbar .subtitle{display:none}.content{padding:22px 16px 50px}.workspace-summary{padding:8px 0 20px;gap:20px}.workspace-summary>div{padding:0;border:0;flex:1;min-width:85px}.workspace-summary strong{font-size:24px}.workspace-summary span{font-size:11px}.view-toolbar{gap:10px}.view-toolbar .filter-search{flex-basis:100%}.view-toolbar>label:not(.filter-search){flex:1}.course-grid,.register-grid{grid-template-columns:1fr}.course-tile{padding:20px}.register-card-heading{flex-direction:row}.modal{padding:20px}.field-pair{grid-template-columns:1fr}.access-row{grid-template-columns:1fr auto}.access-legend{gap:16px}.access-legend>span{flex-basis:100%}.course-tile h2{font-size:19px}.register-filters{grid-template-columns:1fr 1fr}.register-filters>label:first-child{grid-column:1/-1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}.who>.avatar{color:#fff;font-size:12px;font-weight:650}.person-roles{display:flex;flex-wrap:wrap;gap:6px;margin:3px 0 8px}.person-roles>span{font-size:11px;font-weight:550;color:var(--green-deep);background:var(--green-soft);border-radius:5px;padding:4px 8px}.course-ideas{margin-top:30px;border-top:1px solid var(--line);padding-top:20px}.course-ideas>summary{cursor:pointer;font-size:15px;font-weight:600;padding:8px 0}.course-ideas>summary span{margin-left:8px;color:var(--muted)}.course-ideas>p{font-size:13px;margin-top:8px}.group-heading{margin:24px 0 8px}.course-detail-modal .programme-tabs{margin:18px 0 12px;flex-wrap:wrap}.programme-tabs span{font-size:11px;margin-left:4px}.workflow-help{background:var(--panel,#fff);border:1px solid var(--line,#dce5e1);border-radius:12px;padding:14px 18px;margin:0 0 18px;line-height:1.6}.workflow-help summary{cursor:pointer;font-weight:600;color:var(--ink,#183b30)}.workflow-help p,.workflow-help ol{max-width:75ch}.workflow-help li,.start-here li{margin:9px 0}.workflow-help ol,.start-here ol{padding-left:24px}.start-here{max-width:900px;line-height:1.65}.start-here h2{margin:24px 0 10px}.start-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}:root{color-scheme:light;--font: "Nunito", "Segoe UI", system-ui, -apple-system, sans-serif;--font-heading: "Fredoka", "Nunito", "Segoe UI", system-ui, sans-serif;--bg: #f7f5ef;--surface: #ffffff;--surface-sunk: #f1eee6;--ink: #1a1a1a;--ink-soft: #454b47;--muted: #6c726e;--line: #ebe6dc;--line-strong: #d8d1c3;--green: #03bf64;--green-deep: #029950;--green-bright: #067a42;--green-soft: #e3f7ec;--green-wash: #f1fbf5;--on-green: #08130d;--orange: #ec9f48;--orange-ink: #98580f;--orange-soft: #fff0dc;--red: #ab2323;--red-soft: #fcebeb;--radius: 16px;--radius-sm: 10px;--shadow: 0 1px 2px rgba(26, 26, 26, .04), 0 4px 14px rgba(26, 26, 26, .05);--shadow-lift: 0 2px 6px rgba(26, 26, 26, .06), 0 14px 32px rgba(26, 26, 26, .09)}body{font-family:var(--font);font-size:14.5px;letter-spacing:0;background:var(--bg);color:var(--ink)}h1,h2,h3,h4,.brand span,.topbar h1{font-family:var(--font-heading);letter-spacing:-.01em}.sidebar{background:var(--surface);border-right:1px solid var(--line)}.brand span{font-size:19px;font-weight:600;color:var(--ink)}.brand b{font-weight:500;color:var(--green-deep)}.nav-label{color:var(--muted);font-family:var(--font);font-weight:800}.nav-item{color:var(--ink-soft);font-weight:600;border-radius:12px}.nav-item:hover{background:var(--green-wash);color:var(--ink)}.nav-item.active{background:var(--green-soft);color:var(--green-bright);font-weight:800;box-shadow:inset 3px 0 0 var(--green)}.nav-item .count{font-weight:700}.nav-item .count.urgent{background:var(--orange);color:#fff;border-radius:999px;min-width:22px;padding:1px 7px;text-align:center}.nav-children{border-left-color:var(--line-strong)}.nav-manage{margin-top:18px;color:var(--muted)}.topbar{background:#f7f5efe0;border-bottom:1px solid transparent;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.topbar h1{font-size:28px;font-weight:600;letter-spacing:-.015em}.topbar .subtitle{color:var(--muted)}.search input{background:var(--surface);border-color:var(--line);border-radius:999px;box-shadow:var(--shadow)}.button{border-radius:12px;font-weight:700;border-color:var(--line-strong);background:var(--surface)}.button.primary{background:var(--green);border-color:var(--green);color:var(--on-green);box-shadow:0 4px 14px #03bf6447}.button.primary:hover:not(:disabled){background:#05cf6d;border-color:#05cf6d;color:var(--on-green);box-shadow:0 6px 18px #03bf6457}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #03bf6429;outline:none}a,.text-button{color:var(--green-bright)}.panel,.project-tile,.person-card,.course-tile,.register-card,.access-list,.access-legend,.tile{border-color:transparent;box-shadow:var(--shadow);border-radius:var(--radius)}.project-tile:hover,.course-tile:hover,.person-card:hover{border-color:transparent;box-shadow:var(--shadow-lift);transform:translateY(-1px)}.project-tile,.course-tile,.person-card{transition:box-shadow .18s ease,transform .18s ease}.modal{border-radius:22px}.section-head h2{font-size:17px;font-weight:600;color:var(--ink);letter-spacing:0}.section-head .tally{background:var(--surface-sunk);color:var(--ink-soft);font-weight:800;border-radius:999px;padding:1px 9px}.section.tone-late .section-head h2{color:var(--red)}.section.tone-late .section-head .tally{background:var(--red-soft);color:var(--red)}.section.tone-today .section-head h2{color:var(--orange-ink)}.section.tone-today .section-head .tally{background:var(--orange-soft);color:var(--orange-ink)}.rows{border:0;background:transparent;display:grid;gap:8px;overflow:visible}.task-row{background:var(--surface);border:0;border-radius:14px;box-shadow:var(--shadow);border-left:4px solid var(--project, var(--line-strong));padding:14px 16px 14px 14px;transition:box-shadow .16s ease,transform .16s ease}.task-row+.task-row{border-top:0}.task-row:hover{box-shadow:var(--shadow-lift);transform:translateY(-1px)}.task-row.late{border-left-color:var(--red);background:linear-gradient(90deg,var(--red-soft),var(--surface) 38%)}.task-row .title{font-weight:700;font-size:15px;color:var(--ink)}.task-row .meta{color:var(--muted);font-size:12.5px}.task-row .tick{width:26px;height:26px;border:2px solid var(--line-strong);background:var(--surface);color:transparent;transition:border-color .15s,background .15s,color .15s,transform .15s}.task-row .tick:hover{border-color:var(--green);color:var(--green);background:var(--green-wash);transform:scale(1.08)}.task-row .tick.done{background:var(--green);border-color:var(--green);color:var(--on-green)}.task-row.finished{opacity:.75}.due-date{font-weight:700}.due-date.late{background:var(--red-soft);color:var(--red);padding:2px 8px;border-radius:999px}.due-date.today{background:var(--orange-soft);color:var(--orange-ink);padding:2px 8px;border-radius:999px}.due-date.soon{color:var(--orange-ink)}.due-date.finished{color:var(--green-bright)}.status-badge{border-radius:999px;font-weight:700}.status-badge.doing{background:var(--orange-soft);color:var(--orange-ink)}.status-badge.review{background:var(--green-soft);color:var(--green-bright)}.status-badge.done{background:var(--green);color:var(--on-green)}.priority-badge.high{background:var(--red-soft);color:var(--red);border-radius:999px;font-weight:700}.card,.task-card{border:0;box-shadow:var(--shadow);border-radius:14px}.card:hover,.task-card:hover{box-shadow:var(--shadow-lift)}.card-title{font-weight:700}.hello{position:relative;overflow:hidden;display:flex;align-items:center;gap:20px;margin-bottom:30px;padding:26px 28px;border-radius:22px;color:#fff;background:radial-gradient(90% 130% at 100% 0%,#14cf75,#03a85a 32%,#027a42 72%,#026a38);box-shadow:0 14px 34px #02995040}.hello:after{content:"";position:absolute;right:-60px;bottom:-80px;width:260px;height:260px;border-radius:50%;background:#ffffff1a;pointer-events:none}.hello.has-late{background:radial-gradient(90% 130% at 100% 0%,#f8c27f 0%,var(--orange) 45%,#e38f33 100%);box-shadow:0 14px 34px #ec9f484d;color:var(--ink)}.hello.has-late h2,.hello.has-late p{color:var(--ink)}.hello.has-late .hello-chip{background:#fff}.hello.has-late .hello-chip.done{background:#1a1a1ad1;color:#fff}.hello-text{flex:1;min-width:0;position:relative;z-index:1}.hello h2{font-size:28px;font-weight:600;color:#fff;letter-spacing:-.01em}.hello p{margin-top:6px;font-size:17px;font-weight:700;color:#ffffffeb}.hello-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.hello-chip{background:#ffffffeb;color:var(--ink);font-size:13px;font-weight:800;padding:5px 12px;border-radius:999px}.hello-chip.late{color:var(--red)}.hello-chip.today{color:var(--orange-ink)}.hello-chip.review{color:var(--green-bright)}.hello-chip.done{background:#1a1a1a2e;color:#fff}.hello-chip.done b{font-size:14px}.hello .giiyo{position:relative;z-index:1;flex:none;margin:-14px -6px -26px 0;filter:drop-shadow(0 8px 14px rgba(0,0,0,.18))}.tile{background:var(--surface)}.tile .tile-top{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:10px;background:var(--green-soft);color:var(--green-bright)}.tiles>.tile:nth-child(2) .tile-top{background:var(--orange-soft);color:var(--orange-ink)}.tile b{font-family:var(--font-heading);font-weight:600}.empty-state h3{font-family:var(--font-heading);font-size:18px;color:var(--ink)}@media(max-width:760px){.topbar h1{font-size:22px}.hello{padding:20px 18px;gap:10px;margin-bottom:22px}.hello h2{font-size:22px}.hello p{font-size:14.5px}.hello{display:block}.hello-text{padding-right:78px}.hello .giiyo{position:absolute;right:2px;top:6px;width:90px;height:90px;margin:0}.hello-chip{font-size:12px;padding:4px 10px}.task-row{padding:12px 12px 12px 10px}}@media(prefers-reduced-motion:reduce){.task-row:hover,.project-tile:hover,.course-tile:hover,.person-card:hover,.task-row .tick:hover{transform:none}}.detail-title{font-family:var(--font-heading);font-size:24px;font-weight:600;color:var(--ink)}
