:root{--green-900:#01573d;--green-800:#065f46;--green-700:#047857;--green-100:#d1fae5;--green-50:#ecfdf5;--bg:#f3f4f6;--surface:#fff;--text:#374151;--text-muted:#6b7280;--text-heading:#111827;--border:#e5e7eb;--blue-badge-bg:#dbeafe;--blue-badge-text:#1d4ed8;--orange-icon-bg:#ffedd5;--orange-icon-text:#ea580c;--blue-icon-bg:#dbeafe;--blue-icon-text:#2563eb;--purple-icon-bg:#ede9fe;--purple-icon-text:#7c3aed;--green-icon-bg:#d1fae5;--green-icon-text:#047857;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #00000014;--radius:12px;--radius-sm:8px;--sidebar-width:260px;--font:"Segoe UI", system-ui, -apple-system, sans-serif}*,:before,:after{box-sizing:border-box}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.5}#root{min-height:100vh}a{color:inherit;text-decoration:none}button,input{font:inherit}.app-shell{min-height:100vh;display:flex}.app-main{flex-direction:column;flex:1;min-width:0;display:flex}.app-content{flex:1;padding:24px 28px 32px;overflow-x:auto}.app-content:has(.page--kanban){flex-direction:column;padding:20px 32px 16px;display:flex;overflow:hidden}.app-content:has(.page--task-detail){flex-direction:column;min-height:0;padding:12px 16px;display:flex;overflow:auto}.sidebar{width:var(--sidebar-width);background:var(--green-900);color:#fff;flex-direction:column;flex-shrink:0;padding:24px 16px;display:flex}.sidebar__brand{text-align:left;border-bottom:1px solid #ffffff1f;flex-direction:row;align-items:center;gap:10px;margin-bottom:16px;padding:0 4px 16px;display:flex}.sidebar__brand-text{flex:1;min-width:0}.sidebar__title{letter-spacing:-.02em;margin:0;font-size:13px;font-weight:800;line-height:1.25}.sidebar__subtitle{opacity:.85;margin:2px 0 0;font-size:11px;font-weight:600}.sidebar__nav{flex:1;overflow-y:auto}.sidebar__group{margin-bottom:20px}.sidebar__group-title{letter-spacing:.1em;opacity:.55;margin-bottom:8px;padding:0 12px;font-size:10px;display:block}.sidebar__list{margin:0;padding:0;list-style:none}.sidebar__link{border-radius:var(--radius-sm);color:#ffffffe6;border:1px solid #0000;align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:500;transition:background .15s,box-shadow .15s;display:flex}.sidebar__link:hover{background:#ffffff14}.sidebar__link--active{background:#ffffff24;border-color:#ffffff59;box-shadow:inset 0 0 0 1px #ffffff14}.top-header{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 28px;display:flex}.top-header__title{color:var(--text-heading);margin:0;font-size:18px;font-weight:600}.top-header__actions{align-items:center;gap:12px;display:flex}.brand-logo{object-fit:cover;background:#01573d;border-radius:50%;flex-shrink:0;display:block}.brand-logo--hero{width:min(340px,58vw);height:min(340px,58vw);margin:0 auto 22px;box-shadow:0 18px 50px #00000059}.brand-logo--sidebar{width:40px;height:40px;margin:0;box-shadow:0 0 0 2px #ffffff47}.icon-btn{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex}.icon-btn:hover{background:var(--bg);color:var(--text-heading)}.icon-btn--danger:hover{color:#dc2626;background:#fef2f2}.icon-btn--success:hover{color:#059669;background:#ecfdf5}.user-menu{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:999px;align-items:center;gap:10px;padding:4px 8px 4px 4px;display:flex}.user-menu__avatar{background:var(--green-700);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;font-weight:600;display:flex}.user-menu__info{text-align:left;flex-direction:column;align-items:flex-start;display:flex}.user-menu__name{color:var(--text-heading);font-size:13px;font-weight:600;line-height:1.2}.user-menu__role{color:var(--text-muted);letter-spacing:.04em;font-size:10px}.user-menu__chevron{color:var(--text-muted)}.page{flex-direction:column;gap:20px;display:flex}.page-hero{background:linear-gradient(135deg, var(--green-900), var(--green-800));color:#fff;border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;padding:28px 32px;display:flex}.page-hero--compact{background:linear-gradient(120deg, #ffffff14, transparent 40%), linear-gradient(135deg, var(--green-900), #0a7a55 55%, var(--green-800));padding:16px 22px}.page-hero__main{min-width:0}.page-hero__eyebrow{letter-spacing:.12em;opacity:.8;margin-bottom:8px;font-size:11px;display:block}.page-hero--compact .page-hero__eyebrow{margin-bottom:4px}.page-hero__title{letter-spacing:-.02em;margin:0 0 8px;font-size:28px;font-weight:700}.page-hero--compact .page-hero__title{margin:0 0 4px;font-size:22px}.page-hero__description{opacity:.88;max-width:560px;margin:0;font-size:14px}.page-hero--compact .page-hero__description{opacity:.85;font-size:13px}.page-hero__meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.page-hero__chip{background:#ffffff24;border:1px solid #fff3;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex}.page-hero__chip--ok{background:#a7f3d040;border-color:#a7f3d073}.page-hero__chip--warn{color:#fef3c7;background:#fef3c74d;border-color:#fcd34d80}.page--dashboard{gap:14px}.alert-banner{background:var(--green-50);border-radius:var(--radius-sm);color:var(--green-800);border:1px solid #a7f3d0;align-items:center;gap:10px;padding:12px 16px;font-size:14px;display:flex}.alert-banner__status{opacity:.75;margin-left:auto;font-size:12px}.alert-banner__depts{opacity:.8;margin-left:auto;font-size:12px}.alert-banner--warning{color:#b45309;background:#fffbeb;border-color:#fcd34d}.dashboard-card--full{grid-column:1/-1}.quick-actions--row{flex-flow:wrap;align-items:center}.status-chart{flex-direction:column;gap:10px;display:flex}.status-chart__row{flex-direction:column;gap:5px;display:flex}.status-chart__label{color:var(--text);justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.status-chart__name{text-transform:capitalize;border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.status-chart__count{color:var(--text-heading);font-variant-numeric:tabular-nums;align-items:baseline;gap:6px;font-weight:700;display:inline-flex}.status-chart__pct{color:var(--text-muted);font-size:11px;font-weight:600}.status-chart__track{background:#e8edf0;border-radius:999px;height:8px;overflow:hidden}.status-chart__bar{border-radius:inherit;min-width:0;height:100%;transition:width .3s}.activity-feed{max-height:320px;margin:0;padding:0;list-style:none;overflow-y:auto}.activity-feed__item{border-bottom:1px solid #f1f5f9;align-items:flex-start;gap:10px;padding:10px 0;display:flex}.activity-feed__item:last-child{border-bottom:none;padding-bottom:0}.activity-feed__item:first-child{padding-top:0}.activity-feed__dot{background:#94a3b8;border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:5px}.activity-feed__dot--green{background:#10b981}.activity-feed__dot--blue{background:#3b82f6}.activity-feed__dot--violet{background:#8b5cf6}.activity-feed__dot--amber{background:#f59e0b}.activity-feed__dot--sky{background:#0ea5e9}.activity-feed__dot--mint{background:#14b8a6}.activity-feed__dot--rose{background:#f43f5e}.activity-feed__dot--slate{background:#64748b}.activity-feed__content{flex:1;min-width:0;font-size:13px;line-height:1.35}.activity-feed__content strong{color:var(--text-heading);font-weight:600}.activity-feed__actor{color:var(--text-muted);font-weight:400}.activity-feed__role{text-transform:capitalize}.activity-feed__time{color:var(--text-muted);margin-top:3px;font-size:11px}.export-form{flex-direction:column;gap:16px;display:flex}.overdue-badge{color:#dc2626;background:#fee2e2;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:700;display:inline-flex}.dept-grid--compact{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.dept-report-link{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:inherit;flex-direction:column;gap:4px;padding:16px;text-decoration:none;transition:box-shadow .15s;display:flex}.dept-report-link:hover{box-shadow:var(--shadow-md);border-color:var(--green-700)}.dept-report-link__name{color:var(--text-heading);font-weight:600}.dept-report-link__count{color:var(--text-muted);font-size:12px}.assignee-banner{background:var(--green-50);border-radius:var(--radius-sm);color:var(--green-800);border:1px solid #a7f3d0;padding:16px 20px}.assignee-banner p{opacity:.9;margin:6px 0 0;font-size:14px}.assignee-banner__warn{border-radius:var(--radius-sm);color:#b45309;background:#fffbeb;border:1px solid #fcd34d;padding:10px 12px;margin-top:10px!important;font-size:13px!important}.assignee-banner__warn code{background:#0000000f;border-radius:3px;padding:1px 4px;font-size:11px}.assignee-banner__hint{border-radius:var(--radius-sm);color:#1d4ed8;background:#eff6ff;border:1px solid #93c5fd;padding:10px 12px;margin-top:10px!important;font-size:13px!important}.info-banner{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);padding:14px 18px;font-size:14px}.info-banner p{margin:0}.update-form__actions{flex-wrap:wrap;gap:10px;display:flex}.stats-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);border-left:4px solid #0000;align-items:center;gap:12px;padding:14px 16px;transition:transform .15s,box-shadow .15s;display:flex}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.stat-card--green{background:linear-gradient(135deg,#ecfdf5 0%,#fff 55%);border-left-color:#059669}.stat-card--blue{background:linear-gradient(135deg,#eff6ff 0%,#fff 55%);border-left-color:#2563eb}.stat-card--orange{background:linear-gradient(135deg,#fff7ed 0%,#fff 55%);border-left-color:#ea580c}.stat-card--purple{background:linear-gradient(135deg,#f5f3ff 0%,#fff 55%);border-left-color:#7c3aed}.stat-card__icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.stat-card__icon--green{background:var(--green-icon-bg);color:var(--green-icon-text)}.stat-card__icon--blue{background:var(--blue-icon-bg);color:var(--blue-icon-text)}.stat-card__icon--orange{background:var(--orange-icon-bg);color:var(--orange-icon-text)}.stat-card__icon--purple{background:var(--purple-icon-bg);color:var(--purple-icon-text)}.stat-card__content{flex-direction:column;gap:2px;min-width:0;display:flex}.stat-card__label{letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:600}.stat-card__value{color:var(--text-heading);font-variant-numeric:tabular-nums;font-size:24px;font-weight:700;line-height:1.1}.dashboard-grid{grid-template-columns:1fr 1.15fr;align-items:stretch;gap:14px;display:grid}.dashboard-grid--tables{grid-template-columns:1fr 1fr}.dashboard-stack{flex-direction:column;gap:14px;display:flex}.dashboard-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;display:flex;overflow:hidden}.dashboard-card__header{justify-content:space-between;align-items:center;gap:12px;padding:14px 16px 0;display:flex}.dashboard-card__title{color:var(--text-heading);margin:0;font-size:15px;font-weight:700}.dashboard-card__subtitle{color:var(--text-muted);margin:4px 0 0;font-size:12px}.dashboard-card__body{flex:1;padding:12px 16px 16px}.table-card--compact{box-shadow:none;border:none;overflow:auto}.table-card--compact .data-table th,.table-card--compact .data-table td{padding:8px 10px;font-size:13px}.dash-pill{font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;min-width:28px;padding:2px 8px;font-size:12px;font-weight:700;display:inline-flex}.dash-pill--neutral{color:#374151;background:#f3f4f6}.dash-pill--green{color:#047857;background:#d1fae5}.dash-pill--blue{color:#1d4ed8;background:#dbeafe}.dash-role{text-transform:capitalize;color:var(--text-muted);font-size:12px}.dash-actions{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:14px 16px}.dash-actions__title{color:var(--text-heading);margin:0 0 12px;font-size:15px;font-weight:700}.dash-actions__grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;display:grid}.dash-action{color:var(--text-heading);border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:12px 14px;font-size:13px;font-weight:600;transition:transform .15s,box-shadow .15s;display:flex}.dash-action:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.dash-action--primary{background:var(--green-800);color:#fff}.dash-action--primary:hover{background:var(--green-700);color:#fff}.dash-action--mint{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.dash-action--sky{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.dash-action--violet{color:#6d28d9;background:#f5f3ff;border-color:#ddd6fe}.dash-action--amber{color:#b45309;background:#fffbeb;border-color:#fde68a}.dash-action--slate{color:#334155;background:#f8fafc;border-color:#e2e8f0}.item-list{margin:0;padding:0;list-style:none}.item-list__item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.item-list__item:last-child{border-bottom:none;padding-bottom:0}.item-list__info{flex-direction:column;gap:4px;min-width:0;display:flex}.item-list__title{color:var(--text-heading);font-size:14px;font-weight:600}.item-list__meta{color:var(--text-muted);font-size:12px}.item-list__badges{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;display:flex}.status-badge{letter-spacing:.04em;white-space:nowrap;border-radius:999px;align-items:center;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.status-badge--scheduled,.status-badge--pending{background:var(--blue-badge-bg);color:var(--blue-badge-text)}.status-badge--rescheduled{color:#b45309;background:#fef3c7}.status-badge--in-progress{color:#d97706;background:#fef3c7}.status-badge--completed{background:var(--green-icon-bg);color:var(--green-icon-text)}.status-badge--cancelled{color:#dc2626;background:#fee2e2}.status-badge--review-pending_secretary{color:#6d28d9;background:#ede9fe}.status-badge--review-approved{color:#15803d;background:#dcfce7}.status-badge--review-rejected{color:#c2410c;background:#ffedd5}.dept-check-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;margin-top:8px;display:grid}.dept-check{align-items:center;gap:8px;font-size:.9rem;display:flex}.priority-badge{letter-spacing:.04em;white-space:nowrap;border-radius:999px;align-items:center;padding:3px 8px;font-size:10px;font-weight:700;display:inline-flex}.priority-badge--low{color:#6b7280;background:#f3f4f6}.priority-badge--medium{background:var(--blue-badge-bg);color:var(--blue-badge-text)}.priority-badge--high{background:var(--orange-icon-bg);color:var(--orange-icon-text)}.priority-badge--critical{color:#dc2626;background:#fee2e2}.quick-actions{flex-direction:column;gap:10px;display:flex}.quick-actions__link{border-radius:var(--radius-sm);color:var(--text);align-items:center;gap:8px;padding:10px 12px;font-weight:500;transition:background .15s;display:flex}.quick-actions__link:hover{background:var(--bg)}.btn{border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;transition:opacity .15s,transform .1s;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--primary{background:var(--green-900);color:#fff}.btn--primary:hover:not(:disabled){background:var(--green-800)}.btn--danger{color:#b91c1c;background:#fff;border:1px solid #fecaca}.btn--danger:hover:not(:disabled){background:#fef2f2;border-color:#b91c1c}.btn--ghost{color:var(--green-800);border:1px solid var(--border);background:0 0;padding:8px 14px;font-size:13px}.btn--ghost:hover:not(:disabled){background:#ecfdf5;border-color:#a7f3d0}.btn--full{width:100%}.link-btn{color:var(--green-800);white-space:nowrap;font-size:13px;font-weight:600}.link-btn:hover{text-decoration:underline}.filters-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:14px;padding:16px 20px;display:flex}.filters-bar__row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.filters-bar__row--actions{justify-content:space-between}.search-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);min-width:240px;height:42px;color:var(--text-muted);flex:1;align-items:center;gap:10px;padding:0 14px;display:flex}.search-input input{color:var(--text-heading);background:0 0;border:none;outline:none;flex:1;font-size:14px}.date-filters{flex-wrap:wrap;gap:12px;display:flex}.date-field{flex-direction:column;gap:4px;display:flex}.date-field span{letter-spacing:.06em;color:var(--text-muted);font-size:10px;font-weight:600}.date-field input,.date-field select,.filter-select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);height:38px;color:var(--text-heading);appearance:none;box-sizing:border-box;min-width:140px;padding:0 12px;font-size:14px;font-weight:500;line-height:1.2}.date-field select,.filter-select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;min-width:180px;padding-right:36px}.date-field select:focus,.filter-select:focus,.date-field input:focus{border-color:var(--green-700);outline:none;box-shadow:0 0 0 3px #15803d1f}.status-chips{flex-wrap:wrap;gap:8px;display:flex}.status-chip{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);letter-spacing:.04em;cursor:pointer;border-radius:999px;padding:7px 14px;font-size:11px;font-weight:600;transition:all .15s}.status-chip:hover{border-color:var(--green-700);color:var(--green-800)}.status-chip--active{background:var(--green-900);border-color:var(--green-900);color:#fff}.table-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table thead{background:var(--bg);border-bottom:1px solid var(--border)}.data-table th{text-align:left;letter-spacing:.05em;color:var(--text-muted);white-space:nowrap;padding:12px 16px;font-size:11px;font-weight:600}.data-table td{border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle;padding:14px 16px}.table-sub{color:var(--text-muted);margin-top:4px;font-size:11px;font-weight:600}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:#fafafa}.col-check{width:44px}.col-title{color:var(--text-heading);font-weight:600}.table-actions{gap:4px;display:flex}.empty-state{text-align:center;color:var(--text-muted);margin:0;padding:24px 16px}.placeholder-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center;flex-direction:column;align-items:center;gap:16px;padding:40px;display:flex}.login-page{grid-template-columns:1.05fr .95fr;min-height:100vh;display:grid}.login-hero{background:linear-gradient(160deg, var(--green-900) 0%, #022c22 100%);color:#fff;text-align:center;flex-direction:column;justify-content:space-between;align-items:center;min-height:100vh;padding:36px 40px 24px;display:flex}.login-hero__center{flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;max-width:520px;display:flex}.login-hero__org{letter-spacing:.12em;text-transform:uppercase;opacity:.8;font-size:12px;line-height:1.4;display:block}.login-hero h1{margin:0 0 6px;font-size:32px;font-weight:800;line-height:1.15}.login-hero p{opacity:.9;margin:0;font-size:18px}.login-hero__copy{opacity:.7;margin:16px 0 0;font-size:12px}.login-panel{background:#f3f4f6;flex-direction:column;justify-content:center;align-items:center;padding:40px 24px;display:flex}.login-card{background:var(--surface);border-radius:var(--radius);width:100%;max-width:420px;box-shadow:var(--shadow-md);padding:36px 32px}.login-card__brand{text-align:left;margin-bottom:28px}.login-card__brand h1{color:var(--text-heading);margin:0 0 6px;font-size:28px}.login-card__brand p{color:var(--text-muted);margin:0}.login-powered{color:var(--text-muted);margin:18px 0 0;font-size:12px}@media (width<=900px){.login-page{grid-template-columns:1fr}.login-hero{min-height:auto;padding:28px 20px 16px}.brand-logo--hero{width:180px;height:180px;margin-bottom:14px}}.login-form{flex-direction:column;gap:16px;display:flex}.form-field{flex-direction:column;gap:6px;display:flex}.form-field span{color:var(--text-heading);font-size:13px;font-weight:600}.form-field input{border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;height:42px;padding:0 14px;transition:border-color .15s}.form-field input:focus{border-color:var(--green-700);box-shadow:0 0 0 3px #0478571f}.form-field select,.form-field textarea{border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;resize:vertical;outline:none;padding:10px 14px}.form-field select:focus,.form-field textarea:focus{border-color:var(--green-700);box-shadow:0 0 0 3px #0478571f}.form-success{background:var(--green-50);border-radius:var(--radius-sm);color:var(--green-800);border:1px solid #a7f3d0;padding:10px 14px;font-size:13px}.checkbox-group{flex-direction:column;gap:8px;margin-top:4px;display:flex}.checkbox-label{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.form-error{border-radius:var(--radius-sm);color:#dc2626;background:#fef2f2;border:1px solid #fecaca;padding:10px 14px;font-size:13px}.login-hint{text-align:center;color:var(--text-muted);margin:20px 0 0;font-size:12px}.login-hint code{background:var(--bg);border-radius:4px;padding:2px 6px;font-size:11px}.loading-screen{min-height:100vh;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--green-700);border-radius:50%;width:36px;height:36px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.notification-bell,.notification-bell__trigger{position:relative}.notification-bell__badge{color:#fff;background:#dc2626;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;display:flex;position:absolute;top:2px;right:2px}.notification-dropdown{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:320px;max-height:400px;box-shadow:var(--shadow-md);z-index:100;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.notification-dropdown__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 16px;font-size:14px;font-weight:600;display:flex}.notification-dropdown__list{max-height:320px;overflow-y:auto}.notification-dropdown__empty{text-align:center;color:var(--text-muted);margin:0;padding:24px;font-size:13px}.notification-item{border:none;border-bottom:1px solid var(--border);text-align:left;cursor:pointer;width:100%;font:inherit;background:0 0;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 16px;display:flex}.notification-item:hover{background:var(--bg)}.notification-item--unread{background:var(--green-50)}.notification-item__title{color:var(--text-heading);font-size:13px;font-weight:600}.notification-item__body{color:var(--text-muted);font-size:12px}.notification-item__time{color:var(--text-muted);font-size:11px}.user-menu-wrap{position:relative}.user-dropdown{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:180px;box-shadow:var(--shadow-md);z-index:100;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.user-dropdown__item{width:100%;font:inherit;color:var(--text);cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:10px 14px;font-size:14px;text-decoration:none;display:flex}.user-dropdown__item:hover{background:var(--bg)}.user-dropdown__item--danger{color:#dc2626}.modal-overlay{z-index:200;background:#00000073;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius);width:100%;max-width:480px;max-height:90vh;box-shadow:var(--shadow-md);padding:24px;overflow-y:auto}.modal--wide{max-width:640px}.modal--xl{flex-direction:column;width:96vw;max-width:min(1400px,96vw);max-height:94vh;padding:28px 28px 20px;display:flex;overflow:hidden}.modal--xl h2{margin-bottom:8px}.modal--xl .modal-form{flex:1;gap:18px;min-height:0;padding-right:4px;overflow:auto}.modal--xl .modal-actions{border-top:1px solid var(--border);flex-shrink:0;margin-top:16px;padding-top:16px}.user-form-grid{grid-template-columns:1fr 1fr;gap:14px 16px;display:grid}.user-form-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:10px;padding:16px;display:flex}.user-form-section__title{color:var(--text-heading);font-size:14px;font-weight:700}.user-form-section__hint{color:var(--text-muted);margin:-4px 0 4px;font-size:12px}.chip-row{flex-wrap:wrap;gap:8px;display:flex}.chip-check{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:600;display:inline-flex}.chip-check:has(input:checked){border-color:var(--green-700);color:var(--green-800);background:#ecfdf5}.chip-check input{margin:0}.access-dept-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.access-dept-tabs{flex-wrap:wrap;flex:1;gap:4px;min-width:0;display:flex}.access-dept-search{color:#01573d;background:#ecfdf5;border:1px solid #d1fae5;border-radius:999px;flex:1;align-items:center;gap:8px;min-width:220px;max-width:320px;margin-bottom:6px;padding:8px 12px;display:flex}.access-dept-search input{min-width:0;font:inherit;color:var(--text-heading);background:0 0;border:none;outline:none;flex:1;font-size:13px}.access-dept-search input::placeholder{color:var(--text-muted)}.access-dept-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:8px;margin-bottom:-1px;padding:10px 14px;font-size:13px;font-weight:600;display:inline-flex}.access-dept-tab:hover{color:var(--text-heading)}.access-dept-tab.is-active{color:var(--green-800);border-bottom-color:var(--green-700)}.access-dept-tab__count{min-width:18px;height:18px;color:var(--text-heading);background:#e5e7eb;border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.access-dept-tab.has-selected .access-dept-tab__count,.access-dept-tab.is-active .access-dept-tab__count{background:var(--green-700);color:#fff}.access-split{grid-template-columns:minmax(0,1.45fr) minmax(240px,.75fr);align-items:start;gap:16px;display:grid}.access-split__list{min-width:0}.access-selected{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fafafa;max-height:min(52vh,520px);padding:12px 14px;overflow:auto}.access-selected__title{color:var(--text-heading);justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:10px;font-size:13px;font-weight:700;display:flex}.access-selected__title span{color:var(--text-muted);font-size:12px;font-weight:600}.access-selected__empty{color:var(--text-muted);margin:0;font-size:12px}.access-selected__dept{margin-bottom:12px}.access-selected__dept:last-child{margin-bottom:0}.access-selected__dept-name{color:var(--green-800);justify-content:space-between;align-items:center;margin-bottom:4px;font-size:12px;font-weight:700;display:flex}.access-selected__dept ul{margin:0;padding:0;list-style:none}.access-selected__dept li{border-bottom:1px solid #eee;justify-content:space-between;align-items:baseline;gap:8px;padding:5px 0;font-size:12px;display:flex}.access-selected__dept li:last-child{border-bottom:none}.access-selected__dept em{color:var(--text-muted);white-space:nowrap;font-style:normal;font-weight:600}.access-user-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.access-user-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:min(48vh,460px);padding:4px;display:grid;overflow-y:auto}.access-user-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;flex-direction:row;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:13px;display:flex}.access-user-checks{flex-shrink:0;align-items:center;gap:14px;display:flex}.access-user-checks label{color:var(--text-heading);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.access-user-checks input{width:16px;height:16px;accent-color:var(--green-700);cursor:pointer;margin:0}.access-user-card__meta{flex-direction:column;gap:2px;min-width:0;display:flex}.access-user-card__name{color:var(--text-heading);font-weight:600}.access-user-card__sub{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.modal h2{color:var(--text-heading);margin:0 0 20px;font-size:20px}.modal-form{flex-direction:column;gap:14px;display:flex}.modal-actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.pagination{color:var(--text-muted);justify-content:center;align-items:center;gap:16px;padding:8px 0;font-size:14px;display:flex}.dept-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.page--departments .dept-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.dept-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:14px;padding:18px;transition:border-color .15s,box-shadow .15s;display:flex}.dept-card--inactive{opacity:.78;background:#f9fafb}.dept-card:hover{box-shadow:var(--shadow-md);border-color:#a7f3d0}.dept-card__header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.dept-card__identity{align-items:flex-start;gap:12px;min-width:0;display:flex}.dept-card__icon{width:36px;height:36px;color:var(--green-800);background:#ecfdf5;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.dept-card__title{color:var(--text-heading);margin:0;font-size:16px;font-weight:700;line-height:1.3}.dept-card__desc{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:4px 0 0;font-size:13px;line-height:1.4;display:-webkit-box;overflow:hidden}.dept-card__meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.dept-card__stats{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dept-stat{border-radius:999px;align-items:center;gap:5px;padding:4px 9px;font-size:12px;font-weight:600;display:inline-flex}.dept-stat--users{color:#1d4ed8;background:#eff6ff}.dept-stat--tasks{color:#c2410c;background:#fff7ed}.dept-card__count{color:var(--text-muted);align-items:center;gap:6px;margin:0;font-size:13px;font-weight:500;display:inline-flex}.dept-card__status{letter-spacing:.04em;text-transform:uppercase;color:var(--green-800);background:#ecfdf5;border-radius:999px;margin-left:auto;padding:3px 8px;font-size:11px;font-weight:700}.dept-card__status--inactive{color:#6b7280;background:#f3f4f6}.dept-card__actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;display:flex}.dept-card__action{text-align:center;flex:1;min-width:110px;text-decoration:none}.dept-back{align-self:flex-start;align-items:center;gap:6px;margin-bottom:-4px;display:inline-flex}.filters-bar__left{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.toggle-check{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;font-weight:500;display:inline-flex}.toggle-check input{width:16px;height:16px;accent-color:var(--green-800)}.member-pick-list{border:1px solid var(--border);border-radius:var(--radius-sm);background:#f9fafb;max-height:280px;overflow-y:auto}.member-pick{border-bottom:1px solid var(--border);cursor:pointer;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;gap:2px 10px;padding:10px 12px;display:grid}.member-pick:last-child{border-bottom:none}.member-pick:hover{background:#ecfdf5}.member-pick input{width:16px;height:16px;accent-color:var(--green-800);grid-row:1/span 2}.member-pick__name{color:var(--text-heading);font-size:14px;font-weight:600}.member-pick__meta{color:var(--text-muted);font-size:12px}.filters-bar__hint{color:var(--text-muted);font-size:14px}.filters-bar__buttons{flex-wrap:wrap;gap:10px;display:flex}.sprint-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.sprint-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:18px}.sprint-card__header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.sprint-card__actions{gap:4px;display:flex}.sprint-card__title{color:var(--text-heading);margin:0 0 6px;font-size:17px;font-weight:700}.sprint-card__title a:hover{color:var(--green-800)}.sprint-card__goal{color:var(--text-muted);margin:0 0 8px;font-size:13px}.sprint-card__dates{color:var(--text);margin:0 0 12px;font-size:13px}.sprint-card__stats{color:var(--text-muted);flex-wrap:wrap;gap:10px;margin-bottom:8px;font-size:12px;display:flex}.sprint-card__quick{margin-top:14px}.sprint-badge{letter-spacing:.03em;text-transform:uppercase;border-radius:999px;align-items:center;padding:3px 10px;font-size:11px;font-weight:700;text-decoration:none;display:inline-flex}.sprint-badge--planned{color:#3730a3;background:#e0e7ff}.sprint-badge--active{background:var(--green-50);color:var(--green-800);border:1px solid #a7f3d0}.sprint-badge--completed{color:#4b5563;background:#f3f4f6}.sprint-badge--backlog{color:#c2410c;background:#fff7ed}.kanban-sprint-filter{margin-bottom:14px}.kanban-sprint-filter .date-field{flex-direction:column;gap:4px;display:inline-flex}.kanban-sprint-filter .filter-select{min-width:220px}.scope-tabs{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.scope-tab{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-muted);cursor:pointer;padding:10px 16px;font-size:14px;font-weight:500;transition:background .15s,border-color .15s,color .15s}.scope-tab:hover{border-color:var(--green-700);color:var(--green-800)}.scope-tab--active{background:var(--green-800);border-color:var(--green-800);color:#fff}.scope-tab--active:hover{background:var(--green-700);border-color:var(--green-700);color:#fff}.summary-chips{flex-wrap:wrap;gap:10px;display:flex}.summary-chip{background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600}.summary-chip--pending{color:#b45309;border-color:#fcd34d}.summary-chip--progress{color:#1d4ed8;border-color:#93c5fd}.summary-chip--completed{color:#047857;border-color:#86efac}.summary-chip--cancelled{color:#dc2626;border-color:#fca5a5}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page--kanban{flex-direction:column;flex:1;gap:0;height:100%;min-height:0;display:flex}.kanban-scope-tabs{border-bottom:2px solid var(--border);flex-shrink:0;align-items:stretch;gap:0;margin:0 0 16px;display:flex}.kanban-scope-tab{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:10px 18px;font-size:14px;font-weight:600;transition:color .15s,border-color .15s;position:relative}.kanban-scope-tab:hover{color:var(--green-800)}.kanban-scope-tab--active{color:var(--green-800);border-bottom-color:var(--green-800)}.kanban-toolbar{flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:10px 16px;margin-bottom:24px;padding-right:8px;display:flex}.kanban-toolbar__left{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.kanban-toolbar__count{color:var(--green-800);white-space:nowrap;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:600}.kanban-toolbar__sprint .filter-select{min-width:170px;height:36px}.kanban-toolbar__right{flex-wrap:wrap;align-items:center;gap:12px;margin-right:4px;display:flex}.kanban-search{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:180px;height:36px;color:var(--text-muted);align-items:center;gap:8px;padding:0 12px;display:flex}.kanban-search input{width:100%;color:var(--text);background:0 0;border:none;outline:none;font-size:14px}.kanban-board{flex:1;align-items:stretch;gap:20px;width:100%;min-height:0;padding-bottom:8px;display:flex;overflow-x:auto}.kanban-col{border:1px solid var(--border);background:#eef2f0;border-radius:12px;flex-direction:column;flex:1 1 0;min-width:240px;height:100%;max-height:none;display:flex;overflow:hidden}.kanban-col__header{background:var(--surface);border-bottom:1px solid var(--border);z-index:1;border-top:3px solid #0000;justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;display:flex;position:sticky;top:0}.kanban-col--pending .kanban-col__header{border-top-color:#f59e0b}.kanban-col--progress .kanban-col__header{border-top-color:#2563eb}.kanban-col--completed .kanban-col__header{border-top-color:var(--green-700)}.kanban-col--cancelled .kanban-col__header{border-top-color:#dc2626}.kanban-col__title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-heading);align-items:center;gap:8px;margin:0;font-size:13px;font-weight:700;display:flex}.kanban-col__dot{background:currentColor;border-radius:50%;width:8px;height:8px}.kanban-col--pending .kanban-col__dot{color:#f59e0b}.kanban-col--progress .kanban-col__dot{color:#2563eb}.kanban-col--completed .kanban-col__dot{color:var(--green-700)}.kanban-col--cancelled .kanban-col__dot{color:#dc2626}.kanban-col__count{background:var(--bg);min-width:24px;height:24px;color:var(--text-muted);border-radius:999px;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.kanban-col__cards{flex-direction:column;flex:1;gap:10px;padding:12px;display:flex;overflow-y:auto}.kanban-col__empty{color:var(--text-muted);text-align:center;border:1px dashed var(--border);border-radius:var(--radius-sm);background:#ffffff80;margin:24px 0;padding:16px;font-size:13px}.kanban-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);color:inherit;border-radius:8px;flex-direction:column;gap:10px;padding:12px 14px;text-decoration:none;transition:box-shadow .15s,border-color .15s,transform .15s;display:flex}.kanban-card:hover{box-shadow:var(--shadow-md);border-color:#a7f3d0;transform:translateY(-1px)}.kanban-card:focus-visible{outline:2px solid var(--green-700);outline-offset:2px}.kanban-card__top{justify-content:space-between;align-items:center;gap:8px;display:flex}.kanban-card__key{letter-spacing:.03em;color:var(--green-700);font-size:11px;font-weight:700}.kanban-card__title{color:var(--text-heading);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:14px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.kanban-card__assignees{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.kanban-card__assignee{background:#f3f4f6;border-radius:999px;align-items:center;gap:6px;min-width:0;max-width:100%;padding:2px 8px 2px 2px;display:inline-flex}.kanban-card__assignee-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:11px;font-weight:600;line-height:1.3;overflow:hidden}.kanban-card__progress{align-items:center;gap:8px;display:flex}.kanban-card__progress-bar{background:var(--bg);border-radius:999px;flex:1;height:6px;overflow:hidden}.kanban-card__progress-fill{background:linear-gradient(90deg, var(--green-700), #10b981);border-radius:inherit;height:100%}.kanban-card__progress-pct{color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:right;min-width:28px;font-size:11px;font-weight:600}.kanban-card__footer{border-top:1px solid #f1f5f9;justify-content:flex-end;align-items:center;gap:8px;padding-top:2px;display:flex}.kanban-avatar{background:var(--green-800);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:9px;font-weight:700;display:inline-flex}.kanban-card__stats{align-items:center;gap:8px;display:flex}.kanban-card__stat{color:var(--text-muted);align-items:center;gap:4px;font-size:11px;display:inline-flex}@media (width<=900px){.kanban-col{min-width:260px;height:auto;max-height:70vh}.kanban-scope-tabs{overflow-x:auto}.page--kanban{height:auto;min-height:calc(100vh - 120px)}.app-content:has(.page--kanban){overflow:auto}}.form-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:24px}.task-form{flex-direction:column;gap:16px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-hint{color:var(--text-muted);margin:0;font-size:12px}.page-back{margin-bottom:-8px}.page--task-detail{flex:1;gap:0;min-height:0}.task-sheet{box-shadow:none;background:#fff;border:1px solid #d1fae5;border-radius:10px;flex-direction:column;min-height:0;display:flex}.task-sheet__head{color:#fff;background:linear-gradient(120deg,#ffffff1a,#0000 45%),linear-gradient(135deg,#01573d 0%,#047857 58%,#0f766e 100%);border-bottom:1px solid #ffffff1f;grid-template-columns:minmax(0,1.4fr) minmax(220px,.7fr);align-items:center;gap:12px;padding:10px 14px;display:grid}.task-sheet__head-main .link-btn{color:#fff;background:#ffffff1f;border:1px solid #ffffff59;border-radius:999px;align-items:center;gap:4px;margin-bottom:4px;padding:4px 10px;font-size:12px;text-decoration:none;display:inline-flex}.task-sheet__head-main .link-btn:hover{background:#ffffff38;text-decoration:none}.task-sheet__id{letter-spacing:.08em;text-transform:uppercase;color:#ffffffbf;margin:0;font-size:10px;font-weight:700}.task-sheet__head h1{color:#fff;margin:2px 0 6px;font-size:18px;font-weight:700;line-height:1.25}.task-sheet__badges{flex-wrap:wrap;gap:5px;display:flex}.task-sheet__head-side{flex-direction:column;align-items:stretch;gap:8px;display:flex}.task-sheet__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.task-sheet__wait-hint{color:#ffffffd9;max-width:280px;font-size:11px;font-weight:600;line-height:1.3}.task-sheet__head .btn{color:#fff;background:#ffffff1f;border:1px solid #ffffff38;padding:6px 10px;font-size:13px}.task-sheet__head .btn:hover:not(:disabled){background:#fff3}.task-sheet__head .btn--primary{color:#01573d;background:#fff;border-color:#fff}.task-sheet__head .btn--primary:hover:not(:disabled){background:#ecfdf5}.task-sheet__overall{color:#ffffffd9;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;font-size:11px;font-weight:700;display:grid}.task-sheet__overall strong{color:#fff;font-variant-numeric:tabular-nums}.task-sheet__overall .assignee-progress-bar{background:#ffffff2e;border-color:#ffffff40;height:7px}.task-sheet__overall .assignee-progress-bar__fill{background:#a7f3d0}.task-metrics{background:#f8fafc;border-bottom:1px solid #e2e8f0;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:8px 12px;display:grid}.task-metric{color:#01573d;background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-direction:row;justify-content:space-between;align-items:center;gap:8px;min-height:0;padding:6px 10px;display:flex}.task-metric span{letter-spacing:.06em;text-transform:uppercase;opacity:.65;font-size:10px;font-weight:700}.task-metric strong{text-transform:capitalize;font-size:13px;font-weight:700;line-height:1.2}.task-sheet__alert{border-radius:0;margin:0}.task-detail-tabs{background:#f8fafc;border-bottom:1px solid #d1fae5;gap:0;padding:0 14px;display:flex}.task-detail-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:10px 16px;font-size:13px;font-weight:700;display:inline-flex;position:relative}.task-detail-tab:hover{color:#01573d}.task-detail-tab.is-active{color:#01573d;border-bottom-color:#01573d}.task-detail-tab__dot{background:#047857;border-radius:99px;width:7px;height:7px}.task-detail-tab__count{color:#01573d;background:#d1fae5;border-radius:99px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:800;display:inline-flex}.task-sheet__parent-link{color:var(--text-muted);margin:4px 0 0;font-size:13px}.task-sheet__parent-link a{color:#01573d;font-weight:700;text-decoration:none}.task-sheet__parent-link a:hover{text-decoration:underline}.task-subtasks{padding:16px 18px 24px}.task-subtasks__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:14px;display:flex}.task-subtasks__head h2{color:#01573d;align-items:center;gap:8px;width:100%;margin:0;font-size:15px;display:inline-flex}.task-subtasks__form{background:#f8fafc;border:1px solid #d1fae5;border-radius:10px;gap:10px;margin-bottom:18px;padding:14px;display:grid}.task-subtasks__list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.task-subtasks__meta{color:var(--text-muted);margin:4px 0 0;font-size:12px}.task-subtasks__item-side{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.task-subtasks__pct{color:#01573d;font-size:12px;font-weight:700}.task-subtasks__item--mine{background:#f0fdf4;border-color:#047857}.task-subtasks__cta{white-space:nowrap;padding:6px 10px;font-size:12px}.task-subtasks__item--open{border-color:#047857}.task-subtasks__item-row{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px 14px;display:flex}.task-subtasks__item{background:#fff;border:1px solid #d1fae5;border-radius:10px;padding:0;overflow:hidden}.task-subtasks__chevron{color:var(--text-muted);flex-shrink:0;font-size:11px}.task-subtasks__expanded{background:#f8fafc;border-top:1px solid #d1fae5;padding:14px 16px}.subtask-inline{gap:12px;display:grid}.subtask-inline__alert{margin:0}.subtask-inline__docs{flex-wrap:wrap;grid-column:1/4;gap:6px;margin:6px 0 0;padding:0;list-style:none;display:flex}.subtask-inline__doc-link{color:#01573d;background:#f0fdf4;border:1px solid #d1fae5;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.subtask-inline__doc-link:hover{background:#d1fae5}.subtask-inline__header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.subtask-inline__edit-form{background:#fff;border:1px solid #d1fae5;border-radius:8px;gap:10px;padding:12px;display:grid}.subtask-inline__meta{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.subtask-inline__desc{color:var(--text-muted);margin:0;font-size:13px}.subtask-inline__dates{color:var(--text-muted);margin:0;font-size:12px}.subtask-inline__progress{flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.subtask-inline__progress .assignee-progress-bar{flex:1;min-width:80px}.subtask-inline__review-btns{gap:6px;display:flex}.subtask-inline__updates{gap:8px;display:grid}.subtask-inline__update{background:#fff;border:1px solid #d1fae5;border-radius:8px;grid-template-columns:1fr auto auto;gap:4px 10px;padding:10px 12px;display:grid}.subtask-inline__update-author{color:#01573d;font-size:13px;font-weight:700}.subtask-inline__update-pct{color:#047857;font-size:12px;font-weight:700}.subtask-inline__update-date{color:var(--text-muted);grid-column:2/4;font-size:11px}.subtask-inline__update-text{grid-column:1/4;margin:4px 0 0;font-size:13px}.subtask-inline__form{background:#fff;border:1px solid #d1fae5;border-radius:8px;gap:8px;padding:12px;display:grid}.task-subtasks__title{color:#01573d;cursor:pointer;font-weight:700}.task-subtasks__title:hover{text-decoration:underline}.task-subtask-alert{color:#92400e;background:#fffbeb;border:1px solid #fcd34d;border-radius:10px;margin:0 0 12px;padding:12px 14px}.task-subtask-alert p{margin:0 0 8px;font-size:13px;font-weight:600}.task-subtask-alert ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.task-subtask-alert li{align-items:center;gap:8px;font-size:13px;display:flex}.task-subtask-alert .link-btn{color:#92400e;font-size:13px;font-weight:700;text-decoration:underline}.task-subtask-alert ul{margin:0;padding-left:18px;font-size:13px}.task-subtask-alert a{color:#01573d;font-weight:700}.task-subtask-alert__link{color:#92400e;cursor:pointer;background:#fef3c7;border:1px solid #92400e;border-radius:6px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:700;text-decoration:none;transition:background .15s;display:inline-flex}.task-subtask-alert__link:hover{background:#fde68a}.task-instructions{padding:16px 18px 24px}.task-instructions h2{color:#01573d;align-items:center;gap:8px;margin:0 0 6px;font-size:15px;display:inline-flex}.task-instructions__form{gap:10px;margin-top:10px;display:grid}.rte-shell{background:#fff;border:1px solid #d1d5db;border-radius:10px;overflow:hidden}.rte-shell.is-readonly{background:#ecfdf5;border-color:#a7f3d0}.rte-shell--loading{min-height:220px;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.rte-toolbar{background:#f8fafc;border-bottom:1px solid #e5e7eb;flex-wrap:wrap;gap:4px;padding:8px;display:flex}.rte-btn{color:#374151;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.rte-btn:hover:not(:disabled){color:#01573d;background:#e5e7eb}.rte-btn.is-active{color:#01573d;background:#d1fae5}.rte-btn:disabled{opacity:.4;cursor:not-allowed}.rte-sep{background:#e5e7eb;align-self:stretch;width:1px;margin:2px 4px}.rte-color{cursor:pointer;border:2px solid #fff;border-radius:99px;width:18px;height:18px;margin:7px 2px;padding:0;box-shadow:0 0 0 1px #d1d5db}.rte-color.is-active{box-shadow:0 0 0 2px #01573d}.rte-body .tiptap{color:#111827;outline:none;min-height:280px;padding:14px 16px;font-size:14px;line-height:1.6}.rte-shell.is-readonly .rte-body .tiptap{min-height:120px}.rte-body .tiptap p{margin:0 0 .7em}.rte-body .tiptap h1,.rte-body .tiptap h2,.rte-body .tiptap h3{color:#01573d;margin:.4em 0 .5em;line-height:1.25}.rte-body .tiptap h1{font-size:22px}.rte-body .tiptap h2{font-size:18px}.rte-body .tiptap h3{font-size:16px}.rte-body .tiptap ul,.rte-body .tiptap ol{margin:0 0 .8em;padding-left:1.4em}.rte-body .tiptap blockquote{color:#374151;background:#f0fdf4;border-left:3px solid #047857;margin:0 0 .8em;padding:4px 12px}.rte-body .tiptap a{color:#01573d;font-weight:700;text-decoration:underline}.rte-body .tiptap hr{border:none;border-top:1px solid #d1d5db;margin:12px 0}.rte-body .tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:#9ca3af;pointer-events:none;height:0}.task-sheet__edit{border-bottom:1px solid var(--border);background:#fafafa;gap:10px;max-height:48vh;padding:12px 14px;display:grid;overflow-y:auto}.task-sheet__grid{flex:1;grid-template-columns:1.15fr .85fr;min-height:0;display:grid}.task-sheet__col{border-left:1px solid #e2e8f0;flex-direction:column;gap:8px;min-width:0;min-height:0;padding:8px;display:flex}.task-sheet__col:first-child{border-left:none}.task-sheet__col>section{border-bottom:none;flex:none;padding:10px 12px}.task-sheet__col>section:last-child{border-bottom:none}.task-sheet__grow{flex:none}.task-panel{background:#fff;border:1px solid #e2e8f0;border-left:3px solid #01573d;border-radius:8px;margin:0;border-bottom:none!important}.task-sheet__col h2{letter-spacing:.06em;text-transform:uppercase;color:#01573d;align-items:center;gap:6px;margin:0 0 8px;font-size:11px;font-weight:800;display:inline-flex}.task-sheet__section-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.task-sheet__section-head h2{margin:0}.task-scroll{max-height:180px;padding-right:4px;overflow-y:auto}.task-scroll--tall{max-height:240px}.task-scroll--short{max-height:120px}.task-scroll::-webkit-scrollbar{width:6px}.task-scroll::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:99px}.task-desc{color:var(--text);margin:0 0 8px;font-size:13px;line-height:1.4}.task-meta-row{grid-template-columns:1fr 1fr;gap:6px;margin:8px 0 0;display:grid}.task-meta-row>div{background:#f8fafc;border-radius:6px;padding:6px 8px}.task-meta-row dt{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:700}.task-meta-row dd{color:var(--text-heading);margin:2px 0 0;font-size:12px;font-weight:600}.task-sprint-select{color:#01573d;width:100%;max-width:220px;height:30px;font:inherit;cursor:pointer;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:6px;outline:none;padding:0 8px;font-size:12px;font-weight:600}.task-sprint-select:focus{border-color:#01573d;box-shadow:0 0 0 3px #01573d1f}.task-sprint-select:disabled{opacity:.7;cursor:wait}.task-empty{color:var(--text-muted);background:#f8fafc;border:1px dashed #e2e8f0;border-radius:6px;margin:0;padding:8px 10px;font-size:12px}.task-update-row{grid-template-columns:90px 1fr;align-items:end;gap:8px;display:grid}.page--task-detail .empty-state,.page--task-detail .empty-state--compact{text-align:left;padding:2px 0;font-size:13px}.page--task-detail .timeline-item{padding:6px 0}.page--task-detail .update-form{margin-bottom:8px;padding-bottom:8px}.page--task-detail .doc-list{margin-top:0}.task-people{flex-wrap:wrap;gap:6px;display:flex}.task-person-chip{color:#01573d;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:999px;align-items:center;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.task-person-chip.is-you{color:#fff;background:#01573d;border-color:#01573d}.upload-btn--inline{margin:0;padding:5px 10px;font-size:12px}.info-list{gap:12px;margin:0;display:grid}.info-list--dense{grid-template-columns:1fr 1fr;gap:10px 16px}.info-list__wide{grid-column:1/-1}.info-list div{gap:2px;display:grid}.info-list dt{letter-spacing:.05em;color:var(--text-muted);text-transform:uppercase;font-size:11px;font-weight:600}.info-list dd{color:var(--text-heading);margin:0;font-size:14px}.doc-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.doc-list__item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:6px 0;display:flex}.doc-list__item:last-child{border-bottom:none}.upload-btn{border:1px dashed var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--green-800);align-items:center;gap:8px;margin-bottom:12px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex}.upload-btn:hover{background:var(--green-50)}.update-form{border-bottom:1px solid var(--border);flex-direction:column;gap:8px;margin-bottom:10px;padding-bottom:10px;display:flex}.update-list{margin:0;padding:0;list-style:none}.update-attach{flex-direction:column;gap:6px;display:flex}.update-card{background:#fff;border:1px solid #d1d5db;border-radius:10px;margin-bottom:12px;list-style:none;overflow:hidden;box-shadow:0 1px 2px #0f172a14}.update-card:last-child{margin-bottom:0}.update-card__head{color:#fff;background:#01573d;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;display:flex}.update-card--approved .update-card__head{background:#047857}.update-card--rejected .update-card__head{background:#b91c1c}.update-card--history .update-card__head{background:#4b5563}.update-card.is-you{box-shadow:0 0 0 2px #01573d47}.update-card__avatar{color:#01573d;background:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:11px;font-weight:700;display:inline-flex}.update-card--rejected .update-card__avatar{color:#b91c1c}.update-card--history .update-card__avatar{color:#4b5563}.update-card__who{align-items:baseline;gap:6px;min-width:0;display:flex}.update-card__who strong{color:#fff;font-size:14px}.update-card__who em{text-transform:uppercase;color:#d1fae5;font-size:10px;font-style:normal;font-weight:700}.update-card__status{letter-spacing:.04em;text-transform:uppercase;color:#fff;background:#ffffff2e;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:800}.update-card__meta{color:#d1fae5;margin-left:auto;font-size:12px;font-weight:600}.update-card--rejected .update-card__meta,.update-card--history .update-card__meta{color:#f3f4f6}.update-card__body{background:#fff;padding:12px}.update-card__text{color:#111827;margin:0;font-size:15px;font-weight:500;line-height:1.5}.update-card__docs{border-top:1px solid #e5e7eb;flex-direction:column;gap:6px;margin:10px 0 0;padding:10px 0 0;list-style:none;display:flex}.update-card__docs li{align-items:center;gap:6px;font-size:12px;display:flex}.update-card__file{color:#01573d;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-weight:700;text-decoration:none;display:inline-flex}.update-card__file:hover{background:#d1fae5}.update-card__actions{gap:8px;margin-top:12px;display:flex}.update-list__item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:10px;padding:8px 0;display:flex}.update-list__item:last-child{border-bottom:none}.update-list__meta{color:var(--text-muted);font-size:12px}.draft-updates,.submitted-updates{margin-top:8px}.draft-updates__title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 8px;font-size:13px;font-weight:600}.assignee-chips{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.assignee-chip{border-radius:var(--radius-sm);background:var(--green-50);color:var(--green-800);cursor:pointer;border:1px solid #a7f3d0;align-items:center;gap:6px;padding:6px 10px;font-size:13px;display:inline-flex}.assignee-chip:hover{background:#d1fae5}.assignee-progress-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.assignee-progress-row__meta{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:4px;font-size:13px;display:flex}.assignee-progress-row__name{font-weight:500}.assignee-progress-row__pct{color:var(--text-muted);font-variant-numeric:tabular-nums}.assignee-progress-row--overall .assignee-progress-row__name{font-weight:700}.assignee-progress-bar{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;height:7px;overflow:hidden}.assignee-progress-bar__fill{background:var(--green-700);border-radius:inherit;height:100%;transition:width .2s}.assignee-progress-bar--overall .assignee-progress-bar__fill{background:#0f766e}.update-list__item--draft{border-radius:var(--radius-sm);background:#fffbeb;border:1px solid #fde68a;margin-bottom:8px;padding:12px}.update-list__item--draft:last-child{margin-bottom:0}.btn--sm{padding:6px 12px;font-size:12px}.item-list__title{color:var(--text-heading);font-size:14px;font-weight:600;text-decoration:none}.item-list__title:hover{color:var(--green-800);text-decoration:underline}.comment-list{margin:0;padding:0;list-style:none}.comment-list__item{border-bottom:1px solid var(--border);padding:8px 0}.comment-list__item:last-child{border-bottom:none}.comment-list__item p{margin:0 0 4px}.timeline{flex-direction:column;gap:0;display:flex}.timeline-item{border-bottom:1px solid var(--border);gap:10px;padding:8px 0;display:flex}.timeline-item:last-child{border-bottom:none}.timeline-dot{background:var(--green-700);border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:5px}.timeline-content{font-size:14px}.timeline-actor,.timeline-detail{color:var(--text-muted);font-weight:400}.timeline-time{color:var(--text-muted);margin-top:4px;font-size:12px}@media (width<=1200px){.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.task-detail-grid,.task-detail-grid--3,.info-list--dense,.task-sheet__head,.task-sheet__grid,.task-meta-row,.task-update-row{grid-template-columns:1fr}.task-metrics{grid-template-columns:1fr 1fr}.task-sheet{min-height:0}.task-sheet__actions{justify-content:flex-start}.form-row,.user-form-grid,.access-user-grid,.access-split{grid-template-columns:1fr}.modal--xl{width:100%;max-width:100%;max-height:96vh;padding:20px}.access-user-grid{max-height:min(40vh,360px)}.access-selected{max-height:240px}}@media (width<=900px){.app-shell{flex-direction:column}.sidebar{width:100%;padding:16px}.sidebar__nav{display:none}.filters-bar__row--actions{flex-direction:column;align-items:stretch}.table-card{overflow-x:auto}}@media (width<=640px){.stats-grid{grid-template-columns:1fr}.app-content{padding:16px}.top-header{padding:12px 16px}.user-menu__info{display:none}}.impersonation-banner{color:#92400e;background:#fef3c7;border-bottom:1px solid #f59e0b;padding:10px 20px;font-size:13px}.impersonation-exit{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.bulk-bar{background:var(--green-50);border:1px solid var(--green-100);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:10px 12px;display:flex}.bulk-bar>span{margin-right:4px;font-weight:600}.table-actions{position:relative}.row-action-menu{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:220px;box-shadow:var(--shadow-md);flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);right:0}.row-action-menu button{width:100%;color:var(--text);text-align:left;cursor:pointer;font:inherit;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:8px 10px;display:flex}.row-action-menu button:hover{background:var(--bg)}.row-action-menu__danger{color:#b91c1c!important}.status-stack{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.temp-password-box{letter-spacing:.04em;background:var(--bg);border:1px dashed var(--border);border-radius:var(--radius-sm);word-break:break-all;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:16px}.audit-list{flex-direction:column;gap:10px;max-height:420px;margin:12px 0;display:flex;overflow:auto}.audit-list__item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);padding:10px 12px}.audit-list__meta{justify-content:space-between;gap:12px;margin-bottom:4px;display:flex}.audit-list__actor{color:var(--text-muted);font-size:12px}.audit-list__details{background:var(--bg);border-radius:6px;margin:8px 0 0;padding:8px;font-size:11px;overflow:auto}
