:root{color-scheme:dark;--color-bg-primary: #080810;--color-bg-secondary: #0e0e1c;--color-bg-tertiary: #14142a;--color-bg-surface: #14142a;--color-bg-card: #161628;--color-bg-hover: rgba(255, 255, 255, .04);--color-bg-input: #101022;--color-text-primary: rgba(255, 255, 255, .92);--color-text-secondary: rgba(255, 255, 255, .55);--color-text-muted: rgba(255, 255, 255, .3);--color-text-inverse: #080810;--color-border: rgba(255, 255, 255, .08);--color-border-light: rgba(255, 255, 255, .15);--glass-bg: rgba(255, 255, 255, .04);--glass-bg-hover: rgba(255, 255, 255, .07);--card-bg: rgba(129, 140, 248, .08);--card-bg-hover: rgba(129, 140, 248, .16);--card-border: rgba(129, 140, 248, .22);--card-border-hover: rgba(129, 140, 248, .4);--color-accent: #818cf8;--color-accent-hover: #a5b4fc;--color-accent-muted: rgba(129, 140, 248, .18);--color-danger: #f87171;--color-danger-bg: rgba(248, 113, 113, .15);--color-warning: #fbbf24;--color-warning-bg: rgba(251, 191, 36, .15);--color-success: #34d399;--color-success-bg: rgba(52, 211, 153, .15);--color-info: #38bdf8;--color-status-pending: #6b7280;--color-status-in-progress: #818cf8;--color-status-complete: #34d399;--color-status-blocked: #f87171;--color-status-na: rgba(255, 255, 255, .14);--color-urgency-late: #f87171;--color-urgency-overdue: #fb923c;--color-urgency-due-soon: #fbbf24;--color-urgency-on-track: #34d399;--color-urgency-pending: #6b7280;--font-family: "Satoshi", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-xs: .7rem;--font-size-sm: .8rem;--font-size-base: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 9999px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .4);--shadow-md: 0 4px 20px rgba(0, 0, 0, .5), inset 0 1px 0 rgba(255, 255, 255, .05);--shadow-lg: 0 8px 40px rgba(0, 0, 0, .6), inset 0 1px 0 rgba(255, 255, 255, .07);--header-height: 56px;--tab-bar-height: 40px;--sidebar-width: 280px;--timeline-row-height: 72px;--timeline-header-height: 32px}:root[data-theme=light]{color-scheme:light;--color-bg-primary: #f6efe0;--color-bg-secondary: #fbf6ec;--color-bg-tertiary: #f1e8d7;--color-bg-surface: #faf3e6;--color-bg-card: #fffcf3;--color-bg-hover: rgba(80, 58, 20, .05);--color-bg-input: #fffdf7;--color-text-primary: #2c2620;--color-text-secondary: #6e6253;--color-text-muted: #9d927e;--color-text-inverse: #fffcf3;--color-border: rgba(80, 58, 20, .12);--color-border-light: rgba(80, 58, 20, .2);--glass-bg: rgba(255, 252, 243, .72);--glass-bg-hover: rgba(255, 252, 243, .92);--glass-border: rgba(80, 58, 20, .12);--card-bg: rgba(184, 121, 31, .07);--card-bg-hover: rgba(184, 121, 31, .14);--card-border: rgba(184, 121, 31, .24);--card-border-hover: rgba(184, 121, 31, .42);--color-accent: #b8791f;--color-accent-hover: #9c6717;--color-accent-muted: rgba(184, 121, 31, .16);--color-danger: #d4453b;--color-danger-bg: rgba(212, 69, 59, .12);--color-warning: #c2790a;--color-warning-bg: rgba(194, 121, 10, .13);--color-success: #0e9f6e;--color-success-bg: rgba(14, 159, 110, .12);--color-info: #2f6fb0;--color-status-pending: #8a8276;--color-status-in-progress: #b8791f;--color-status-complete: #0e9f6e;--color-status-blocked: #d4453b;--color-status-na: rgba(80, 58, 20, .12);--color-urgency-late: #d4453b;--color-urgency-overdue: #d97706;--color-urgency-due-soon: #b8791f;--color-urgency-on-track: #0e9f6e;--color-urgency-pending: #8a8276;--shadow-sm: 0 1px 3px rgba(80, 58, 20, .1);--shadow-md: 0 2px 12px rgba(80, 58, 20, .1);--shadow-lg: 0 8px 30px rgba(80, 58, 20, .12)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-bg-primary);line-height:1.5;-webkit-font-smoothing:antialiased}input,button,select,textarea{font-family:inherit;font-size:inherit}a{color:var(--color-accent);text-decoration:none}@font-face{font-family:Satoshi;src:url(/fonts/satoshi-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/satoshi-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/satoshi-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/satoshi-900.woff2) format("woff2");font-weight:900;font-style:normal;font-display:swap}:root{--font-family: "Satoshi", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}.app-shell{display:flex;flex-direction:column;height:100vh;overflow:hidden;position:relative;z-index:1}.app-header{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-4);background:#0e0e1cb8;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);height:var(--header-height);position:relative;z-index:50}.app-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:30px;font-weight:600;letter-spacing:-.02em;color:var(--color-text-primary);pointer-events:none;white-space:nowrap}.app-toolbar{display:flex;align-items:center;gap:var(--space-3);margin-left:auto}.app-main{flex:1;overflow:hidden;display:flex;flex-direction:column;position:relative}.toolbar-btn{background:var(--card-bg);color:var(--color-accent);border:1px solid var(--card-border);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);font-weight:600;transition:background .15s,border-color .15s,color .15s}.toolbar-btn:hover{background:var(--card-bg-hover);border-color:var(--card-border-hover)}.toolbar-btn.active{background:#818cf833;border-color:#818cf880;color:var(--color-accent-hover)}.toolbar-btn-sm{padding:var(--space-1) var(--space-3);font-size:14px}.search-input{display:flex;align-items:center;background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:0 var(--space-2);position:relative}.search-icon{color:var(--color-text-muted);margin-right:var(--space-1)}.search-field{background:none;border:none;color:var(--color-text-primary);padding:var(--space-1) var(--space-2);outline:none;width:180px}.search-results{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:60;max-height:320px;overflow-y:auto;list-style:none;margin:0;padding:var(--space-1);background:#14142a;border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.search-result-item{display:block;width:100%;text-align:left;background:none;border:none;color:var(--color-text-primary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result-item:hover{background:var(--color-bg-hover)}.search-result-empty{padding:var(--space-2) var(--space-3);color:var(--color-text-muted);font-size:14px}.at-risk-btn{display:inline-flex;align-items:center;gap:7px}.at-risk-dot{width:7px;height:7px;border-radius:50%;background:#f87171;box-shadow:0 0 6px #f8717199}.tab-bar{display:flex;gap:2px;padding:0 var(--space-4);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);overflow-x:auto}.tab-item{display:flex;align-items:center;gap:var(--space-2);padding:12px var(--space-4);background:none;border:none;color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;font-size:24px;font-weight:500;border-bottom:2px solid transparent}.tab-item:hover{color:var(--color-text-primary)}.tab-active{color:var(--color-text-primary);border-bottom-color:var(--color-accent)}.tab-name-input{font:inherit;color:var(--color-text-primary);background:var(--color-bg-input);border:1px solid var(--color-accent);border-radius:var(--radius-sm);padding:1px 6px;width:9ch;min-width:6ch}.tab-count{font-size:14px;font-weight:600;background:var(--glass-bg);color:var(--color-text-muted);padding:2px 9px;border-radius:var(--radius-full);transition:background .2s,color .2s}.tab-active .tab-count{background:var(--color-accent-muted);color:var(--color-accent)}.tab-drop-target{background:var(--color-accent-muted);border-bottom-color:var(--color-accent);border-radius:var(--radius-md) var(--radius-md) 0 0}.timeline-view{flex:1;display:flex;flex-direction:column;overflow:hidden}.timeline-toolbar{display:flex;gap:var(--space-2);padding:var(--space-2) var(--space-4)}.timeline-scroll{flex:1;overflow:auto}.timeline{width:100%;border-collapse:collapse;table-layout:fixed}.timeline thead th{position:sticky;top:0;background:var(--color-bg-secondary);padding:var(--space-3) var(--space-2);text-align:left;font-size:16px;font-weight:600;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--color-border);z-index:1}.timeline-header-project{width:230px}.timeline-header-deadline{width:110px}.timeline thead th.timeline-header-dept,.timeline thead th.timeline-header-project,.timeline thead th.timeline-header-deadline{text-align:center}.timeline-header-dept .dept-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dept-label{display:inline-block;vertical-align:middle}.dept-count{display:inline-block;vertical-align:middle;font-size:var(--font-size-xs);color:var(--color-accent);background:var(--color-accent-muted);border:1px solid rgba(129,140,248,.25);border-radius:var(--radius-full);padding:0 6px;margin-left:6px;font-weight:700}.dept-count:empty{display:none}.project-row{border-bottom:1px solid var(--color-border);cursor:pointer;height:var(--timeline-row-height)}.project-row:hover{background:var(--color-bg-hover)}.project-row.row-flash{animation:row-flash 2.2s ease-out}@keyframes row-flash{0%,30%{background:#818cf857;box-shadow:inset 3px 0 0 var(--color-accent)}to{background:transparent;box-shadow:inset 3px 0 0 transparent}}.project-info-cell{padding:var(--space-2);vertical-align:middle}.project-info{display:flex;flex-direction:column;gap:4px;padding:var(--space-2) var(--space-3);background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-md);box-shadow:inset 0 1px #ffffff0f}.project-name{font-size:17px;font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:185px}.project-meta{display:flex;align-items:center;gap:var(--space-2);font-size:13px}.project-service{color:var(--color-text-primary);font-size:17px}.project-sep{margin-left:auto;color:var(--color-text-muted);font-size:16px}.project-percent{color:var(--color-text-primary);font-size:16px}.project-name-input{font-size:17px;font-weight:600;color:var(--color-text-primary);background:var(--color-bg-input);border:1px solid var(--color-accent);border-radius:var(--radius-sm);padding:2px 6px;width:100%;max-width:185px;outline:none}.group-row{cursor:pointer;border-bottom:1px solid var(--color-border);height:var(--timeline-row-height)}.group-row:hover{background:var(--color-bg-hover)}.group-info{flex-direction:row;align-items:center;gap:var(--space-2)}.group-toggle{color:var(--color-text-muted);font-size:30px;width:22px;line-height:1;flex-shrink:0}.group-info-text{display:flex;flex-direction:column;gap:4px;min-width:0}.group-count{color:var(--color-text-secondary);font-size:13px}.group-spacer{border-left:1px solid var(--color-border)}.group-hint{color:var(--color-text-muted);font-size:13px;padding-left:var(--space-3)}.mini-card-row{display:flex;flex-wrap:wrap;gap:3px;align-items:center;justify-content:center}.mini-card{font-size:10px;font-weight:700;line-height:1;padding:2px 5px;border-radius:4px;white-space:nowrap}.hidden-section{border-top:1px solid var(--color-border);margin-top:4px}.hidden-toggle{display:flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;color:var(--color-text-secondary);font-size:14px;font-weight:600;padding:var(--space-2) var(--space-3)}.hidden-toggle:hover{color:var(--color-text-primary)}.hidden-arrow{font-size:16px;color:var(--color-text-muted)}.hidden-count{font-size:12px;font-weight:700;color:var(--color-text-muted);background:var(--glass-bg);border-radius:var(--radius-full);padding:1px 8px}.hidden-list{display:flex;flex-direction:column;gap:2px;padding:0 var(--space-3) var(--space-3)}.hidden-item{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:var(--radius-md);background:#ffffff05;border:1px solid var(--color-border)}.hidden-name{flex:1;font-size:15px;color:var(--color-text-secondary);cursor:pointer}.hidden-name:hover{color:var(--color-text-primary)}.hidden-unhide{background:var(--card-bg);color:var(--color-accent);border:1px solid var(--card-border);border-radius:var(--radius-sm);padding:3px 10px;font-size:12px;cursor:pointer}.episode-row .project-info-cell{padding-left:var(--space-5)}.episode-row .project-info{background:#ffffff05;border-left:3px solid rgba(129,140,248,.55)}.dept-cell{padding:1px var(--space-1);border-left:1px solid var(--color-border);vertical-align:middle}.dept-col-alt{background:var(--color-bg-hover)}.timeline thead th.dept-col-alt{background:var(--color-bg-tertiary)}.dept-active{background:#818cf80f}:root:not([data-zebra=off]) .timeline tbody tr:nth-child(2n)>td{background-image:linear-gradient(#ffffff09,#ffffff09)}.project-card{position:relative;display:flex;align-items:center;gap:var(--space-2);height:calc(var(--timeline-row-height) - 2px);padding:0 var(--space-3);background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-md);cursor:grab;overflow:hidden;box-shadow:0 2px 8px #00000059,inset 0 1px #ffffff1a;transition:transform .15s ease-out,background .2s,border-color .2s,box-shadow .15s}.card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.card-name{font-size:16px;font-weight:600;line-height:1.2;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.card-assignee{font-weight:500;color:var(--color-text-primary)}.card-sub{display:flex;align-items:center;gap:6px;font-size:15.5px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-sub .card-pct{display:none;margin-left:auto;font-weight:700;color:#fff}.project-card:hover{transform:translateY(-1px);background:var(--card-bg-hover);border-color:var(--card-border-hover)}.project-card.status-complete{background:#34d39914;border-color:#34d39959}.project-card.status-blocked{background:#f8717114;border-color:#f8717166}.project-card.needs-assignee{background:#f871712e;border-color:#f8717199}.project-card.needs-assignee:hover{background:#f8717142;border-color:#f87171c7}.project-card:active{cursor:grabbing}.project-card__progress{position:absolute;bottom:0;left:0;height:3px;border-radius:0 2px 2px 0;transition:width .3s ease,background .3s ease;pointer-events:none}.deadline-cell{padding:0;font-size:13px;vertical-align:middle;position:relative;cursor:pointer;border:none}.deadline-cell.deadline-drop-over{outline:2px dashed var(--color-accent);outline-offset:-2px}.deadline-date-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;border:none;background:none;pointer-events:none}input[type=date]{color-scheme:dark}.deadline-pending{display:flex;align-items:center;justify-content:center;height:var(--timeline-row-height);font-size:17px;color:var(--color-text-muted)}.deadline-badge{position:absolute;top:-1px;right:0;bottom:-1px;left:0;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;letter-spacing:.02em;white-space:nowrap;border:none;transition:color .6s ease,background .6s ease}.badge{display:inline-block;padding:2px 6px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:600;flex-shrink:0}.badge-default{background:var(--color-bg-surface);color:var(--color-text-secondary)}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger)}.badge-language{font-size:14px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.btn{border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:500;transition:background .15s}.btn-primary{background:var(--color-accent);color:var(--color-text-inverse)}.btn-primary:hover{background:var(--color-accent-hover)}.btn-secondary{background:var(--color-bg-surface);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-danger{background:var(--color-danger);color:#fff}.btn-ghost{background:none;color:var(--color-text-secondary)}.btn-ghost:hover{color:var(--color-text-primary)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm)}.btn-md{padding:var(--space-2) var(--space-4);font-size:var(--font-size-base)}.btn-lg{padding:var(--space-3) var(--space-6);font-size:var(--font-size-md)}dialog.modal{margin:auto;border:1px solid var(--glass-border);background:#14142aeb;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);color:var(--color-text-primary);border-radius:var(--radius-lg);padding:0;max-width:620px;width:90vw;box-shadow:var(--shadow-lg)}dialog.modal::backdrop{background:#08081073;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.modal-content{padding:var(--space-6)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.modal-header h2{font-size:20px;font-weight:600}.modal-close{background:none;border:none;color:var(--color-text-muted);font-size:1.5rem;cursor:pointer;line-height:1}.modal-close:hover{color:var(--color-text-primary)}.form-hint{font-size:13px;color:var(--color-text-secondary);line-height:1.45;margin-bottom:var(--space-4)}.form-field{margin-bottom:var(--space-3)}.form-field label{display:block;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-1)}.form-field input,.form-field select,.form-field textarea{width:100%;padding:var(--space-2);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary)}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--color-accent)}.form-row{display:flex;gap:var(--space-3)}.form-row .form-field{flex:1}.new-client-row{display:flex;gap:var(--space-2);margin-top:var(--space-2);align-items:center}.new-client-row input{flex:1}.new-lang-row input{text-transform:uppercase;letter-spacing:.04em}.form-actions{display:flex;gap:var(--space-2);margin-top:var(--space-4)}.toast-viewport{position:fixed;top:18px;right:18px;z-index:1000;display:flex;flex-direction:column;gap:var(--space-2);max-width:min(420px,calc(100vw - 36px));pointer-events:none}.toast{pointer-events:auto;text-align:left;padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-elevated, #1b1e27);color:var(--color-text-primary);font-size:14px;line-height:1.4;cursor:pointer;box-shadow:0 8px 24px #00000059;animation:toast-in .18s ease-out}.toast-error{border-color:#f871718c;background:#3c181bf5;color:#fecaca}.toast-success{border-color:#34d39980;background:#142d26f5;color:#bbf7d0}.toast-info{border-color:#818cf880}@keyframes toast-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.select-with-add{display:flex;gap:var(--space-2);align-items:center}.select-with-add select{flex:1;width:auto;min-width:0}.add-lang-btn{flex:0 0 auto;width:34px;align-self:stretch;display:inline-flex;align-items:center;justify-content:center;font-size:20px;line-height:1;color:var(--color-text-secondary);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:border-color .15s,color .15s}.add-lang-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.form-error{display:block;margin-top:var(--space-1);font-size:13px;color:var(--color-danger, #f87171)}.auth-screen{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--color-bg-primary)}.auth-card{background:var(--color-bg-surface);border-radius:var(--radius-lg);padding:var(--space-8);width:360px;box-shadow:var(--shadow-lg)}.auth-title{text-align:center;margin-bottom:var(--space-6);color:var(--color-accent);line-height:1.1}.auth-title-line{display:block}.auth-form .btn{width:100%;margin-top:var(--space-4)}.auth-error{background:var(--color-danger-bg);color:var(--color-danger);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-sm);margin-bottom:var(--space-3)}.auth-link{display:block;text-align:center;color:var(--color-text-muted);background:none;border:none;cursor:pointer;margin-top:var(--space-3);font-size:var(--font-size-sm)}.auth-link:hover{color:var(--color-accent)}.auth-success{color:var(--color-success, #4ade80);text-align:center;margin-bottom:var(--space-3)}.auth-description{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-bottom:var(--space-4);text-align:center}.detail-status{display:flex;align-items:center;gap:var(--space-3);padding-bottom:var(--space-4);margin-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.detail-status-key{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-primary);font-weight:700}.detail-status-badge{font-size:13px;font-weight:600;padding:2px 10px;border-radius:var(--radius-full);background:var(--color-accent-muted);color:var(--color-accent);text-transform:capitalize}.detail-status-badge.status-complete{background:var(--color-success-bg);color:var(--color-success)}.detail-status-badge.status-blocked{background:var(--color-danger-bg);color:var(--color-danger)}.detail-progress{flex:1;height:6px;background:var(--glass-bg);border-radius:var(--radius-full);overflow:hidden}.detail-progress-fill{height:100%;background:var(--color-accent);border-radius:var(--radius-full);transition:width .3s ease}.detail-status-pct{font-size:13px;font-weight:600;color:#fff;min-width:38px;text-align:right}.detail-modal-title{display:inline-flex;align-items:center;gap:12px}.detail-modal-title .badge-language{font-size:18px}.project-detail-fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3) var(--space-5)}.detail-field{display:flex;flex-direction:column;gap:4px;margin-bottom:var(--space-3)}.detail-field-wide{grid-column:1 / -1}.detail-label{font-size:var(--font-size-xs);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.05em;font-weight:700}.detail-value{font-size:15px;font-weight:700;color:var(--detail-value, var(--color-text-primary))}.detail-input{width:100%;background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);color:var(--detail-value, var(--color-text-primary));font-size:15px;font-weight:700;font-family:inherit}.detail-input::placeholder{color:var(--color-text-muted)}.detail-dept-head{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-4)}.detail-dept-toggle{background:var(--card-bg);color:var(--color-accent);border:1px solid var(--card-border);border-radius:var(--radius-sm);padding:3px 10px;font-size:12px;font-weight:600;cursor:pointer}.detail-dept-toggle:hover{background:var(--card-bg-hover);border-color:var(--card-border-hover)}.detail-dept-table{width:100%;border-collapse:collapse;margin-top:var(--space-4)}.detail-dept-table th{text-align:left;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-primary);font-weight:600;padding:var(--space-2);border-bottom:1px solid var(--color-border)}.detail-dept-table td{padding:var(--space-2);border-bottom:1px solid var(--color-border);font-size:var(--font-size-sm)}.detail-dept-name{color:var(--color-text-primary);font-weight:500}.detail-dept-assignee{color:var(--color-text-secondary)}.detail-dept-assignee-input{width:100%;background:var(--color-bg-input);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:4px 8px;font:inherit;font-size:13px}.detail-dept-assignee-input:focus{outline:none;border-color:var(--color-accent)}.detail-dept-assignee-input::placeholder{color:var(--color-text-muted)}.detail-dept-pill{display:inline-block;font-size:var(--font-size-xs);font-weight:600;padding:2px 8px;border-radius:var(--radius-full);text-transform:capitalize;background:var(--glass-bg);color:var(--color-text-secondary)}.detail-dept-pill.status-in_progress{background:var(--color-accent-muted);color:var(--color-accent)}.detail-dept-pill.status-complete{background:var(--color-success-bg);color:var(--color-success)}.detail-dept-pill.status-blocked{background:var(--color-danger-bg);color:var(--color-danger)}.project-detail-actions{margin-top:var(--space-4);display:flex;align-items:center;gap:var(--space-2)}.project-detail-actions .detail-dept-toggle{margin-left:auto}dialog.modal.assignee-modal{width:min(1159px,92vw);max-width:none;max-height:92vh;overflow-y:auto}.assignee-modal .modal-content{zoom:1.26}.assignee-panel{min-height:300px}.assignee-title{display:inline-flex;align-items:center;gap:10px}.assignee-title-count{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:22px;padding:0 8px;border-radius:999px;background:var(--color-accent-muted);border:1px solid rgba(129,140,248,.4);color:var(--color-accent-hover);font-size:13px;font-weight:700;line-height:1}.assignee-actions{margin-bottom:var(--space-3)}.assignee-form{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-3)}.assignee-form input{padding:var(--space-2);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);color:#fff}.assignee-search{width:100%;padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);color:#fff;font-size:14px}.assignee-search::placeholder{color:var(--color-text-secondary)}.assignee-search:focus{outline:none;border-color:var(--color-accent)}.assignee-groups{columns:340px 2;column-gap:var(--space-4)}.assignee-group{break-inside:avoid;margin-bottom:var(--space-3);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:14px}.assignee-group-head{display:flex;align-items:baseline;gap:9px;padding:11px 13px 8px}.assignee-group-head .badge-language{font-size:16px}.assignee-group-name{color:#fff;font-size:19px;font-weight:600}.assignee-group-count{margin-left:auto;color:#fff;font-size:14px;font-weight:600}.assignee-group-rows{display:flex;flex-direction:column;padding:2px 8px 8px}.assignee-item{display:flex;align-items:center;gap:var(--space-2);padding:7px 8px;border-radius:8px;cursor:grab}.assignee-item:hover{background:var(--color-bg-hover)}.assignee-name{color:#fff;font-weight:600;font-size:16px}.assignee-tags{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-left:6px}.assignee-role{font-size:12.5px;font-weight:600;padding:2px 10px;border-radius:999px;color:var(--color-accent-hover);background:#818cf81f;border:1px solid rgba(129,140,248,.26)}.assignee-delete{margin-left:auto;background:none;border:none;color:var(--color-text-muted);cursor:pointer;display:grid;place-items:center}.assignee-delete:hover{color:var(--color-danger)}.assignee-empty{color:#fff;padding:var(--space-4);text-align:center}.retake-view{min-height:300px}.retake-actions{margin-bottom:var(--space-3)}.retake-form{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-3)}.retake-form input,.retake-form textarea{padding:var(--space-2);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary)}.retake-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.retake-table th{text-align:left;color:var(--color-text-muted);font-size:var(--font-size-xs);padding:var(--space-1)}.retake-table td{padding:var(--space-1);border-top:1px solid var(--color-border)}.retake-delete{background:none;border:none;color:var(--color-text-muted);cursor:pointer}.tenant-admin{padding:var(--space-6);max-width:800px;margin:0 auto}.tenant-admin h1{margin-bottom:var(--space-4)}.admin-tabs{display:flex;gap:2px;margin-bottom:var(--space-6);border-bottom:1px solid var(--color-border)}.admin-tab{padding:var(--space-2) var(--space-4);background:none;border:none;color:var(--color-text-secondary);cursor:pointer;border-bottom:2px solid transparent}.admin-tab.active{color:var(--color-text-primary);border-bottom-color:var(--color-accent)}.admin-section h2{margin-bottom:var(--space-3);font-size:var(--font-size-md)}.admin-form-row{display:flex;gap:var(--space-2);margin-bottom:var(--space-3)}.admin-form-row input,.admin-form-row select{padding:var(--space-2);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);flex:1}.admin-list{list-style:none}.admin-list-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2);border-bottom:1px solid var(--color-border)}.delete-btn{background:none;border:none;color:var(--color-danger);cursor:pointer;font-size:1.2rem}.text-muted{color:var(--color-text-muted)}.flag-on{color:var(--color-success)}.flag-off{color:var(--color-text-muted)}.comment-thread{display:flex;flex-direction:column;gap:var(--space-3)}.comment-list{display:flex;flex-direction:column;gap:var(--space-2);max-height:300px;overflow-y:auto}.comment-empty{color:var(--color-text-muted);font-size:var(--font-size-sm);text-align:center;padding:var(--space-4)}.comment-item{padding:var(--space-2) var(--space-3);background:var(--color-bg-card);border-radius:var(--radius-md)}.comment-header{display:flex;justify-content:space-between;margin-bottom:var(--space-1)}.comment-author{font-weight:600;font-size:var(--font-size-sm)}.comment-time{font-size:var(--font-size-xs);color:var(--color-text-muted)}.comment-body{font-size:var(--font-size-sm);line-height:1.4}.comment-input{display:flex;gap:var(--space-2);align-items:flex-end}.comment-input textarea{flex:1;padding:var(--space-2);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);resize:none}.activity-feed{margin-top:var(--space-4)}.activity-title{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-2)}.activity-empty{color:var(--color-text-muted);font-size:var(--font-size-sm)}.activity-list{list-style:none}.activity-item{display:flex;gap:var(--space-2);padding:var(--space-1) 0;border-bottom:1px solid var(--color-border);font-size:var(--font-size-xs)}.activity-action{color:var(--color-text-secondary)}.activity-entity{color:var(--color-text-primary);font-weight:500}.activity-time{margin-left:auto;color:var(--color-text-muted)}.presence-indicator{display:flex;align-items:center;gap:var(--space-1)}.presence-dot{width:24px;height:24px;border-radius:50%;background:var(--color-accent);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--color-text-inverse)}.presence-label{font-size:var(--font-size-xs);color:var(--color-text-muted)}.notification-bell{position:relative;background:none;border:none;cursor:pointer;font-size:1.2rem;padding:var(--space-1)}.bell-badge{position:absolute;top:-2px;right:-4px;background:var(--color-danger);color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;padding:0 3px}.notification-list{min-width:320px}.notification-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.notification-header h3{font-size:var(--font-size-md)}.notification-empty{color:var(--color-text-muted);text-align:center;padding:var(--space-4);font-size:var(--font-size-sm)}.notification-item{display:flex;gap:var(--space-2);padding:var(--space-2) var(--space-3);cursor:pointer;border-radius:var(--radius-md);position:relative}.notification-item:hover{background:var(--color-bg-hover)}.notification-unread{background:var(--color-accent-muted)}.notification-icon{font-size:1.2rem;flex-shrink:0}.notification-content{display:flex;flex-direction:column;gap:2px;min-width:0}.notification-title{font-size:var(--font-size-sm);font-weight:500}.notification-body{font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-time{font-size:var(--font-size-xs);color:var(--color-text-muted)}.notification-dot{width:8px;height:8px;border-radius:50%;background:var(--color-accent);flex-shrink:0;align-self:center}.notification-dropdown{position:fixed;top:var(--header-height);right:var(--space-4);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:100;max-height:400px;overflow-y:auto;padding:var(--space-3)}.page-nav{display:flex;align-items:center;gap:var(--space-3)}.page-nav a{font-size:var(--font-size-sm);font-weight:600;color:var(--color-accent);background:var(--card-bg);border:1px solid var(--card-border);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);text-decoration:none;transition:background .15s,border-color .15s,color .15s}.page-nav a:hover{background:var(--card-bg-hover);border-color:var(--card-border-hover)}.page-nav a.active{background:#818cf833;border-color:#818cf880;color:var(--color-accent-hover)}.dashboard{display:flex;gap:0;padding:18px 26px 26px;height:calc(100vh - 64px)}.dash-left{display:flex;flex-direction:column;min-width:0;min-height:0}.dash-pane{display:flex;flex:1 1 0;min-width:0;min-height:0}.dash-pane>.card{flex:1 1 auto;width:100%;min-height:0}.dash-split{flex:0 0 18px;position:relative}.dash-split:after{content:"";position:absolute;background:var(--color-border);border-radius:3px;transition:background .15s}.dash-split:hover:after{background:var(--color-accent)}.dash-vsplit{cursor:col-resize}.dash-vsplit:after{left:50%;top:8px;bottom:8px;width:4px;transform:translate(-50%)}.dash-hsplit{cursor:row-resize}.dash-hsplit:after{top:50%;left:8px;right:8px;height:4px;transform:translateY(-50%)}.dashboard .card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:18px;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:var(--shadow-lg);padding:16px 18px;overflow:hidden;display:flex;flex-direction:column}.dashboard .card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.dashboard .label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted);font-weight:700}.dashboard .open-hint{font-size:14px;color:var(--color-accent);opacity:.85;background:none;border:none;cursor:pointer;font-family:inherit}.dashboard .open-hint:hover{opacity:1}.mini-tracker-card .card-head,.calendar-card .card-head,.workspace-card .card-head{position:relative;justify-content:center}.mini-tracker-card .card-head .label,.calendar-card .card-head .label,.workspace-card .card-head .label{font-size:18px;color:var(--color-text-primary)}.mini-tracker-card .card-head .open-hint,.calendar-card .card-head .open-hint{position:absolute;right:0}.ws-seg{margin-bottom:10px;flex-wrap:wrap}.ws-shared-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--color-accent);margin-left:6px;vertical-align:middle}.ws-scope{margin-top:8px;font-size:16px;color:var(--color-text-primary);display:inline-flex;align-items:center;gap:6px}.lang-color-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:12px 0}.lang-color-row{display:flex;align-items:center;gap:10px}.lang-color-code{font-weight:800;letter-spacing:.04em;width:46px}.lang-color-row input[type=color]{width:42px;height:28px;padding:0;border:1px solid var(--color-border);border-radius:6px;background:none;cursor:pointer}.lang-color-reset{font-size:12px;color:var(--color-text-muted);background:none;border:1px solid var(--color-border);border-radius:6px;padding:3px 8px;cursor:pointer}.lang-color-reset:disabled{opacity:.4;cursor:default}.mini-tracker-card{grid-area:tracker;cursor:pointer;transition:border-color .15s}.mini-tracker-card:hover{border-color:#818cf873}.mini-tracker-clip{flex:1;overflow:hidden;border-radius:12px;border:1px solid var(--color-border);position:relative}.mini-tracker-scale{width:200%;transform:scale(.5);transform-origin:top left;pointer-events:none}.mini-tracker-scale .timeline-toolbar{display:none}.workspace-card{grid-area:todo}.workspace-card .seg{display:flex;gap:4px;background:#08081280;border:1px solid var(--color-border);border-radius:9px;padding:3px}.workspace-card .seg button{font-size:18px;padding:4px 12px;border-radius:7px;color:var(--color-text-muted);background:none;border:none;cursor:pointer}.workspace-card .seg button.on{background:var(--glass-bg-hover);color:var(--color-text-primary)}.workspace-card .seg button.tab-drop{color:var(--color-text-primary);background:var(--glass-bg-hover);box-shadow:inset 0 0 0 1.5px var(--color-accent)}.todo-list{flex:1;display:flex;flex-direction:column;gap:9px;overflow:auto}.titem{display:flex;align-items:center;gap:9px;font-size:21px}.titem.done span{color:var(--color-text-muted);text-decoration:line-through}.tbox{width:15px;height:15px;border-radius:5px;border:1.5px solid var(--color-border);background:none;cursor:pointer;flex-shrink:0}.tbox.checked{background:var(--color-accent);border-color:var(--color-accent)}.titem span{flex:1}.tdel{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:21px;line-height:1}.todo-add{margin-top:auto;display:flex;gap:8px;border-top:1px solid var(--color-border);padding-top:10px}.todo-add input{flex:1;background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:8px;padding:6px 10px;color:var(--color-text-primary)}.todo-add button{width:34px;border-radius:8px;border:1px solid var(--color-border);background:var(--glass-bg);color:var(--color-accent);cursor:pointer}.notes-area{flex:1;width:100%;resize:none;background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:10px;padding:10px 12px;color:var(--color-text-primary);font-family:inherit;font-size:21px;line-height:1.5}.todo-add input,.todo-add button{font-size:20px}.notes-editor{flex:1;min-height:0;display:flex;flex-direction:column;gap:8px}.notes-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.notes-fmt{display:flex;gap:4px}.notes-fmt button{min-width:30px;height:28px;padding:0 8px;border-radius:7px;font-size:15px;font-family:inherit;border:1px solid var(--color-border);background:var(--color-bg-input);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.notes-fmt button:hover{color:var(--color-text-primary);border-color:var(--color-accent)}.notes-saved{margin-left:auto;font-size:13px;color:var(--color-text-muted);white-space:nowrap}.notes-write{position:relative;flex:1;min-height:0;display:flex}.notes-pick{position:absolute;left:12px;bottom:12px;z-index:20;min-width:220px;max-width:min(360px,90%);max-height:220px;overflow:auto;display:flex;flex-direction:column;padding:4px;background:var(--color-bg-elevated,#1b1e27);border:1px solid var(--color-border);border-radius:10px;box-shadow:0 10px 30px #0000006b}.notes-pick button{display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:left;padding:7px 10px;border:none;border-radius:7px;background:none;cursor:pointer;color:var(--color-text-primary);font-family:inherit;font-size:15px}.notes-pick button.on,.notes-pick button:hover{background:var(--glass-bg-hover)}.notes-pick .np-name{font-weight:600}.notes-pick .np-meta{font-size:12px;color:var(--color-text-muted)}.calendar-card{grid-area:calendar;cursor:pointer;transition:border-color .15s}.calendar-card:hover{border-color:#34d39966}.cal-day{display:grid;grid-template-columns:80px 1fr;gap:12px;padding:6px 4px;border-top:1px solid var(--color-border);align-items:center}.cal-dl{font-size:17px;font-weight:700;color:var(--color-text-muted)}.cal-dl b{display:block;color:var(--color-text-primary);font-size:18px}.cal-day.today .cal-dl b{color:var(--color-accent)}.cal-evrow{display:flex;gap:6px;flex-wrap:wrap;align-items:flex-start}.cal-ev{font-size:16.5px;font-weight:700;padding:4px 9px;border-radius:6px;border:1px solid var(--color-border);background:#ffffff08}.cal-empty{font-size:14px;font-weight:700;color:#9aa0b580}.cal-evgroup{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-family:inherit;line-height:1.2}.cal-evarrow{font-size:10px;opacity:.85}.cal-evcount{font-size:10.5px;font-weight:700;line-height:1;padding:1px 6px;border-radius:999px;background:#ffffff2e;color:#fff}.cal-children{flex-basis:100%;display:flex;flex-wrap:wrap;gap:6px;margin:1px 0 3px 12px;padding-left:9px;border-left:2px solid var(--color-border-light)}.cal-child{font-size:12px}.cal-month{padding-top:6px;flex:1;min-height:0;display:flex;flex-direction:column}.cal-resize{flex:0 0 auto;height:14px;margin:8px 0 2px;cursor:row-resize;position:relative;touch-action:none}.cal-resize:after{content:"";position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:1px;background:var(--color-border);border-radius:2px;transition:background .15s,height .15s}.cal-resize:hover:after{background:var(--color-accent);height:3px}.cal-month-grid,.cal-fullmonth{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.cal-month-grid{flex:1}.cal-mh{font-size:9px;color:var(--color-text-muted);text-align:center;text-transform:uppercase;letter-spacing:.08em}.calendar-card .cal-mh{font-size:16px;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-mcell,.cal-fcell{border:1px solid var(--color-border);border-radius:7px;padding:3px 4px 4px;display:flex;flex-direction:column;gap:2px;overflow:hidden}.cal-mcell.out,.cal-fcell.out{opacity:.32}.cal-mcell.today,.cal-fcell.today{border-color:#818cf880;background:#818cf814}.cal-dn{font-size:14px;color:var(--color-text-muted);font-weight:600}.cal-nb{font-size:14px;line-height:1.2;padding:2px 5px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:none;text-align:left}.cal-nb-count{font-weight:800;opacity:.85}.cal-nb-count:before{content:"×";opacity:.7;font-weight:600}.cal-nb.clickable{cursor:pointer}.cal-more{font-size:11px;color:var(--color-text-muted)}.cal-more.clickable{cursor:pointer;background:none;border:none;padding:2px 5px;text-align:left;font-weight:600}.cal-more.clickable:hover{color:var(--color-accent)}.cal-day-modal{display:flex;flex-direction:column;gap:6px}.cal-ev-drag{cursor:grab}.cal-ev-drag:active{cursor:grabbing}.workspace-card.drop-over{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-muted) inset}.settings-menu{position:relative;display:inline-flex;flex:0 0 auto}.settings-cog{width:34px;height:34px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;line-height:1;background:var(--glass-bg);border:1px solid var(--color-border);color:var(--color-accent);transition:background .2s,border-color .2s,color .2s}.settings-cog:hover,.settings-cog.open{background:var(--glass-bg-hover);border-color:var(--color-border-light);color:var(--color-accent-hover)}.settings-pop{position:absolute;top:calc(100% + 8px);right:0;z-index:200;min-width:214px;padding:8px;background:var(--color-bg-surface);border:1px solid var(--color-border-light);border-radius:12px;box-shadow:0 16px 40px #00000080}.settings-title{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);padding:4px 8px 9px}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px;border-radius:8px;font-size:14px;font-weight:600;color:var(--color-text-primary)}.settings-row:hover{background:#ffffff0a}.switch{position:relative;width:38px;height:22px;flex:0 0 auto;padding:0;border-radius:999px;cursor:pointer;background:#ffffff14;border:1px solid var(--color-border);transition:background .15s,border-color .15s}.switch .knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--color-text-secondary);transition:transform .16s ease,background .16s}.switch.on{background:var(--color-accent-muted);border-color:#818cf899}.switch.on .knob{transform:translate(16px);background:var(--color-accent)}.cal-month-link{cursor:pointer}.assignment-list{display:flex;flex-direction:column;gap:8px;flex:1;min-height:0;overflow-y:auto;padding:4px 2px}.assignment-empty{color:var(--color-text-muted);font-size:19px;padding:10px 6px}.assignment-bubble{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;border:1px solid transparent;cursor:pointer;transition:filter .15s}.assignment-bubble:hover{filter:brightness(1.12)}.assignment-title{font-weight:600;font-size:19px;margin-right:auto}.assignment-assignee{font-size:17.5px;opacity:.85;white-space:nowrap}.assignment-remove{background:none;border:none;color:inherit;opacity:.55;cursor:pointer;font-size:18px;line-height:1;padding:0 2px;margin-left:4px}.assignment-remove:hover{opacity:1}.feed{display:flex;flex-direction:column;flex:1;min-height:0}.feed-scroll{flex:1;min-height:0;overflow-y:auto;padding-right:2px}.feed-empty{color:var(--color-text-muted);font-size:19px;padding:14px 4px}.feed-item{display:flex;gap:10px;padding:10px 2px;border-bottom:1px solid var(--color-border)}.feed-av{width:30px;height:30px;border-radius:999px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff}.feed-body{flex:1;min-width:0}.feed-meta{display:flex;align-items:center;gap:8px}.feed-author{font-weight:600;font-size:13.5px}.feed-time{font-size:11.5px;color:var(--color-text-muted)}.feed-del{margin-left:auto;background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:16px;line-height:1;opacity:.6}.feed-del:hover{opacity:1;color:var(--color-danger)}.feed-text{font-size:19px;margin:3px 0 6px;white-space:pre-wrap;word-break:break-word}.feed-react-row{display:flex;gap:6px}.feed-react{display:inline-flex;align-items:center;gap:4px;font-size:13px;padding:2px 8px;border-radius:999px;border:1px solid var(--color-border);background:var(--glass-bg);color:var(--color-text-secondary);cursor:pointer;transition:background .15s,border-color .15s}.feed-react:hover{background:var(--glass-bg-hover)}.feed-react.has{color:var(--color-text-primary)}.feed-react.mine{background:var(--color-accent-muted);border-color:var(--color-accent);color:var(--color-accent)}.feed-react-n{font-size:11px;font-weight:700}.feed-reply-btn{gap:5px}.feed-reply-btn .icn{vertical-align:-.15em}.feed-thread{margin:8px 0 2px;padding-left:10px;border-left:2px solid var(--color-border);display:flex;flex-direction:column;gap:8px}.feed-reply{display:flex;gap:8px}.feed-av-sm{width:24px;height:24px;font-size:10px}.feed-reply-text{font-size:16px;margin:2px 0 0}.feed-reply-compose{margin-top:2px}.feed-reply-compose input{font-size:16px;padding:6px 9px}.feed-compose{display:flex;gap:8px;margin-top:10px}.feed-compose input{flex:1;background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:8px;padding:8px 10px;color:var(--color-text-primary);font:inherit;font-size:19px}.feed-compose input:focus{outline:none;border-color:var(--color-accent)}.feed-send{background:var(--color-accent);color:#fff;border:none;border-radius:8px;padding:0 14px;font-weight:600;font-size:13px;cursor:pointer}.feed-send:disabled{opacity:.5;cursor:default}.cal-nb.red,.cal-ev.red,.agenda-ev.red{color:#fda4a4;background:#f8717129}.cal-nb.org,.cal-ev.org,.agenda-ev.org{color:#fdba74;background:#fb923c29}.cal-nb.grn,.cal-ev.grn,.agenda-ev.grn{color:#86efc7;background:#34d39924}.cal-nb.yel,.cal-ev.yel,.agenda-ev.yel{color:#e6e27a;background:#d7d34a24}.calendar-page{display:flex;gap:0;padding:18px 26px 26px;height:calc(100vh - 64px)}.calendar-page .card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:18px;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);box-shadow:var(--shadow-lg);padding:16px 18px;display:flex;flex-direction:column}.cal-nav{display:flex;align-items:center;gap:10px}.cal-nav button{background:var(--glass-bg);border:1px solid var(--color-border);color:var(--color-text-primary);border-radius:8px;padding:4px 10px;cursor:pointer}.cal-title{font-size:21px;font-weight:600;min-width:160px;text-align:center}.cal-nav .cal-today{font-size:16.5px;font-weight:700;padding:5px 13px}.cal-fullmonth{flex:1;min-height:0;grid-template-rows:auto;grid-auto-rows:1fr}.cal-fullmonth .cal-mh{font-size:22px;color:var(--color-text-primary);padding-bottom:4px}.cal-fcell{padding:6px;gap:4px;min-height:0}.cal-fcell .cal-dn{font-size:18px;color:var(--color-text-primary)}.cal-fcell .cal-nb{font-size:15.5px;font-weight:700;padding:3px 7px}.calendar-agenda{overflow:hidden}.agenda-scroll{flex:1;min-height:0;overflow-y:auto}.agenda-day{padding:8px 0;border-top:1px solid var(--color-border)}.agenda-day.today .agenda-dl{color:var(--color-accent)}.agenda-dl{font-size:20px;color:var(--color-text-primary);margin-bottom:6px}.calendar-agenda .card-head .label{font-size:22px}.agenda-ev{display:block;width:100%;text-align:left;font-size:14.5px;font-weight:700;padding:5px 8px;border-radius:6px;border:none;margin-bottom:4px;cursor:pointer}.page-header{position:relative;height:64px;display:flex;align-items:center;padding:0 26px}.page-header .brand{position:absolute;left:50%;transform:translate(-50%);font-size:30px;font-weight:600}.page-header .brand .dim{color:var(--color-text-muted);font-weight:600}.page-header .page-nav{margin-left:auto}.page-header-filter{display:flex;align-items:center;gap:10px;z-index:1}.lang-filter{font-size:15px;font-weight:600;color:var(--color-accent);background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-md);padding:var(--space-1) var(--space-3);align-self:stretch;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none}.lang-filter:hover{background:var(--card-bg-hover);border-color:var(--card-border-hover)}.lang-filter option{color:var(--color-text-primary);background:var(--color-bg-secondary)}option.lang-sep{color:var(--color-text-muted);text-align:center}.combobox{position:relative;width:100%}.combobox-input{width:100%;background:var(--color-bg-input);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:4px 8px;font:inherit;font-size:13px}.combobox-input:focus{outline:none;border-color:var(--color-accent)}.combobox-input::placeholder{color:var(--color-text-muted)}.combobox-list{position:absolute;left:0;right:0;top:calc(100% + 2px);z-index:60;margin:0;padding:4px;list-style:none;max-height:188px;overflow-y:auto;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 10px 30px #00000073}.combobox-option{padding:6px 9px;border-radius:6px;font-size:13px;color:var(--color-text-secondary);cursor:pointer}.combobox-option.active{background:var(--glass-bg-hover);color:var(--color-text-primary)}.combobox-option.selected{color:var(--color-accent)}.tab-item[draggable=true]{cursor:grab}.tab-item.tab-reordering{opacity:.45}.tab-menu{position:fixed;z-index:200;min-width:128px;padding:4px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:9px;box-shadow:0 12px 34px #00000080}.tab-menu-item{display:block;width:100%;text-align:left;padding:7px 11px;border:none;background:none;border-radius:6px;font:inherit;font-size:14px;color:var(--color-text-secondary);cursor:pointer}.tab-menu-item:hover{background:var(--glass-bg-hover);color:var(--color-text-primary)}.tab-hidden-wrap{position:relative;display:inline-flex}.tab-hidden-toggle{opacity:.7}.tab-hidden-menu{position:absolute;top:calc(100% + 4px);left:0}.cal-month-head{display:flex;align-items:center;justify-content:center;gap:10px}.calendar-card .cal-week-head{gap:10px}.cal-month-nav{position:relative;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:7px;background:var(--color-bg-input);color:var(--color-text-secondary);font-size:16px;line-height:1;cursor:pointer;padding:0}.cal-month-nav:after{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}.cal-month-nav:hover{color:var(--color-text-primary);border-color:var(--color-accent)}.new-project-modal .modal-header h2{font-size:29px}.new-project-modal .project-form .form-field label,.new-project-modal .project-form .form-hint{font-size:20px}.new-project-modal .project-form .form-error{font-size:18px}.new-project-modal .project-form input,.new-project-modal .project-form select,.new-project-modal .project-form button{font-size:20px}.project-detail-modal{--font-size-xs: calc(.7rem + 4px) ;--font-size-sm: calc(.8rem + 4px) ;--font-size-base: calc(.875rem + 4px) ;--font-size-md: calc(1rem + 4px) ;--font-size-lg: calc(1.125rem + 4px) ;--detail-value: color-mix(in srgb, var(--color-text-primary) 60%, var(--color-text-muted))}.project-detail-modal .modal-header h2{font-size:26px}.project-detail .detail-status-badge,.project-detail .detail-status-pct{font-size:17px}.project-detail .detail-value,.project-detail .detail-input{font-size:19px}.project-detail .detail-dept-toggle{font-size:16px}.project-detail .detail-dept-assignee-input{font-size:17px}.project-detail .badge-language{font-size:18px}.project-detail .detail-dept-assignee-combobox .combobox-input{font-size:17px}.new-project-modal .modal-header,.project-detail-modal .modal-header,.assignee-modal .modal-header{justify-content:center;position:relative}.new-project-modal .modal-header .modal-close,.project-detail-modal .modal-header .modal-close,.assignee-modal .modal-header .modal-close{position:absolute;right:0;top:50%;transform:translateY(-50%)}.assignee-modal .modal-header h2{font-size:24px}.project-detail-actions .btn{padding:7px 15px;font-size:17px}.ws-bubble-tab{flex:1;min-height:0;display:flex;flex-direction:column;gap:10px}.ws-bubble-tab .assignment-list{flex:0 1 auto;max-height:42%}.ws-bubble-tab .feed{flex:1;min-height:0}.icn{vertical-align:-.15em;flex:none}.resp-board{flex:1;min-height:0;display:flex;flex-direction:column}.resp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.resp-title{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-secondary)}.resp-add{font-size:13px;color:var(--color-accent);background:none;border:1px solid var(--color-border-light);border-radius:var(--radius-full);padding:3px 11px;cursor:pointer}.resp-add:hover{background:var(--color-accent-muted)}.resp-list{flex:1;min-height:0;overflow-y:auto;padding:2px}.resp-empty{color:var(--color-text-muted);font-size:19px;padding:10px 2px}.resp-row{display:flex;align-items:center;gap:8px;padding:8px 2px;border-bottom:1px solid var(--color-border)}.resp-row:last-child{border-bottom:none}.resp-label{flex:1;font-size:20px;color:var(--color-text-primary)}.resp-label-input{flex:1;font:inherit;font-size:20px;color:var(--color-text-primary);background:var(--color-bg-input);border:1px solid var(--color-accent);border-radius:var(--radius-sm);padding:3px 7px}.resp-owner{position:relative;flex:none}.resp-owners{display:inline-flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;align-items:center;background:none;border:none;padding:0;cursor:pointer}.resp-owners:disabled{cursor:default}.resp-pill{display:inline-flex;align-items:center;gap:7px;background:var(--color-bg-input);border:1px solid var(--color-border-light);border-radius:var(--radius-full);padding:4px 10px;font-size:19px;color:var(--color-text-primary)}.resp-owners:not(:disabled):hover .resp-pill{border-color:var(--color-accent)}.resp-pill.all{background:var(--color-accent-muted);border-color:transparent;color:var(--color-accent);font-weight:600}.resp-pill.empty{color:var(--color-text-muted);font-style:italic}.resp-dot{width:8px;height:8px;border-radius:50%;flex:none}.resp-caret{font-size:9px;color:var(--color-text-secondary);margin-left:2px}.resp-pop{position:absolute;top:calc(100% + 6px);right:0;z-index:40;min-width:190px;background:var(--color-bg-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:6px;box-shadow:0 12px 30px #00000080}.resp-pop-row{display:flex;align-items:center;gap:9px;width:100%;padding:7px 8px;border-radius:var(--radius-sm);cursor:pointer;font-size:16px;color:var(--color-text-primary);background:none;border:none;text-align:left}.resp-pop-row:hover{background:var(--color-accent-muted)}.resp-box{width:15px;height:15px;border-radius:4px;border:1.5px solid var(--color-border-light);display:inline-flex;align-items:center;justify-content:center;font-size:10px;flex:none;color:var(--color-text-inverse)}.resp-pop-row.on .resp-box{background:var(--color-accent);border-color:var(--color-accent)}.resp-pop-row.every .resp-box{border-radius:50%}.resp-pop-div{height:1px;background:var(--color-border);margin:5px 2px}.resp-remove{flex:none;width:22px;height:22px;border-radius:50%;border:none;background:none;color:var(--color-text-muted);font-size:18px;line-height:1;cursor:pointer;opacity:0;transition:opacity .12s}.resp-row:hover .resp-remove{opacity:1}.resp-remove:hover{background:var(--color-danger-bg);color:var(--color-danger)}.client-sidebar-root{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:30}.client-sidebar-root>*{pointer-events:auto}.cs-edge{position:absolute;left:0;top:0;bottom:0;width:12px}.cs-handle{position:absolute;left:0;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:5px;padding:13px 6px 12px;color:var(--color-accent-hover);background:#14142adb;border:1px solid var(--color-border-light);border-left:none;border-radius:0 12px 12px 0;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:6px 0 18px #00000052;transition:background .15s,border-color .15s,padding-left .15s}.cs-handle:hover{background:#222240f0;border-color:var(--color-accent);padding-left:10px}.cs-handle .icn:last-child{opacity:.5}.cs-panel{position:absolute;left:0;top:0;bottom:0;width:236px;display:flex;flex-direction:column;background:#0c0c1af7;border-right:1px solid var(--color-border-light);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:14px 0 40px #00000073;transform:translate(-100%);will-change:transform;transition:transform .3s cubic-bezier(.22,1,.36,1)}.cs-panel.open{transform:translate(0);transition-duration:.39s}.cs-head{display:flex;align-items:center;gap:8px;padding:14px 12px 10px 16px;border-bottom:1px solid var(--color-border)}.cs-title{font-size:16px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-primary)}.cs-autohide{display:inline-flex;align-items:center;gap:6px;font-family:inherit;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 10px;border-radius:999px;cursor:pointer;color:#f87171;background:#f871711f;border:1px solid rgba(248,113,113,.5);transition:background .15s,color .15s,border-color .15s}.cs-autohide.on{color:#34d399;background:#34d39924;border-color:#34d39980}.cs-autohide:hover{filter:brightness(1.15)}.cs-autohide-dot{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 6px currentColor}.cs-close{margin-left:auto;display:flex;background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:2px;border-radius:6px}.cs-close:hover{color:var(--color-text-primary);background:#ffffff0f}.cs-scroll{flex:1;min-height:0;overflow-y:auto;padding:8px}.cs-sec{display:flex;align-items:center;gap:6px;width:100%;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-primary);padding:12px 10px 6px;background:none;border:none;cursor:default}.cs-sec{font-size:15px}.cs-sec-toggle{cursor:pointer}.cs-sec-toggle:hover{color:var(--color-accent)}.cs-secn{margin-left:auto;color:var(--color-accent);background:var(--color-accent-muted);border:1px solid rgba(129,140,248,.25);border-radius:var(--radius-full);padding:0 7px;font-size:14.5px;font-weight:700;letter-spacing:0}.cs-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:none;color:var(--color-text-secondary);font:inherit;font-size:18px;padding:9px 11px;border-radius:8px;cursor:pointer;position:relative;transition:background .12s,color .12s}.cs-item:hover{background:#ffffff0d;color:var(--color-text-primary)}.cs-item .cs-name{font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cs-item .cs-count{margin-left:auto;font-size:15.5px;font-weight:700;color:var(--color-text-muted)}.cs-dot{width:8px;height:8px;border-radius:50%;flex:none}.cs-item-quiet{color:var(--color-text-muted);font-size:17px;padding:7px 11px}.cs-all{font-weight:700}.cs-all .cs-name{font-weight:700;color:var(--color-text-primary)}.cs-item.on{background:var(--color-accent-muted);color:var(--color-accent-hover)}.cs-item.on .cs-name,.cs-item.on .cs-count{color:var(--color-accent-hover)}.cs-item.on:before{content:"";position:absolute;left:-8px;top:6px;bottom:6px;width:3px;border-radius:0 3px 3px 0;background:var(--color-accent)}.cs-item.drop-target{background:var(--color-accent-muted);box-shadow:inset 0 0 0 1px var(--color-accent)}.cs-item.reordering{opacity:.45}.cs-unhide{color:var(--color-accent)!important;font-weight:600!important}.cs-name-input{flex:1;min-width:0;background:var(--color-bg-input);border:1px solid var(--color-accent);border-radius:var(--radius-sm);color:var(--color-text-primary);font:inherit;font-size:18px;padding:4px 8px}.cs-name-input:focus{outline:none}
