:root{--bg: #ffffff;--fg: #1f2328;--muted: #656d76;--border: #d0d7de;--accent: #0969da;--error: #cf222e;--warning: #9a6700;--error-bg: #ffebe9;--warning-bg: #fff8c5;--surface: #f6f8fa;--radius: 6px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--shadow-sm: 0 8px 24px rgb(31 35 40 / 12%);--shadow-md: 0 12px 32px rgb(31 35 40 / 18%);--motion-fast: .12s;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:13px;color:var(--fg)}*{box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden}body{margin:0;background:var(--bg)}#root{width:100%;height:100%;overflow:hidden}.app-shell{display:grid;grid-template-rows:42px minmax(0,1fr);width:100%;height:100%;height:100dvh;overflow:hidden}.app-shell__bar{display:flex;align-items:center;gap:20px;min-width:0;padding:0 14px;border-bottom:1px solid var(--border);background:#fbfcfd}.app-shell__brand{color:var(--fg);font-size:14px;font-weight:650;text-decoration:none;white-space:nowrap}.app-shell__nav{display:flex;align-self:stretch;gap:4px}.app-shell__nav a{display:flex;align-items:center;padding:0 10px;border-bottom:2px solid transparent;color:var(--muted);text-decoration:none}.app-shell__nav a:hover,.app-shell__nav a.is-active{color:var(--fg)}.app-shell__nav a.is-active{border-bottom-color:var(--accent);font-weight:600}.app-shell__environment{margin-left:auto;color:var(--muted);font-size:12px;white-space:nowrap}.workspace-tools{display:flex;align-items:center;gap:var(--space-2);margin-left:auto}.context-menu{position:relative}.context-menu__trigger,.account-menu__trigger{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:30px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--fg);font:inherit;cursor:pointer}.context-menu__trigger{max-width:min(240px,28vw);padding:0 var(--space-2)}.context-menu__trigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu__trigger{width:30px;padding:0;border-radius:50%;background:#eaeef2;font-weight:650}.menu-section+.menu-section{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border)}.menu-check--hidden{visibility:hidden}.account-menu__identity{display:grid;gap:var(--space-1);padding:var(--space-2);border-bottom:1px solid var(--border)}.account-menu__identity strong{overflow:hidden;text-overflow:ellipsis}.account-menu__identity span{color:var(--muted);font-size:12px}.app-shell__content{min-width:0;min-height:0;overflow:hidden}.cloud-workspace{position:relative;height:100%;min-height:0;overflow:hidden}.auth-view{display:grid;place-items:center;height:100%;padding:24px;background:var(--surface)}.auth-panel{display:grid;gap:14px;width:min(360px,100%);padding:24px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg)}.auth-panel header,.auth-panel label{display:grid;gap:6px}.auth-panel h1{margin:0;font-size:20px}.auth-panel__brand{font-size:13px;font-weight:650}.auth-panel__hint{margin:0;color:var(--muted)}.auth-panel__challenge{width:100%;min-height:65px}.auth-panel input,.workspace-create input,.member-panel input,.member-panel select{min-width:0;height:32px;padding:0 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg)}.workspace-create-form label,.token-create label{display:grid;gap:var(--space-1);color:var(--muted);font-size:12px}.workspace-create-form input{width:100%;margin-top:var(--space-1)}.member-invite,.created-invitation,.member-row,.invitation-list{padding:12px;border-bottom:1px solid var(--border)}.member-row{display:flex;align-items:center;gap:var(--space-2)}.member-invite{display:grid;grid-template-columns:minmax(0,1fr) 100px auto;gap:8px}.created-invitation{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--surface)}.member-row>span:first-child{display:grid;flex:1;min-width:0}.member-row strong,.member-row small{overflow:hidden;text-overflow:ellipsis}.member-row small{color:var(--muted)}.workspace-settings{display:grid;grid-template-columns:156px minmax(0,1fr);min-height:100%}.workspace-settings__nav{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3);border-right:1px solid var(--border);background:#fbfcfd}.workspace-settings__nav button{min-height:34px;padding:0 var(--space-2);border:0;border-radius:var(--radius);background:transparent;color:var(--muted);font:inherit;text-align:left;cursor:pointer;transition:color var(--motion-fast) ease,background-color var(--motion-fast) ease}.workspace-settings__nav button:hover,.workspace-settings__nav button.is-active{background:#eaeef2;color:var(--fg)}.workspace-settings__content{min-width:0}.settings-section{padding:var(--space-4)}.settings-section__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.settings-section h3{margin:var(--space-1) 0 0;font-size:15px}.settings-select{display:grid;gap:var(--space-1);color:var(--muted);font-size:11px}.settings-select select{min-width:190px}.work-schedule-default{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,240px);align-items:center;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-4);padding:var(--space-3) 0;border-block:1px solid var(--border)}.work-schedule-default label{font-weight:650}.work-schedule-default p{margin:var(--space-1) 0 0;color:var(--muted);font-size:11px}.work-schedule-default__feedback{grid-column:2;min-height:16px;color:var(--success);font-size:11px}.work-schedule-default__feedback.is-error{color:var(--error)}.settings-summary{display:grid;grid-template-columns:90px minmax(0,1fr);gap:var(--space-2) var(--space-3);margin:var(--space-4) 0 0}.settings-summary dt{color:var(--muted)}.settings-summary dd{margin:0}.settings-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.settings-empty,.settings-note{color:var(--muted)}.work-schedule-adjustments{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border)}.work-schedule-adjustments__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-2)}.work-schedule-adjustments h4{margin:0;font-size:13px}.work-schedule-adjustments__list{margin:0;padding:0;list-style:none}.work-schedule-adjustments__list>li{display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,140px) auto;align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--border)}.work-schedule-adjustments__main{display:grid;grid-template-columns:76px minmax(0,1fr);gap:2px var(--space-2);min-width:0}.work-schedule-adjustments__main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.work-schedule-adjustments__kind{grid-row:1 / span 2;align-self:center;color:var(--muted);font-size:11px}.work-schedule-adjustments time,.work-schedule-adjustments__source{color:var(--muted);font-size:11px}.work-schedule-adjustments time{grid-column:2}.work-schedule-adjustments__source{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.work-schedule-adjustments__actions{display:flex;gap:var(--space-1)}.work-schedule-adjustments__editor{margin-top:var(--space-3);border:1px solid var(--border);background:var(--surface)}.work-schedule-adjustments__editor>header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2);padding:var(--space-3) var(--space-3) 0}.work-schedule-adjustments__editor h5{margin:2px 0 0;font-size:13px}.work-schedule-adjustments__editor .event-form{padding:var(--space-3)}.token-create{display:grid;gap:var(--space-3)}.token-risk-note{margin:0;padding:var(--space-2) var(--space-3);border-left:3px solid var(--warning);background:var(--warning-bg)}.token-result h3{margin-bottom:var(--space-4)}.token-secret{display:block;margin:var(--space-4) 0;padding:var(--space-3);overflow-wrap:anywhere;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.token-table{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.token-table__header,.token-table__row{display:grid;grid-template-columns:minmax(90px,1.2fr) minmax(96px,1fr) minmax(108px,1fr) minmax(108px,1fr) minmax(108px,1fr) 76px 54px;gap:var(--space-2);align-items:center;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border)}.token-table__header{color:var(--muted);background:var(--surface);font-size:11px;font-weight:650}.token-table__row:last-child{border-bottom:0}.token-table__row>*{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.token-history-toggle{display:flex;align-items:center;gap:var(--space-1);margin-top:var(--space-4);padding:0;border:0;background:transparent;color:var(--fg);font:inherit;font-weight:600;cursor:pointer}.status-tag--expiring{border-color:#d4a72c;color:var(--warning);background:var(--warning-bg)}.not-found{display:grid;place-content:center;height:100%;text-align:center}.not-found__code{margin:0;color:var(--muted);font-size:12px}.not-found h1{margin:4px 0 12px;font-size:18px}.not-found a{color:var(--accent)}.icon-button{display:inline-grid;place-items:center;flex:0 0 auto;width:32px;height:32px;padding:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--fg);cursor:pointer}.icon-button--small{width:26px;height:26px}.icon-button:hover:not(:disabled){background:var(--surface);border-color:#afb8c1}.icon-button:disabled{color:#afb8c1;cursor:not-allowed}.overlay-menu{position:absolute;z-index:200;top:calc(100% + var(--space-2));min-width:220px;padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);box-shadow:var(--shadow-sm);opacity:1;transform:translateY(0);transition:opacity var(--motion-fast) ease,transform var(--motion-fast) ease}.overlay-menu--start{left:0}.overlay-menu--end{right:0}.overlay-menu button,.overlay-menu a{display:flex;align-items:center;gap:var(--space-2);width:100%;min-height:32px;padding:var(--space-2);border:0;border-radius:var(--radius);background:transparent;color:var(--fg);font:inherit;text-align:left;text-decoration:none;cursor:pointer}.overlay-menu button:hover,.overlay-menu a:hover{background:var(--surface)}.overlay-backdrop{position:fixed;z-index:200;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:var(--space-4);background:#1f232847;opacity:1;transition:opacity var(--motion-fast) ease}.overlay-modal,.overlay-drawer{border:1px solid var(--border);background:var(--bg);box-shadow:var(--shadow-md)}.overlay-modal{width:min(440px,100%);max-height:min(720px,calc(100dvh - 32px));overflow:auto;border-radius:var(--radius)}.overlay-backdrop--drawer{place-items:stretch end;padding:0}.overlay-drawer{height:100%;overflow:auto;border-width:0 0 0 1px;transform:translate(0);transition:opacity var(--motion-fast) ease,transform var(--motion-fast) ease}.overlay-drawer--standard{width:min(480px,100%)}.overlay-drawer--wide{width:min(900px,100%)}.overlay-surface__header{position:sticky;z-index:2;top:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:52px;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);background:var(--bg)}.overlay-surface__header h2{margin:0;font-size:15px}.overlay-surface__body{padding:var(--space-4)}.overlay-surface__actions{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border)}@media (prefers-reduced-motion: reduce){.overlay-menu,.overlay-backdrop,.overlay-drawer,.switch-field input,.switch-field input:after,.segmented button,.inspector__tabs button{transition:none}}.workbench{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.workbench__header{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--border);flex-wrap:wrap}.workbench__title{font-size:14px;font-weight:600;margin:0;white-space:nowrap}.workbench__connection{color:var(--muted);font-size:12px;white-space:nowrap}.workbench__connection[data-state=connected]{color:#18794e}.workbench__connection[data-state=reconnecting]{color:var(--warning)}.workbench__connection[data-state=failed]{color:var(--error)}.workbench__body{display:flex;flex:1;min-height:0;overflow:hidden}.workbench__main{flex:1;min-width:0;min-height:0;display:flex}.workbench__side{width:320px;border-left:1px solid var(--border);overflow-y:auto;display:flex;flex-direction:column}.workbench__inspector-actions{display:flex;align-items:center;gap:var(--space-1)}.workbench__diagnostic-summary{display:inline-flex;align-items:center;gap:var(--space-1);min-height:28px;padding:var(--space-1) var(--space-2);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--muted);cursor:pointer;font-size:11px}.workbench__loading,.workbench__error{padding:16px}.workbench__error{background:var(--error-bg);color:var(--error);border-radius:var(--radius);margin:12px 16px}.workbench__live-error,.workbench__live-invalid{padding:7px 16px;color:var(--warning);background:var(--warning-bg);border-bottom:1px solid var(--border)}.workbench__live-invalid{color:var(--error);background:var(--error-bg)}.workbench__error-detail{margin-top:6px;color:var(--fg);font-size:12px}.toolbar{display:flex;flex:1 1 auto;align-items:center;justify-content:flex-end;gap:var(--space-3);flex-wrap:wrap}.toolbar__section{display:inline-flex;align-items:center;gap:var(--space-1)}.toolbar__label,.toolbar__menu-heading{color:var(--muted);font-size:11px;font-weight:600}.toolbar__group{display:inline-flex;flex:0 0 auto;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.toolbar__date{display:inline-flex;align-items:center;flex:0 0 auto;gap:var(--space-1)}.toolbar__date-input{width:132px;height:26px;padding:2px 6px}.toolbar__btn{border:none;background:var(--bg);padding:var(--space-1) 10px;cursor:pointer;border-right:1px solid var(--border)}.toolbar__btn:last-child{border-right:none}.toolbar__btn.is-active{background:var(--accent);color:#fff}.toolbar__search-wrap{display:flex;flex:1 1 180px;align-items:center;max-width:280px;min-width:160px;padding-left:var(--space-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--muted)}.toolbar__search{width:100%;min-width:0;padding:var(--space-1) var(--space-2);border:0;outline:0;background:transparent}.toolbar__menus,.toolbar__menu{display:flex;align-items:center;gap:var(--space-1)}.toolbar__menu{position:relative}.toolbar__menu-heading{padding:var(--space-2);border-top:1px solid var(--border)}.toolbar__menu-check{display:inline-block;width:14px;text-align:center}.gantt-wrap{position:relative;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.gantt{position:relative;flex:1;min-width:0;min-height:0;overflow:hidden}.gantt-empty-grid{--gantt-grid-col-width: 40px;--gantt-grid-offset: 0px;--gantt-week-offset: 0px;--gantt-wbs-width: 460px;position:absolute;z-index:2;right:0;left:0;pointer-events:none;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 33px,#d8dee4 33px,#d8dee4 34px)}.gantt-empty-grid:before{position:absolute;inset:0 0 0 var(--gantt-wbs-width);content:"";border-left:1px solid var(--border);background-image:repeating-linear-gradient(to right,transparent 0,transparent calc(var(--gantt-grid-col-width) - 1px),#eef1f4 calc(var(--gantt-grid-col-width) - 1px),#eef1f4 var(--gantt-grid-col-width));background-position:var(--gantt-grid-offset) 0}.gantt-empty-grid.is-day:before{background-image:repeating-linear-gradient(to right,transparent 0,transparent calc(var(--gantt-grid-col-width) * 5),#f6f8fa calc(var(--gantt-grid-col-width) * 5),#f6f8fa calc(var(--gantt-grid-col-width) * 7)),repeating-linear-gradient(to right,transparent 0,transparent calc(var(--gantt-grid-col-width) - 1px),#eef1f4 calc(var(--gantt-grid-col-width) - 1px),#eef1f4 var(--gantt-grid-col-width));background-position:var(--gantt-week-offset) 0,var(--gantt-grid-offset) 0}.gantt-empty-grid__today{position:absolute;top:0;bottom:0;width:1px;border-left:1px dashed #cf222e}.gantt-resource-tooltip{position:absolute;z-index:20;max-width:min(420px,calc(100% - 24px));padding:7px 9px;border-radius:4px;background:#24292f;color:#fff;font-size:12px;line-height:1.45;white-space:pre-line;pointer-events:none;transform:translate(-50%,calc(-100% - 8px))}.gantt-task-tooltip{position:absolute;z-index:12;max-width:min(280px,calc(100% - 16px));padding:7px 9px;border:1px solid #d0d7de;border-radius:6px;background:#fff;color:#1f2328;box-shadow:0 4px 12px #1f232824;font-size:12px;line-height:1.5;white-space:pre-line;pointer-events:none}.gantt--empty{padding:24px;color:var(--muted);line-height:1.6}.gantt__no-match{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;color:var(--muted);line-height:1.6;background:#ffffffd1;pointer-events:none}.inspector{flex:0 0 320px;background:var(--bg)}.inspector__header{display:flex;align-items:center;justify-content:space-between;min-height:40px;padding:var(--space-1) var(--space-3);border-bottom:1px solid var(--border)}.inspector__header h2{margin:0;font-size:13px}.inspector__tabs{display:grid;grid-template-columns:1fr 1fr;padding:var(--space-2) var(--space-3) 0;border-bottom:1px solid var(--border)}.inspector__tabs button{padding:var(--space-2);border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);cursor:pointer;transition:color var(--motion-fast) ease}.inspector__tabs button.is-active{border-bottom-color:var(--accent);color:var(--fg);font-weight:600}.inspector__body{min-height:0;overflow-y:auto}.overlay-drawer .inspector__body{flex:1}.panel{padding:var(--space-3) var(--space-4)}.panel__title{font-size:13px;font-weight:600;margin:0 0 8px}.panel__empty{color:var(--muted);margin:4px 0}.details__list{display:grid;grid-template-columns:56px 1fr;gap:4px 8px;margin:0 0 8px}.details__heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-3)}.details__list dt{color:var(--muted)}.details__list dd{margin:0}.details__desc{white-space:pre-wrap}.details__subtitle{font-size:12px;font-weight:600;margin:8px 0 4px;color:var(--muted)}.details__deps,.details__diags{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.badge{font-size:11px;padding:1px 6px;border-radius:10px;background:var(--surface);color:var(--muted)}.badge--milestone{background:#ddf4ff;color:var(--accent)}.link{border:none;background:none;color:var(--accent);cursor:pointer;padding:0;font:inherit}.diagnostics__filters{display:flex;gap:6px;margin-bottom:8px}.chip{border:1px solid var(--border);border-radius:12px;padding:2px 10px;cursor:pointer;background:var(--bg)}.chip--error.is-active{background:var(--error-bg);border-color:var(--error);color:var(--error)}.chip--warning.is-active{background:var(--warning-bg);border-color:var(--warning);color:var(--warning)}.diagnostics__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.diag{border-left:3px solid var(--border);padding-left:8px}.diag--error{border-color:var(--error)}.diag--warning{border-color:var(--warning)}.diag__row{display:flex;align-items:baseline;gap:6px;border:none;background:none;cursor:pointer;text-align:left;padding:0;font:inherit;width:100%}.diag__row:disabled{cursor:default}.diag__sev{font-size:10px;text-transform:uppercase;font-weight:600}.diag__sev--error{color:var(--error)}.diag__sev--warning{color:var(--warning)}.diag__code{color:var(--muted)}.diag__reason,.diag__loc{margin:2px 0 0;color:var(--muted);font-size:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:5px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--fg);font:inherit;cursor:pointer;white-space:nowrap}.button:hover:not(:disabled){background:var(--surface)}.button:disabled{opacity:.55;cursor:not-allowed}.button--primary{border-color:var(--accent);background:var(--accent);color:#fff}.button--primary:hover:not(:disabled){background:#0550ae}.button--danger{border-color:#ff8182;color:var(--error)}.button--quiet{min-height:28px;padding:3px 8px}.eyebrow{margin:0 0 2px;color:var(--muted);font-size:10px;font-weight:650;text-transform:uppercase}.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}.calendar-workbench{display:grid;grid-template-rows:auto auto minmax(0,1fr);height:100%;min-width:0;min-height:0;overflow:hidden;background:#fff}.calendar-preview-banner,.calendar-warning{display:flex;align-items:baseline;gap:8px;min-height:28px;padding:5px 14px;border-bottom:1px solid var(--border)}.calendar-preview-banner{color:#3d444d;background:#f0f7f4}.calendar-preview-banner span{font-weight:650}.calendar-preview-banner small{color:var(--muted)}.calendar-warning{color:var(--warning);background:var(--warning-bg)}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding:9px 12px;border-bottom:1px solid var(--border);background:#fbfcfd}.calendar-toolbar__primary,.calendar-toolbar__secondary,.month-control{display:flex;align-items:center;gap:8px;min-width:0}.calendar-filter-toggle{display:none}.month-control strong{min-width:88px;text-align:center;white-space:nowrap}.segmented{display:inline-flex;height:32px;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.segmented button{min-width:48px;padding:0 9px;border:0;border-right:1px solid var(--border);background:var(--bg);color:var(--muted);font:inherit;cursor:pointer}.segmented button:last-child{border-right:0}.segmented button.is-active{background:#24292f;color:#fff}.calendar-workspace{display:flex;min-width:0;min-height:0;overflow:hidden}.calendar-sidebar{flex:0 0 258px;width:258px;overflow-y:auto;border-right:1px solid var(--border);background:#fbfcfd}.filter-section,.calendar-manager{padding:14px;border-bottom:1px solid var(--border)}.filter-section h2,.section-header h2{margin:0 0 12px;font-size:13px}.filter-section>label,.calendar-form>label,.event-form>label{display:grid;gap:4px;margin-bottom:10px;color:var(--muted);font-size:12px}input,select{min-width:0;height:32px;padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--fg);font:inherit}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:2px solid #54aeff;outline-offset:1px}.search-field{position:relative}.search-field svg{position:absolute;top:9px;left:8px;color:var(--muted)}.search-field input{width:100%;padding-left:28px}.event-kind-filter{display:grid;gap:7px;margin:14px 0 0;padding:0;border:0}.event-kind-filter legend{margin-bottom:7px;color:var(--muted);font-size:12px}.event-kind-filter label{display:grid;grid-template-columns:16px 10px 1fr;align-items:center;gap:7px}.event-kind-filter input{width:14px;height:14px;margin:0}.event-swatch{display:inline-block;width:9px;height:9px;border-radius:2px}.section-header,.calendar-form__top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.section-header h2{margin-bottom:0}.section-header__actions{display:flex;gap:4px}.calendar-summary{display:grid;grid-template-columns:52px minmax(0,1fr);gap:5px 8px;margin:12px 0 0;font-size:12px}.calendar-summary dt{color:var(--muted)}.calendar-summary dd{min-width:0;margin:0;overflow-wrap:anywhere}.capacity-token{display:inline-block;margin:0 5px 4px 0;color:#3d444d}.calendar-form{display:grid;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.calendar-form>label{margin:0}.weekly-capacity{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0;padding:8px;border:1px solid var(--border)}.weekly-capacity legend{color:var(--muted);font-size:11px}.weekly-capacity label{display:grid;grid-template-columns:1fr 54px;align-items:center;font-size:11px}.weekly-capacity input{width:54px;height:27px}.calendar-main{flex:1;min-width:0;min-height:0;overflow:hidden;background:#fff}.calendar-month-scroll{width:100%;height:100%;min-height:0;overflow:auto}.calendar-month{width:100%;min-width:760px;height:100%;min-height:520px;padding:10px 12px 12px}.calendar-month .fc{height:100%;--fc-border-color: #d8dee4;--fc-page-bg-color: #fff;--fc-neutral-bg-color: #f6f8fa;--fc-today-bg-color: #fff8c5}.calendar-month .fc .fc-col-header-cell-cushion,.calendar-month .fc .fc-daygrid-day-number{color:#3d444d;text-decoration:none}.calendar-month .fc .fc-day-other{background:#f8f9fa}.calendar-month .fc .fc-day-other .fc-daygrid-day-number{color:#8c959f}.calendar-month .fc .fc-daygrid-day-frame{min-height:0}.calendar-month .fc .fc-event{border-radius:3px;cursor:pointer}.calendar-event-content{display:flex;align-items:center;gap:4px;min-width:0;padding:1px 3px;color:#fff;font-size:11px}.calendar-event-content__kind{flex:0 0 auto;font-weight:700}.calendar-event-content__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event-content__state{flex:0 0 auto;padding-left:3px;border-left:1px solid rgb(255 255 255 / 60%);font-size:9px}.event-list,.people-table-wrap{width:100%;height:100%;overflow:auto}.event-list__header,.event-list__row{display:grid;grid-template-columns:140px minmax(220px,1.3fr) minmax(150px,1fr) minmax(150px,1fr) 32px;gap:12px;align-items:center;min-width:850px;padding:8px 14px;border-bottom:1px solid var(--border)}.event-list__header{position:sticky;top:0;z-index:1;color:var(--muted);background:#f6f8fa;font-size:11px;font-weight:650}.event-list__row{min-height:54px}.event-list__date{font-variant-numeric:tabular-nums}.event-list__name{display:flex;align-items:center;gap:8px;min-width:0}.event-list__name>span:last-child{display:grid;min-width:0}.event-list__name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-list__name small{color:var(--muted)}.event-list__states{display:flex;align-items:center;gap:5px;min-width:0}.status-tag{display:inline-flex;align-items:center;min-height:20px;padding:1px 6px;border:1px solid var(--border);border-radius:10px;color:var(--muted);background:var(--surface);font-size:10px;white-space:nowrap}.status-tag--error{border-color:#ff8182;color:var(--error);background:var(--error-bg)}.status-tag--active{border-color:#aceebb;color:#116329;background:#dafbe1}.status-tag--inactive{background:#f6f8fa}.people-directory__error{padding:var(--space-2) var(--space-3);border-bottom:1px solid #ff8182;color:var(--error);background:var(--error-bg);font-size:12px}.people-table{width:100%;min-width:1054px;border-collapse:collapse;table-layout:fixed}.people-table th,.people-table td{height:48px;padding:9px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.people-table th{position:sticky;top:0;z-index:1;color:var(--muted);background:#f6f8fa;font-size:11px}.people-table__person{width:160px}.people-table__key{width:110px}.people-table__role{width:160px}.people-table__schedule{width:190px}.people-table__status{width:88px}.people-table__source{width:170px}.people-table__commands{width:176px}.people-table th:last-child{padding-right:var(--space-4);text-align:right}.people-table__source-label{display:block;overflow:hidden;text-overflow:ellipsis}.people-table td.people-table__commands-cell{padding-right:var(--space-4);overflow:visible}.people-table__actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-1);white-space:nowrap}.empty-state,.calendar-state{display:grid;place-content:center;gap:5px;width:100%;height:100%;min-height:180px;padding:24px;color:var(--muted);text-align:center}.calendar-state--error{color:var(--fg)}.calendar-state--error strong{color:var(--error)}.event-drawer{flex:0 0 350px;width:350px;min-width:0;overflow-y:auto;border-left:1px solid var(--border);background:#fff;box-shadow:-4px 0 12px #1f232814}.event-drawer__header{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border);background:#fff}.event-drawer__header h2{margin:0;font-size:15px}.event-form{display:grid;gap:11px;padding:14px 16px 20px}.event-form>label{margin:0}.source-line{padding:7px 8px;border-left:3px solid #57606a;background:var(--surface);color:var(--muted);font-size:11px}.event-form__dates{display:grid;grid-template-columns:1fr 1fr;gap:8px}.event-form__dates label{display:grid;gap:4px;color:var(--muted);font-size:12px}.field-error,.form-error{color:var(--error);font-size:11px}.field-error{display:flex;align-items:center;justify-content:space-between;gap:6px}.field-error--action{display:grid;justify-items:start;gap:var(--space-1);padding:var(--space-2) var(--space-3);border-left:3px solid var(--error);background:var(--error-bg);line-height:1.45}.field-error--action .link{white-space:nowrap}.form-error{padding:7px 8px;border-left:3px solid var(--error);background:var(--error-bg)}.event-form__actions{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}@media (max-width: 768px){.workbench__header{align-items:flex-start;gap:8px 12px;padding:8px}.toolbar{width:100%;min-width:0;justify-content:flex-start;gap:var(--space-2)}.toolbar__search-wrap{flex:1 1 160px;max-width:none}.toolbar__label{display:none}.toolbar__menus{margin-left:auto}.workbench__body{position:relative}.workbench__side{display:none}.workbench__main{min-height:0}.app-shell{grid-template-rows:40px minmax(0,1fr)}.app-shell__bar{gap:8px;padding:0 8px}.app-shell__brand{font-size:12px}.app-shell__nav a{padding:0 7px}.app-shell__environment{display:none}.workspace-tools{min-width:0}.context-menu__trigger{max-width:min(42vw,180px)}.overlay-drawer{width:100%}.workspace-settings{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.workspace-settings__nav{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--border)}.workspace-settings__nav button{flex:0 0 auto}.workspace-settings__content{overflow:auto}.settings-section__header{align-items:stretch;flex-direction:column}.settings-select select{width:100%}.work-schedule-default{grid-template-columns:1fr}.work-schedule-default__feedback{grid-column:1}.work-schedule-adjustments__list>li{grid-template-columns:minmax(0,1fr) auto}.work-schedule-adjustments__source{grid-column:1}.work-schedule-adjustments__actions{grid-column:2;grid-row:1 / span 2}.token-table{overflow:visible;border:0}.token-table__header{display:none}.token-table__row{grid-template-columns:minmax(0,1fr) auto;gap:var(--space-1) var(--space-2);margin-bottom:var(--space-2);border:1px solid var(--border);border-radius:var(--radius)}.token-cell--label{grid-column:1}.token-cell--status{grid-column:2}.token-cell--scope{grid-column:1;color:var(--muted)}.token-cell--action{grid-column:2;grid-row:2}.token-cell--created,.token-cell--expires,.token-cell--used{grid-column:1 / -1;color:var(--muted);font-size:11px}.token-cell--created:before{content:"创建 "}.token-cell--expires:before{content:"过期 "}.token-cell--used:before{content:"最后使用 "}.member-invite{grid-template-columns:1fr}.calendar-toolbar{align-items:stretch;flex-direction:column;padding:7px 8px}.calendar-toolbar__primary,.calendar-toolbar__secondary{flex-wrap:wrap}.calendar-toolbar__secondary{justify-content:space-between}.calendar-filter-toggle{display:inline-flex}.calendar-workspace{position:relative;flex-direction:column}.calendar-sidebar{position:absolute;z-index:4;inset:0 auto 0 0;display:none;width:min(300px,calc(100% - var(--space-6)));overflow:auto;border-right:1px solid var(--border);background:var(--bg);box-shadow:var(--shadow-md)}.calendar-sidebar.is-open{display:block}.filter-section,.calendar-manager{min-width:0;padding:10px;border-bottom:0}.calendar-main{flex:1}.event-drawer{position:absolute;inset:0 0 0 auto;z-index:5;width:min(350px,calc(100vw - 24px))}.event-form__dates{grid-template-columns:1fr}}@media (max-width: 520px){.toolbar{flex:1 0 100%;display:grid;grid-template-columns:minmax(0,1fr) auto}.toolbar__section:first-child{grid-column:1;justify-self:start}.toolbar__section:nth-child(2){grid-column:2;justify-self:end}.toolbar__search-wrap{grid-column:1;min-width:0}.toolbar__menus{grid-column:2;margin-left:0;justify-self:end}}.directory-actions,.team-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.directory-actions,.team-strip{margin-bottom:12px}.person-editor{display:flex;flex-direction:column;min-height:calc(100% - 53px)}.person-editor__body{display:grid;gap:var(--space-4);padding:var(--space-4)}.person-editor__intro{margin:0;color:var(--muted);line-height:1.5}.person-editor label{display:grid;gap:var(--space-1);color:var(--muted);font-size:12px}.person-editor input:not([type=checkbox]),.person-editor select{width:100%;height:32px}.person-editor__advanced{padding-top:var(--space-3);border-top:1px solid var(--border)}.person-editor__advanced summary{color:var(--fg);font-weight:600;cursor:pointer}.person-editor__advanced label{margin-top:var(--space-3)}.person-editor__advanced small{color:var(--muted);line-height:1.4}.person-editor__schedule{display:grid;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--border)}.person-editor__schedule h3,.person-editor__schedule p{margin:0}.person-editor__schedule h3{font-size:13px}.person-editor__schedule p{margin-top:var(--space-1);color:var(--muted);line-height:1.5}.switch-field{display:flex!important;align-items:center;justify-content:space-between;gap:var(--space-3);color:var(--fg)!important;font-size:13px!important}.switch-field input{position:relative;width:32px;height:18px;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #afb8c1;border-radius:9px;background:#afb8c1;cursor:pointer;transition:border-color var(--motion-fast) ease,background-color var(--motion-fast) ease}.switch-field input:after{position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:var(--bg);content:"";transform:translate(0);transition:transform var(--motion-fast) ease}.switch-field input:checked{border-color:var(--accent);background:var(--accent)}.switch-field input:checked:after{transform:translate(14px)}.switch-field input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.person-editor__actions{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:auto;padding:var(--space-3) var(--space-4);border-top:1px solid var(--border);background:var(--bg)}.icon-inline{display:inline-grid;place-items:center;width:28px;height:28px;padding:0;border:0;background:transparent;cursor:pointer}
