:root{--brand-primary: #5e82ab;--brand-primary-hover: #4f739c;--brand-primary-active: #426489;--brand-primary-dark: #365675;--brand-light: #ced8e7;--brand-light-hover: #c0cde0;--brand-light-subtle: #eef2f7;--text-primary: #20262c;--text-secondary: #56616b;--text-muted: #7c8791;--text-on-primary: #ffffff;--background: #f6f8fa;--surface: #ffffff;--surface-secondary: #f1f4f7;--border: #dce2e8;--border-strong: #c7d0d9;--success: #47745a;--success-bg: #edf5f0;--warning: #986a2f;--warning-bg: #fff6e8;--danger: #ae4848;--danger-bg: #fbefef;--pending: #667585;--pending-bg: #edf1f5;--focus-ring: rgba(94, 130, 171, .24);--shadow-sm: 0 1px 3px rgba(43, 62, 82, .08);--layout-max-width: 1200px;--content-max-width: 960px;--form-max-width: 760px;--page-padding: 32px;--radius-sm: 4px;--radius-md: 8px;--primary: var(--brand-primary);--primary-hover: var(--brand-primary-hover);--primary-active: var(--brand-primary-active);--primary-light: var(--brand-light-subtle);--primary-lighter: var(--brand-light);--primary-1: var(--surface);--primary-2: var(--brand-primary);--primary-3: var(--brand-primary);--secondary-1: var(--text-secondary);--secondary-2: var(--border-strong);--secondary-3: var(--border);--tertiary: var(--warning);--text-dark: var(--text-primary);--text-fill: var(--text-primary);--disabled: #aebdcc;--light-border: var(--border);--soft-surface: var(--surface-secondary);--radius: var(--radius-md);--font: Inter, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", Arial, sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:var(--font);color:var(--text-primary);background:var(--background);line-height:1.6;-webkit-font-smoothing:antialiased;accent-color:var(--brand-primary)}input[type=checkbox],input[type=radio]{accent-color:var(--brand-primary)}button,input,textarea,select{font-family:inherit}a{color:var(--brand-primary-dark);text-decoration:none}a:hover{color:var(--brand-primary-active)}h1,h2,h3,p{margin:0}.app-shell{min-height:100dvh;display:flex;flex-direction:column}.app-header{border-bottom:1px solid var(--border);padding:0 var(--page-padding);position:sticky;top:0;background:var(--surface);z-index:10}.app-header-inner{width:min(100%,var(--layout-max-width));margin-inline:auto;min-height:64px;display:flex;align-items:center;gap:20px}.app-header-row{display:contents}.brand{font-size:14px;letter-spacing:.04em;font-weight:600;color:var(--brand-primary-dark);white-space:nowrap}.header-user{margin-left:auto;display:flex;align-items:center;gap:12px;font-size:13px;color:var(--text-secondary);white-space:nowrap}.header-name{font-weight:500;color:var(--text-primary)}.nav{display:flex;gap:4px;overflow-x:auto;flex-wrap:nowrap;min-width:0}.nav a{font-size:14px;font-weight:500;line-height:20px;height:64px;display:inline-flex;align-items:center;padding:0 12px;color:var(--text-secondary);border-bottom:2px solid transparent;white-space:nowrap}.nav a:hover{color:var(--brand-primary-dark);background:var(--brand-light-subtle)}.nav a.active{color:var(--brand-primary-dark);border-bottom-color:var(--brand-primary)}.nav-toggle,.nav-close,.nav-drawer{display:none}.nav-toggle{width:40px;height:40px;min-height:40px;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer}.nav-toggle span{display:block;width:18px;height:2px;background:var(--brand-primary)}.nav-close{width:40px;height:40px;border:0;background:transparent;font-size:28px;line-height:1;color:var(--text-secondary);cursor:pointer}.page{width:min(calc(100% - var(--page-padding) * 2),var(--content-max-width));margin-inline:auto;padding:40px 0 64px}.page.page-form{width:min(calc(100% - var(--page-padding) * 2),var(--form-max-width))}.page.page-schedule{width:min(calc(100% - var(--page-padding) * 2),1100px)}.page-kicker{font-size:12px;letter-spacing:.06em;color:var(--brand-primary-dark);font-weight:500;margin-bottom:8px}.page h1{font-size:26px;font-weight:600;line-height:1.3;margin-bottom:8px}.page h2{font-size:18px;font-weight:600;line-height:24px;margin:32px 0 8px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.page-head .lede{margin-bottom:0}.page-head-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;flex-shrink:0;margin-left:auto}.lede{font-size:14px;line-height:1.6;color:var(--text-secondary);margin-bottom:28px}.btn{display:inline-flex;align-items:center;justify-content:center;height:42px;min-height:40px;padding:0 16px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;line-height:20px;cursor:pointer;border:1px solid var(--brand-primary);background:var(--brand-primary);color:var(--text-on-primary)}a.btn,a.btn:hover{color:var(--text-on-primary)}.btn:hover:not(:disabled){background:var(--brand-primary-hover);border-color:var(--brand-primary-hover)}.btn:active:not(:disabled){background:var(--brand-primary-active);border-color:var(--brand-primary-active)}.btn:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.btn:disabled{color:var(--text-on-primary);background:#aebdcc;border-color:#aebdcc;cursor:not-allowed}.btn-secondary{color:var(--brand-primary-dark);background:var(--surface);border:1px solid var(--brand-primary)}a.btn-secondary,a.btn-secondary:hover{color:var(--brand-primary-dark)}.btn-secondary:hover:not(:disabled){color:var(--brand-primary-dark);background:var(--brand-light-subtle);border-color:var(--brand-primary)}.btn-secondary:active:not(:disabled){background:var(--brand-light);color:var(--brand-primary-dark)}.btn-secondary.on{color:var(--brand-primary-dark);background:var(--brand-light);border-color:var(--brand-primary);box-shadow:inset 0 0 0 1px var(--brand-primary)}.btn-text{height:auto;padding:0;border:0;background:none;color:var(--brand-primary-dark);text-decoration:none}.btn-text:hover{color:var(--brand-primary-active);text-decoration:underline;text-underline-offset:3px}.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;border:0;padding:0;min-width:0}.fold{margin:0 0 16px;border:1px solid var(--border);border-radius:var(--radius-md);padding:0 16px;background:var(--surface);box-shadow:var(--shadow-sm)}.fold>summary{cursor:pointer;font-size:16px;font-weight:600;line-height:20px;min-height:52px;padding:14px 0;display:flex;justify-content:space-between;align-items:center;gap:12px;list-style:none}.fold>summary::-webkit-details-marker,.fold>summary::marker{display:none;content:""}.fold-action{font-size:13px;font-weight:500;color:var(--brand-primary-dark);display:inline-flex;align-items:center;gap:6px}.fold-action:after{content:"";width:7px;height:7px;border-right:2px solid var(--brand-primary);border-bottom:2px solid var(--brand-primary);transform:rotate(45deg);margin-top:-4px}.fold[open] .fold-action:after{transform:rotate(225deg);margin-top:2px}.fold .field:last-child{margin-bottom:14px}.fold-body{padding-bottom:14px}.fold-body>.card:last-child,.fold-body>.empty:last-child{margin-bottom:0}.fold-body>.empty{padding-top:0}.field legend,.field>label{font-size:14px;font-weight:500;line-height:20px;color:var(--text-primary)}.check-grid{display:flex;flex-wrap:wrap;gap:8px 16px}.check-item{display:flex;align-items:center;gap:6px;font-size:14px}.date-slot-list{display:flex;flex-direction:column;gap:8px}.date-slot{border:1px solid var(--border);border-radius:var(--radius-md);padding:12px;margin:0}.date-slot.on{border-color:var(--border-strong);background:var(--surface)}.time-grid{margin-top:10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-left:0}.field input,.field textarea,.field select{height:42px;border:1px solid var(--border-strong);border-radius:var(--radius);padding:0 12px;font-size:16px;background:var(--surface);color:var(--text-primary)}.field textarea{height:96px;padding:10px 12px;resize:vertical}.field input[type=file]{height:auto;border:0;padding:0}.field input:hover,.field textarea:hover,.field select:hover,.search:hover{border-color:#a9b7c4}.field input:focus,.field textarea:focus,.field select:focus,.search:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 3px var(--focus-ring)}.field:has(.error) input,.field:has(.error) textarea,.field:has(.error) select{border-color:var(--danger);box-shadow:none}.avatar-preview,.course-image-preview{width:120px;height:120px;object-fit:cover;border-radius:var(--radius);border:1px solid var(--light-border);background:var(--soft-surface)}.course-image-preview{width:180px;height:120px}.course-image-frame{position:relative;display:inline-block;width:180px;height:120px;border:1px solid var(--light-border);border-radius:var(--radius);background:var(--soft-surface);overflow:hidden}.course-image-frame .course-image-preview{display:block;width:100%;height:100%;border:0}.course-image-frame.is-loading .course-image-preview{opacity:0}.course-image-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--secondary-1)}.course-image-x{position:absolute;top:6px;right:6px;width:24px;height:24px;padding:0;border:0;border-radius:50%;background:#222222b8;color:#fff;font-size:18px;line-height:24px;cursor:pointer}.course-image-x:hover{background:var(--brand-primary)}.banner{border:1px solid var(--light-border);background:var(--soft-surface);padding:12px 16px;font-size:14px;line-height:20px;margin-bottom:20px;border-radius:var(--radius)}.banner.ok{border-color:var(--success);background:var(--success-bg);color:var(--success)}.banner.warn{border-color:var(--warning);background:var(--warning-bg)}.banner.busy{border-color:var(--brand-primary);background:var(--brand-light-subtle);color:var(--brand-primary-dark)}.card{border:1px solid var(--border);padding:16px;margin-bottom:12px;border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm)}.card-title{font-size:16px;font-weight:500;line-height:24px}.card-meta{font-size:13px;color:var(--secondary-1);margin-top:4px}.card-meta a{color:var(--brand-primary-dark);text-decoration:underline}.prefer-picked{margin:10px 0 4px;display:flex;flex-direction:column;gap:8px}.prefer-picked-row{display:grid;grid-template-columns:76px 1fr;gap:6px 12px;align-items:start}.prefer-picked-date{font-size:13px;font-weight:500;line-height:24px;color:var(--text-fill)}.prefer-picked-times{display:flex;flex-wrap:wrap;gap:6px}.prefer-picked-times span{display:inline-flex;align-items:center;height:24px;padding:0 8px;border:1px solid var(--light-border);border-radius:var(--radius);background:var(--soft-surface);font-size:12px;color:var(--secondary-1)}.session-items{margin-top:12px;display:flex;flex-direction:column;gap:8px}.session-item{border:1px solid var(--light-border);background:var(--soft-surface);padding:10px 12px;border-radius:var(--radius)}.session-item-title{font-size:14px;font-weight:500}.session-group{margin-bottom:20px}.session-group-title{font-size:13px;color:var(--secondary-1);margin-bottom:8px}.schedule-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.schedule-grid-3{grid-template-columns:1.2fr 1fr 1fr}.time-24{display:flex;align-items:center;gap:6px}.time-24 select{flex:1;min-width:0}@media(max-width:640px){.schedule-grid,.schedule-grid-3{grid-template-columns:1fr}}.pill{display:inline-block;font-size:12px;line-height:16px;padding:2px 8px;border:1px solid var(--secondary-2);border-radius:var(--radius);margin-right:6px}.pill.on{background:var(--brand-light);color:var(--brand-primary-dark);border-color:var(--brand-primary)}.section{margin-top:36px}.section h2{font-size:16px;font-weight:500;margin-bottom:8px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:0;border:0;background:none;cursor:pointer;text-align:left}.section-head h2{margin-bottom:0}.section-head-meta{font-size:13px;color:var(--secondary-1);white-space:nowrap}.choice{display:flex;gap:12px;margin:12px 0 16px}.choice button[aria-pressed=true]{background:var(--brand-light);color:var(--brand-primary-dark);border-color:var(--brand-primary)}.history-item{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--light-border)}.history-item input{margin-top:4px}.search{width:100%;height:42px;border:1px solid var(--secondary-2);border-radius:var(--radius);padding:0 12px;font-size:16px;margin-bottom:8px}.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px 0 8px;font-size:13px;color:var(--secondary-1)}.pager-btns{display:flex;gap:8px}.todo{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--light-border)}.todo p{font-size:16px;font-weight:500}.todo span{font-size:13px;color:var(--secondary-1)}.empty{font-size:14px;color:var(--secondary-1);padding:8px 0 16px}.status-ok{color:var(--success)}.status-fail{color:var(--danger)}.login-wrap{min-height:100dvh;display:flex;align-items:center}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#ffffffeb;display:flex;align-items:center;justify-content:center;padding:24px;z-index:30}.overlay-card{width:100%;max-width:440px;border:1px solid var(--light-border);background:var(--primary-1);padding:24px;border-radius:var(--radius)}.overlay-card h2{font-size:20px;font-weight:500;line-height:28px}.overlay-card .lede{margin-bottom:8px}.empty-actions{padding:8px 0 16px}.hint{font-size:12px;color:var(--secondary-1);margin-top:16px}.hint a,.hint .linkish{text-decoration:underline;text-underline-offset:3px}.linkish{border:0;padding:0;background:none;color:inherit;font:inherit;cursor:pointer}.field input[readonly],.field textarea[readonly]{background:var(--surface-secondary);color:var(--text-secondary)}.error{font-size:13px;color:var(--danger);margin:8px 0}.page-wide{max-width:none;padding:24px 28px 64px;background:var(--background)}.tt-top{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:8px}.tt-lede{max-width:640px;margin-bottom:20px}.tt-sync-wrap{position:relative}.tt-sync-wrap.is-syncing{pointer-events:none;-webkit-user-select:none;user-select:none}.tt-sync-wrap.is-syncing .date-tabs,.tt-sync-wrap.is-syncing .tt-stats,.tt-sync-wrap.is-syncing .tt-inspector,.tt-sync-wrap.is-syncing .tt-layout{opacity:.45}.tt-sync-mask{position:sticky;top:12px;z-index:8;margin-bottom:12px;padding:12px 16px;background:#fff;border:1px solid var(--primary-3);color:var(--text-fill);font-size:14px;line-height:20px;border-radius:var(--radius)}.wait-dialog{z-index:50;background:#22222273}.wait-dialog-card{max-width:360px;padding:32px 28px 28px;text-align:center;border-color:var(--primary-3)}.wait-dialog-card:before{content:"";display:block;width:36px;height:36px;margin:0 auto 16px;border:3px solid var(--secondary-3);border-top-color:var(--primary-3);border-radius:50%;animation:wait-spin .8s linear infinite}@keyframes wait-spin{to{transform:rotate(360deg)}}.wait-dialog-card h2{margin:0;font-size:20px;font-weight:500;line-height:28px}.date-tabs{display:flex;gap:0;margin-bottom:20px;border-bottom:1px solid var(--light-border)}.date-tab{display:flex;flex-direction:column;align-items:flex-start;gap:2px;height:auto;padding:10px 16px 12px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--secondary-1);border-radius:0;cursor:pointer;font-size:14px;font-weight:500}.date-tab:hover{color:var(--brand-primary-dark)}.date-tab.on{color:var(--brand-primary-dark);border-bottom-color:var(--brand-primary)}.date-tab-day{font-size:15px}.date-tab-count{font-size:11px;font-weight:400;letter-spacing:.02em}.tt-stats{display:flex;gap:28px;margin-bottom:16px}.tt-stat{display:flex;flex-direction:column;gap:0}.tt-stat b{font-size:28px;font-weight:500;line-height:1.1;letter-spacing:-.03em}.tt-stat span{font-size:12px;color:var(--secondary-1)}.tt-inspector{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 20px;align-items:center;background:var(--primary-1);border:1px solid var(--light-border);border-left:3px solid var(--tertiary);padding:14px 16px 10px;margin-bottom:16px}.tt-inspector-empty{display:block;border-left-color:var(--secondary-2);color:var(--secondary-1);font-size:13px;padding:14px 16px}.tt-inspector-kicker{font-size:11px;letter-spacing:.08em;color:var(--brand-primary-dark);font-weight:500}.tt-inspector-name{font-size:18px;font-weight:500;line-height:24px}.tt-inspector-meta{font-size:13px;color:var(--secondary-1)}.tt-inspector-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.tt-time-row{grid-column:1 / -1;display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:12px;align-items:end;margin-top:8px;padding-top:10px;border-top:1px solid var(--light-border)}.tt-time-row .field{margin-bottom:0}.tt-layout{display:grid;grid-template-columns:248px minmax(0,1fr);gap:16px;align-items:start}.tt-rail{background:var(--primary-1);border:1px solid var(--light-border);max-height:calc(100vh - 120px);overflow:auto;position:sticky;top:72px}.tt-rail-head{display:flex;justify-content:space-between;align-items:baseline;padding:12px 14px 8px;font-size:12px;letter-spacing:.06em;color:var(--secondary-1);font-weight:500}.tt-rail-head span{font-size:16px;letter-spacing:0;color:var(--brand-primary-dark)}.tt-rail-head-split{margin-top:4px;border-top:1px solid var(--light-border);padding-top:12px}.tt-rail-empty{padding:4px 14px 16px;font-size:13px;color:var(--text-muted)}.tt-rail-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:left;border:0;border-left:3px solid transparent;background:transparent;padding:10px 14px;cursor:pointer}.tt-rail-item:hover{background:var(--soft-surface)}.tt-rail-item.on{border-left-color:var(--tertiary);background:#fdf6ee}.tt-rail-item.done .tt-rail-name{color:var(--brand-primary-dark)}.tt-rail-name{font-size:14px;font-weight:500;line-height:20px}.tt-rail-meta{font-size:12px;color:var(--secondary-1)}.tt-board{overflow-x:auto;background:var(--primary-1);border:1px solid var(--light-border)}.tt-head,.tt-row{display:grid;grid-template-columns:140px minmax(760px,1fr);min-width:900px}.tt-head{position:sticky;top:0;background:var(--primary-1);z-index:2;border-bottom:1px solid var(--light-border)}.tt-venue-col{position:sticky;left:0;z-index:3;display:flex;flex-direction:column;justify-content:center;padding:8px 12px;border-right:1px solid var(--light-border);font-size:13px;background:var(--primary-1);box-shadow:1px 0 0 var(--light-border)}.tt-head .tt-venue-col{z-index:4}.tt-venue-name{font-weight:500;line-height:18px}.tt-venue-cap{font-size:11px;color:var(--secondary-1)}.tt-track{--tt-slots: 18;position:relative;display:grid;grid-template-columns:repeat(var(--tt-slots),minmax(0,1fr));min-height:64px;background-image:repeating-linear-gradient(to right,transparent 0,transparent calc(100% / var(--tt-slots) * 2 - 1px),var(--light-border) calc(100% / var(--tt-slots) * 2 - 1px),var(--light-border) calc(100% / var(--tt-slots) * 2))}.tt-track-head{min-height:32px;background-image:none}.tt-slot,.tt-slot-label{min-height:inherit;border:0}.tt-slot{padding:0;margin:0;background:transparent;cursor:pointer}.tt-slot:hover{background:#5e82ab1f}.tt-slot-label{font-size:11px;color:var(--secondary-1);padding:8px 0 0 6px}.tt-slot-label.hour{color:var(--text-fill);font-weight:500}.tt-row{border-top:1px solid var(--light-border)}.tt-row:nth-child(odd) .tt-track{background-color:var(--surface-secondary)}.tt-row.ghost .tt-venue-name,.tt-row.ghost .tt-venue-cap{color:var(--tertiary)}.tt-row.ghost .tt-track{background-color:#fdf8f3}.tt-block{position:absolute;top:7px;bottom:7px;z-index:1;border:0;border-left:3px solid var(--brand-primary);background:var(--brand-light-subtle);color:var(--text-primary);border-radius:0 2px 2px 0;padding:6px 8px;overflow:hidden;text-align:left;cursor:pointer;line-height:1.25;box-shadow:0 1px #2b3e520a}.tt-block.done{background:var(--brand-light);color:var(--brand-primary-dark);border-left-color:var(--brand-primary)}.tt-block.on{border-left-color:var(--tertiary);box-shadow:inset 0 0 0 1px var(--tertiary)}.tt-block-title,.tt-block-meta{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tt-block-title{font-size:12px;font-weight:500}.tt-block-meta{font-size:11px;opacity:.75}@media(max-width:960px){.tt-layout{grid-template-columns:1fr}.tt-rail{position:static;max-height:280px}.tt-inspector,.tt-time-row{grid-template-columns:1fr}.tt-inspector-actions{justify-content:flex-start}}.req{color:var(--danger);margin-left:4px}.block{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:20px 20px 8px;margin-bottom:16px}.block h2{font-size:16px;margin-bottom:16px}.field-row{display:grid;grid-template-columns:120px 1fr;gap:12px}.avatar-row{display:flex;align-items:center;gap:16px}.avatar-preview{width:96px;height:96px;border-radius:6px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.form-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;padding-top:16px;border-top:1px solid var(--border)}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.card-excerpt{font-size:14px;color:var(--text-secondary);margin-top:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pill.ok{background:var(--success-bg);color:var(--success);border-color:transparent}.pill.warn{background:var(--warning-bg);color:var(--warning);border-color:transparent}.pill.muted{background:var(--pending-bg);color:var(--pending);border-color:transparent}.task-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.task-step{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px 24px;align-items:center;padding:16px 20px}.task-step+.task-step{border-top:1px solid var(--border)}.task-main{display:flex;align-items:center;gap:14px;min-width:0}.task-step.is-current{background:var(--brand-light-subtle)}.task-index{flex:0 0 36px;width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--surface-secondary);color:var(--text-muted);font-weight:600}.task-step.is-done .task-index{background:var(--success-bg);color:var(--success)}.task-step.is-current .task-index{background:var(--brand-primary);color:var(--text-on-primary)}.task-copy p{font-size:16px;font-weight:600;margin-bottom:2px}.task-copy span{display:block;font-size:14px;color:var(--text-secondary)}.task-status,.task-action{justify-self:end}.date-slot-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.date-slot-title{font-size:14px;font-weight:600}.date-slot-actions{display:flex;gap:8px}.date-slot-actions button{height:32px;padding:0 10px;font-size:13px}.time-chip{height:40px;min-height:40px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-secondary);border-radius:var(--radius-sm);font-size:13px;font-weight:500;cursor:pointer}.time-chip:hover{color:var(--brand-primary-dark);background:var(--brand-light-subtle);border-color:var(--brand-primary)}.time-chip.on{color:var(--brand-primary-dark);background:var(--brand-light);border-color:var(--brand-primary);box-shadow:inset 0 0 0 1px var(--brand-primary)}.time-chip.on:after{content:"✓";margin-left:6px;font-size:12px;font-weight:700}.empty-state{text-align:center;padding:32px 16px}.empty-state h2{font-size:16px;margin-bottom:8px}.empty-state p{font-size:14px;color:var(--text-secondary);margin-bottom:16px}.prefer-summary{font-size:14px;color:var(--text-secondary);margin:8px 0 12px}.save-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px;padding-top:12px;border-top:1px solid var(--border)}@media(min-width:1024px){.time-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1024px){:root{--page-padding: 24px}.app-header-inner,.page,.page.page-form,.page.page-schedule{width:calc(100% - var(--page-padding) * 2);max-width:none}}@media(max-width:768px){.nav-toggle{display:inline-flex}.app-header-inner>.nav,.app-header-inner>.header-user .btn-text{display:none}.app-header-inner>.header-user{gap:0}.brand{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.nav-drawer{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;pointer-events:none}.nav-drawer.is-open{pointer-events:auto}.nav-drawer-mask{position:absolute;top:0;right:0;bottom:0;left:0;border:0;padding:0;background:#20262c66;opacity:0;transition:opacity .2s ease}.nav-drawer.is-open .nav-drawer-mask{opacity:1}.nav-drawer-panel{position:absolute;top:0;left:0;width:min(80vw,320px);height:100%;background:var(--surface);box-shadow:8px 0 24px #2b3e521f;display:flex;flex-direction:column;transform:translate(-100%);transition:transform .2s ease;padding:8px 8px 24px}.nav-drawer.is-open .nav-drawer-panel{transform:translate(0)}.nav-drawer-head{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:0 8px 0 12px}.nav-drawer .nav-close{display:inline-flex;align-items:center;justify-content:center}.nav-drawer .nav{flex-direction:column;overflow:auto;gap:4px;padding:8px}.nav-drawer .nav a{height:44px;border-bottom:0;border-left:3px solid transparent;border-radius:var(--radius-sm);padding:0 12px}.nav-drawer .nav a.active{color:var(--brand-primary-dark);background:var(--brand-light-subtle);border-left-color:var(--brand-primary)}.nav-drawer .header-user{margin:auto 8px 0;padding:16px 12px 0;border-top:1px solid var(--border);flex-direction:column;align-items:flex-start;gap:12px;white-space:normal}.nav-drawer .header-user .btn-text{display:inline}.page{padding-top:24px;padding-bottom:72px}.page-head,.form-foot,.save-row{flex-direction:column;align-items:stretch}.task-step{grid-template-columns:minmax(0,1fr)}.page-head-actions{width:100%}.task-status,.task-action,.form-foot .btn,.page-head .btn,.save-row .btn,.btn-row .btn{width:100%;justify-self:stretch}.page-head-actions .btn{width:auto}.field-row{grid-template-columns:1fr}.time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){:root{--page-padding: 16px}}
