:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-8:48px;--font-display:"Fraunces", Georgia, "Times New Roman", serif;--font-sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "Cascadia Code", "Segoe UI Mono", monospace;--ink:#14171f;--ink-soft:#1d2130;--ink-line:#2a2f42;--paper:#faf7f1;--line-warm:#e9e2d3;--gold:#b8894a;--gold-soft:#efe0c6;--violet:#5b5fef;--violet-soft:#e8e8fd;--sage:#5c8c63;--sage-soft:#e1ede1;--amber:#c98a3b;--text-xs:.75rem;--text-sm:.875rem;--text-base:.9375rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--color-bg:var(--paper);--color-surface:#fff;--color-border:var(--line-warm);--color-border-strong:#dcd5c4;--color-text:#22242c;--color-text-secondary:#6b6e7a;--color-text-muted:#9498a5;--color-text-heading:var(--ink);--color-primary:var(--violet);--color-primary-hover:#4a4ed8;--color-primary-subtle:var(--violet-soft);--color-success:#059669;--color-success-bg:#ecfdf5;--color-success-border:#a7f3d0;--color-error:#c1553b;--color-error-bg:#fdf0ed;--color-error-border:#f0c4b8;--color-danger:var(--color-error);--color-surface-muted:#f5f1e9;--color-warning:#d97706;--color-warning-bg:#fffbeb;--color-warning-border:#fde68a;--color-info:#2563eb;--color-info-bg:#eff6ff;--color-info-border:#bfdbfe;--progress-track-bg:#dfe3ec;--progress-track-border:#14171f1f;--progress-fill-gradient:linear-gradient(90deg, var(--color-primary) 0%, #7c73d4 48%, var(--gold) 100%);--sidebar-width:76px;--sidebar-width-expanded:260px;--sidebar-bg:var(--ink);--sidebar-border:var(--ink-line);--sidebar-text:#8a8fa3;--sidebar-text-hover:#dadce8;--sidebar-text-active:#fff;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--shadow-xs:0 1px 2px #0f172a0a;--shadow-sm:0 1px 3px #0f172a0f, 0 1px 2px #0f172a0a;--shadow-md:0 4px 6px -1px #0f172a12, 0 2px 4px -2px #0f172a0d;--shadow-lg:0 10px 15px -3px #0f172a14, 0 4px 6px -4px #0f172a0a;--shadow-focus:0 0 0 3px #4f46e540;--transition-fast:.15s ease;--transition-base:.2s ease;--content-max-width:1280px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}#root{min-height:100dvh}h1,h2,h3,h4{color:var(--color-text-heading);font-weight:600;line-height:var(--leading-tight);letter-spacing:-.02em;margin:0}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-lg)}p{margin:0}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-hover)}button,input,select,textarea{font:inherit}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}:focus:not(:focus-visible){outline:none}.layout{background:var(--color-bg);min-height:100dvh;display:flex}.sidebar-overlay{z-index:40;opacity:0;transition:opacity var(--transition-base);cursor:pointer;background:#0f172a80;border:none;display:none;position:fixed;inset:0}.sidebar-overlay.visible{opacity:1;display:block}.sidebar{width:var(--sidebar-width);background:var(--sidebar-bg);color:var(--sidebar-text);z-index:50;border-right:1px solid var(--sidebar-border);flex-direction:column;flex-shrink:0;height:100dvh;display:flex;position:sticky;top:0;overflow:hidden}.sidebar-header{border-bottom:1px solid var(--sidebar-border);flex-direction:column;align-items:center;padding:20px 0 16px;display:flex}.brand-mark{background:linear-gradient(145deg, var(--gold), var(--amber));width:38px;height:38px;font-family:var(--font-display);color:var(--ink);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex}.brand-expanded{display:none}.brand h1{font-size:var(--text-xl);color:#fff;letter-spacing:-.03em;margin:0;font-weight:700}.brand p{margin:var(--space-1) 0 0;font-size:var(--text-xs);color:var(--sidebar-text);font-weight:400}.sidebar-close{border-radius:var(--radius-md);width:36px;height:36px;color:var(--sidebar-text-hover);cursor:pointer;background:#ffffff14;border:none;justify-content:center;align-items:center;display:none}.sidebar-close:hover{color:#fff;background:#ffffff24}.sidebar nav{scrollbar-width:thin;scrollbar-color:var(--ink-line) transparent;flex-direction:column;flex:1;align-items:center;gap:4px;width:100%;padding:8px 4px;display:flex;overflow:hidden auto}.sidebar nav::-webkit-scrollbar{width:4px}.sidebar nav::-webkit-scrollbar-thumb{background:var(--ink-line);border-radius:4px}.nav-rail-item{width:68px;min-height:58px;color:var(--sidebar-text);transition:background var(--transition-fast), color var(--transition-fast);border-radius:10px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:3px;padding:6px 2px 7px;text-decoration:none;display:flex;position:relative}.nav-rail-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex;position:relative}.nav-rail-icon svg{width:18px;height:18px}.nav-rail-label{text-align:center;letter-spacing:.02em;word-break:break-word;max-width:64px;font-size:9px;font-weight:600;line-height:1.15;display:block}.nav-rail-tip-fixed{left:calc(var(--sidebar-width) + 8px);color:#edeef5;white-space:nowrap;pointer-events:none;z-index:100;background:#0b0d14;border-radius:6px;padding:5px 9px;font-size:11.5px;position:fixed;transform:translateY(-50%);box-shadow:0 6px 20px #00000059}.nav-rail-item:hover{background:var(--ink-soft);color:var(--sidebar-text-hover)}.nav-rail-item.active{color:#fff;background:0 0}.nav-rail-item.active .nav-rail-icon{background:var(--violet);color:#fff}.nav-rail-item.active .nav-rail-label{color:#fff}.sidebar nav a{align-items:center;gap:var(--space-3);color:var(--sidebar-text);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);transition:background var(--transition-fast), color var(--transition-fast);min-height:40px;font-weight:500;text-decoration:none;display:flex}.sidebar nav a:hover{color:var(--sidebar-text-hover);background:#ffffff0f}.sidebar nav a.active{color:var(--sidebar-text-active);background:#6366f12e}.nav-icon{text-align:center;width:18px;font-size:var(--text-sm);opacity:.7;flex-shrink:0}.sidebar nav a.active .nav-icon{opacity:1}.sidebar-footer{border-top:1px solid var(--sidebar-border);flex-direction:column;flex-shrink:0;align-items:center;gap:8px;width:100%;padding:12px 0 14px;display:flex;overflow:hidden}.rail-signout{cursor:pointer;font:inherit;background:0 0;border:none}.sidebar-footer-expanded{display:none}.user-info{margin-bottom:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:#ffffff0a}.user-info strong{font-size:var(--text-sm);color:#fff;margin-bottom:var(--space-1);font-weight:600;display:block}.user-info span{font-size:var(--text-xs);color:var(--sidebar-text);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.sidebar-footer .btn{width:100%;color:var(--sidebar-text);border:1px solid #ffffff1f;justify-content:center}.sidebar-footer .btn:hover{color:#fff;background:#ffffff14}.btn-block{justify-content:center;width:100%}.main-content{flex-direction:column;flex:1;width:100%;min-width:0;display:flex}.mobile-header{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:30;display:none;position:sticky;top:0}.mobile-menu-btn{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:40px;height:40px;color:var(--color-text-heading);cursor:pointer;justify-content:center;align-items:center;display:flex}.mobile-menu-btn:hover{background:var(--color-bg);border-color:var(--color-border-strong)}.mobile-brand{font-size:var(--text-lg);color:var(--color-text-heading);font-weight:700}.page-container{padding:var(--space-5) var(--space-6);flex:1;width:100%;max-width:none}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.page-header h2{margin:0 0 var(--space-1);font-family:var(--font-display);letter-spacing:.2px;color:var(--color-text-heading);font-size:1.625rem;font-weight:600}.page-header-title{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.page-header-meta{align-items:center;min-height:36px;display:flex}.page-header p,.page-subtitle{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed);margin:0}.page-actions{gap:var(--space-2);flex-wrap:wrap;flex-shrink:0;display:flex}.page-header-actions-only{margin-top:calc(-1 * var(--space-3));margin-bottom:var(--space-4)}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;min-height:40px;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), filter var(--transition-fast);border:1px solid #0000;padding:10px 16px;font-size:13.5px;font-weight:600;text-decoration:none;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary{background:var(--violet);color:#fff}.btn-primary:hover:not(:disabled){filter:brightness(1.08);color:#fff}.btn-secondary{background:var(--color-surface);color:var(--color-text-heading);border-color:var(--color-border);box-shadow:var(--shadow-xs)}.btn-secondary:hover:not(:disabled){background:var(--color-bg);border-color:var(--color-border-strong)}.btn-ghost{color:var(--color-text-secondary);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--color-bg);color:var(--color-text-heading)}.btn-danger{color:#fff;background:#c62828}.btn-danger:hover:not(:disabled){filter:brightness(1.08);color:#fff}.btn-sm{min-height:32px;padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-link{color:var(--color-primary);cursor:pointer;font-weight:500;font-size:var(--text-sm);background:0 0;border:none;min-height:auto;padding:0}.btn-link:hover{color:var(--color-primary-hover);text-decoration:underline}.toolbar{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;align-items:center;display:flex}.search-input-wrap{flex:1;min-width:220px;max-width:420px;position:relative}.search-input-wrap svg{width:14px;height:14px;color:var(--color-text-secondary);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.search-input-wrap input{border:1px solid var(--color-border);background:var(--paper);width:100%;color:var(--color-text);border-radius:9px;outline:none;padding:9px 2.25rem 9px 38px;font-family:inherit;font-size:13px;transition:border-color .15s,background .15s}.search-input-wrap input:focus{border-color:var(--violet);box-shadow:none;background:#fff}.search-clear-btn{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;min-height:auto;padding:.125rem .375rem;font-size:1.25rem;line-height:1;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.search-clear-btn:hover{color:var(--color-text-heading)}.th-sort{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;min-height:auto;padding:0;font-weight:600;display:inline-flex}.th-sort:hover,.th-sort-active{color:var(--color-primary)}.sort-icon{font-size:.75rem;line-height:1}.sort-icon-inactive{opacity:.45}.inline-status-row{align-items:center;gap:var(--space-3);min-height:40px;display:flex}.subsection-title{font-size:var(--text-sm);color:var(--color-text-heading);margin:0 0 var(--space-2);font-weight:600}.section-hint{margin:0 0 var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm)}.empty-inline{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.field input,.field select,.field textarea,.toolbar input,.toolbar select,.inline-row input,.inline-row select,.billing-row input,.billing-row select,.hub-search-box input,.hub-sort-row select{border:1px solid var(--color-border);background:var(--paper);width:100%;min-height:40px;color:var(--color-text-heading);transition:border-color var(--transition-fast), background var(--transition-fast);border-radius:9px;padding:9px 12px;font-family:inherit;font-size:13px}.field input:focus,.field select:focus,.field textarea:focus,.toolbar input:focus,.toolbar select:focus,.hub-search-box input:focus,.hub-sort-row select:focus{border-color:var(--violet);box-shadow:none;background:#fff;outline:none}.field input:disabled,.field select:disabled,.field textarea:disabled{background:var(--color-bg);color:var(--color-text-muted);cursor:not-allowed}.toolbar .search-input-wrap input{padding-left:38px;padding-right:2.25rem}.assignee-project-filter-wrap{flex:1.5;min-width:280px;max-width:100%;position:relative}.assignee-project-filter-wrap:after{content:attr(data-tooltip);z-index:20;border:1px solid var(--color-border);background:var(--color-surface);width:max-content;max-width:min(360px,90vw);color:var(--color-text-secondary);opacity:0;visibility:hidden;pointer-events:none;border-radius:8px;padding:8px 10px;font-size:12px;line-height:1.45;transition:opacity .15s,transform .15s,visibility .15s;position:absolute;top:calc(100% + 8px);left:0;transform:translateY(-4px);box-shadow:0 8px 24px #0f172a1f}.assignee-project-filter-wrap:hover:after,.assignee-project-filter-wrap:focus-within:after{opacity:1;visibility:visible;transform:translateY(0)}.assignee-project-filter{width:100%}.field textarea{resize:vertical;min-height:96px}.form-grid{gap:var(--space-4);background:var(--color-surface);padding:var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--color-border);margin-bottom:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.field>span,.field>label{color:var(--color-text-heading);font-size:12.5px;font-weight:600}.field-hint{font-size:var(--text-xs);color:var(--color-text-secondary)}.form-actions{gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border);margin-top:var(--space-2);grid-column:1/-1;display:flex}.checkbox-row{align-items:center;gap:var(--space-3);margin:var(--space-4) 0;font-size:var(--text-sm);cursor:pointer;display:flex}.checkbox-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-primary)}.field{gap:var(--space-2);flex-direction:column;display:flex}.table-wrap{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);overflow:auto}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--color-border);font-size:var(--text-sm)}.data-table th{background:var(--paper);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.6px;font-size:10.5px;font-weight:700}.data-table tbody tr:last-child td{border-bottom:none}.data-table tr.clickable{cursor:pointer;transition:background var(--transition-fast)}.data-table tr.clickable:hover{background:var(--violet-soft)}.data-table tr.clickable.active-row{background:var(--violet-soft);box-shadow:inset 3px 0 0 var(--violet)}.data-table tr.clickable.active-row:hover{background:#e8e9fd}.section-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-4)}.section-card-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border);display:flex}.section-card-head h3,.section-card>h3{font-family:var(--font-display);font-size:var(--text-base);color:var(--color-text-heading);margin:0;font-weight:600}.section-card>h3{margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.section-card-actions{gap:var(--space-2);flex-shrink:0;display:flex}.section-card .form-grid{background:0 0;border:none;margin-bottom:0;padding:0}.section-card .table-wrap{border:none}.stats-grid{margin-bottom:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;width:100%;display:grid}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:border-color var(--transition-fast);padding:18px 20px}.stat-card:hover{border-color:#d6d6fb}.stat-card h3{margin:0 0 var(--space-2);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:1px;font-size:11.5px;font-weight:700}.stat-value{font-family:var(--font-display);color:var(--color-text-heading);margin:0;font-size:1.75rem;font-weight:700;line-height:1}.stat-card small{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);display:block}.detail-grid{gap:var(--space-4);margin-bottom:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.detail-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.detail-item dt{font-size:var(--text-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-1);font-weight:600}.detail-item dd{font-size:var(--text-sm);color:var(--color-text-heading);margin:0;font-weight:500}.alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4);font-size:var(--text-sm);line-height:var(--leading-relaxed);border:1px solid}.alert-error{background:var(--color-error-bg);color:var(--color-error);border-color:var(--color-error-border)}.alert-info{background:var(--color-info-bg);color:var(--color-info);border-color:var(--color-info-border)}.alert-success{background:var(--color-success-bg);color:var(--color-success);border-color:var(--color-success-border)}.badge{padding:2px var(--space-2);font-size:var(--text-xs);border-radius:999px;align-items:center;font-weight:600;line-height:1.4;display:inline-flex}.badge-neutral{background:var(--color-bg);color:var(--color-text-secondary);border:1px solid var(--color-border)}.badge-success{background:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success-border)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning);border:1px solid var(--color-warning-border)}.badge-error{background:var(--color-error-bg);color:var(--color-error);border:1px solid var(--color-error-border)}.badge-info{background:var(--color-info-bg);color:var(--color-info);border:1px solid var(--color-info-border)}.login-page{min-height:100dvh;padding:var(--space-4);background:0 0;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.login-shell{z-index:2;border:1px solid #ffffff14;border-radius:24px;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);width:100%;max-width:1040px;min-height:min(640px,100dvh - 32px);animation:.7s cubic-bezier(.22,1,.36,1) both login-shell-enter;display:grid;position:relative;overflow:hidden;box-shadow:0 4px 6px #0000001f,0 24px 80px #00000073,inset 0 1px #ffffff0f}@keyframes login-shell-enter{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.login-brand-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(155deg,#ffffff0d 0%,#0000 45%),linear-gradient(#161a26d1 0%,#10131cc7 100%);border-right:1px solid #ffffff0f;flex-direction:column;justify-content:center;padding:clamp(28px,4vw,48px);display:flex;position:relative;overflow:hidden}.login-brand-inner{z-index:1;position:relative}.login-brand-header{margin-bottom:var(--space-5);align-items:center;gap:14px;display:flex}.login-brand-mark{width:48px;height:48px;font-family:var(--font-display);color:var(--ink);background:linear-gradient(145deg,#d4a05a 0%,#b8894a 45%,#9a6f38 100%);border-radius:14px;justify-content:center;align-items:center;font-size:22px;font-weight:700;display:flex;transform:translateZ(0);box-shadow:inset 0 1px #ffffff59,0 8px 24px #b8894a59,0 2px 4px #0000004d}.login-brand-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:#ffffff80;margin:0 0 4px;font-size:10px;font-weight:600;line-height:1.4}.login-brand-title{font-family:var(--font-display);color:#fff;letter-spacing:-.02em;margin:0;font-size:clamp(1.75rem,3vw,2.25rem);font-weight:700;line-height:1.1}.login-brand-tagline{margin:0 0 var(--space-6);color:#ffffff9e;max-width:36ch;font-size:15px;line-height:1.65}.login-brand-features{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.login-brand-features li{color:#ffffffc7;align-items:center;gap:10px;font-size:13px;font-weight:500;display:flex}.login-feature-dot{background:linear-gradient(135deg, var(--violet), #8b8fff);border-radius:50%;flex-shrink:0;width:6px;height:6px;box-shadow:0 0 10px #5b5fef99}.login-form-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(#ffffffeb 0%,#faf8f4e0 100%);justify-content:center;align-items:center;padding:clamp(28px,4vw,48px);display:flex;position:relative;overflow:hidden}.login-card{z-index:1;gap:var(--space-4);flex-direction:column;width:100%;max-width:380px;animation:.8s cubic-bezier(.22,1,.36,1) .1s both login-card-enter;display:flex;position:relative}.login-card-header{order:1}.login-card .alert{order:2}.login-field-username{order:3}.login-field-password{order:4}.login-submit-btn{order:5}.login-footer-note{order:6}@keyframes login-card-enter{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.login-card-header{text-align:center;margin-bottom:var(--space-2)}.login-card-header h2{font-family:var(--font-display);color:var(--ink);letter-spacing:-.02em;margin:0 0 6px;font-size:1.65rem;font-weight:700}.login-card-subtitle{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0}.login-field-hint{color:var(--text-muted);margin-top:6px;font-size:.85rem;display:block}.login-card-note{margin:0 0 var(--space-4);color:var(--color-text-secondary);font-size:.95rem;line-height:1.5}.login-card .field span:first-child,.login-card .field>label{letter-spacing:.02em;color:var(--color-text-heading);font-size:12px;font-weight:600}.login-input-wrap{position:relative}.login-input-icon{width:18px;height:18px;color:var(--color-text-muted);pointer-events:none;transition:color .2s;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.login-input-icon svg{width:100%;height:100%;display:block}.login-input-wrap input{border:1px solid var(--color-border);width:100%;color:var(--color-text);background:#fff;border-radius:11px;padding:12px 14px 12px 44px;font-family:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s,transform .2s}.login-input-wrap input::placeholder{color:var(--color-text-muted)}.login-input-wrap input:hover{border-color:var(--color-border-strong)}.login-input-wrap input:focus{border-color:var(--violet);outline:none;transform:translateY(-1px);box-shadow:0 0 0 3px #5b5fef1f,0 2px 8px #5b5fef14}.login-input-wrap:focus-within .login-input-icon{color:var(--violet)}.login-submit-btn{width:100%;margin-top:var(--space-2);border-radius:11px;justify-content:center;align-items:center;gap:10px;min-height:48px;font-size:15px;font-weight:600;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex;box-shadow:inset 0 1px #ffffff26,0 4px 14px #5b5fef59}.login-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:inset 0 1px #ffffff26,0 8px 24px #5b5fef66}.login-submit-btn:active:not(:disabled){transform:translateY(0)}.login-spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite login-spin}@keyframes login-spin{to{transform:rotate(360deg)}}.login-footer-note{margin:var(--space-2) 0 0;text-align:center;color:var(--color-text-muted);font-size:11px}@media (width<=900px){.login-shell{grid-template-columns:1fr;max-width:440px;min-height:auto}.login-brand-panel{padding-bottom:var(--space-5);border-bottom:1px solid #ffffff0f;border-right:none}.login-brand-tagline{margin-bottom:var(--space-4)}.login-brand-features{flex-flow:wrap;gap:8px 16px}.login-form-panel{padding:var(--space-6) var(--space-5)}}@media (width<=480px){.login-page{padding:var(--space-3);padding-top:var(--space-5);align-items:flex-start}.login-shell{border-radius:18px}.login-brand-panel,.login-form-panel{padding:var(--space-5) var(--space-4)}.login-brand-features{flex-direction:column}}@media (prefers-reduced-motion:reduce){.login-shell,.login-card,.login-spinner{animation:none!important}.login-submit-btn:hover:not(:disabled),.login-input-wrap input:focus{transform:none}}.inline-row{gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.inline-row input,.inline-row select{flex:1;min-width:140px}.billing-row{gap:var(--space-2);margin-bottom:var(--space-2);padding:var(--space-2);background:var(--color-bg);border-radius:var(--radius-md);grid-template-columns:32px 1.2fr 1fr 88px 88px 96px 40px;align-items:center;display:grid}.billing-eligible-section{margin-bottom:var(--space-4)}.billing-eligible-header{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.billing-eligible-header h3{font-size:var(--text-base);margin:0}.billing-eligible-table th,.billing-eligible-table td{font-size:var(--text-sm);padding:var(--space-2) var(--space-3)}.billing-eligible-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.billing-eligible-item{align-items:stretch;gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);display:flex;overflow:hidden}.billing-eligible-item.is-added{opacity:.65}.billing-eligible-item-body{align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-2) var(--space-3);cursor:pointer;text-align:left;font:inherit;color:inherit;background:0 0;border:none;flex-wrap:wrap;flex:1;display:flex}.billing-eligible-item-body:disabled{cursor:default}.billing-eligible-item-body:not(:disabled):hover{background:var(--color-primary-subtle,#eef4fc)}.billing-eligible-item-main{align-items:center;gap:var(--space-2);min-width:140px;display:flex}.billing-eligible-code{font-size:var(--text-xs);color:var(--color-text-secondary)}.billing-eligible-item-meta{align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-secondary);flex-wrap:wrap;display:flex}.billing-eligible-hint{margin:0 0 var(--space-3);font-size:var(--text-xs);color:var(--color-text-secondary);line-height:1.45}.billing-qty-breakdown{gap:var(--space-2) var(--space-3);font-size:var(--text-xs);color:var(--color-text-secondary);flex-wrap:wrap;display:flex}.billing-qty-breakdown em{color:var(--color-text-muted,#64748b);margin-right:4px;font-style:normal}.billing-qty-pending strong{color:var(--color-text)}.billing-eligible-item-rate{font-size:var(--text-xs);color:var(--color-text-secondary)}.billing-lines-table-detailed .num{text-align:right;white-space:nowrap}.billing-pending-cell{font-weight:600}.billing-line-input.is-invalid{border-color:var(--color-danger,#dc2626)}.billing-line-over{background:#dc26260a}.billing-eligible-item-qty{font-size:var(--text-xs);color:var(--color-text-heading);margin-left:auto;font-weight:600}.billing-eligible-item-new{border-style:dashed}.billing-pm-wpo-select,.billing-pm-task-list .billing-eligible-item-body{cursor:pointer}.billing-pm-wpo-select input[type=radio],.billing-pm-task-list input[type=checkbox]{flex-shrink:0;margin-right:.5rem}.billing-pm-import-actions{border-top:none;margin-top:.75rem;padding-top:0}.billing-eligible-item>.btn{margin-right:var(--space-2);flex-shrink:0;align-self:center}.billing-lines-table .billing-line-select,.billing-lines-table .billing-line-input{width:100%;min-width:72px;font-size:var(--text-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:4px 8px}.billing-lines-table th,.billing-lines-table td{font-size:var(--text-sm);padding:var(--space-2);vertical-align:middle}.billing-row>span:first-child{font-size:var(--text-xs);color:var(--color-text-muted);text-align:center;font-weight:600}.quick-links{gap:var(--space-3);flex-wrap:wrap;display:flex}.module-grid,.translator-module-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;width:100%;display:grid}.module-card,.translator-module-card{border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);color:inherit;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);padding:20px 22px;text-decoration:none;display:block}.module-card:hover,.translator-module-card:hover{color:inherit;border-color:#d6d6fb;box-shadow:0 4px 16px #14171f0f}.module-card h3,.translator-module-card h3{font-family:var(--font-display);margin:0 0 6px;font-size:1rem;font-weight:600}.module-card p,.translator-module-card p{color:var(--color-text-secondary);margin:0;font-size:13px;line-height:1.5}.module-card-icon,.translator-module-icon{background:var(--violet-soft);width:40px;height:40px;color:var(--violet);border-radius:10px;justify-content:center;align-items:center;margin-bottom:14px;display:flex}.module-card-icon svg,.translator-module-icon svg{width:20px;height:20px}.empty{color:var(--color-text-muted);padding:var(--space-8) var(--space-4);text-align:center;font-size:var(--text-sm);background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-lg)}.empty-state-icon{margin-bottom:var(--space-3);opacity:.4;font-size:2rem;display:block}.page-loading{align-items:center;gap:var(--space-3);padding:var(--space-8);color:var(--color-text-secondary);font-size:var(--text-sm);flex-direction:column;display:flex}.spinner{border:2px solid var(--color-border);border-top-color:var(--violet);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.action-btns,.row-actions{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.action-btns button{font-size:var(--text-xs);border:1px solid var(--color-border);background:var(--paper);cursor:pointer;min-height:32px;color:var(--color-text-heading);border-radius:9px;padding:6px 12px;font-family:inherit;font-weight:600}.action-btns button:hover{background:var(--violet-soft);color:var(--violet);border-color:#d6d6fb}.u-mb-4{margin-bottom:var(--space-4)}@media (width<=1024px){.page-container:not(:has(.projects-hub)){padding:var(--space-4) var(--space-5)}}@media (width<=768px){.layout{flex-direction:column}.page-container:not(:has(.projects-hub)){padding:var(--space-4)}.page-header{flex-direction:column;align-items:stretch}.page-actions{width:100%}.page-actions .btn{flex:1}.form-grid{padding:var(--space-4);grid-template-columns:1fr}.billing-row{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.stats-grid{grid-template-columns:1fr}}.capability-user-list{gap:var(--space-2);max-height:200px;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--paper);flex-direction:column;display:flex;overflow-y:auto}.tab-bar-pill{border:1px solid var(--color-border);margin-bottom:var(--space-4);background:#fff;border-radius:10px;gap:0;padding:3px;display:inline-flex}.tab-bar-pill button{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;margin-bottom:0;padding:8px 18px;font-family:inherit;font-size:13px;font-weight:600}.tab-bar-pill button.active,.tab-bar.tab-bar-pill button.active,.hub-tab.active{background:var(--ink);color:#fff;border-bottom-color:#0000}.tab-bar:not(.tab-bar-pill) button{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;font-weight:600}.tab-bar:not(.tab-bar-pill) button.active{color:var(--violet);border-bottom-color:var(--violet)}.tab-bar-underline{gap:var(--space-2);margin-bottom:var(--space-4);border-bottom:1px solid var(--color-border);display:flex}.tab-bar-underline button{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px;font-weight:600}.tab-bar-underline button.active{color:var(--violet);border-bottom-color:var(--violet);background:0 0}.tab-bar.tab-bar-pill{border-bottom:none;gap:0}.tab-bar.tab-bar-underline{border-bottom:1px solid var(--color-border)}.lookup-others-row{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.lookup-others-row input{flex:1;min-width:160px}.stage-row select,.stage-row input{min-width:140px}.task-form-panel{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.hint-text{font-size:var(--text-sm);color:var(--color-text-muted);align-self:center}.section-card .form-grid{box-shadow:none;background:0 0;border:none;margin-bottom:0;padding:0}.page-back-nav{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);min-height:32px;display:flex}.page-back-btn{border:1px solid var(--color-border);background:var(--color-surface);width:32px;height:32px;color:var(--color-text-secondary);transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.page-back-btn svg{width:16px;height:16px}.page-back-btn:hover{background:var(--violet-soft);color:var(--violet);border-color:#d6d6fb}.page-back-trail{color:var(--color-text-secondary);flex-wrap:wrap;align-items:center;gap:0;min-width:0;font-size:13px;line-height:1.4;display:flex}.page-back-trail-item{align-items:center;min-width:0;display:inline-flex}.page-back-trail a{color:var(--color-text-secondary);text-decoration:none}.page-back-trail a:hover{color:var(--violet)}.breadcrumb-sep{color:var(--color-text-muted);margin:0 6px}.section-label{letter-spacing:1.2px;text-transform:uppercase;color:var(--color-text-secondary);margin-bottom:16px;font-size:11.5px;font-weight:700}.approval-actions{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.card-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-4)}.progress-bar-track,.project-summary-bar,.stage-wise-bar,.stage-progress-bar,.translator-progress-bar,.progress-bar-wrap,.dash-rank-bar,.dash-hbar-track{background:var(--progress-track-bg);border:1px solid var(--progress-track-border);border-radius:999px;height:6px;overflow:hidden;box-shadow:inset 0 1px 2px #14171f12}.progress-bar-track.progress-bar-sm,.stage-wise-bar{height:4px}.progress-bar-track.progress-bar-lg,.project-summary-bar-lg,.dash-hbar-track{height:10px}.progress-bar-track.progress-bar-flex,.stage-wise-bar{flex:1;min-width:80px}.progress-bar-fill,.project-summary-bar-fill,.stage-wise-bar-fill,.stage-progress-fill,.translator-progress-fill,.progress-bar-wrap .progress-bar,.progress-bar-wrap .progress-bar-fill,.dash-rank-bar-fill,.dash-hbar-fill{border-radius:inherit;background:var(--progress-fill-gradient);min-width:0;height:100%;transition:width .35s}.progress-bar-wrap{margin-top:var(--space-2)}.labeled-progress{flex-direction:column;gap:6px;display:flex}.labeled-progress-head{font-size:var(--text-xs);color:var(--color-text-secondary);justify-content:space-between;align-items:center;font-weight:500;display:flex}.labeled-progress-head span:last-child{color:var(--color-text-heading);font-weight:700}.breadcrumb-sep{color:var(--color-text-muted)}.breadcrumb-current{color:var(--color-text-heading);font-weight:500}.pdf-preview-wrap{padding:0;overflow:hidden}.pdf-preview-frame{border:none;width:100%;min-height:800px;display:block}.wpo-preview-page{max-width:100%}.wpo-preview-stage{border-radius:var(--radius-lg);border:1px solid var(--color-border);background:#e8e8e8;justify-content:center;padding:24px 16px 40px;display:flex;overflow:auto}.wpo-preview-frame{background:#fff;border:none;flex-shrink:0;width:210mm;height:297mm;display:block;overflow:hidden;box-shadow:0 4px 24px #00000026}.bill-preview-page{max-width:100%}.bill-preview-stage{border-radius:var(--radius-lg);border:1px solid var(--color-border);background:#e8e8e8;justify-content:center;padding:24px 16px 40px;display:flex;overflow:auto}.bill-preview-frame{background:#fff;border:none;flex-shrink:0;width:210mm;height:297mm;display:block;overflow:hidden;box-shadow:0 4px 24px #00000026}.bill-history-card{margin-bottom:var(--space-4)}.bill-customize-modal{max-width:760px;max-height:90vh;overflow-y:auto}.bill-customize-layout{gap:var(--space-4);flex-direction:column;display:flex}.bill-customize-section{background:var(--color-surface-muted,#f8fafc);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4)}.bill-customize-section h3{margin:0 0 var(--space-1);font-size:var(--text-sm);font-weight:600}.bill-customize-hint{margin:0 0 var(--space-3);font-size:var(--text-xs);color:var(--color-text-secondary);line-height:1.45}.bill-column-grid{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.bill-column-item{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;flex-direction:column;display:flex}.bill-column-item.is-hidden{opacity:.72}.bill-column-toggle{align-items:center;gap:var(--space-2);font-size:var(--text-sm);cursor:pointer;font-weight:500;display:flex}.bill-column-label{min-width:0}.bill-date-inline{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.bill-date-inline .field{margin-bottom:0}.bill-date-controls{align-items:center;gap:var(--space-2);display:flex}.bill-date-controls .input{max-width:220px}.bill-particulars-inline{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.bill-particulars-inline .field{margin-bottom:0}.bill-particulars-input{resize:vertical;width:100%;min-height:96px;line-height:1.45;font-size:var(--text-sm)}.bill-customize-preview h3{margin:0 0 var(--space-3);font-size:var(--text-sm);font-weight:600}.bill-preview-card{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);font-size:var(--text-xs);background:#fff}.bill-preview-meta{margin-bottom:var(--space-3);line-height:1.4;font-size:var(--text-xs);color:var(--color-text-secondary);justify-content:space-between;display:flex}.bill-preview-table{border-collapse:collapse;table-layout:fixed;width:100%}.bill-preview-table th,.bill-preview-table td{text-align:center;vertical-align:top;border:1px solid #bbb;padding:6px 8px;font-size:10px}.bill-preview-table th{background:#e6e6e6;font-weight:600}.bill-preview-table .col-particulars{text-align:left;white-space:pre-wrap;word-wrap:break-word;width:52%;line-height:1.4}.bill-preview-table .col-num{text-align:right;white-space:nowrap}.bill-preview-empty,.bill-preview-note{font-size:var(--text-xs);color:var(--color-text-secondary);margin:0}.bill-preview-note{margin-top:var(--space-2)}.bill-values-grid{gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.bill-values-grid .field{margin-bottom:0}@media (width<=640px){.bill-column-grid,.bill-values-grid{grid-template-columns:1fr}}.wpo-list-embedded-toolbar,.billing-list-embedded-toolbar{margin-bottom:var(--space-3)}.table-select-col{text-align:center;width:40px;padding-left:12px!important;padding-right:8px!important}.table-select-col input[type=checkbox]{cursor:pointer;width:15px;height:15px}.data-table tr.selected-row{background:#f3f1ff}.billing-bulk-toolbar{margin-bottom:var(--space-3)}.billing-bulk-count{font-size:var(--text-sm);color:var(--color-text-secondary);margin-right:var(--space-2)}.list-download-btn{color:var(--violet);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px;line-height:0;display:inline-flex}.list-download-btn:hover{background:var(--violet-soft)}.wpo-list-table tr.clickable{cursor:pointer}.wpo-list-table tr.clickable:hover{background:var(--violet-soft)}.wpo-list-table tr.clickable.active-row{background:var(--violet-soft);box-shadow:inset 3px 0 0 var(--violet)}.work-plan-actions-cell .list-download-btn{margin:0 auto}.wpo-list-table-wrap{margin-top:0;overflow-x:auto}.wpo-list-table th,.wpo-list-table td{white-space:nowrap}.wpo-list-table td:nth-child(3),.wpo-list-table td:nth-child(4){white-space:normal;min-width:100px;max-width:160px}.wpo-list-table tr.active-row{background:var(--violet-soft)}.wpo-expand-details>div{min-width:0}.wpo-expand-details strong{word-break:break-word;overflow-wrap:anywhere;display:block}.wpo-list-table .wpo-approvals-actions-cell,.wpo-list-table .work-plan-actions-cell{width:auto;min-width:110px}.wpo-approvals-table .wpo-approvals-actions-cell{min-width:220px}.wpo-approvals-actions{justify-content:flex-end;align-items:center;gap:var(--space-3);display:flex}.wpo-approvals-actions-group{align-items:center;gap:var(--space-2);flex-wrap:nowrap;display:flex}.wpo-approvals-actions .btn-sm{min-height:32px;padding:var(--space-1) var(--space-3);white-space:nowrap}.wpo-approvals-actions .list-download-btn{flex-shrink:0;margin:0}.wpo-list-actions{justify-content:flex-end;align-items:center;gap:var(--space-2);display:flex}.wpo-list-actions .btn-sm{min-height:32px;padding:var(--space-1) var(--space-3);white-space:nowrap}.wpo-list-actions .list-download-btn{flex-shrink:0;margin:0}.wpo-rejection-reason strong{color:var(--color-danger,#c0392b)}.notification-dot{background:#ef4444;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.notification-dot-sm{width:5px;height:5px}.pending-indicator{align-items:center;gap:6px;display:inline-flex}.pending-tab-label{align-items:center;gap:5px;display:inline-flex}.pending-tab-count{color:var(--color-text-secondary);font-variant-numeric:tabular-nums;font-size:.85em;font-weight:600}.tab-bar button .pending-tab-label{gap:4px}.notification-bell-wrap{align-items:center;display:inline-flex;position:relative}.notification-bell-btn{border-radius:var(--radius-md);width:34px;height:34px;color:inherit;cursor:pointer;transition:background var(--transition-base);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.notification-bell-btn:hover,.notification-bell-btn[aria-expanded=true]{background:#ffffff1a}.notification-bell-btn-header{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-heading)}.notification-bell-btn-header:hover,.notification-bell-btn-header[aria-expanded=true]{background:var(--color-bg);border-color:var(--color-border-strong)}.notification-bell-dot{pointer-events:none;position:absolute;top:7px;right:7px}.notification-bell-btn-header .notification-bell-dot{top:6px;right:6px}.notification-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:min(320px,100vw - 24px);box-shadow:var(--shadow-lg);z-index:100;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.notification-panel-head{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);font-size:var(--text-sm);display:flex}.notification-panel-loading{color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:400}.notification-panel-empty{padding:var(--space-4);color:var(--color-text-secondary);font-size:var(--text-sm);margin:0}.notification-panel-list{padding:var(--space-2) 0;max-height:280px;margin:0;list-style:none;overflow-y:auto}.notification-panel-item{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);text-align:left;cursor:pointer;font:inherit;color:var(--color-text);background:0 0;border:none;display:flex}.notification-panel-item:hover{background:var(--color-bg)}.notification-panel-item-label{align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:500;display:inline-flex}.notification-panel-item-count{color:#dc2626;min-width:22px;height:22px;font-size:var(--text-xs);text-align:center;background:#fef2f2;border-radius:999px;flex-shrink:0;padding:0 6px;font-weight:700;line-height:22px}.notification-panel-foot{padding:var(--space-2) var(--space-4) var(--space-3);border-top:1px solid var(--color-border)}.notification-panel-link{font-size:var(--text-sm);color:var(--violet);font-weight:500;text-decoration:none}.notification-panel-link:hover{text-decoration:underline}.nav-pending-dot{pointer-events:none;position:absolute;top:3px;right:3px}.mobile-header-actions{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.mobile-header{justify-content:flex-start}.task-assignments-title,.task-assignments-table-wrap{margin-top:0}.task-assignments-table .work-plan-actions-cell{width:88px}.compact-progress-header{padding:var(--space-3) var(--space-4);margin-bottom:var(--space-3)}.compact-progress-header-top h3{margin:0 0 var(--space-3);font-size:var(--text-sm);font-weight:600}.compact-progress-grid{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.compact-progress-grid .labeled-progress-head{font-size:var(--text-xs)}.work-plan-category-sections{margin-top:var(--space-3)}.work-plan-category-section .translator-task-section-header{padding:var(--space-2) var(--space-3)}.work-plan-category-section .plan-table-wrap{border-radius:var(--radius-md);border:none}.work-plan-category-section .translator-task-section-body{padding:var(--space-2)}.work-plan-table th,.work-plan-table td{padding:3px var(--space-2);line-height:1.35}.work-plan-table th{white-space:nowrap}.work-plan-actions-cell .btn-sm{min-height:26px;padding:2px var(--space-2)}.pending-tasks-table th:last-child,.pending-tasks-table td:last-child{width:88px}.pending-task-name{flex-wrap:nowrap;align-items:baseline;gap:.35rem;max-width:100%;line-height:1.35;display:inline-flex}.pending-task-name strong{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.pending-task-sep{color:var(--color-text-muted);flex-shrink:0}.pending-task-code{white-space:nowrap;font-size:var(--text-xs);color:var(--color-text-secondary);flex-shrink:0}.translator-dashboard-stats{margin:calc(var(--space-3) * -1) 0 var(--space-4)}@media (width<=900px){.compact-progress-grid{grid-template-columns:1fr}}.stage-header-row{margin-bottom:var(--space-3);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.stage-title{margin:0;font-size:1.25rem}.stage-status-row{align-items:center;gap:.5rem;display:flex}.stage-status-row select{min-width:10rem}.stage-wise-tab{gap:var(--space-4);flex-direction:column;display:flex}.stage-wise-header{gap:var(--space-5);flex-direction:column;display:flex}.stage-wise-header-compact{gap:var(--space-2);padding:var(--space-3) var(--space-4)}.stage-wise-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.stage-wise-overall-stat{font-size:var(--text-xs);color:var(--color-text-heading);font-weight:600}.stage-wise-toolbar-hint{color:var(--color-text-secondary);font-size:.65rem}.stage-wise-stage-list{gap:var(--space-1);flex-direction:column;display:flex}.stage-wise-stage-chip{gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:border-color var(--transition-fast), background var(--transition-fast);grid-template-columns:minmax(100px,1fr) minmax(120px,2fr) auto;align-items:center;display:grid}.stage-wise-stage-chip:hover{border-color:var(--color-primary)}.stage-wise-stage-chip.active{border-color:var(--color-primary);background:var(--color-primary-subtle,#eef4fc);box-shadow:inset 3px 0 0 var(--color-primary)}.stage-wise-chip-name{font-size:var(--text-sm);color:var(--color-text-heading);font-weight:600}.stage-wise-chip-bar-wrap{align-items:center;gap:var(--space-2);min-width:0;display:flex}.stage-wise-bar-fill{height:100%}.stage-wise-chip-pct{font-size:var(--text-xs);color:var(--color-text-heading);text-align:right;min-width:36px;font-weight:700}.stage-wise-chip-meta{font-size:var(--text-xs);color:var(--color-text-secondary);white-space:nowrap}.stage-wise-portal-header{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.stage-wise-portal-header h3{font-size:var(--text-sm);margin:0}.stage-wise-portal .data-table th,.stage-wise-portal .data-table td{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.work-items-table th:first-child,.work-items-table td:first-child{width:28px;padding-right:0}.work-items-table .work-plan-actions-cell{width:72px}.work-items-detail-sections{gap:var(--space-4);padding:var(--space-2) 0;flex-direction:column;display:flex}.work-items-detail-section{gap:var(--space-2);flex-direction:column;display:flex}.work-items-detail-heading{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);margin:0;font-weight:700}.work-items-detail-heading-row{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.work-items-activity-wrap{position:relative}.work-items-portal .link-button{font:inherit;color:var(--color-primary);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.work-items-portal .link-button:hover{color:var(--color-primary-hover,#1a5fb4)}@media (width<=768px){.stage-wise-stage-chip{gap:var(--space-2);grid-template-columns:1fr}}.assignee-details-summary{gap:var(--space-3);flex-direction:column;display:flex}.assignee-summary-span-full{grid-column:1/-1}.assignee-summary-footer{gap:var(--space-4);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.assignee-summary-inline-block{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.assignee-summary-inline-label{letter-spacing:.5px;text-transform:uppercase;color:var(--color-text-secondary);font-size:10px;font-weight:700}.assignee-related-panel .tab-bar-underline{margin-bottom:var(--space-3)}.assignee-related-panel .data-table th,.assignee-related-panel .data-table td{padding:var(--space-2) var(--space-3)}.assignee-related-panel .table-wrap{max-height:280px}.project-details-summary{gap:var(--space-3);flex-direction:column;display:flex}.project-details-summary-compact{gap:var(--space-3)}.project-summary-header{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.project-summary-panel{padding:var(--space-4) var(--space-5)}.section-card-compact{margin-bottom:var(--space-3)}.section-card-compact h3{margin-bottom:var(--space-3);padding-bottom:var(--space-2);font-size:var(--text-sm)}.project-summary-compact-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 16px;display:grid}.project-summary-cell{min-width:0}.project-summary-cell dt{letter-spacing:.5px;text-transform:uppercase;color:var(--color-text-secondary);margin-bottom:2px;font-size:10px;font-weight:700}.project-summary-cell dd{color:var(--color-text-heading);word-break:break-word;margin:0;font-size:13px;font-weight:500;line-height:1.35}.project-summary-description-inline{margin-top:var(--space-3);padding:var(--space-2) var(--space-3)}.project-summary-progress-row{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.project-summary-progress-meta{font-size:var(--text-sm);justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.project-summary-progress-label{letter-spacing:.5px;text-transform:uppercase;color:var(--color-text-secondary);font-size:10px;font-weight:700}.project-summary-stages-inline{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.project-summary-stage-list-compact{gap:6px}.assignment-readonly-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.assignment-readonly-chip{background:var(--violet-soft);color:var(--violet);border-radius:20px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.assignment-readonly-code{opacity:.85;font-size:10px;font-weight:500}.project-assignment-readonly h3{margin-bottom:var(--space-2)}@media (width<=1100px){.project-summary-compact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=768px){.project-summary-compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=480px){.project-summary-compact-grid{grid-template-columns:1fr}}.project-summary-toolbar{justify-content:flex-end;display:flex}.project-summary-badges{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.project-summary-description{margin-top:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md)}.project-summary-description-label{font-size:var(--text-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-2);font-weight:600}.project-summary-description p{font-size:var(--text-sm);color:var(--color-text-heading);line-height:var(--leading-relaxed);white-space:pre-wrap;margin:0}.project-summary-overall{gap:var(--space-3);flex-direction:column;display:flex}.project-summary-overall-text{font-size:var(--text-sm);color:var(--color-text-heading)}.project-summary-overall-text strong{font-size:var(--text-lg);font-weight:700}.project-summary-bar{width:100%}.project-summary-bar-lg{height:10px}.project-summary-stage-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.project-summary-stage-item{gap:var(--space-3);grid-template-columns:minmax(140px,1fr) minmax(200px,2fr);align-items:center;display:grid}.project-summary-stage-name{font-size:var(--text-sm);color:var(--color-text-heading);font-weight:600}.project-summary-stage-bar-wrap{align-items:center;gap:var(--space-2);min-width:0;display:flex}.project-summary-stage-pct{font-size:var(--text-xs);color:var(--color-text-secondary);text-align:right;min-width:36px;font-weight:700}@media (width<=768px){.project-summary-stage-item{gap:var(--space-2);grid-template-columns:1fr}}.empty-cell{text-align:center;color:var(--color-text-muted);padding:1.5rem!important}.loading-hint{color:var(--color-text-muted);padding:2rem}.wpo-status-bar{gap:var(--space-4);margin-bottom:var(--space-4);font-size:var(--text-sm);flex-wrap:wrap;align-items:center;display:flex}.btn-icon{cursor:pointer;font-size:var(--text-sm);color:var(--violet);background:0 0;border:none;border-radius:9px;padding:6px 12px;font-weight:600}.btn-icon:hover{background:var(--violet-soft)}.page-container:has(.projects-hub){max-width:none;padding:0;overflow:hidden}.projects-hub{background:var(--paper);gap:0;min-height:100dvh;margin:0;display:flex}.projects-hub-sidebar{background:var(--color-surface);border-right:1px solid var(--color-border);flex-direction:column;width:340px;min-width:340px;display:flex;overflow:hidden}.projects-hub-sidebar-header{border-bottom:1px solid var(--color-border);padding:22px 20px 14px}.panel-title{font-family:var(--font-display);letter-spacing:.2px;color:var(--color-text-heading);margin:0 0 3px;font-size:19px;font-weight:600}.panel-sub{color:var(--color-text-secondary);font-size:12.5px}.hub-new-btn{background:var(--violet);color:#fff;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:7px;width:100%;margin-top:14px;padding:10px 14px;font-size:13.5px;font-weight:600;transition:filter .15s;display:flex}.hub-new-btn:hover{filter:brightness(1.08)}.hub-new-btn-inline{width:auto;margin-top:0}.projects-hub-tools{border-bottom:1px solid var(--color-border);flex-direction:column;gap:9px;padding:14px 20px 12px;display:flex}.hub-search-box{position:relative}.hub-search-box svg{width:14px;height:14px;color:var(--color-text-secondary);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.hub-search-box input{border:1px solid var(--color-border);background:var(--paper);width:100%;color:var(--color-text);border-radius:9px;outline:none;padding:9px 12px 9px 38px;font-family:inherit;font-size:13px;transition:border-color .15s,background .15s}.hub-search-box input:focus{border-color:var(--violet);background:#fff}.hub-sort-row{gap:8px;display:flex}.hub-sort-row select{border:1px solid var(--color-border);background:var(--paper);color:var(--color-text);cursor:pointer;border-radius:9px;outline:none;flex:1;padding:8px 10px;font-family:inherit;font-size:12.5px}.hub-sort-dir{border:1px solid var(--color-border);background:var(--paper);cursor:pointer;width:34px;color:var(--color-text-secondary);border-radius:9px;justify-content:center;align-items:center;display:flex}.sort-dir-icon{width:14px;height:14px;transition:transform .15s}.sort-dir-icon.desc{transform:rotate(180deg)}.hub-result-count{color:var(--color-text-secondary);letter-spacing:.3px;text-transform:uppercase;margin-top:10px;padding:0 20px;font-size:11.5px}.projects-hub-list{flex:1;padding:8px 12px 20px;overflow-y:auto}.project-folder-item{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:11px;width:100%;margin-bottom:3px;padding:12px;transition:background .12s,border-color .12s;display:block}.project-folder-item:hover{background:var(--paper)}.project-folder-item.active{background:var(--violet-soft);border-color:#d6d6fb}.folder-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.proj-name{color:var(--color-text);font-size:13.6px;font-weight:600}.project-folder-item.active .proj-name{color:var(--violet)}.proj-meta{color:var(--color-text-secondary);justify-content:space-between;align-items:center;gap:8px;min-height:14px;margin-top:2px;font-size:11.5px;display:flex}.proj-meta-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.folder-sub-progress{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.folder-status-counts{color:var(--color-text-secondary);white-space:nowrap;letter-spacing:.01em;font-size:9.5px;font-weight:600;line-height:1}.project-folder-item.active .folder-status-counts{color:var(--violet)}.folder-mini-bar{background:var(--color-border);border-radius:2px;width:24px;height:3px;overflow:hidden}.folder-mini-fill{background:var(--violet);border-radius:2px;height:100%;transition:width .2s;display:block}.project-folder-item.active .folder-mini-fill{background:var(--violet)}.proj-badge{color:var(--color-text-secondary);background:var(--color-border);border-radius:20px;flex-shrink:0;padding:2px 7px;font-size:10.5px;font-weight:600}.project-folder-item.active .proj-badge{color:var(--violet);background:#d6d6fb}.hub-empty-folders,.sidebar-hint{text-align:center;color:var(--color-text-secondary);padding:40px 20px;font-size:13px}.projects-hub-main{flex-direction:column;flex:1;display:flex;overflow:hidden}.projects-hub-topbar{background:var(--paper);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:var(--space-4);z-index:10;flex-wrap:wrap;padding:20px 32px;display:flex;position:sticky;top:0}.topbar-crumb{color:var(--color-text-secondary);font-size:13px}.topbar-crumb b{color:var(--color-text);font-weight:600}.topbar-crumb-title{align-items:center;gap:6px;display:inline-flex}.hub-title-edit-btn{width:22px;height:22px;color:var(--color-text-secondary);cursor:pointer;vertical-align:middle;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:inline-flex}.hub-title-edit-btn svg{width:13px;height:13px}.hub-title-edit-btn:hover{background:var(--color-primary-subtle,#534ab71a);color:var(--violet,#534ab7)}.topbar-title{font-size:var(--text-base);color:var(--color-text-heading);font-weight:600}.hub-tabs{border:1px solid var(--color-border);background:#fff;border-radius:10px;gap:0;padding:3px;display:inline-flex}.hub-tab{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 18px;font-family:inherit;font-size:13px;font-weight:600}.hub-tab.active{background:var(--ink);color:#fff}.projects-hub-content{flex:1;padding:26px 32px 60px;overflow-y:auto}.stat-grid{gap:var(--space-3);margin-bottom:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.stat{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.stat-label{font-size:var(--text-xs);color:var(--color-text-secondary);margin-bottom:var(--space-1)}.stat-val{color:var(--color-text-heading);font-size:1.5rem;font-weight:600}.stat-val-sm{font-size:var(--text-sm);font-weight:500}.progress-bar-wrap{width:100%}.subproj-list{flex-direction:column;gap:14px;width:100%;display:flex}.subproj-list-toolbar{margin-bottom:var(--space-2)}.subproj-card-wrap{position:relative}.subproj-dup-btn{border:1px solid var(--color-border);background:var(--color-surface);width:30px;height:30px;color:var(--color-text-secondary);cursor:pointer;opacity:0;z-index:2;transition:opacity var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:12px;right:14px}.subproj-card-wrap:hover .subproj-dup-btn,.subproj-card-wrap:focus-within .subproj-dup-btn,.subproj-dup-btn:focus-visible{opacity:1}.subproj-dup-btn:hover{color:var(--violet);background:var(--violet-soft);border-color:#d6d6fb}.subproj-dup-btn svg{width:15px;height:15px}.subproj-card{background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;text-align:left;width:100%;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);border-radius:14px;padding:20px 22px;display:block;position:relative;overflow:hidden}.subproj-card:before{content:"";width:4px;position:absolute;top:0;bottom:0;left:0}.subproj-card.spine-complete:before{background:var(--sage)}.subproj-card.spine-partial:before{background:var(--gold)}.subproj-card:hover{border-color:#d6d6fb;box-shadow:0 4px 16px #14171f0f}.subproj-card.active-row{background:var(--violet-soft);box-shadow:inset 4px 0 0 var(--violet), 0 4px 16px #14171f0f;border-color:#d6d6fb}.subproj-card-grid{grid-template-columns:1.6fr 1.1fr 1.3fr 1.3fr 108px;align-items:center;gap:18px;display:grid}.subproj-section{min-width:0}.subproj-title{font-family:var(--font-display);color:var(--color-text-heading);margin:0 0 3px;font-size:16.5px;font-weight:600;line-height:1.3}.subproj-code{font-family:var(--font-mono);color:var(--color-text-secondary);margin-bottom:9px;font-size:11px}.subproj-badges{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.subproj-section-heading{letter-spacing:.6px;text-transform:uppercase;color:var(--color-text-secondary);align-items:center;gap:5px;margin-bottom:8px;font-size:10.5px;font-weight:700;display:flex}.subproj-icon{width:12px;height:12px;color:var(--color-text-secondary);flex-shrink:0}.subproj-tl-rows{flex-direction:column;gap:3px;display:flex}.subproj-tl-row{color:var(--color-text);justify-content:space-between;font-size:12.5px;display:flex}.subproj-tl-row span:first-child{color:var(--color-text-secondary)}.subproj-overdue{color:#c1553b;font-weight:600}.subproj-task-count{font-family:var(--font-display);color:var(--color-text-heading);margin-bottom:3px;font-size:19px;font-weight:600}.subproj-task-sub{color:var(--color-text-secondary);font-size:12px}.subproj-stage-list{flex-direction:column;gap:9px;display:flex}.subproj-stage-top{justify-content:space-between;margin-bottom:4px;font-size:11.5px;display:flex}.subproj-stage-name{color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;padding-right:8px;overflow:hidden}.subproj-stage-pct{color:var(--color-text);flex-shrink:0;font-weight:600}.stage-progress-bar{width:100%}.stage-progress-fill{height:100%}.subproj-empty-hint{font-size:var(--text-xs);color:var(--color-text-secondary);margin:0}.subproj-ring-wrap{flex-direction:column;justify-content:center;align-items:center;display:flex}.subproj-ring-wrap svg{width:88px;height:88px}.subproj-ring-label{font-family:var(--font-display);color:var(--color-text-heading);margin-top:-58px;font-size:19px;font-weight:700}.subproj-ring-caption{letter-spacing:.8px;text-transform:uppercase;color:var(--color-text-secondary);margin-top:36px;font-size:9.5px}.lang-tag{border-radius:20px;padding:2.5px 8px;font-size:10.5px;font-weight:600}.tag-lang{color:#4c5fbf;background:#e4e9fa}.tag-type,.tag-obt{background:var(--sage-soft);color:var(--sage)}.subproj-empty,.plan-empty{padding:var(--space-6);text-align:center;color:var(--color-text-secondary);background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-md)}.monthly-plan-tab .plan-toolbar{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.plan-project-select{min-width:220px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm)}.plan-add-row{margin-bottom:var(--space-4);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.plan-row-fields{gap:var(--space-3);flex-wrap:wrap;align-items:flex-end;display:flex}.plan-row-fields label{gap:var(--space-1);font-size:var(--text-xs);color:var(--color-text-secondary);flex-direction:column;font-weight:500;display:flex}.plan-month-groups{gap:var(--space-2);flex-direction:column;display:flex}.plan-month-header{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-weight:600;font-size:var(--text-sm);text-align:left;display:flex}.chevron{font-size:10px;transition:transform .2s;display:inline-block}.chevron.open{transform:rotate(90deg)}.plan-month-count{color:var(--color-text-secondary);font-weight:400;font-size:var(--text-xs);margin-left:auto}.plan-table-wrap{border:1px solid var(--color-border);border-radius:0 0 var(--radius-md) var(--radius-md);border-top:none;overflow:hidden}.plan-table{border-collapse:collapse;width:100%;font-size:var(--text-sm);background:var(--color-surface)}.plan-table th{color:var(--color-text-secondary);font-weight:600;font-size:var(--text-xs);text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border)}.plan-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);vertical-align:middle}.input-cell{border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-sm);width:80px;padding:4px 8px}.work-plan-tab .work-plan-toolbar-fields{gap:var(--space-4);flex-wrap:wrap;align-items:flex-end;display:flex}.work-plan-month-field{gap:var(--space-1);font-size:var(--text-xs);color:var(--color-text-secondary);flex-direction:column;font-weight:500;display:flex}.work-plan-add-fields label select:disabled{opacity:.6;cursor:not-allowed}.work-plan-sections{gap:var(--space-5);flex-direction:column;display:flex}.work-plan-section-title{align-items:center;gap:var(--space-2);margin:0 0 var(--space-3);font-size:var(--text-sm);font-weight:600;display:flex}.work-plan-expand-btn{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;padding:0;line-height:1}.work-plan-detail-row td{background:var(--color-surface-muted,#f8f9fb);padding-top:0;padding-bottom:var(--space-2)}.work-plan-detail-grid{gap:var(--space-3);font-size:var(--text-xs);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.work-plan-detail-grid span{color:var(--color-text-secondary);margin-bottom:2px;display:block}.work-plan-detail-grid strong{color:var(--color-text);font-weight:600}.work-plan-detail-grid .work-plan-detail-wide{grid-column:1/-1}.work-plan-empty-section{padding:var(--space-2);margin:0}.work-plan-table th:first-child,.work-plan-table td:first-child{width:28px;padding-right:0}.work-plan-actions-cell{width:72px;position:relative}.work-plan-actions{justify-content:flex-end;align-items:center;gap:var(--space-1);display:flex}.work-plan-activity-trigger{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.work-plan-activity-trigger:hover,.work-plan-activity-trigger.active{background:var(--color-surface-muted,#eef1f5);color:var(--color-text)}.work-plan-activity-backdrop{z-index:40;background:0 0;position:fixed;inset:0}.work-plan-activity-popover{z-index:50;width:min(320px,90vw);max-height:360px;padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);position:absolute;top:calc(100% + 4px);right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.work-plan-activity-header h4{font-size:var(--text-sm);margin:0 0 2px;font-weight:600}.work-plan-activity-subtitle{margin:0 0 var(--space-3);font-size:var(--text-xs);color:var(--color-text-secondary)}.work-plan-activity-error{font-size:var(--text-xs);color:var(--color-danger,#c0392b);margin:0}.work-plan-activity-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.work-plan-activity-item{padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.work-plan-activity-item:last-child{border-bottom:none;padding-bottom:0}.work-plan-activity-meta{justify-content:space-between;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-secondary);margin-bottom:2px;display:flex}.work-plan-activity-user{color:var(--color-text);text-align:right;font-weight:500}.work-plan-activity-action{font-size:var(--text-xs);margin-bottom:4px;font-weight:600}.work-plan-activity-values{gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-secondary);flex-wrap:wrap;display:flex}.modal-overlay{z-index:100;padding:var(--space-4);background:#0f172a73;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-6);width:100%;max-width:480px;box-shadow:var(--shadow-lg)}.modal-card h2{margin:0 0 var(--space-4);font-family:var(--font-display);font-size:var(--text-lg);font-weight:600}.modal-card-wide{max-width:720px}.translator-update-modal.form-grid{background:0 0;border:none;margin-bottom:0;padding:0}.pm-checkbox-list{gap:var(--space-2);flex-direction:column;max-height:200px;display:flex;overflow-y:auto}.pm-checkbox-item{align-items:center;gap:var(--space-2);font-size:var(--text-sm);cursor:pointer;display:flex}@media (width<=1200px){.subproj-card-grid{grid-template-columns:1fr;gap:14px}.subproj-ring-wrap{align-items:flex-start}}@media (width<=768px){.layout{flex-direction:column}.sidebar,.sidebar-rail{width:var(--sidebar-width-expanded);transition:transform var(--transition-base);box-shadow:var(--shadow-lg);position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.open,.sidebar-rail.open{transform:translate(0)}.sidebar-header{padding:var(--space-4);flex-direction:row;justify-content:space-between;align-items:center;width:100%}.brand-mark{margin-bottom:0}.brand-expanded{margin-left:var(--space-3);flex:1;display:block}.sidebar nav{padding:var(--space-3);align-items:stretch}.nav-rail-item{width:100%;min-height:44px;padding:var(--space-2) var(--space-3);justify-content:flex-start;gap:var(--space-3);flex-direction:row}.nav-rail-item .nav-rail-icon{flex-shrink:0;width:32px;height:32px}.nav-rail-label{font-size:var(--text-sm);text-align:left;max-width:none;font-weight:500;display:block}.nav-rail-tip-fixed{display:none}.sidebar-footer{padding:var(--space-4);align-items:stretch}.rail-signout{display:none}.sidebar-footer-expanded{display:block}.sidebar-close,.mobile-header{display:flex}.projects-hub{flex-direction:column;min-height:auto}.projects-hub-sidebar{width:100%;min-width:0;max-height:320px}.projects-hub-content,.projects-hub-topbar{padding:var(--space-4)}}.assignee-multi-select{gap:var(--space-2);flex-direction:column;display:flex}.assignee-multi-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.assignee-chip{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);background:var(--color-surface-muted);border:1px solid var(--color-border);font-size:var(--text-sm);display:inline-flex}.assignee-chip button{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;line-height:1}.assignee-multi-input-wrap{position:relative}.assignee-multi-dropdown{z-index:20;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:220px;box-shadow:var(--shadow-md);position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto}.assignee-multi-option{text-align:left;width:100%;padding:var(--space-2) var(--space-3);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:2px;display:flex}.assignee-multi-option-label{font-size:var(--text-sm);color:var(--color-text)}.assignee-multi-option-meta{font-size:var(--text-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.admin-settings-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.settings-page{max-width:920px}.settings-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:visible;box-shadow:0 1px 3px #14171f0a}.settings-panel-summary{gap:var(--space-6);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);background:linear-gradient(135deg,#534ab70d 0%,#0d94880a 100%);display:flex}.settings-panel-summary>div{flex-direction:column;gap:2px;display:flex}.settings-summary-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);font-size:11px;font-weight:700}.settings-panel-summary strong{font-family:var(--font-display);font-size:1.35rem;line-height:1.2}.settings-workflow-section{padding:var(--space-5)}.settings-workflow-header{margin-bottom:var(--space-4);max-width:640px}.settings-workflow-header h2{font-family:var(--font-display);font-size:var(--text-lg);margin:0 0 6px;font-weight:600}.settings-workflow-header p{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0;line-height:1.55}.settings-divider{border:none;border-top:1px solid var(--color-border);margin:0}.settings-permission-list{gap:var(--space-3);flex-direction:column;display:flex}.settings-permission-row{gap:var(--space-5);padding:var(--space-4) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);z-index:0;grid-template-columns:minmax(170px,210px) minmax(360px,1fr);align-items:start;display:grid;position:relative}.settings-permission-row.is-dropdown-open{z-index:100}.settings-permission-meta{gap:var(--space-3);align-items:flex-start;display:flex}.settings-step-badge{background:var(--color-primary-subtle,#eef4fc);width:28px;height:28px;color:var(--color-primary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.settings-permission-text strong{font-size:var(--text-sm);margin-bottom:4px;display:block}.settings-permission-text p{font-size:var(--text-xs);color:var(--color-text-secondary);margin:0 0 8px;line-height:1.45}.settings-permission-count{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.settings-permission-control{z-index:1;min-width:0;position:relative}.settings-permission-control .assignee-multi-select--field{width:100%;min-width:320px}.assignee-multi-select--field{position:relative}.assignee-multi-select--field .assignee-multi-field{align-items:center;gap:var(--space-2);min-height:46px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);flex-wrap:wrap;transition:border-color .15s,box-shadow .15s;display:flex}.assignee-multi-select--field.is-open .assignee-multi-field,.assignee-multi-select--field .assignee-multi-field:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-subtle,#534ab71f)}.assignee-multi-select--field .assignee-multi-field input{min-width:200px;font-size:var(--text-sm);color:var(--color-text);background:0 0;border:none;outline:none;flex:200px;padding:6px 0}.assignee-multi-select--field .assignee-multi-field input::placeholder{color:var(--color-text-muted)}.assignee-multi-select--field .assignee-multi-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0}.settings-permission-control .assignee-chip{background:var(--color-primary-subtle,#eef4fc);color:var(--color-text);font-size:var(--text-xs);border-color:#534ab72e;padding:4px 8px}.settings-permission-control .assignee-chip button{padding:0 2px;font-size:14px}.settings-permission-control .assignee-multi-dropdown{z-index:2;background:var(--color-surface);max-height:280px}.assignee-multi-group+.assignee-multi-group{border-top:1px solid var(--color-border)}.assignee-multi-group-label{padding:var(--space-2) var(--space-3);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);background:var(--color-surface-muted);z-index:1;font-size:11px;font-weight:700;position:sticky;top:0}.settings-permission-control .assignee-multi-option{justify-content:space-between;align-items:center;gap:var(--space-3);flex-direction:row}.settings-permission-control .assignee-multi-option-meta{text-transform:none;letter-spacing:normal;flex-shrink:0}.settings-permission-control .assignee-multi-select{min-height:46px}.settings-permission-control .assignee-multi-chips{min-height:0}.settings-workflow-section .settings-panel-footer,.settings-panel-footer{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border);background:var(--color-surface-muted);display:flex}.settings-panel-footer .btn{flex-shrink:0;min-width:160px}.settings-panel-footer p{font-size:var(--text-xs);color:var(--color-text-secondary);max-width:480px;margin:0;line-height:1.45}@media (width<=768px){.settings-permission-row{gap:var(--space-3);grid-template-columns:1fr}.settings-panel-footer{flex-direction:column;align-items:stretch}.settings-panel-footer .btn{width:100%}}.settings-tabs{margin-bottom:var(--space-5)}.settings-reset-panel{overflow:hidden}.settings-reset-summary{gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);background:linear-gradient(135deg,#c628280f 0%,#534ab70a 100%);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.settings-reset-summary>div{flex-direction:column;gap:4px;display:flex}.settings-reset-irreversible{color:#b42318}.settings-reset-intro{padding:var(--space-5) var(--space-5) 0}.settings-reset-grid{gap:var(--space-4);padding:var(--space-5);grid-template-columns:1.15fr .85fr;display:grid}.settings-reset-card{border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);min-height:100%}.settings-reset-card h3{margin:0 0 var(--space-4);font-family:var(--font-display);font-size:var(--text-base);font-weight:600}.settings-reset-card-danger{background:#fff8f8;border:1px solid #f5c2c2}.settings-reset-card-danger h3{color:#b42318}.settings-reset-card-safe{background:#f6fbf8;border:1px solid #b7e4c7}.settings-reset-card-safe h3{color:#1b6b3f}.settings-reset-group-list{gap:var(--space-4);display:grid}.settings-reset-group h4{margin:0 0 var(--space-2);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);font-size:11px;font-weight:700}.settings-reset-group ul,.settings-reset-preserved-list{margin:0;padding:0;list-style:none}.settings-reset-group li,.settings-reset-preserved-list li{margin-bottom:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary);padding-left:1.1rem;line-height:1.45;position:relative}.settings-reset-group li:before,.settings-reset-preserved-list li:before{content:"";border-radius:50%;width:6px;height:6px;position:absolute;top:.55em;left:0}.settings-reset-group li:before{background:#e57373}.settings-reset-preserved-list li:before{background:#4caf7d}.settings-reset-safe-note{margin:var(--space-4) 0 0;padding-top:var(--space-3);font-size:var(--text-xs);color:var(--color-text-secondary);border-top:1px solid #d4edda;line-height:1.5}.settings-reset-confirm-panel{padding:var(--space-5);border-top:1px solid var(--color-border);background:linear-gradient(180deg, #fff5f5 0%, var(--color-surface-muted) 100%)}.settings-reset-confirm-header{gap:var(--space-3);margin-bottom:var(--space-4);align-items:flex-start;display:flex}.settings-reset-step{color:#b42318;background:#fde8e8;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-weight:700;display:inline-flex}.settings-reset-confirm-header h3{font-family:var(--font-display);font-size:var(--text-base);color:#b42318;margin:0 0 4px;font-weight:600}.settings-reset-confirm-header p{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0;line-height:1.5}.settings-reset-form{gap:var(--space-2);flex-direction:column;display:flex}.settings-reset-confirm-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);font-weight:700}.settings-reset-confirm-row{gap:var(--space-3);align-items:stretch;display:flex}.settings-reset-confirm-input{border-radius:var(--radius-md);min-width:0;font-size:var(--text-sm);background:#fff;border:1px solid #f0b4b4;flex:1;padding:11px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.settings-reset-confirm-input:focus{border-color:#e57373;outline:none;box-shadow:0 0 0 3px #e573732e}.settings-reset-confirm-input.is-valid{background:#f8fffb;border-color:#4caf7d}.settings-reset-phrase-hint{font-size:var(--text-xs);color:var(--color-text-secondary);margin:0}.settings-reset-phrase-hint code{background:#0000000d;border-radius:4px;padding:1px 6px;font-size:.95em}.settings-reset-phrase-ok{color:#1b6b3f;font-weight:600}.settings-reset-disabled{padding:var(--space-8) var(--space-5);text-align:center;max-width:520px;margin:0 auto}.settings-reset-disabled-icon{margin-bottom:var(--space-3);font-size:2rem}.settings-reset-disabled h2{margin:0 0 var(--space-3);font-family:var(--font-display);font-size:var(--text-lg)}.settings-reset-disabled p{margin:0 0 var(--space-3);color:var(--color-text-secondary);line-height:1.55}.settings-reset-environment{font-size:var(--text-sm)}@media (width<=768px){.settings-reset-summary,.settings-reset-grid{grid-template-columns:1fr}.settings-reset-confirm-row{flex-direction:column}.settings-reset-confirm-row .btn{justify-content:center;width:100%}}.assignee-multi-option:hover:not(:disabled){background:var(--color-surface-muted)}.assignee-multi-option.selected{opacity:.55;cursor:default}.assignee-multi-empty{padding:var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm)}.translator-module-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}.translator-module-card{border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);color:inherit;transition:border-color var(--transition-fast);padding:20px 22px;text-decoration:none;display:block}.translator-module-card:hover{color:inherit;border-color:#d6d6fb}.translator-module-icon{background:var(--violet-soft);width:40px;height:40px;color:var(--violet);font-size:inherit;border-radius:10px;justify-content:center;align-items:center;margin-bottom:14px;display:flex}.translator-work-list{gap:var(--space-3);flex-direction:column;display:flex}.translator-work-group{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.translator-work-row{gap:var(--space-3);padding:var(--space-4);grid-template-columns:auto 1fr auto;align-items:start;display:grid}.translator-work-actions{padding-top:var(--space-1);align-items:center;display:flex}.translator-work-row.read-only{opacity:.85}.translator-expand-btn{min-width:2rem}.translator-expand-spacer{width:2rem;display:inline-block}.translator-work-title{gap:var(--space-1);margin-bottom:var(--space-2);flex-direction:column;display:flex}.translator-work-meta{color:var(--color-text-muted);font-size:var(--text-sm)}.translator-work-stats{gap:var(--space-3);font-size:var(--text-sm);margin-bottom:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.translator-progress-bar{width:100%}.translator-progress-fill{height:100%}.translator-history-panel{border-top:1px solid var(--color-border);background:var(--color-surface-muted);padding:var(--space-3) var(--space-4) var(--space-3) calc(var(--space-4) + 2rem)}.translator-history-entry{padding:var(--space-2) 0;border-bottom:1px dashed var(--color-border);font-size:var(--text-sm)}.translator-history-entry:last-child{border-bottom:none}.translator-history-date{margin-bottom:var(--space-1);font-weight:600}.translator-update-modal{width:min(560px,100%)}.text-error{color:var(--color-danger,#b42318);font-size:var(--text-sm)}.translator-project-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.translator-project-card{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:inherit;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:block}.translator-project-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.translator-project-card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.translator-project-card-header h3{font-size:var(--text-lg);margin:0}.translator-project-lang{font-size:var(--text-sm);color:var(--color-text-muted);white-space:nowrap}.translator-project-progress,.labeled-progress{margin-bottom:var(--space-3)}.translator-project-progress-label,.labeled-progress-head{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-1);justify-content:space-between;display:flex}.translator-project-stats{gap:var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.translator-project-stages{gap:var(--space-2);flex-wrap:wrap;display:flex}.translator-project-summary{margin-bottom:var(--space-4)}.translator-stage-progress-list{gap:var(--space-4);flex-direction:column;display:flex}.translator-stage-progress-item{padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.translator-stage-progress-item:last-child{border-bottom:none;padding-bottom:0}.translator-stage-progress-header{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.section-header-row{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.section-header-row h3{margin:0}.translator-completed-section{opacity:.9}.translator-task-sections{gap:var(--space-3);flex-direction:column;display:flex}.translator-task-section{border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.translator-task-section-header{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3) var(--space-4);background:var(--color-surface-muted);cursor:pointer;font-size:var(--text-base);text-align:left;border:none;font-weight:600;display:flex}.translator-task-section-header .chevron{font-size:.75rem;transition:transform .15s;display:inline-block}.translator-task-section-header .chevron.open{transform:rotate(90deg)}.translator-task-section-count{font-size:var(--text-sm);color:var(--color-text-muted);margin-left:auto;font-weight:500}.translator-task-section-body{padding:var(--space-3)}.translator-task-section-body .translator-work-list{gap:var(--space-2)}.translator-task-section-body .translator-work-group{border-radius:var(--radius-md);background:var(--color-surface-muted);border:none}.translator-service-hint{margin-bottom:var(--space-3)}.import-tasks-modal-card .form-actions{margin-top:var(--space-4)}.import-tasks-services{margin-bottom:var(--space-3)}.import-tasks-modal{max-height:min(58vh,520px);padding-right:var(--space-1);overflow-y:auto}.import-tasks-toolbar{gap:var(--space-3);margin-bottom:var(--space-4);z-index:1;background:var(--color-surface);padding-bottom:var(--space-2);flex-direction:column;display:flex;position:sticky;top:0}.import-tasks-search{width:100%}.import-tasks-toolbar-actions{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.import-tasks-count{font-size:var(--text-sm);color:var(--color-text-secondary)}.import-tasks-empty-search{padding:var(--space-4) 0;text-align:center}.import-tasks-stage-group{margin-bottom:var(--space-5)}.import-tasks-stage-group:last-child{margin-bottom:0}.import-tasks-stage-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border);display:flex}.import-tasks-stage-title{align-items:baseline;gap:var(--space-2);min-width:0;display:flex}.import-tasks-stage-group h4{font-size:var(--text-sm);color:var(--color-text-heading);text-transform:uppercase;letter-spacing:.04em;margin:0;font-weight:600}.import-tasks-stage-count{font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap}.import-tasks-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.import-task-card{align-items:flex-start;gap:var(--space-3);width:100%;padding:var(--space-3);border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;text-align:left;transition:border-color .15s,background-color .15s,box-shadow .15s;display:flex}.import-task-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.import-task-card.selected{border-color:var(--color-primary);background:var(--violet-soft);box-shadow:0 0 0 1px var(--color-primary)}.import-task-check{border:1.5px solid var(--color-border-strong);color:#fff;background:var(--color-surface);border-radius:4px;flex:0 0 20px;justify-content:center;align-items:center;width:20px;height:20px;margin-top:2px;display:inline-flex}.import-task-card.selected .import-task-check{border-color:var(--color-primary);background:var(--color-primary)}.import-task-check svg{width:12px;height:12px}.import-task-card-body{gap:var(--space-2);flex-direction:column;flex:1;min-width:0;display:flex}.import-task-card-title{align-items:flex-start;gap:var(--space-2);flex-wrap:wrap;display:flex}.import-task-name{font-size:var(--text-sm);color:var(--color-text-heading);font-weight:600;line-height:var(--leading-tight)}.import-task-code{font-size:var(--text-xs);font-family:var(--font-mono);color:var(--color-text-secondary);background:var(--color-bg);border:1px solid var(--color-border);border-radius:999px;align-items:center;padding:2px 8px;display:inline-flex}.import-task-card-meta{gap:var(--space-1) var(--space-3);font-size:var(--text-xs);color:var(--color-text-secondary);flex-wrap:wrap;display:flex}.table-edit-btn{justify-content:center;align-items:center;min-width:28px;min-height:28px;padding:4px;display:inline-flex}.table-edit-btn svg{width:14px;height:14px}.table-row-actions{align-items:center;gap:var(--space-2);display:flex}.table-inline-input{width:100%;min-width:80px;font-size:inherit;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:4px 8px}.table-inline-input-narrow{max-width:90px}.task-list-stage{flex-direction:column;gap:2px;min-width:130px;display:flex}.task-list-cell{flex-direction:column;gap:4px;min-width:180px;display:flex}.task-list-name-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.task-list-name{font-weight:500}.task-list-inline-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.task-list-inline-meta .progress-bar-track{flex-shrink:0;width:56px;min-height:4px}.task-tab-summary-stat{font-size:var(--text-xs);color:var(--color-text-secondary);white-space:nowrap;font-weight:600}.task-list-stage-main{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.task-list-stage-meta,.task-list-progress-meta{color:var(--color-text-secondary);font-size:.65rem;line-height:1.2}.task-list-progress{flex-direction:column;gap:3px;min-width:72px;max-width:110px;display:flex}.dashboard-page{width:100%;min-width:0;max-width:none}.dashboard-page .page-header .page-actions{align-items:center}.dashboard-page .page-header,.dashboard-page .section-card,.dashboard-page .dash-quick-actions{box-sizing:border-box;width:100%;min-width:0}.dash-kpi-grid{margin-bottom:var(--space-5);grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;width:100%;display:grid}.dash-kpi{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);min-width:0;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);align-items:flex-start;gap:12px;padding:16px 18px;display:flex}.dash-kpi:hover{border-color:#d6d6fb;box-shadow:0 4px 16px #534ab714}.dash-kpi-icon{background:var(--color-primary-subtle,#eef4fc);width:36px;height:36px;color:var(--color-primary);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.dash-kpi-icon svg{width:20px;height:20px}.dash-kpi-primary .dash-kpi-icon{color:var(--color-primary);background:#534ab71f}.dash-kpi-gold .dash-kpi-icon{color:#b8860b;background:#d4a01724}.dash-kpi-teal .dash-kpi-icon{color:#0d9488;background:#0d94881f}.dash-kpi-indigo .dash-kpi-icon{color:#6366f1;background:#6366f11f}.dash-kpi-amber .dash-kpi-icon{color:#c2410c;background:#e07b391f}.dash-kpi-rose .dash-kpi-icon{color:#dc2626;background:#dc26261a}.dash-kpi-body{flex-direction:column;gap:2px;min-width:0;display:flex}.dash-kpi-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);font-size:11px;font-weight:700}.dash-kpi-value{font-family:var(--font-display);color:var(--color-text);word-break:break-word;font-size:clamp(1.1rem,1.4vw,1.5rem);font-weight:700;line-height:1.15}.dash-kpi-hint{color:var(--color-text-secondary);font-size:11px;line-height:1.35}.dash-kpi-primary{border-top:3px solid var(--color-primary)}.dash-kpi-gold{border-top:3px solid var(--gold,#d4a017)}.dash-kpi-teal{border-top:3px solid #0d9488}.dash-kpi-indigo{border-top:3px solid #6366f1}.dash-kpi-amber{border-top:3px solid #e07b39}.dash-kpi-rose{border-top:3px solid #dc2626}.dash-charts-grid{gap:var(--space-4);margin-bottom:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.dash-bottom-grid{gap:var(--space-4);margin-bottom:var(--space-5);grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.dash-chart-card{width:100%;min-width:0;min-height:280px;margin-bottom:0}.dash-chart-subtitle{font-size:var(--text-xs);color:var(--color-text-secondary);margin:-8px 0 16px}.dash-chart-empty{text-align:center;color:var(--color-text-secondary);font-size:var(--text-sm);margin:24px 0}.dash-vbar-chart{justify-content:space-between;align-items:flex-end;gap:10px;height:200px;padding-top:8px;display:flex}.dash-vbar-col{flex-direction:column;flex:1;align-items:center;min-width:0;height:100%;display:flex}.dash-vbar-value{color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;max-width:100%;margin-bottom:6px;font-size:10px;font-weight:600;overflow:hidden}.dash-vbar-track{background:var(--progress-track-bg);border:1px solid var(--progress-track-border);border-radius:6px 6px 2px 2px;flex:1;align-items:flex-end;width:100%;max-width:48px;display:flex;overflow:hidden;box-shadow:inset 0 1px 2px #14171f12}.dash-vbar-fill{background:var(--progress-fill-gradient);border-radius:6px 6px 2px 2px;width:100%;min-height:4px}.dash-vbar-label{color:var(--color-text-secondary);text-align:center;margin-top:8px;font-size:11px}.dash-donut-layout{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.dash-donut{border-radius:50%;flex-shrink:0;width:140px;height:140px;position:relative}.dash-donut-hole{background:var(--color-surface);text-align:center;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:22%}.dash-donut-hole strong{font-family:var(--font-display);font-size:1.25rem;line-height:1.1}.dash-donut-hole span{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:10px}.dash-legend{flex:1;min-width:140px;margin:0;padding:0;list-style:none}.dash-legend li{font-size:var(--text-sm);align-items:center;gap:8px;padding:5px 0;display:flex}.dash-legend-swatch{border-radius:2px;flex-shrink:0;width:10px;height:10px}.dash-legend-label{color:var(--color-text-secondary);flex:1}.dash-legend-value{font-weight:600}.dash-hbar-chart{flex-direction:column;gap:10px;display:flex}.dash-hbar-row{grid-template-columns:110px 1fr 36px;align-items:center;gap:10px;display:grid}.dash-hbar-label{color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.dash-hbar-value{text-align:right;font-size:12px;font-weight:600}.dash-rank-list{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.dash-rank-item{align-items:flex-start;gap:12px;display:flex}.dash-rank-num{background:var(--color-primary-subtle,#eef4fc);width:22px;height:22px;color:var(--color-primary);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.dash-rank-main{flex:1;min-width:0}.dash-rank-top{font-size:var(--text-sm);justify-content:space-between;gap:8px;margin-bottom:6px;display:flex}.dash-rank-top strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dash-rank-bar{margin-bottom:4px;overflow:hidden}.dash-rank-meta{color:var(--color-text-secondary);font-size:11px}.dash-recent-list{margin:0;padding:0;list-style:none}.dash-recent-item{border-bottom:1px solid var(--color-border);font-size:var(--text-sm);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.dash-recent-item:last-child{border-bottom:none}.dash-recent-main{flex-direction:column;gap:2px;min-width:0;display:flex}.dash-recent-main span{color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.dash-recent-meta{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;display:flex}.dash-recent-date{color:var(--color-text-secondary);font-size:10px}.dash-pay-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:600}.dash-pay-paid{color:#166534;background:#dcfce7}.dash-pay-pending{color:#92400e;background:#fef3c7}.dash-pay-partial{color:#1e40af;background:#dbeafe}.dash-quick-actions{margin-top:var(--space-2);width:100%}.dash-section-title{margin:0 0 var(--space-3);font-family:var(--font-display);font-size:var(--text-base);font-weight:600}@media (width<=1400px){.dash-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=1100px){.dash-bottom-grid,.dash-charts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.dash-charts-grid,.dash-bottom-grid{grid-template-columns:1fr}}@media (width<=768px){.dash-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-hbar-row{grid-template-columns:minmax(72px,90px) 1fr 28px}.dash-kpi{padding:14px 16px}.page-container:not(:has(.projects-hub)){padding:var(--space-4)}}@media (width<=480px){.dash-kpi-grid{grid-template-columns:1fr}.dash-hbar-row{grid-template-columns:minmax(64px,80px) 1fr 24px}}.dash-recent-link{width:100%;color:inherit;justify-content:space-between;align-items:center;gap:12px;text-decoration:none;display:flex}.dash-recent-link:hover strong{color:var(--color-primary)}.reports-page{width:100%;min-width:0;max-width:none}.reports-page .page-header,.reports-page .report-filters-wrap,.reports-page .report-section,.reports-page .section-card,.reports-page .report-project-banner,.reports-page .dash-kpi-grid,.reports-page .dash-charts-grid,.reports-page .report-stage-grid,.reports-page .report-tables-split,.reports-page .report-activity-grid,.reports-page .report-dual-progress{box-sizing:border-box;width:100%;min-width:0}.report-filters-wrap{margin-bottom:var(--space-4);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 1px 3px #14171f0a}.report-filters{gap:var(--space-3) var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.report-filters .field{min-width:0}.report-export-bar{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.report-export-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);margin-right:var(--space-1);font-weight:700}.report-project-banner{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(135deg,#534ab70f 0%,#0d94880d 100%);display:flex}.report-project-banner h2{font-family:var(--font-display);font-size:var(--text-xl);margin:0 0 6px}.report-project-banner p{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0}.report-project-dates{font-size:var(--text-xs)!important;margin-top:6px!important}.report-kpi-grid{margin-bottom:var(--space-3)}.report-kpi-grid-dense{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.reports-page .dash-charts-grid:not(.report-two-col){grid-template-columns:repeat(3,minmax(0,1fr))}.reports-page .dash-charts-grid.report-two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.report-section{margin-bottom:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.report-section-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.report-section-toggle{width:100%;padding:var(--space-3) var(--space-4);cursor:pointer;text-align:left;color:inherit;background:0 0;border:none;flex:1;justify-content:space-between;align-items:center;display:flex}.report-section-actions{padding-right:var(--space-3);flex-shrink:0}.report-section-toggle:hover{background:#534ab70a}.report-section-toggle h2{font-family:var(--font-display);font-size:var(--text-base);margin:0;font-weight:600}.report-section-toggle p{font-size:var(--text-xs);color:var(--color-text-secondary);margin:4px 0 0}.report-section-chevron{color:var(--color-text-secondary);margin-left:var(--space-3);flex-shrink:0;font-size:1.1rem}.report-section-body{padding:0 var(--space-4) var(--space-4);border-top:1px solid var(--color-border)}.report-section-body>.dash-kpi-grid:first-child,.report-section-body>.dash-charts-grid:first-child{margin-top:var(--space-4)}.report-stage-grid{gap:var(--space-3);margin-top:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.report-stage-card{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg)}.report-stage-card-head{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);font-size:var(--text-sm);display:flex}.report-mini-stats{margin:var(--space-3) 0 0;font-size:var(--text-xs);grid-template-columns:repeat(2,1fr);gap:8px 12px;display:grid}.report-mini-stats div{justify-content:space-between;gap:8px;display:flex}.report-mini-stats dt{color:var(--color-text-secondary);margin:0}.report-mini-stats dd{margin:0;font-weight:600}.report-dual-progress{gap:var(--space-4);margin-top:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.report-tables-split,.report-activity-grid{gap:var(--space-4);margin-top:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.report-activity-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.report-two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.report-inline-progress{align-items:center;gap:8px;min-width:100px;display:flex}.report-inline-progress .progress-bar-track{flex:1;min-width:48px}.report-inline-progress span{white-space:nowrap;font-size:11px;font-weight:600}.report-timeline{margin:var(--space-3) 0 0;padding:0 0 0 var(--space-2);border-left:2px solid var(--color-border);list-style:none}.report-timeline-item{padding:0 0 var(--space-4) var(--space-4);position:relative}.report-timeline-dot{left:calc(-1 * var(--space-2) - 5px);background:var(--color-primary);border:2px solid var(--color-surface);width:10px;height:10px;box-shadow:0 0 0 2px var(--color-primary-subtle,#eef4fc);border-radius:50%;position:absolute;top:4px}.report-timeline-content strong{font-size:var(--text-sm)}.report-timeline-content p{font-size:var(--text-sm);color:var(--color-text-secondary);margin:4px 0}.report-timeline-meta{font-size:var(--text-xs);color:var(--color-text-secondary)}.report-empty-hint{color:var(--color-text-secondary);margin:0;line-height:1.6}@media (width<=1200px){.report-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.reports-page .dash-charts-grid:not(.report-two-col){grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.report-dual-progress,.report-tables-split,.report-two-col{grid-template-columns:1fr}.report-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.reports-page .dash-charts-grid,.reports-page .dash-charts-grid.report-two-col{grid-template-columns:1fr}}@media (width<=600px){.report-filters{grid-template-columns:1fr}.report-project-banner{flex-direction:column}}@media print{.no-print,.layout-sidebar,.layout-nav,.report-filters-wrap,.report-section-toggle{display:none!important}.report-section-body{border:none;padding:0;display:block!important}.report-section{break-inside:avoid;border:none;margin-bottom:24px}.reports-page{max-width:none}.dash-charts-grid{grid-template-columns:repeat(2,1fr)}}#toast-portal{z-index:10000;pointer-events:none;position:fixed;inset:0}.toast-viewport{top:auto;bottom:var(--space-5);right:var(--space-5);gap:var(--space-3);width:min(380px, calc(100vw - var(--space-8)));pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);pointer-events:auto;opacity:1;animation:.28s cubic-bezier(.21,1.02,.73,1) toast-enter;display:flex;transform:translate(0)}.toast-exit{animation:.22s forwards toast-exit}.toast-icon{flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;margin-top:1px;display:flex}.toast-icon svg{width:18px;height:18px}.toast-message{font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--color-text);flex:1;margin:0;padding-top:2px}.toast-dismiss{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin:-4px -6px -4px 0;padding:0;display:flex}.toast-dismiss:hover{background:var(--color-surface-muted);color:var(--color-text)}.toast-dismiss svg{width:14px;height:14px}.toast-success{border-color:var(--color-success-border);background:linear-gradient(135deg, var(--color-surface) 0%, var(--color-success-bg) 100%)}.toast-success .toast-icon{color:var(--color-success)}.toast-error{border-color:var(--color-error-border);background:linear-gradient(135deg, var(--color-surface) 0%, var(--color-error-bg) 100%)}.toast-error .toast-icon{color:var(--color-error)}.toast-warning{border-color:var(--color-warning-border);background:linear-gradient(135deg, var(--color-surface) 0%, var(--color-warning-bg) 100%)}.toast-warning .toast-icon{color:var(--color-warning)}.toast-info{border-color:var(--color-info-border);background:linear-gradient(135deg, var(--color-surface) 0%, var(--color-info-bg) 100%)}.toast-info .toast-icon{color:var(--color-info)}@keyframes toast-enter{0%{transform:translate(24px)}to{transform:translate(0)}}@keyframes toast-exit{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(24px)}}@media (width<=600px){.toast-viewport{bottom:var(--space-4);right:var(--space-4);left:var(--space-4);width:auto}.toast{animation-name:toast-enter-mobile}@keyframes toast-enter-mobile{0%{transform:translateY(16px)}to{transform:translateY(0)}}@keyframes toast-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(16px)}}}
