:root{color:#1d2733;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--navy:#172b4d;--blue:#2f6feb;--blue-soft:#dbe8f7;--teal:#2a8f83;--green:#2f8658;--amber:#b7791f;--red:#c64545;--ink:#1d2733;--muted:#687583;--line:#d7dee6;--surface:#fff;--surface-subtle:#f7f9fb;letter-spacing:0;background:#f5f7f9;font-family:Microsoft YaHei UI,PingFang SC,Segoe UI,sans-serif}*{box-sizing:border-box;letter-spacing:0;scrollbar-width:thin;scrollbar-color:transparent transparent}::-webkit-scrollbar{width:8px;height:8px}html::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}html::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:0 0;border-radius:999px;transition:background-color .26s}html::-webkit-scrollbar-thumb{background:0 0;border-radius:999px;transition:background-color .26s}html.scrollbars-active *,html.scrollbars-active{scrollbar-color:#8e8e93cc transparent}html.scrollbars-active ::-webkit-scrollbar-thumb{background:#8e8e93cc!important}html.scrollbars-active::-webkit-scrollbar-thumb{background:#8e8e93cc!important}html:not(.scrollbars-active) ::-webkit-scrollbar-thumb{background:0 0!important}html:not(.scrollbars-active)::-webkit-scrollbar-thumb{background:0 0!important}body{background:#f5f7f9;min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:1px;outline:2px solid #3f79e5}#root,.app-shell{min-height:100vh}.app-header{background:var(--surface);border-bottom:1px solid var(--line);z-index:30;grid-template-columns:minmax(250px,1fr) auto minmax(250px,1fr);align-items:center;gap:24px;height:62px;padding:0 24px;display:grid;position:sticky;top:0}.brand-block{align-items:center;gap:11px;min-width:0;display:flex}.brand-mark{background:var(--navy);color:#fff;border-radius:5px;flex:none;place-items:center;width:36px;height:36px;display:grid}.brand-block h1{color:var(--ink);margin:0;font-size:18px;font-weight:700;line-height:1.25}.brand-block p{color:var(--muted);margin:2px 0 0;font-size:12px}.main-tabs{align-items:stretch;height:100%;display:flex}.main-tabs button{color:#66717c;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:7px;padding:0 17px;font-size:13px;display:flex}.main-tabs button.active{color:var(--navy);border-bottom-color:var(--blue);font-weight:700}.approval-badge{color:#fff;font-variant-numeric:tabular-nums;background:#c83d43;border:2px solid #fff;border-radius:9px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:9px;font-weight:800;line-height:1;display:grid;position:absolute;top:8px;right:5px}.header-actions{justify-content:flex-end;gap:8px;display:flex}.access-badge{color:#667481;white-space:nowrap;background:#f4f6f8;border:1px solid #d4dce3;border-radius:4px;align-items:center;gap:5px;height:30px;padding:0 9px;font-size:11px;display:inline-flex}.device-gate-shell{background:#f3f6f8;min-height:100vh}.device-gate{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:32px 20px;display:flex}.device-gate-icon{color:#607180;background:#fff;border:1px solid #cfd9e1;border-radius:8px;place-items:center;width:66px;height:66px;display:grid}.device-gate-icon.pending{color:#a84529;background:#fff0eb;border-color:#f0c3b5}.device-gate h1{color:var(--navy);letter-spacing:0;margin:18px 0 6px;font-size:24px}.device-gate>p{color:var(--muted);margin:0;font-size:13px}.device-application{text-align:left;grid-template-columns:minmax(0,1fr) auto;gap:8px;width:min(520px,100%);margin-top:24px;display:grid}.device-application label{color:#556270;grid-column:1/-1;font-size:12px;font-weight:700}.device-application input{min-width:0;height:38px;color:var(--ink);background:#fff;border:1px solid #cbd6de;border-radius:5px;padding:8px 10px;font-size:14px}.device-application input:focus{border-color:var(--blue);outline:2px solid #bdd0ef}.device-application p{color:#687784;grid-column:1/-1;margin:2px 0 0;font-size:11px}.device-application p strong{color:var(--navy)}.device-application .device-apply-error{color:var(--red)}.device-code-block{text-align:left;background:#fff;border:1px solid #cbd6de;border-radius:6px;grid-template-columns:auto minmax(0,1fr) 38px;align-items:center;gap:12px;width:min(680px,100%);min-height:74px;margin-top:14px;padding:12px 14px;display:grid}.device-code-block>span{color:var(--muted);font-size:11px}.device-code-block>strong{overflow-wrap:anywhere;color:var(--navy);letter-spacing:0;font-variant-numeric:tabular-nums;font-size:16px}.device-code-block>small{color:#267368;grid-column:2;font-size:10px}.device-gate-actions{gap:10px;margin-top:20px;display:flex}.login-button{padding:0 11px}.icon-button,.icon-group button{border:1px solid var(--line);color:#475462;background:#fff;border-radius:5px;place-items:center;width:36px;height:36px;display:inline-grid}.icon-button.small{width:30px;height:30px}.primary-button,.secondary-button,.danger-button{border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;gap:7px;height:36px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex}.primary-button{background:var(--blue);color:#fff}.primary-button:disabled{opacity:.45;cursor:not-allowed}.secondary-button{border-color:var(--line);color:#475462;background:#fff}.metric-strip{background:#f1f4f7;border-bottom:1px solid #d7e0e8;grid-template-columns:repeat(6,minmax(130px,210px));justify-content:center;align-items:stretch;gap:8px;min-height:66px;padding:7px 24px;display:grid}.metric-strip>button{min-width:0;min-height:50px;color:inherit;text-align:center;cursor:pointer;background:#fff;border:1px solid #d7e0e8;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:0 12px;transition:transform .12s,border-color .12s,box-shadow .12s,background .12s;display:flex;position:relative;box-shadow:0 1px 2px #1c334a0d}.metric-strip>button:hover span{color:var(--ink)}.metric-strip>button:focus-visible{outline:2px solid var(--blue);outline-offset:-3px}.metric-strip>button.active span{color:var(--navy);font-weight:700}.metric-strip strong{color:var(--ink);font-size:18px;line-height:1.15}.metric-strip strong,.task-code,.timeline-header strong{font-variant-numeric:tabular-nums}.metric-strip .metric-blue{color:var(--blue)}.metric-strip .metric-amber{color:var(--warning)}.metric-strip .metric-green{color:var(--green)}.metric-strip .metric-red{color:#b84145}main{padding:14px 24px 28px}.filter-bar{z-index:22;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f4f6f8f2;align-items:center;gap:10px;min-height:48px;margin:-4px 0 10px;padding:6px 0;display:flex;position:sticky;top:62px}.filter-primary,.filter-selects,.filter-secondary{align-items:center;gap:7px;display:flex}.filter-primary{flex:1;min-width:0}.filter-selects{min-width:0}.filter-secondary{margin-left:auto}.search-box{color:#788491;background:#fff;border:1px solid #cfd8e1;border-radius:4px;align-items:center;gap:8px;width:min(240px,24vw);height:34px;padding:0 10px;display:flex}.search-box input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:12px}.filter-select{background:#fff;border:1px solid #cfd8e1;border-radius:4px;align-items:center;height:34px;display:flex;overflow:hidden}.filter-select>span{color:var(--muted);border-right:1px solid #e4e8ed;padding:0 8px 0 10px;font-size:12px}.filter-select select{min-width:74px;max-width:112px;height:100%;color:var(--ink);background:#fff;border:0;outline:0;padding:0 22px 0 8px;font-size:12px}.filter-select select option{font-size:12px}.toggle-control{color:#586572;cursor:pointer;align-items:center;gap:7px;font-size:12px;display:flex}.toggle-control input{opacity:0;pointer-events:none;position:absolute}.toggle-control span{background:#b9c3cd;border-radius:10px;width:34px;height:19px;transition:background .15s;position:relative}.toggle-control span:after{content:"";background:#fff;border-radius:50%;width:15px;height:15px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #68758366}.toggle-control input:checked+span{background:var(--teal)}.quick-filters{border:1px solid var(--line);background:#e9eef2;border-radius:4px;height:30px;padding:2px;display:flex}.quick-filters button{color:#64717d;background:0 0;border:0;border-radius:3px;min-width:46px;padding:0 8px;font-size:11px}.quick-filters button.active{color:var(--navy);background:#fff;font-weight:700;box-shadow:0 1px 3px #26384a22}.filter-count{color:var(--muted);white-space:nowrap;font-size:11px}.due-load-chip{color:#a84529;white-space:nowrap;background:#fff0eb;border:1px solid #f0c3b5;border-radius:4px;align-items:center;gap:5px;height:30px;padding:0 8px;font-size:11px;display:inline-flex}.due-load-chip:hover{background:#ffe5dc;border-color:#df9d87}.clear-filter-button{border:1px solid var(--line);color:#657380;background:#fff;border-radius:4px;place-items:center;width:32px;height:32px;display:grid}.clear-filter-button:hover{color:var(--navy);border-color:#9ba8b5}.mobile-filter-toggle{display:none}.gantt-panel,.task-table-wrap,.overview-section{background:var(--surface);border:1px solid var(--line);border-radius:5px}.gantt-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:52px;padding:7px 12px 7px 14px;display:flex}.gantt-toolbar h2,.table-title h2,.section-heading h2{color:var(--ink);margin:0;font-size:16px}.timeline-tools,.icon-group,.segmented-control{align-items:center;display:flex}.timeline-tools{gap:10px}.icon-group button{border-right-width:0;border-radius:0}.icon-group button:first-child{border-radius:5px 0 0 5px}.icon-group button:last-child{border-right-width:1px;border-radius:0 5px 5px 0}.icon-group button:nth-child(2){width:auto;padding:0 10px;font-size:12px}.segmented-control button{color:#687583;background:0 0;border:0;border-radius:3px;min-width:38px;height:30px;font-size:12px}.segmented-control button.active{color:var(--navy);background:#fff;font-weight:700;box-shadow:0 1px 3px #26384a22}.gantt-scroll{min-height:360px;max-height:calc(100vh - 244px);position:relative;overflow:auto}.gantt-grid{grid-template-columns:480px var(--timeline-width);align-items:stretch;min-width:100%;display:grid;position:relative}.gantt-left-header{z-index:12;color:#52606d;background:#f5f5f7;border-bottom:1px solid #d7d7dc;border-right:1px solid #d7d7dc;grid-template-rows:24px 40px;height:64px;padding:0;font-size:11px;font-weight:700;display:grid;position:sticky;top:0;left:0}.gantt-left-title{color:#86868b;border-bottom:1px solid #e5e5ea;justify-content:center;align-items:center;font-size:10px;font-weight:600;display:flex}.gantt-left-columns{grid-template-columns:64px minmax(0,1fr) 84px 60px;align-items:center;gap:0;padding:0 12px;display:grid}.gantt-header-cell,.gantt-grid-cell{justify-content:center;align-items:center;min-width:0;height:100%;padding:0 8px;display:flex}.timeline-header{z-index:11;background:#f5f5f7;border-bottom:1px solid #d7d7dc;height:64px;display:block;position:sticky;top:0;overflow:hidden}.timeline-period-row,.timeline-date-row{width:100%;display:flex}.timeline-period-row{border-bottom:1px solid #e5e5ea;height:24px}.timeline-period-row>div{color:#6e6e73;border-right:1px solid #e5e5ea;flex:none;justify-content:center;align-items:center;font-size:10px;font-weight:600;display:flex}.timeline-date-row{height:40px}.timeline-date-row>div{color:#515158;border-right:1px solid #e5e5ea;flex-direction:column;flex:none;justify-content:center;align-items:center;font-size:9px;display:flex;overflow:hidden}.timeline-date-row>div.weekend,.timeline-cell-grid .weekend{background:#f0f0f2}.timeline-date-row>div.today{color:#0866c6;background:#eaf3ff}.timeline-date-row strong{font-size:11px;line-height:1.1}.timeline-date-row span{color:#86868b;white-space:nowrap;margin-top:2px;font-size:9px}.timeline-date-row .today span{color:#3a78b8}.gantt-row-pair{display:contents}.gantt-task-cell{z-index:5;text-align:left;height:42px;color:var(--ink);cursor:pointer;background:#fff;border-top:0;border-bottom:1px solid #e4e8ec;border-left:0;border-right:1px solid #c9d3dc;grid-template-columns:64px minmax(0,1fr) 84px 60px;align-items:center;gap:0;padding:0 12px;transition:background .12s,box-shadow .12s;display:grid;position:sticky;left:0}.gantt-task-cell:hover,.gantt-task-cell:focus-visible,.gantt-task-cell.details-open{box-shadow:inset 3px 0 var(--blue);background:#edf4fb;outline:0}.gantt-task-cell.overdue .gantt-code,.gantt-task-cell.overdue .gantt-title svg{color:#b84145}.gantt-task-cell.high-risk:not(.overdue) .gantt-title svg{color:var(--warning)}.gantt-code{color:var(--navy);text-align:center;font-variant-numeric:tabular-nums;font-size:12px}.gantt-owner{color:#596674;text-align:center;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:12px;overflow:hidden}.gantt-progress{color:#596674;font-variant-numeric:tabular-nums;background:#f1f3f5;border-radius:999px;justify-content:center;align-items:center;min-width:44px;height:28px;padding:0 8px;font-size:11px;display:inline-flex}.gantt-title{grid-template-columns:minmax(0,1fr) 15px;align-items:center;gap:6px;min-width:0;display:grid}.gantt-grid-cell .gantt-title{width:100%}.gantt-title span{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.gantt-title svg{color:var(--warning)}.timeline-row{cursor:pointer;border-bottom:1px solid #e4e8ec;height:42px;transition:background .12s;position:relative;overflow:hidden}.timeline-row.details-open{background:#f1f6fb}.timeline-cell-grid{display:flex;position:absolute;inset:0}.timeline-cell-grid span{border-right:1px solid #edf0f3;flex:none}.today-line{z-index:3;pointer-events:none;background:#1a9a75;width:2px;position:absolute;top:0;bottom:0}.gantt-bar{background:var(--blue-soft);z-index:4;border:1px solid #b6cde5;border-radius:3px;min-width:3px;height:20px;position:absolute;top:11px;overflow:hidden;box-shadow:0 1px 2px #1d395711}.gantt-bar>span{background:var(--blue);height:100%;display:block}.gantt-bar.overdue{border-color:#d66f73;box-shadow:0 0 0 1px #d66f73}.gantt-task-tooltip{z-index:70;width:min(390px,100vw - 24px);max-height:min(420px,100vh - 24px);color:var(--ink);background:#fff;border:1px solid #b8c7d4;border-radius:5px;padding:14px 16px;animation:.12s ease-out popover-in;position:fixed;overflow:hidden auto;box-shadow:0 16px 38px #10263b30}@keyframes popover-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.tooltip-heading{border-bottom:1px solid #dde5eb;grid-template-columns:42px minmax(0,1fr) 28px;align-items:start;gap:10px;padding-bottom:11px;display:grid}.tooltip-heading>span{color:#fff;background:var(--navy);border-radius:4px;place-items:center;min-height:27px;font-size:11px;font-weight:700;display:grid}.tooltip-heading div{flex-direction:column;gap:3px;min-width:0;display:flex}.tooltip-heading strong{font-size:14px;line-height:1.4}.tooltip-heading small{color:var(--muted);font-size:11px}.tooltip-meta{color:#5d6a77;border-bottom:1px solid #e3e9ee;flex-wrap:wrap;align-items:center;gap:7px 12px;padding:10px 0;font-size:11px;display:flex}.tooltip-meta>span{align-items:center;gap:5px;display:inline-flex}.tooltip-close{color:#657482;background:0 0;border:0;border-radius:4px;place-items:center;width:28px;height:28px;display:grid}.tooltip-close:hover{color:var(--ink);background:#edf2f5}.gantt-task-tooltip dl{gap:10px;margin:11px 0 0;display:grid}.gantt-task-tooltip dl>div{grid-template-columns:72px minmax(0,1fr);align-items:start;gap:10px;display:grid}.gantt-task-tooltip dt{color:#536372;font-size:11px;font-weight:700}.gantt-task-tooltip dd{color:#273744;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.55}.empty-state{text-align:center;color:var(--muted);grid-column:1/3;padding:70px 20px}.gantt-legend{border-top:1px solid var(--line);height:38px;color:var(--muted);align-items:center;gap:20px;padding:0 14px;font-size:11px;display:flex}.gantt-legend span{align-items:center;gap:6px;display:flex}.gantt-legend i{border-radius:2px;width:18px;height:8px;display:inline-block}.legend-done{background:var(--blue)}.legend-plan{background:var(--blue-soft);border:1px solid #aec9df}.legend-today{background:#1a9a75;border-radius:0!important;width:2px!important;height:14px!important}.mobile-label,.gantt-mobile-date,.mobile-gantt-list{display:none}.task-table-wrap{overflow:hidden}.table-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:48px;padding:0 14px;display:flex}.table-title>div{align-items:baseline;gap:10px;display:flex}.table-title b{color:#556270;font-size:12px}.task-table-scroll-shell{position:relative}.task-table-scroll{max-height:none;overflow:auto hidden}.task-table-scroll::-webkit-scrollbar:horizontal{height:8px}.task-table-scroll::-webkit-scrollbar-track:horizontal{background:0 0}.task-table-scroll::-webkit-scrollbar-thumb:horizontal{background:#b8bec4;border-radius:999px}.task-table{table-layout:fixed;border-collapse:collapse;text-align:left;width:100%;min-width:1440px}.task-table th:first-child{width:74px}.task-table th:nth-child(2){width:360px}.task-table th:nth-child(3){width:104px}.task-table th:nth-child(4){width:126px}.task-table th:nth-child(5){width:120px}.task-table th:nth-child(6){width:92px}.task-table th:nth-child(7){width:118px}.task-table th:nth-child(8){width:104px}.task-table th:nth-child(9){width:154px}.task-table th:nth-child(10){width:110px}.task-table th:nth-child(11){width:66px}.task-table th{z-index:2;color:#556270;background:#edf3f7;border-bottom:1px solid #cbd5de;height:38px;padding:0 8px;font-size:11px;position:sticky;top:0}.task-table th>button{width:100%;height:38px;color:inherit;text-align:center;background:0 0;border:0;justify-content:center;align-items:center;gap:5px;padding:0;font-weight:700;display:flex}.task-table th>button svg{color:#9aa6b1}.task-table th>button.active{color:var(--navy)}.task-table th>button.active svg{color:var(--blue)}.task-table th>button span{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.task-table th.action-header{text-align:center}.task-table td{color:#33404d;text-align:center;vertical-align:middle;border-bottom:1px solid #e1e6eb;height:48px;padding:6px 8px;font-size:12px}.task-table tr.row-overdue:hover td{background:#fff3f1}.task-table td:nth-child(2){text-align:left;max-width:340px}.task-table td:not(:nth-child(2)){white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.task-table td:last-child .icon-button{opacity:.28;transition:opacity .12s}.task-table tr:hover td:last-child .icon-button,.task-table td:last-child .icon-button:focus-visible{opacity:1}.task-table td strong{color:var(--ink);font-size:13px;display:block}.task-table td small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;display:block;overflow:hidden}.task-code{font-weight:700;color:var(--navy)!important}.status-pill{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-width:88px;height:30px;min-height:30px;padding:0 10px;font-size:11px;line-height:1;display:inline-flex}.status-done{color:#256944;background:#e2f0e7}.status-cancelled{color:#68737d;background:#e8ecef}.status-active{color:#245c9f;background:#e1ecf8}.status-paused{color:#a84529;background:#fff0eb}.status-blocked{color:#9d3036;background:#f9dddd}.status-wait{color:#586773;background:#e9eef2}.quick-select{border:0;border-radius:4px;outline:1px solid #0000;max-width:112px;height:28px;padding:0 6px;font-size:11px}.quick-select:hover,.quick-select:focus{outline-color:#9eb3c7}.priority-dot{border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.priority-高{background:var(--red)}.priority-中{background:#5f7f96}.priority-低{background:var(--green)}.workload-value,.risk-empty,.risk-badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;width:fit-content;min-width:66px;height:30px;min-height:30px;padding:0 10px;line-height:1;display:inline-flex}.workload-value{color:#465b6d;background:#eef3f6;border-color:#dde5eb;font-size:11px;font-weight:700}.inline-progress{justify-content:center;align-items:center;gap:5px;display:flex}.readonly-progress{color:#53616e;font-variant-numeric:tabular-nums;min-width:34px;font-size:11px}.quick-progress{color:#455260;background:#fff;border:1px solid #d8e0e7;border-radius:4px;height:28px;font-size:11px}.task-table .status-pill,.task-table .quick-select,.date-cell>span{border-radius:999px;justify-content:center;align-items:center;width:100%;max-width:104px;height:30px;min-height:30px;padding:0 9px;font-size:11px;line-height:1;display:inline-flex}.date-cell>span{color:#52606d;font-variant-numeric:tabular-nums;background:#f1f3f5;border:1px solid #e1e3e7;font-weight:700}.date-cell>span.date-overdue{color:#8e4553;background:#f8eef0;border-color:#e3c7cd}.date-cell>span.date-soon{color:#356779;background:#edf4f7;border-color:#cfdfe6}.risk-empty{color:#838b93;background:#f4f5f6;border-color:#e4e6e9;font-size:10px;font-weight:600}.risk-badge{gap:4px;font-size:10px;font-weight:700}.risk-关注{color:#5f6a75;background:#edf1f4}.risk-高风险{color:#a84529;background:#fff0eb}.risk-阻塞{color:#9d3036;background:#f9dddd}.overview-layout{background:0 0;grid-template-columns:minmax(0,1.55fr) minmax(360px,.65fr);align-items:start;gap:16px;display:grid;overflow:visible}.overview-column{align-content:start;gap:16px;min-width:0;display:grid}.overview-section{overflow:hidden}.section-heading{border-bottom:1px solid var(--line);color:#677583;justify-content:space-between;align-items:center;height:52px;padding:0 14px;display:flex}.section-heading p{margin:3px 0 0}.upcoming-section,.owner-section,.workload-section,.category-section{min-width:0}.category-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;padding:8px 16px 14px;display:grid}.owner-row{border-bottom:1px solid #e8ecf0;grid-template-columns:minmax(135px,212px) auto;justify-content:center;align-items:center;gap:24px;min-height:58px;display:grid}.owner-row:last-child,.category-row:last-child{border-bottom:0}.owner-identity{color:#344f63;background:#f4f7f9;border:1px solid #dfe7ec;border-radius:10px;justify-content:flex-start;justify-self:center;align-items:center;gap:8px;width:min(100%,212px);min-width:0;padding:5px;display:flex}.owner-identity.healthy{color:#344f63;background:#f4f7f9;border-color:#dfe7ec}.owner-identity.warning{color:#a84529;background:#fff5f1;border-color:#f0c3b5}.owner-identity.overload{color:#a9363b;background:#fff1f1;border-color:#f2cdd0}.avatar{color:#235d68;background:#dce8ed;border-radius:50%;place-items:center;width:34px;height:34px;font-size:11px;font-weight:700;display:grid}.owner-identity .avatar{width:34px;height:34px;color:inherit;background:#f1f3f5;flex:none}.avatar svg{stroke-width:1.8px}.owner-name{flex-direction:column;min-width:0;display:flex}.owner-name strong{color:inherit;font-size:13px}.owner-name span{color:color-mix(in srgb, currentColor 72%, #6e6e73);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.owner-progress{justify-content:flex-end;align-items:center;gap:7px;display:flex}.owner-metrics{align-items:center;gap:10px;display:flex}.owner-progress>div{background:#e1e6ea;border-radius:3px;width:52px;height:6px;overflow:hidden}.owner-progress>div span{background:var(--blue);height:100%;display:block}.owner-progress.healthy>div span{background:var(--green)}.owner-progress.warning>div span{background:var(--warning)}.owner-progress.overload>div span{background:var(--red)}.owner-load-pill{color:#245c9f;background:#e5f0fb;border:1px solid #cbdff2;border-radius:999px;justify-content:center;align-items:center;min-width:44px;height:26px;padding:0 8px;font-size:11px;font-weight:700;display:inline-flex}.owner-progress.healthy .owner-load-pill{color:#486071;background:#f1f4f6;border-color:#dce3e8}.owner-progress.warning .owner-load-pill{color:#a84529;background:#fff0eb;border-color:#f0c3b5}.owner-progress.overload .owner-load-pill{color:#a9363b;background:#fde7e7;border-color:#f3c9cd}.open-count{background:#eef2f5;border-radius:999px;justify-content:center;align-items:center;width:fit-content;min-width:38px;height:28px;padding:0 9px;font-size:12px;display:inline-flex}.open-count span{color:#6e6e73;margin-left:2px;font-size:9px;font-weight:500}.status-panel{border-top:1px solid #dfe5ea;margin:8px 16px 14px;padding-top:10px}.status-panel-title,.status-list>div{justify-content:space-between;align-items:center;display:flex}.status-panel-title{color:#4d5b68;padding-bottom:6px;font-size:12px;font-weight:700}.status-panel-title b{color:#5f6872;background:#f1f3f5;border-radius:999px;align-items:center;min-height:24px;padding:0 9px;font-size:10px;display:inline-flex}.status-list{grid-template-columns:1fr 1fr;gap:4px 14px;display:grid}.status-list>div{color:#566471;border:1px solid #0000;border-radius:999px;min-height:30px;padding:0 10px;font-size:11px}.status-list>div.empty{opacity:.55}.status-list span{align-items:center;gap:7px;display:inline-flex}.status-list i{background:currentColor;border-radius:50%;width:6px;height:6px;min-height:0;padding:0}.status-list b{color:inherit;font-variant-numeric:tabular-nums;font-size:11px}.status-list .status-summary-pill{color:#66727d;background:#f6f7f8}.status-list .status-summary-pill i{background:#8b98a3}.status-list .status-active i{background:#4f86bb}.status-list .status-paused i{background:#d85b34}.status-list .status-blocked i{background:#c74651}.status-list .status-done i{background:#4f8a78}.due-load-list{gap:8px;padding:10px 14px 14px;display:grid}.due-load-row{color:#43515e;text-align:left;background:#fafbfc;border:1px solid #e3e7eb;border-radius:14px;grid-template-columns:32px minmax(0,1fr) 32px;align-items:center;gap:10px;width:100%;min-height:66px;padding:9px 10px;transition:border-color .14s,background .14s,transform .14s;display:grid}.due-load-row:hover{background:#f6f8fa;border-color:#cfd6dc;transform:translateY(-1px)}.due-load-indicator{border-radius:10px;place-items:center;width:30px;height:30px;display:grid}.due-load-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.due-load-title{align-items:center;gap:7px;display:flex}.due-load-title em{white-space:nowrap;background:#ffffffb8;border-radius:999px;align-items:center;min-height:20px;padding:0 7px;font-size:9px;font-style:normal;font-weight:700;display:inline-flex}.due-load-row strong{color:var(--ink);font-size:12px}.due-load-row small{color:var(--muted);white-space:normal;overflow-wrap:anywhere;font-size:11px;line-height:1.45}.due-load-row>b{border-radius:10px;place-items:center;width:30px;height:30px;font-size:12px;display:grid}.due-load-row.danger{background:#fff8f8;border-color:#f4d4d6}.due-load-row.warning{background:#fff8f5;border-color:#f0c3b5}.due-load-row.notice{background:#f7fbff;border-color:#d2e1f1}.due-load-row.danger .due-load-indicator,.due-load-row.danger>b{color:#9d3036;background:#f9dddd}.due-load-row.warning .due-load-indicator,.due-load-row.warning>b{color:#a84529;background:#fff0eb}.due-load-row.notice .due-load-indicator,.due-load-row.notice>b{color:#245c9f;background:#e1ecf8}.due-load-empty{color:#566471;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:66px;display:flex}.due-load-empty span{font-size:12px;font-weight:700}.due-load-empty small{color:var(--muted);margin-top:3px;font-size:11px}.category-row{border-bottom:1px solid #e8ecf0;grid-template-columns:minmax(110px,1fr) minmax(100px,1.2fr) 38px;align-items:center;gap:12px;min-height:54px;display:grid}.category-row>div:first-child{flex-direction:column;display:flex}.category-row strong{font-size:13px}.category-row span{color:var(--muted);font-size:11px}.category-bar{background:#e4e9ed;border-radius:4px;height:8px;overflow:hidden}.category-bar span{background:var(--blue);height:100%;display:block}.category-row b{color:#52606d;text-align:right;font-size:12px}.upcoming-table{padding-bottom:0}.upcoming-header,.upcoming-row{grid-template-columns:64px minmax(320px,2fr) repeat(6,minmax(96px,1fr));align-items:center;column-gap:16px;padding:0 16px;display:grid}.upcoming-header{height:34px;color:var(--muted);background:#f7f9fb;border-bottom:1px solid #e1e6ea;font-size:11px;font-weight:600}.upcoming-cell{justify-content:center;align-items:center;min-width:0;height:100%;padding:0 4px;display:flex}.column-header-chip,.task-table th.action-header>span{color:#626269;white-space:nowrap;background:#fff;border:1px solid #e5e5ea;border-radius:999px;justify-content:center;align-items:center;width:fit-content;height:26px;padding:0 9px;line-height:1;display:inline-flex}.upcoming-header .column-header-chip{color:#72727a;background:0 0;border:0;border-radius:0;height:auto;padding:0}.upcoming-row{color:#33404d;text-align:left;background:#fff;border:0;border-bottom:1px solid #e7ebef;width:100%;min-height:44px;font-size:12px}.upcoming-row:last-child{border-bottom:0}.upcoming-row.details-open{box-shadow:inset 3px 0 var(--blue);background:#edf4fb}.upcoming-code{color:#59636e;text-align:center;font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:0;justify-self:center;width:auto;height:auto;padding:0;font-size:12px;font-weight:650}.upcoming-title,.upcoming-category,.upcoming-owner{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.upcoming-title{color:#273746;text-align:center;white-space:normal;overflow-wrap:anywhere;text-overflow:clip;background:0 0;border:0;border-radius:0;justify-content:center;justify-self:center;width:100%;max-width:100%;height:auto;min-height:30px;padding:6px 4px;font-size:13px;line-height:1.3;overflow:visible}.upcoming-category{color:#667482;text-align:center;font-size:12px}.upcoming-owner{text-align:center}.owner-pill,.category-pill,.priority-pill{white-space:nowrap;text-overflow:ellipsis;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:6px;width:fit-content;max-width:100%;height:28px;min-height:28px;padding:0 11px;line-height:1;display:inline-flex;overflow:hidden}.owner-pill{color:#344f63;background:#eef4f8;border-color:#dce7ee;min-width:72px;font-size:11px;font-weight:600}.owner-pill:before{content:"";background:#66889b;border-radius:50%;flex:0 0 6px;width:6px;height:6px}.category-pill{color:#5e5e63;background:#f5f5f7;border-color:#e8e8ed;font-size:11px}.priority-pill{min-width:56px;font-size:11px;font-weight:600}.priority-pill-high{color:#a9363b;background:#fde7e7;border-color:#f3c9cd}.priority-pill-medium{color:#48647a;background:#eaf1f5;border-color:#d6e2e9}.priority-pill-low{color:#28746b;background:#e7f3f1;border-color:#cfe5e1}.upcoming-owner .owner-pill,.upcoming-category .category-pill{margin-inline:auto}.upcoming-status{justify-self:center}.overview-date{white-space:nowrap;border-radius:999px;justify-content:center;justify-self:center;align-items:center;width:fit-content;min-width:96px;height:30px;min-height:30px;padding:0 12px;font-size:11px;line-height:1;display:inline-flex}.overview-progress{color:#536b7d;background:0 0;grid-template-columns:minmax(44px,1fr) 34px;justify-self:center;align-items:center;gap:8px;width:100px;height:28px;padding:0 4px;display:grid}.overview-progress-track{background:#dfe6eb;border-radius:999px;height:6px;overflow:hidden}.overview-progress-track i{border-radius:inherit;background:#8796a3;height:100%;display:block}.overview-progress b{text-align:right;font-variant-numeric:tabular-nums;font-size:11px;font-weight:700}.overview-progress.progress-health-normal{color:#245c9f}.overview-progress.progress-health-normal .overview-progress-track i{background:var(--blue)}.overview-progress.progress-health-good,.overview-progress.progress-health-done{color:#28746b}.overview-progress.progress-health-good .overview-progress-track i,.overview-progress.progress-health-done .overview-progress-track i{background:#2f8a80}.overview-progress.progress-health-warning{color:#a84529}.overview-progress.progress-health-warning .overview-progress-track i{background:var(--warning)}.overview-progress.progress-health-danger{color:#b72d3a}.overview-progress.progress-health-danger .overview-progress-track i{background:var(--red)}.overview-date{color:#52606d;font-variant-numeric:tabular-nums;background:#f3f5f6;border:1px solid #e1e5e8;font-weight:700}.overview-date.soon{color:#356779;background:#edf4f7;border-color:#cfdfe6}.overview-date.overdue{color:#8e4553;background:#f8eef0;border-color:#e3c7cd}.access-panel{border:1px solid var(--line);background:#fff;border-radius:5px;overflow:hidden}.access-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:56px;padding:8px 14px 8px 16px;display:flex}.access-heading h2{color:var(--ink);margin:0;font-size:16px}.access-heading span{color:var(--muted);margin-top:3px;font-size:11px;display:block}.access-summary{border-bottom:1px solid var(--line);background:#f5f8fa;grid-template-columns:repeat(4,minmax(0,1fr));min-height:86px;padding:10px 16px;display:grid}.access-summary>div{color:#62707d;border-right:1px solid #d9e1e7;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:8px;padding:0 18px;display:grid}.access-summary>div:last-child{border-right:0}.access-summary svg{color:#718497}.access-summary span{font-size:12px}.access-summary strong{color:var(--navy);font-variant-numeric:tabular-nums;font-size:24px}.access-charts{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);display:grid}.access-chart-section{min-height:238px;padding:16px 20px 14px}.access-chart-section:first-child{border-right:1px solid var(--line)}.access-chart-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.access-chart-heading h3{color:var(--ink);margin:0;font-size:13px}.access-chart-heading span{color:var(--muted);font-size:10px}.daily-chart{grid-template-columns:repeat(7,minmax(36px,1fr));align-items:end;gap:12px;height:176px;padding-top:12px;display:grid}.daily-column{grid-template-rows:20px minmax(0,1fr) 22px;place-items:end center;gap:3px;height:100%;display:grid}.daily-column b{color:#536372;font-variant-numeric:tabular-nums;font-size:10px}.daily-column>div{background:#edf2f6;border-radius:3px 3px 0 0;align-items:flex-end;width:min(42px,62%);height:100%;display:flex;overflow:hidden}.daily-column i{background:var(--blue);border-radius:3px 3px 0 0;width:100%;min-height:0;display:block}.daily-column span{color:#71808d;font-variant-numeric:tabular-nums;font-size:10px}.view-chart{align-content:center;gap:12px;min-height:176px;padding-top:12px;display:grid}.view-chart-row{gap:5px;display:grid}.view-chart-row>div:first-child{color:#53616e;justify-content:space-between;align-items:center;font-size:11px;display:flex}.view-chart-row b{color:var(--navy);font-variant-numeric:tabular-nums;font-size:10px}.view-chart-row>div:last-child{background:#e8edf1;border-radius:4px;height:7px;overflow:hidden}.view-chart-row i{background:var(--teal);border-radius:4px;height:100%;display:block}.chart-empty{color:var(--muted);text-align:center;font-size:11px}.access-log-section{border-top:0}.access-log-heading{border-bottom:1px solid var(--line);background:#edf3f7;justify-content:space-between;align-items:center;min-height:42px;padding:0 18px;display:flex}.access-log-heading h3{color:#465563;margin:0;font-size:12px}.access-log-heading span{color:var(--muted);font-size:10px}.access-event-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:420px;display:grid;overflow:auto}.access-event{background:#fff;border-bottom:1px solid #e4e9ed;grid-template-columns:112px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:68px;padding:8px 16px;display:grid}.access-event:nth-child(odd){border-right:1px solid #e4e9ed}.access-event-time{color:#667685;grid-template-columns:18px auto;align-items:center;gap:2px 6px;display:grid}.access-event-time svg{color:#8092a2;grid-row:1/3}.access-event-time strong{color:#354653;font-variant-numeric:tabular-nums;font-size:12px}.access-event-time span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:10px}.access-event-main{flex-direction:column;gap:4px;min-width:0;display:flex}.access-event-main strong{color:var(--navy);font-size:12px}.access-event-main span{color:#657481;white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.access-identity{color:#66737f;text-align:center;background:#edf1f4;border-radius:4px;min-width:52px;padding:3px 7px;font-size:10px}.access-identity.authenticated{color:#267368;background:#e4f1ed}.access-summary strong{font-variant-numeric:tabular-nums}.device-whitelist{border-bottom:1px solid var(--line)}.device-list{max-height:430px;overflow:auto}.device-member-group{background:#fff;border-bottom:1px solid #e4e9ed}.device-member-group:last-child{border-bottom:0}.device-member-heading{background:#f8fafc;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:12px;min-height:58px;padding:8px 16px;display:grid}.device-member-heading>div:last-child{align-items:baseline;gap:10px;min-width:0;display:flex}.device-member-heading strong{color:var(--navy);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.device-member-heading span{color:var(--muted);font-size:10px}.device-row{background:#fff;border-top:1px solid #edf0f2;grid-template-columns:62px minmax(280px,1fr) 116px 74px 82px;align-items:center;gap:12px;min-height:56px;padding:7px 16px 7px 62px;display:grid}.device-row:last-child{border-bottom:0}.device-row:hover{background:#f8fafc}.device-sequence{color:#526675;white-space:nowrap;background:#edf3f7;border-radius:999px;width:fit-content;padding:3px 7px;font-size:10px;font-weight:700}.device-status-icon{color:#a84529;background:#fff0eb;border-radius:4px;place-items:center;width:30px;height:30px;display:grid}.device-status-icon.approved{color:#267368;background:#e4f1ed}.device-code{flex-direction:column;gap:3px;min-width:0;display:flex}.device-code strong{color:var(--navy);white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums;font-size:11px;overflow:hidden}.device-code span,.device-last-seen span{color:var(--muted);font-size:10px}.device-last-seen{flex-direction:column;gap:3px;display:flex}.device-last-seen strong{color:#465563;font-variant-numeric:tabular-nums;font-size:11px}.device-state{color:#a84529;text-align:center;background:#fff0eb;border-radius:4px;padding:3px 6px;font-size:10px}.device-state.approved{color:#267368;background:#e4f1ed}.device-action{min-width:76px;height:30px;padding:0 9px;font-size:11px}.device-action:disabled{cursor:not-allowed;opacity:.45}.task-change-requests{border-bottom:1px solid var(--line)}.change-request-list{max-height:360px;overflow:auto}.task-change-requests .access-empty{padding:24px 20px}.task-change-history{border-bottom:1px solid var(--line)}.change-history-list{max-height:330px;overflow:auto}.task-change-history .access-empty{padding:24px 20px}.change-history-row{background:#fff;border-top:1px solid #e4e9ed;grid-template-columns:32px minmax(0,1fr) 132px;align-items:center;gap:12px;min-height:72px;padding:10px 16px;display:grid}.change-history-row:hover{background:#f8fafc}.change-history-icon{border-radius:9px;place-items:center;width:30px;height:30px;display:grid}.change-history-icon.approved{color:#267368;background:#e4f1ed}.change-history-icon.rejected{color:#9d3036;background:#f9dddd}.change-history-review{flex-direction:column;align-items:flex-end;gap:5px;min-width:0;display:flex}.change-history-review strong{border-radius:999px;padding:4px 9px;font-size:10px}.change-history-review strong.approved{color:#267368;background:#e4f1ed}.change-history-review strong.rejected{color:#9d3036;background:#f9dddd}.change-history-review span{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:10px}.change-request-row{background:#fff;border-top:1px solid #e4e9ed;grid-template-columns:minmax(0,1fr) 88px auto;align-items:center;gap:14px;min-height:72px;padding:10px 16px;display:grid}.change-request-row:hover{background:#f8fafc}.change-request-main{flex-direction:column;gap:3px;min-width:0;display:flex}.change-request-main strong{color:var(--navy);font-size:12px}.change-request-main span{color:#526371;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.change-request-main small{color:#9a6815;font-size:10px}.change-history-submitted,.change-request-time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:10px}.change-request-actions{gap:6px;display:flex}.change-request-actions button{height:30px;padding:0 9px;font-size:11px}.row-pending-change{background:#fff8f5}.row-pending-change:hover{background:#fff1ec}.access-error,.access-empty{color:var(--muted);text-align:center;padding:60px 20px}@keyframes spin{to{transform:rotate(360deg)}}.spinning{animation:.7s linear infinite spin}.drawer-backdrop{z-index:80;background:#16212d77;justify-content:flex-end;display:flex;position:fixed;inset:0}.task-drawer{background:#fff;flex-direction:column;width:min(520px,100vw);height:100%;display:flex;box-shadow:-8px 0 24px #12203033}.drawer-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:74px;padding:13px 16px 12px 20px;display:flex}.drawer-header span{color:var(--blue);font-size:11px;font-weight:700}.drawer-header h2{margin:2px 0 0;font-size:18px}.drawer-header small{color:var(--muted);margin-top:3px;font-size:10px;display:block}.drawer-header .member-approval-note{color:#526b80;margin-top:6px;font-weight:600}.drawer-body{flex-direction:column;flex:1;gap:14px;padding:18px 20px 26px;display:flex;overflow-y:auto}.form-grid{gap:12px;display:grid}.form-grid.two-cols{grid-template-columns:1fr 1fr}.field{flex-direction:column;gap:6px;display:flex}.field>span{color:#556270;font-size:12px;font-weight:700}.current-history{background:#f8fafc;border:1px solid #e2e8ee;border-radius:8px;gap:7px;padding:10px 12px;display:grid}.current-history>strong{color:#556270;font-size:12px}.current-history-row{color:#46515e;grid-template-columns:122px minmax(0,1fr);align-items:start;gap:9px;font-size:12px;line-height:1.5;display:grid}.current-history-row+.current-history-row{border-top:1px solid #e7edf2;padding-top:7px}.current-history-row time{color:#7c8794;font-variant-numeric:tabular-nums;white-space:nowrap}.field input,.field select,.field textarea{width:100%;color:var(--ink);resize:vertical;background:#fff;border:1px solid #cfd7df;border-radius:5px;padding:8px 10px}.workload-input{grid-template-columns:minmax(0,1fr) 48px;display:grid}.workload-input input{border-radius:5px 0 0 5px}.workload-input>span{color:#687583;background:#f5f7f9;border:1px solid #cfd7df;border-left:0;border-radius:0 5px 5px 0;place-items:center;height:38px;font-size:12px;display:grid}.field input:read-only{color:#40505f;cursor:default;background:#eef3f6}.field input:disabled,.field select:disabled{color:#697784;cursor:not-allowed;background:#edf1f4}.due-load-warning{border:1px solid;border-radius:5px;grid-template-columns:22px minmax(0,1fr);gap:8px;padding:9px 10px;display:grid}.due-load-warning>div{flex-direction:column;gap:2px;display:flex}.due-load-warning strong{font-size:12px}.due-load-warning span{font-size:11px;line-height:1.45}.due-load-warning.danger{color:#91383d;background:#fff0f0;border-color:#e6b9bb}.due-load-warning.warning{color:#a84529;background:#fff5f1;border-color:#f0c3b5}.due-load-warning.notice{color:#245c9f;background:#eef5fc;border-color:#b8d0ea}.progress-input{grid-template-columns:1fr 68px 16px;align-items:center;gap:8px;display:grid}.progress-input input[type=range]{accent-color:var(--blue);border:0;padding:0}.drawer-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;min-height:66px;padding:12px 16px;display:flex}.drawer-footer>div{gap:8px;display:flex}.toast{z-index:100;color:#fff;background:#1f303d;border-radius:5px;align-items:center;gap:14px;padding:9px 10px 9px 14px;font-size:13px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 25px #14202b44}.toast button{color:#fff;background:#ffffff12;border:1px solid #fff5;border-radius:4px;align-items:center;gap:5px;height:28px;padding:0 9px;font-size:11px;font-weight:700;display:inline-flex}.toast button:hover{background:#ffffff24}.reset-button{z-index:20;border:1px solid var(--line);color:#7a8793;background:#fff;border-radius:50%;place-items:center;width:34px;height:34px;display:grid;position:fixed;bottom:18px;right:18px;box-shadow:0 3px 10px #24344422}.login-backdrop{z-index:110;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#17283a70;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.login-dialog{background:#fff;border:1px solid #b9c6d1;border-radius:6px;width:min(390px,100%);overflow:hidden;box-shadow:0 22px 58px #10263b38}.login-heading{border-bottom:1px solid #dfe5ea;grid-template-columns:38px minmax(0,1fr) 28px;align-items:center;gap:11px;min-height:72px;padding:12px 14px 12px 18px;display:grid}.login-mark{background:var(--navy);color:#fff;border-radius:5px;place-items:center;width:36px;height:36px;display:grid}.login-heading h2{color:var(--ink);margin:0;font-size:17px}.login-heading span{color:var(--muted);margin-top:3px;font-size:11px;display:block}.login-dialog form{gap:13px;padding:18px;display:grid}.login-message{color:#a9363b;min-height:18px;font-size:11px}.login-actions{justify-content:flex-end;gap:8px;padding-top:2px;display:flex}.weekly-summary-dialog{width:min(820px,100%)}.weekly-summary-body{gap:12px;padding:18px;display:grid}.summary-mode-switch{grid-template-columns:1fr 1fr;gap:8px;display:grid}.summary-mode-switch button{color:#475467;background:#fff;border:1px solid #cfd7df;border-radius:5px;justify-content:center;align-items:center;gap:6px;min-height:38px;font-weight:700;display:inline-flex}.summary-mode-switch button.active{border-color:var(--blue);color:var(--blue);background:#eef5fc}.weekly-summary-hint{color:#667085;margin:0;font-size:12px;line-height:1.5}.weekly-summary-metrics{flex-wrap:wrap;gap:8px;display:flex}.weekly-summary-metrics span{color:#667085;background:#f2f4f7;border-radius:5px;padding:6px 9px;font-size:12px}.weekly-summary-metrics b{color:var(--ink)}.weekly-summary-output{width:100%;min-height:360px;color:var(--ink);resize:vertical;white-space:pre-wrap;background:#fbfcfd;border:1px solid #cfd7df;border-radius:5px;padding:12px;font:13px/1.65 inherit}.weekly-summary-model{color:#667085}.weekly-summary-actions{padding:0 18px 18px}@media (width<=1050px){.app-header{grid-template-columns:1fr auto;height:auto;min-height:68px;padding:10px 16px}.main-tabs{border-top:1px solid #e4e8ec;order:3;grid-column:1/-1;justify-content:center;height:42px}.header-actions{grid-area:1/2}.access-badge{display:none}.metric-strip{justify-content:flex-start;gap:8px;padding:9px 16px;display:flex;overflow-x:auto}.metric-strip>button{min-width:140px}main{padding:14px 16px 28px}.filter-bar{flex-wrap:wrap;top:110px}.filter-primary{flex:100%}.search-box{width:min(100%,320px)}.filter-secondary,.toggle-control{margin-left:0}.overview-layout{flex-direction:column;gap:12px;display:flex}.overview-column{display:contents}.upcoming-section{order:1}.owner-section{order:2}.workload-section{order:3}.category-section{order:4}.category-list{grid-template-columns:repeat(2,minmax(0,1fr))}.access-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 0}.access-summary>div:nth-child(2){border-right:0}.access-charts{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr)}.device-row{grid-template-columns:56px minmax(220px,1fr) 104px 70px 78px;gap:8px;padding-left:42px}}@media (width<=680px){.app-header{gap:8px;padding:9px 10px}.brand-block p{display:none}.brand-block h1{font-size:16px}.brand-mark{width:34px;height:34px}.header-actions .icon-button{display:none}.header-actions .password-button{display:inline-grid}.header-actions .login-button svg{display:none}.primary-button{padding:0 10px}.main-tabs button{padding:0 12px}.metric-strip{height:auto;min-height:68px;padding:7px 10px}.metric-strip>button{min-width:120px;padding:0 15px}.metric-strip strong{font-size:18px}main{padding:10px 8px 24px}.filter-bar{min-height:46px;padding:5px 0;display:block;top:104px}.filter-primary{grid-template-columns:minmax(0,1fr) auto;gap:7px;display:grid}.search-box{width:100%}.mobile-filter-toggle{color:#415162;background:#fff;border:1px solid #cfd8e1;border-radius:4px;align-items:center;gap:6px;height:34px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.mobile-filter-toggle b{background:var(--blue);color:#fff;border-radius:9px;place-items:center;min-width:17px;height:17px;font-size:9px;display:grid}.filter-selects{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:7px;padding-top:2px;display:none}.filter-secondary{border-top:1px solid #dce3e9;flex-wrap:wrap;margin-top:8px;padding-top:8px;display:none}.filter-bar.mobile-open .filter-selects{display:grid}.filter-bar.mobile-open .filter-secondary{display:flex}.filter-select{width:100%}.filter-select select{width:100%;min-width:0;max-width:none}.quick-filters{flex:100%;order:1}.quick-filters button{flex:1}.toggle-control{order:2}.filter-count{order:3;margin-left:auto}.clear-filter-button{order:4}.gantt-toolbar{align-items:flex-start;gap:8px}.gantt-toolbar>div:first-child span{display:none}.timeline-tools{gap:5px}.icon-group button:nth-child(2){display:none}.gantt-scroll{max-height:calc(100vh - 345px)}.gantt-grid{grid-template-columns:340px var(--timeline-width)}.gantt-left-columns,.gantt-task-cell{grid-template-columns:46px minmax(0,1fr) 58px 44px;gap:0;padding:0 8px}.gantt-header-cell,.gantt-grid-cell{padding:0 4px}.gantt-title{grid-template-columns:minmax(0,1fr) 14px}.gantt-legend{gap:10px;padding:0 8px}.form-grid.two-cols{grid-template-columns:1fr}.task-drawer{width:100vw}.upcoming-header{display:none}.upcoming-row{grid-template-columns:42px minmax(0,1fr) 96px;gap:7px 10px;min-width:0;min-height:106px;padding:10px 12px}.upcoming-row>.upcoming-cell{border-right:0;height:auto;padding:0}.upcoming-code{text-align:center;grid-area:1/1;justify-content:center;height:28px;padding:0 10px}.upcoming-title{grid-area:1/2/auto/-1;height:auto;min-height:30px;padding:6px 12px}.upcoming-category{text-align:left;grid-area:2/1/auto/3;justify-content:flex-start}.upcoming-owner{color:#64717d;text-align:right;grid-area:2/3;justify-content:flex-end;font-size:11px}.upcoming-status-cell{grid-area:3/1/auto/3;justify-content:flex-start}.overview-date-cell{grid-area:3/3;justify-content:flex-end}.owner-row{grid-template-columns:minmax(120px,212px) auto;justify-content:center;gap:14px}.owner-identity{gap:7px;padding-right:8px}.owner-progress>div{width:52px}.category-list{grid-template-columns:1fr}.access-summary{padding:8px}.access-summary>div{grid-template-columns:22px minmax(0,1fr) auto;min-height:58px;padding:0 10px}.access-summary strong{font-size:20px}.access-charts{grid-template-columns:1fr}.access-chart-section:first-child{border-right:0;border-bottom:1px solid var(--line)}.access-chart-section{min-height:220px;padding:14px 12px}.daily-chart{gap:6px}.access-event-grid{grid-template-columns:1fr}.access-event:nth-child(odd){border-right:0}.access-event{grid-template-columns:104px minmax(0,1fr) auto;gap:9px;padding:8px 10px}.device-code-block{grid-template-columns:1fr 38px}.device-application{grid-template-columns:1fr}.device-application .primary-button{width:100%}.device-code-block>span{grid-column:1/-1}.device-code-block>small{grid-column:1}.device-member-heading{padding:8px 10px}.device-member-heading>div:last-child{flex-direction:column;align-items:flex-start;gap:2px}.device-row{grid-template-columns:52px minmax(0,1fr) 74px;gap:8px;padding:9px 10px 9px 24px}.device-last-seen{display:none}.device-state{grid-column:2;justify-self:start}.device-action{grid-area:1/3/3}.change-request-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px}.change-request-time{grid-area:1/2}.change-request-actions{grid-column:1/-1;justify-content:flex-end}.change-history-row{grid-template-columns:30px minmax(0,1fr);gap:8px;padding:10px}.change-history-review{flex-direction:row;grid-column:2;justify-content:space-between;align-items:center}}:root{--navy:#1d1d1f;--blue:#0071e3;--blue-soft:#dcecff;--teal:#18866f;--green:#2d8a58;--warning:#d85b34;--red:#d20a2e;--ink:#1d1d1f;--muted:#6e6e73;--line:#d2d2d7;--surface:#fff;--surface-subtle:#f5f5f7;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,PingFang SC,Microsoft YaHei UI,sans-serif}body{color:#1d1d1f;background:#f5f5f7}.app-shell{background:#f5f5f7}.app-header{-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);background:#ffffffd9;border-bottom:1px solid #d2d2d766;gap:28px;height:72px;padding:0 32px;box-shadow:0 5px 20px #1d1d1f09}.brand-block{gap:13px}.brand-mark{background:#1d1d1f;border-radius:13px;width:42px;height:42px;box-shadow:0 4px 12px #1d1d1f20}.brand-block h1{font-size:20px;font-weight:700}.brand-block p{color:#6e6e73;margin-top:3px;font-size:12px}.main-tabs{align-items:center;gap:4px}.main-tabs button{color:#6e6e73;border:0;border-radius:999px;height:38px;padding:0 15px;font-size:13px;transition:background .16s,color .16s,transform .16s}.main-tabs button:hover{color:#1d1d1f;background:#f0f0f2}.main-tabs button.active{color:#fff;background:#1d1d1f;border-bottom:0;box-shadow:0 3px 10px #1d1d1f1c}.main-tabs .access-tab{position:relative}.approval-badge{background:#d20a2e;border-color:#fff;top:-3px;right:3px;box-shadow:0 2px 5px #d20a2e40}.header-actions{gap:9px}.access-badge{color:#6e6e73;background:#f5f5f7;border-color:#d2d2d7;border-radius:999px;height:34px;padding:0 12px;font-size:12px}.access-badge.editor{color:#20704f;background:#e8f5ef;border-color:#b9dfcb}.icon-button,.icon-group button{color:#424245;background:#fff;border-color:#d2d2d7;border-radius:12px;width:38px;height:38px}.icon-button:hover,.icon-group button:hover{color:#1d1d1f;background:#f5f5f7;border-color:#a1a1a6}.primary-button,.secondary-button,.danger-button{border-radius:999px;height:38px;padding:0 16px;font-size:13px}.primary-button{color:#fff;background:#1d1d1f}.primary-button:hover{background:#424245}.secondary-button{color:#1d1d1f;background:#fff;border-color:#d2d2d7}.report-button{white-space:nowrap}.danger-button{color:#c20d2b;background:#fff;border-color:#f0b8c2}.metric-strip{background:#f5f5f7;border-bottom:0;grid-template-columns:repeat(6,minmax(145px,1fr));gap:12px;min-height:102px;padding:16px 32px}.metric-strip>button{background:#fff;border:1px solid #e5e5ea;border-radius:16px;min-height:70px;padding:0 16px;box-shadow:0 5px 18px #1d1d1f08}.metric-strip>button:hover{border-color:#c7c7cc;transform:translateY(-2px);box-shadow:0 10px 24px #1d1d1f12}.metric-strip>button.active{background:#f7fbff;border-color:#b8d4f8;box-shadow:inset 0 0 0 1px #d8e9fb,0 8px 22px #0071e314}.metric-strip span{color:#6e6e73;font-size:12px}.metric-strip strong{font-size:22px;font-weight:700}main{max-width:1900px;margin:0 auto;padding:20px 32px 48px}.filter-bar{-webkit-backdrop-filter:saturate(180%)blur(16px);backdrop-filter:saturate(180%)blur(16px);background:#f5f5f7dc;min-height:56px;margin:-3px 0 14px;padding:10px 0;top:72px}.search-box,.filter-select{background:#fff;border-color:#d2d2d7;border-radius:12px;height:40px}.search-box{width:min(300px,26vw);padding:0 13px}.search-box input,.filter-select select{font-size:13px}.filter-select>span{border-right-color:#e5e5ea;font-size:12px}.filter-select select{max-width:128px}.quick-filters{background:#e8e8ed;border-color:#0000;border-radius:999px;height:34px;padding:3px}.quick-filters button{border-radius:999px;font-size:12px}.quick-filters button.active{box-shadow:0 2px 6px #1d1d1f18}.toggle-control span{border-radius:999px;width:38px;height:22px}.toggle-control span:after{border-radius:50%;width:18px;height:18px}.toggle-control input:checked+span:after{transform:translate(16px)}.clear-filter-button{border-radius:12px;width:36px;height:36px}.gantt-panel,.task-table-wrap,.overview-section,.access-panel{border:1px solid #e5e5ea;border-radius:18px;box-shadow:0 8px 30px #1d1d1f0b}.gantt-panel,.task-table-wrap,.access-panel{background:#fff}.overview-layout{box-shadow:none;background:0 0;border:0;border-radius:0;overflow:visible}.overview-section{background:#fff}.gantt-toolbar,.table-title{border-bottom-color:#e5e5ea;height:68px;min-height:68px;padding:10px 20px}.gantt-toolbar h2,.table-title h2,.section-heading h2{letter-spacing:0;font-size:18px}.gantt-toolbar>div:first-child span,.table-title span,.section-heading p{color:#6e6e73;font-size:12px}.section-heading{border-bottom-color:#e5e5ea;height:68px;padding:0 20px}.section-heading>svg{color:#86868b}.overview-layout{overflow:visible}.upcoming-header{background:#fbfbfd;border-bottom-color:#e5e5ea;height:42px;padding:0 20px;font-size:11px}.upcoming-row{background:#fff;border-bottom-color:#f0f0f2;min-height:56px;padding:0 20px}.upcoming-row:hover{background:#fafafa}.upcoming-row.details-open{background:#f5f9ff;box-shadow:inset 3px 0 #0071e3}.upcoming-row>span:first-child span{font-size:14px}.upcoming-row b{font-size:13px}.owner-list{padding:8px 20px 6px}.owner-row{border-bottom-color:#f0f0f2;min-height:66px}.avatar{color:#1d1d1f;background:#f0f0f2;width:38px;height:38px;font-size:11px}.owner-name strong{font-size:14px}.owner-name span{color:#6e6e73}.open-count{background:#f5f5f7;border-radius:999px}.status-panel{border-top-color:#e5e5ea;margin:10px 20px 16px}.due-load-list{padding:10px 20px 16px}.due-load-row{min-height:68px}.category-list{padding:10px 20px 18px}.category-row{border-bottom-color:#f0f0f2;min-height:62px}.category-bar{background:#e5e5ea;border-radius:999px;height:7px}.category-bar span{border-radius:999px}.task-table-scroll{max-height:none}.task-table{min-width:1440px}.task-table th{color:#6e6e73;background:#fbfbfd;border-bottom-color:#e5e5ea;height:44px;font-size:11px}.task-table th>button{background:#fff;border:1px solid #e5e5ea;border-radius:999px;width:fit-content;height:28px;margin:0 auto;padding:0 9px}.task-table th>button:hover{background:#f5f5f7;border-color:#c7c7cc}.task-table th>button.active{color:#0866c6;background:#eaf3ff;border-color:#cbdff2}.task-table th.action-header>span{margin:0 auto}.task-table td{border-bottom-color:#f0f0f2;height:58px;font-size:13px}.task-table tr:hover td{background:#fafafa}.task-table tr.row-overdue td{background:#fff8f8}.task-table td strong{font-size:14px}.task-table td small{color:#6e6e73}.status-pill,.quick-select,.risk-badge{border-radius:999px}.quick-select{height:30px;padding:0 10px}.quick-progress{border-color:#d2d2d7;border-radius:999px;height:30px;padding:0 8px}.date-cell>span{border-radius:999px}.task-table td:nth-child(3) .owner-pill{max-width:92px}.task-table td:nth-child(4) .category-pill{max-width:116px}.task-table .status-pill{width:fit-content;min-width:88px}.task-table .date-cell>span{width:fit-content;min-width:96px}.task-table .pill-select-button.quick-select{padding:0 8px}.task-table .priority-pill{max-width:72px}.gantt-owner .owner-pill{width:fit-content;height:28px;min-height:28px;margin-inline:auto;padding:0 8px;font-size:11px}.tooltip-meta .priority-pill{height:24px;min-height:24px}.pill-select{justify-content:center;max-width:100%;display:inline-flex;position:relative}.pill-select.open{z-index:30}.status-pill-select{width:88px;max-width:100%}.priority-pill-select{width:72px;max-width:100%}.risk-pill-select{width:86px;max-width:100%}.progress-pill-select{flex:0 0 68px;width:68px}.pill-select-button{cursor:pointer;border:1px solid #0000;grid-template-columns:16px minmax(0,1fr) 16px;place-items:center;width:100%;display:grid!important}.pill-select-button>span:nth-child(2){white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.pill-select-button>svg{transition:transform .14s}.pill-select.open .pill-select-button>svg{transform:rotate(180deg)}.pill-select-button:disabled{cursor:wait;opacity:.6}.pill-select-menu{z-index:40;background:#fff;border:1px solid #d9d9df;border-radius:14px;width:max(100%,112px);max-height:240px;padding:6px;position:absolute;top:calc(100% + 6px);left:50%;overflow:auto;transform:translate(-50%);box-shadow:0 12px 30px #1d1d1f24}.pill-select.open-above .pill-select-menu{top:auto;bottom:calc(100% + 6px)}.pill-select-menu-portal{z-index:1200;position:fixed;bottom:auto;right:auto;transform:none}.pill-select-option{color:#3f4b57;cursor:pointer;background:0 0;border:0;border-radius:9px;grid-template-columns:16px minmax(0,1fr) 16px;place-items:center;width:100%;height:34px;padding:0 6px;font-size:12px;display:grid}.pill-select-option:hover,.pill-select-option:focus-visible{background:#f5f5f7;outline:0}.pill-select-option.selected{color:#0866c6;background:#eaf3ff;font-weight:600}.pill-select-option>span:first-child{place-items:center;display:grid}.progress-pill-select .pill-select-menu{width:96px;max-height:218px;padding:6px;left:50%;overflow:hidden auto;transform:translate(-50%)}.progress-pill-select-menu{padding:6px;overflow:hidden auto;transform:none}.progress-pill-select .pill-select-option{border-radius:9px;grid-template-columns:14px minmax(0,1fr) 14px;height:34px;padding:0 4px}.inline-progress.progress-health-neutral .quick-progress{color:#68737d;background:#eef0f2;border-color:#dfe3e7}.inline-progress.progress-health-normal .quick-progress{color:#245c9f;background:#e5f0fb;border-color:#cbdff2}.inline-progress.progress-health-good .quick-progress,.inline-progress.progress-health-done .quick-progress{color:#256944;background:#e2f0e7;border-color:#c8e2d2}.inline-progress.progress-health-warning .quick-progress{color:#a84529;background:#fff0eb;border-color:#f0c3b5}.inline-progress.progress-health-danger .quick-progress{color:#a9363b;background:#fde7e7;border-color:#f3c9cd}.inline-progress.progress-health-neutral .pill-select-option.selected{color:#68737d;background:#eef0f2}.inline-progress.progress-health-good .pill-select-option.selected,.inline-progress.progress-health-done .pill-select-option.selected{color:#256944;background:#e2f0e7}.inline-progress.progress-health-warning .pill-select-option.selected{color:#a84529;background:#fff0eb}.inline-progress.progress-health-danger .pill-select-option.selected{color:#a9363b;background:#fde7e7}.task-table td:nth-child(5),.task-table td:nth-child(6),.task-table td:nth-child(8),.task-table td:nth-child(10){overflow:visible}.gantt-scroll{max-height:calc(100vh - 275px)}.gantt-left-header,.timeline-header{background:#f5f5f7;border-bottom-color:#e5e5ea}.gantt-left-header{border-right-color:#e5e5ea}.gantt-task-cell{background:#fff;border-bottom-color:#f0f0f2;border-right-color:#e5e5ea;height:48px}.timeline-row{border-bottom-color:#f0f0f2;height:48px}.gantt-task-cell:hover,.gantt-task-cell:focus-visible,.gantt-task-cell.details-open{background:#f5f9ff;box-shadow:inset 3px 0 #0071e3}.gantt-bar{height:20px;box-shadow:none;border-radius:999px;top:14px}.segmented-control{background:#e8e8ed;border-radius:999px;padding:3px}.segmented-control button{border-radius:999px}.segmented-control button.active{box-shadow:0 2px 6px #1d1d1f18}.access-panel{border-radius:18px}.access-heading{border-bottom-color:#e5e5ea;min-height:72px;padding:12px 20px}.access-heading h2{font-size:20px}.access-heading span{color:#6e6e73}.access-summary{background:#f5f5f7;border-bottom-color:#e5e5ea;padding:14px 20px}.access-summary>div{border-right-color:#d2d2d7}.access-summary strong{font-size:28px}.access-log-heading{background:#fbfbfd;border-bottom-color:#e5e5ea;min-height:48px;padding:0 20px}.access-log-heading h3{color:#1d1d1f;font-size:13px}.access-event{border-bottom-color:#f0f0f2;min-height:78px}.access-event:hover{background:#fafafa}.device-row,.change-request-row{border-bottom-color:#f0f0f2;min-height:72px}.device-row:hover,.change-request-row:hover{background:#fafafa}.device-status-icon{border-radius:10px}.device-state,.change-request-actions button{border-radius:999px}.drawer-backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1d1d1f4d}.task-drawer{width:min(560px,100vw);box-shadow:-18px 0 50px #1d1d1f25}.drawer-header{border-bottom-color:#e5e5ea;min-height:86px;padding:17px 22px}.drawer-header h2{font-size:22px}.drawer-body{gap:16px;padding:22px}.field input,.field select,.field textarea{border-color:#d2d2d7;border-radius:10px;padding:9px 12px}.field input,.field select{height:42px}.drawer-footer{border-top-color:#e5e5ea;min-height:76px;padding:16px 22px}.login-backdrop{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1d1d1f66}.login-dialog{border:1px solid #e5e5ea;border-radius:18px;box-shadow:0 24px 70px #1d1d1f35}.login-heading{border-bottom-color:#e5e5ea;min-height:82px;padding:16px 20px}.login-mark{border-radius:12px;width:40px;height:40px}.login-heading h2{font-size:19px}.login-dialog form{padding:20px}:root{--motion-fast:.14s;--motion-base:.24s;--motion-smooth:cubic-bezier(.22, 1, .36, 1)}.view-stage{min-width:0;animation:view-stage-in var(--motion-base) var(--motion-smooth) both;transform-origin:50% 0}@keyframes view-stage-in{0%{opacity:0;transform:translateY(7px)scale(.997)}to{opacity:1;transform:translateY(0)scale(1)}}.main-tabs button,.icon-button,.primary-button,.secondary-button,.danger-button,.quick-filters button,.segmented-control button,.clear-filter-button,.pill-select-button{transition:color var(--motion-fast) ease, background-color var(--motion-fast) ease, border-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease, transform var(--motion-fast) var(--motion-smooth)}.main-tabs button:active,.icon-button:active,.primary-button:active,.secondary-button:active,.danger-button:active,.clear-filter-button:active{transform:scale(.97)}.task-table tbody tr>td,.upcoming-row,.owner-row,.category-row,.due-load-item,.access-event,.subitem-row{transition:background-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease, color var(--motion-fast) ease}.overview-progress-track i,.owner-progress i,.category-progress i,.mobile-gantt-track i,.gantt-bar>span{transition:width .36s var(--motion-smooth), background-color var(--motion-base) ease}.drawer-backdrop,.login-backdrop{animation:.18s ease-out both backdrop-in}.task-drawer{animation:drawer-in .3s var(--motion-smooth) both}.login-dialog{animation:dialog-in .26s var(--motion-smooth) both}.toast{animation:toast-in .24s var(--motion-smooth) both}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes drawer-in{0%{opacity:.72;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes dialog-in{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)scale(.98)}to{opacity:1;transform:translate(-50%)scale(1)}}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=1550px){.overview-layout{flex-direction:column;align-items:stretch;gap:12px;display:flex}.overview-column{display:contents}.upcoming-section{order:1}.owner-section{order:2}.workload-section{order:3}.category-section{order:4}}@media (width<=1050px){.app-header{row-gap:8px;height:auto;min-height:72px;padding:10px 18px 0}.main-tabs{background:#ffffffd9;border-top-color:#e5e5ea;height:46px;margin:0 -18px;padding:0 18px}.metric-strip{scrollbar-width:none}.metric-strip::-webkit-scrollbar{display:none}.filter-bar{top:116px}main{padding:16px 18px 36px}.metric-strip{padding:14px 18px}}@media (width>=1051px) and (width<=1450px){.app-header{grid-template-columns:minmax(190px,1fr) auto minmax(0,1fr);gap:12px;height:72px;min-height:72px;padding:0 18px}.brand-block{gap:10px}.brand-mark{border-radius:12px;width:38px;height:38px}.brand-block h1{font-size:18px}.brand-block p{font-size:11px}.main-tabs{gap:2px}.main-tabs button{padding:0 10px}.header-actions{flex-wrap:nowrap;gap:6px;min-width:0}.header-actions .access-badge{padding:0 9px}}@media (width<=680px){.app-header{row-gap:8px;height:auto;padding:9px 12px 0}.brand-mark{border-radius:12px;width:38px;height:38px}.brand-block h1{font-size:17px}.main-tabs{height:44px;margin:0 -12px;padding:0 12px;overflow-x:auto}.main-tabs button{padding:0 11px}.metric-strip{padding:10px 12px}.filter-bar{top:108px}main{padding:12px 10px 28px}.overview-section,.gantt-panel,.task-table-wrap,.access-panel{border-radius:14px}.section-heading,.table-title,.gantt-toolbar,.access-heading,.access-log-heading{padding-left:14px;padding-right:14px}.upcoming-header{display:none}.upcoming-row{grid-template-columns:64px minmax(0,1fr) 96px;gap:7px 10px;min-width:0;min-height:144px;padding:11px 12px}.upcoming-row>.upcoming-cell{height:auto;padding:0}.upcoming-code{text-align:center;grid-area:1/1;justify-content:center;height:28px;padding:0 10px}.upcoming-title{grid-area:1/2/auto/-1;height:auto;min-height:30px;padding:6px 12px}.upcoming-category{text-align:left;grid-area:2/1/auto/3;justify-content:flex-start}.upcoming-owner{text-align:right;grid-area:2/3;justify-content:flex-end}.upcoming-priority-cell{grid-area:3/1;justify-content:flex-start}.upcoming-status-cell{grid-area:3/2;justify-content:flex-start}.overview-date-cell{grid-area:3/3;justify-content:flex-end}.upcoming-progress-cell{grid-area:4/1/auto/-1;justify-content:flex-start}.overview-progress{width:160px}.report-button{border-radius:12px;width:38px;padding:0}.report-button span{display:none}}.task-title-with-subitems{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-width:0;display:grid}.task-title-with-subitems>div{min-width:0}.subitem-expand-button{color:#52606d;cursor:pointer;background:#f2f4f7;border:0;border-radius:50%;place-items:center;width:26px;height:26px;padding:0;transition:background .14s,color .14s;display:grid}.subitem-expand-button:hover,.subitem-expand-button:focus-visible{color:#0866c6;background:#e5eef7;outline:0}.subitem-expand-button svg{transition:transform .14s}.subitem-expand-button.expanded svg{transform:rotate(90deg)}.task-table tr.row-expanded>td{background:#f8fbfe}.task-table .subitem-detail-row>td{white-space:normal;text-align:left;text-overflow:clip;background:#f8fbfe;height:auto;padding:0;overflow:visible}.task-table .subitem-detail-row:hover>td{background:#f8fbfe}.subitem-panel{width:100%;box-shadow:none;background:#fff;border:0;border-bottom:1px solid #dfe7ee;border-radius:0;margin:0;overflow:hidden}.subitem-panel-heading{background:#f8fbfe;border-bottom:1px solid #e8edf1;justify-content:space-between;align-items:center;gap:16px;min-height:54px;padding:9px 18px;display:flex}.subitem-panel-heading>div{gap:3px;display:grid}.subitem-panel-heading strong{color:#1d1d1f;font-size:14px}.subitem-panel-heading span{color:#6e6e73;font-size:11px}.subitem-panel-heading>b{color:#356779;white-space:nowrap;background:#edf4f7;border-radius:999px;justify-content:center;align-items:center;min-width:88px;height:28px;padding:0 10px;font-size:11px;display:inline-flex}.subitem-scroll-shell{position:relative}.subitem-list{overscroll-behavior:contain;scrollbar-width:none;max-height:366px;overflow:hidden auto}.subitem-list::-webkit-scrollbar{width:0;height:0}.subitem-scrollbar{z-index:4;visibility:hidden;opacity:0;pointer-events:none;width:8px;transition:opacity .22s,visibility 0s linear .22s;position:absolute;inset:0 3px 0 auto}.subitem-scrollbar.visible{visibility:visible;opacity:1;transition-delay:0s}.subitem-scrollbar>i{background:#8e8e93cc;border-radius:999px;width:6px;transition:height .16s;position:absolute;left:1px}.subitem-row{grid-template-columns:74fr 360fr 104fr 126fr 120fr 92fr 118fr 104fr 154fr 110fr 66fr;align-items:center;min-width:1440px;padding:0;display:grid}.subitem-row>span,.subitem-row>.subitem-title,.subitem-row>label,.subitem-row>.pill-select,.subitem-row>input{justify-self:center;min-width:0}.subitem-title{box-sizing:border-box;text-align:left;gap:2px;width:100%;padding:0 8px;display:grid;justify-self:stretch!important}.subitem-title strong{color:#344054;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.subitem-title small{color:#7a828a;white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.subitem-row{border-bottom:1px solid #f0f0f2;min-height:50px}.subitem-row:last-child{border-bottom:0}.subitem-row:hover{background:#fafcfd}.subitem-code{color:#557084;font-variant-numeric:tabular-nums;font-size:11px;font-weight:700}.subitem-row .status-pill-select,.subitem-row .status-pill{width:88px;min-width:88px}.subitem-row .owner-pill{max-width:92px}.subitem-row .category-pill{max-width:116px}.subitem-row .priority-pill-select,.subitem-row .priority-pill{width:64px;min-width:64px}.subitem-row .risk-pill-select,.subitem-row .risk-badge,.subitem-row .risk-empty{width:82px;min-width:82px}.subitem-row .progress-pill-select{width:68px}.subitem-edit-button{opacity:.35}.subitem-row:hover .subitem-edit-button,.subitem-edit-button:focus-visible{opacity:1}.subitem-progress-value{text-align:center;color:#52606d;font-variant-numeric:tabular-nums;width:68px;font-size:11px}.subitem-workload{color:#52606d;background:#eef3f6;border:1px solid #dce5eb;border-radius:999px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px;width:96px;height:30px;padding:0 8px;display:grid}.subitem-workload input{color:#344f63;text-align:right;background:0 0;border:0;outline:0;width:48px;min-width:0;padding:0;font-size:11px;font-weight:700}.subitem-workload span{white-space:nowrap;font-size:10px}.subitem-workload-value{color:#465b6d;background:#eef3f6;border:1px solid #dde5eb;border-radius:999px;justify-content:center;align-items:center;width:fit-content;min-width:74px;height:28px;padding:0 9px;font-size:11px;font-weight:700;display:inline-flex}.subitem-date-input,.subitem-date-value{box-sizing:border-box;color:#356779;text-align:center;background:#edf5f8;border:1px solid #cfe0e8;border-radius:999px;width:132px;height:30px;font-size:11px;font-weight:700}.subitem-date-input{outline:0;padding:0 8px}.subitem-date-input:focus{border-color:#8bb9cc;box-shadow:0 0 0 3px #dceef5}.subitem-date-value{justify-content:center;align-items:center;display:inline-flex}.derived-progress{font-variant-numeric:tabular-nums;cursor:default;justify-content:center;align-items:center;min-width:68px;font-weight:700;display:inline-flex}.subitem-template-control{background:#fbfbfd;border:1px solid #d2d2d7;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;min-height:52px;padding:7px 8px 7px 10px;display:flex}.subitem-template-control .segmented-control{flex:none}.subitem-template-control .segmented-control button{min-width:58px;padding:0 12px}.subitem-template-control>strong{color:#344054;font-size:12px}.subitem-template-control>span{color:#6e6e73;text-align:right;font-size:11px}@media (width<=680px){.subitem-row,.subitem-panel-heading{min-width:1440px}.subitem-template-control{flex-direction:column;align-items:stretch}.subitem-template-control>span{text-align:left}.app-shell{min-height:100dvh;padding-bottom:env(safe-area-inset-bottom,0px);overflow-x:clip}.app-header{grid-template-columns:minmax(0,1fr) auto;column-gap:8px}.brand-block{gap:9px}.brand-block>div{min-width:0}.brand-block h1{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.header-actions{gap:6px}.header-actions .primary-button{padding-inline:12px}.main-tabs{overscroll-behavior-x:contain;scrollbar-width:none;justify-content:flex-start}.main-tabs::-webkit-scrollbar{display:none}.main-tabs button{flex:none}.metric-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;display:grid;overflow:visible}.metric-strip>button{border-radius:12px;width:100%;min-width:0;min-height:66px;padding:8px 6px}.metric-strip span{font-size:11px}.metric-strip strong{font-size:20px}main{width:100%;min-width:0;padding:12px 10px calc(112px + env(safe-area-inset-bottom,0px))}.overview-layout,.overview-column,.overview-section,.gantt-panel,.task-table-wrap,.access-panel{min-width:0;max-width:100%}.section-heading{gap:12px;height:auto;min-height:64px;padding-block:11px}.section-heading h2{font-size:17px}.section-heading p{line-height:1.45}.upcoming-row{grid-template-columns:46px minmax(0,1fr) auto;gap:10px 8px;min-height:0;padding:14px 14px 13px}.upcoming-row>.upcoming-cell{min-width:0}.upcoming-code{color:#465b6d;background:#f1f5f7;border-radius:999px;grid-area:1/1;align-self:start;min-height:30px}.upcoming-title{text-align:left;grid-area:1/2/auto/-1;justify-content:flex-start;min-height:30px;padding:4px 0;font-size:14px;font-weight:650;line-height:1.45}.upcoming-category{grid-area:2/1/auto/3;justify-content:flex-start}.upcoming-category .category-pill{margin-inline:0}.upcoming-owner{grid-area:2/3;justify-content:flex-end}.upcoming-owner .owner-pill{margin-inline:0}.upcoming-priority-cell{grid-area:3/1;justify-content:flex-start}.upcoming-status-cell{grid-area:3/2;justify-content:flex-start}.overview-date-cell{grid-area:3/3;justify-content:flex-end}.upcoming-progress-cell{grid-area:4/1/auto/-1;justify-content:stretch;padding-top:2px!important}.overview-progress{grid-template-columns:minmax(0,1fr) 42px;gap:10px;width:100%;padding:0 4px}.overview-date{min-width:88px;padding-inline:10px}.owner-list{padding-inline:14px}.owner-row{grid-template-columns:minmax(0,1fr) auto;justify-content:stretch;gap:10px;width:100%}.owner-identity{justify-self:stretch;width:100%}.owner-metrics{gap:7px}.owner-progress>div{width:42px}.status-panel{margin-inline:14px}.category-list,.due-load-list{padding-inline:14px}.category-row{grid-template-columns:minmax(0,1fr) minmax(80px,.9fr) 36px;gap:8px}.filter-bar{max-width:100%}.filter-primary{min-width:0}.filter-secondary{max-width:100%}.quick-filters{scrollbar-width:none;width:100%;overflow-x:auto}.quick-filters::-webkit-scrollbar{display:none}.quick-filters button{flex:1 0 auto}.task-table-wrap,.gantt-panel{overflow:hidden}.task-table-scroll,.gantt-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;max-width:100%}.task-table-scroll{max-height:calc(100dvh - 280px)}.gantt-scroll{max-height:calc(100dvh - 310px)}.gantt-toolbar,.table-title{height:auto;min-height:60px}.gantt-toolbar{flex-wrap:wrap}.timeline-tools{margin-left:auto}.access-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:8px}.access-summary>div{border-bottom:1px solid #e5e5ea;min-width:0;padding:9px 10px}.access-summary>div:nth-child(2n){border-right:0}.access-summary>div:nth-last-child(-n+2){border-bottom:0}.access-event{grid-template-columns:82px minmax(0,1fr);align-items:start}.access-event>:last-child{grid-column:2;justify-self:start}.drawer-body{padding:16px 14px}.drawer-footer{padding:12px 14px calc(12px + env(safe-area-inset-bottom,0px))}.toast{bottom:calc(84px + env(safe-area-inset-bottom,0px))}.reset-button{bottom:calc(82px + env(safe-area-inset-bottom,0px))}}@media (width<=390px){.brand-block h1{font-size:15px}.brand-mark{width:36px;height:36px}.header-actions .primary-button,.main-tabs button{padding-inline:10px}.owner-progress>div{display:none}.owner-name span{font-size:10px}}@media (width<=680px){.upcoming-row{grid-template-rows:auto auto;grid-template-columns:46px minmax(0,1fr) auto;gap:8px 10px;min-height:88px;padding-block:12px}.upcoming-title{grid-area:1/2/auto/-1}.upcoming-owner{grid-area:2/2;justify-content:flex-start}.overview-date-cell{grid-area:2/3;justify-content:flex-end}.upcoming-category,.upcoming-priority-cell,.upcoming-status-cell,.upcoming-progress-cell{display:none!important}.overview-date:before{content:"计划 ";font-weight:500}.owner-row{grid-template-columns:minmax(0,1fr) auto}.owner-progress>div,.open-count{display:none}.owner-load-pill{min-width:52px}.task-table-scroll{overscroll-behavior-y:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:none;height:clamp(360px,60dvh,620px);max-height:calc(100dvh - 260px);overflow:hidden auto}.task-table-scroll::-webkit-scrollbar{width:0;height:0}.task-table{table-layout:auto;min-width:0;display:block}.task-table thead{display:none}.task-table tbody{display:block}.task-table tbody>tr:not(.subitem-detail-row){border-bottom:1px solid #eceff2;grid-template-rows:auto auto;grid-template-columns:48px minmax(0,1fr) auto 42px;align-items:center;gap:7px 8px;min-height:96px;padding:12px 10px;display:grid}.task-table tbody>tr:not(.subitem-detail-row)>td{text-align:left;background:0 0;border:0;width:auto;min-width:0;max-width:none;height:auto;padding:0;display:none}.task-table tbody>tr:not(.subitem-detail-row)>.task-code,.task-table tbody>tr:not(.subitem-detail-row)>.task-title-cell,.task-table tbody>tr:not(.subitem-detail-row)>.task-owner-cell,.task-table tbody>tr:not(.subitem-detail-row)>.date-cell,.task-table tbody>tr:not(.subitem-detail-row)>.task-action-cell{display:block}.task-table tbody>tr:not(.subitem-detail-row)>.task-code{text-align:center;grid-area:1/1/3;align-self:start;padding-top:5px}.task-table tbody>tr:not(.subitem-detail-row)>.task-title-cell{grid-area:1/2/auto/-1}.task-table tbody>tr:not(.subitem-detail-row)>.task-owner-cell{grid-area:2/2}.task-table tbody>tr:not(.subitem-detail-row)>.date-cell{grid-area:2/3}.task-table tbody>tr:not(.subitem-detail-row)>.task-action-cell{grid-area:2/4}.task-table .task-title-with-subitems{align-items:flex-start}.task-table .task-title-with-subitems strong{white-space:normal;text-overflow:clip;line-height:1.35;overflow:visible}.task-table .task-title-with-subitems small{white-space:normal;line-height:1.35}.task-table .date-cell>span{min-width:96px}.task-table .task-action-cell .icon-button{opacity:.55}.task-table .subitem-detail-row{border-bottom:1px solid #e5e9ed;display:block}.task-table .subitem-detail-row>td{width:100%;display:block}.subitem-panel-heading,.subitem-row{min-width:0}.subitem-panel-heading{padding:10px 12px}.subitem-panel-heading>div span{display:none}.subitem-list{max-height:min(420px,58dvh)}.subitem-row{grid-template-rows:auto auto;grid-template-columns:42px minmax(0,1fr) auto 38px;gap:6px 8px;min-height:88px;padding:10px 8px}.subitem-row>*{display:none}.subitem-row>:first-child,.subitem-row>:nth-child(2),.subitem-row>:nth-child(3),.subitem-row>:nth-child(9),.subitem-row>:nth-child(11){display:flex}.subitem-row>:first-child{grid-area:1/1/3;align-self:start;padding-top:5px}.subitem-row>:nth-child(2){grid-area:1/2/auto/-1}.subitem-row>:nth-child(3){grid-area:2/2;justify-self:start}.subitem-row>:nth-child(9){grid-area:2/3}.subitem-row>:nth-child(11){grid-area:2/4}.subitem-title strong,.subitem-title small{white-space:normal;text-overflow:clip;line-height:1.35;overflow:visible}.subitem-date-input,.subitem-date-value{width:122px}.gantt-toolbar{align-items:center;padding:10px 12px}.gantt-toolbar h2{font-size:16px}.timeline-tools,.gantt-scroll,.desktop-label{display:none}.mobile-label{display:block}.mobile-gantt-list{overscroll-behavior-y:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:none;contain:layout paint;height:clamp(380px,66dvh,680px);min-height:380px;max-height:calc(100dvh - 225px);display:block;overflow:hidden auto}.mobile-gantt-list::-webkit-scrollbar{display:none}.mobile-gantt-item{color:#1d1d1f;text-align:left;background:#fff;border:0;border-bottom:1px solid #eceff2;border-radius:0;grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;width:100%;min-height:112px;padding:14px;transition:background .16s;display:grid}.mobile-gantt-item.details-open{background:#f5f9fc}.mobile-gantt-heading{grid-column:1/-1;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:8px;display:grid}.mobile-gantt-heading>b{color:#36596b;font-variant-numeric:tabular-nums;background:#f2f7fa;border:1px solid #d9e4ea;border-radius:13px;justify-content:center;align-items:center;min-width:38px;height:26px;padding:0 8px;font-size:12px;display:inline-flex}.mobile-gantt-heading>strong{overflow-wrap:anywhere;min-width:0;font-size:15px;line-height:1.45}.mobile-gantt-heading>svg{color:#c33f45;margin-top:4px}.mobile-gantt-meta{grid-area:2/1/auto/-1;align-items:center;gap:8px;min-width:0;display:flex}.mobile-gantt-meta .owner-pill{max-width:120px}.mobile-gantt-due{color:#36596b;white-space:nowrap;background:#f2f7fa;border:1px solid #d9e4ea;border-radius:15px;align-items:center;gap:5px;min-height:30px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.mobile-gantt-due.overdue{color:#b4232c;background:#fff1f2;border-color:#f0c7ca}.mobile-gantt-schedule{color:#6e7781;font-variant-numeric:tabular-nums;white-space:nowrap;grid-template-columns:auto minmax(24px,1fr) auto;align-items:center;gap:7px;font-size:11px;display:none}.mobile-gantt-schedule i{background:#cbd5dc;height:1px}.mobile-gantt-progress-row{grid-area:3/1/auto/-1;grid-template-columns:minmax(0,1fr) 38px;align-items:center;gap:10px;display:grid}.mobile-gantt-track{background:#e5edf2;border-radius:3px;height:6px;overflow:hidden}.mobile-gantt-track i{border-radius:inherit;background:#367fc4;height:100%;display:block}.mobile-gantt-item.done .mobile-gantt-track i{background:#2c8b62}.mobile-gantt-item.danger .mobile-gantt-track i{background:#d24149}.mobile-gantt-progress-row>b{color:#36596b;text-align:right;font-size:12px}.mobile-gantt-item.done .mobile-gantt-progress-row>b{color:#27724f}.mobile-gantt-item.danger .mobile-gantt-progress-row>b{color:#b4232c}.mobile-gantt-empty{color:#86868b;text-align:center;padding:72px 20px}.gantt-legend{display:none}}.app-header{grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:20px;height:72px;min-height:72px;padding:0 32px}.app-header .brand-block{flex-shrink:0;grid-area:1/1}.app-header .main-tabs{border-top:0;grid-area:1/2;justify-content:center;gap:4px;min-width:0;height:38px;margin:0;padding:0}.app-header .header-actions{flex-wrap:nowrap;grid-area:1/3;justify-content:flex-end;align-items:center;gap:8px;min-width:0;max-width:100%}.header-actions>*,.header-actions button,.header-actions button svg{flex-shrink:0}.header-actions button{white-space:nowrap}.header-create-actions{flex-wrap:nowrap;align-items:center;gap:8px;display:flex}.header-actions .access-badge{text-overflow:ellipsis;max-width:100%;display:inline-flex;overflow:hidden}.filter-bar{top:var(--app-header-height,72px)}@media (width>=1400px) and (width<=1620px){.app-header{gap:12px;padding:0 20px}.brand-block h1{font-size:18px}.brand-block p{font-size:11px}.app-header .main-tabs button{padding:0 11px;font-size:12.5px}.app-header .header-actions,.header-create-actions{gap:6px}.header-actions .primary-button,.header-actions .secondary-button{gap:5px;height:36px;padding:0 11px;font-size:12.5px}.header-actions .icon-button{width:36px;height:36px}.header-actions .access-badge{height:32px;padding:0 9px;font-size:11px}}@media (width<=1399px){.app-header{grid-template-columns:auto minmax(0,1fr);gap:8px 16px;height:auto;padding:10px 18px}.app-header .brand-block{grid-area:1/1}.app-header .main-tabs{grid-area:1/2;justify-content:flex-end}.app-header .header-actions{flex-wrap:wrap;grid-area:2/1/auto/-1;justify-content:flex-start;gap:6px}.header-create-actions{flex-wrap:wrap;gap:6px;margin-left:auto}}@media (width<=680px){.app-header{grid-template-columns:minmax(0,1fr);gap:8px;padding:10px 12px}.app-header .brand-block{grid-area:1/1}.app-header .main-tabs{grid-area:2/1;justify-content:flex-start;height:42px}.app-header .header-actions{grid-area:3/1;justify-content:flex-start;gap:8px}.header-actions .icon-button{display:inline-grid}.header-actions .report-button{width:38px;padding:0}.header-actions .report-button span{display:none}.header-actions .header-create-actions{flex:0 0 100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0;margin-left:0;display:grid}.header-create-actions button{width:100%;min-width:0;height:42px;padding-inline:10px}}.brand-subtitle-sync{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;display:inline-flex}.brand-subtitle-sync:hover{color:#0071e3}.sync-dot{border-radius:999px;flex-shrink:0;width:8px;height:8px;display:inline-block}.sync-dot.synced{background:#28a745;box-shadow:0 0 0 2px #28a74526}.sync-dot.syncing{background:#0071e3;box-shadow:0 0 0 2px #0071e326}.sync-dot.pending{background:#f59e0b;box-shadow:0 0 0 2px #f59e0b26}.sync-dot.offline{background:#d97706;box-shadow:0 0 0 2px #d9770626}.ai-header-button{color:#0071e3;background:#eaf3ff;border-color:#b8d8ff}.ai-header-button:hover{background:#d8ebff}.ai-prompt-form{flex-direction:column;gap:12px;display:flex}.ai-prompt-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.ai-example-chips{flex-wrap:wrap;gap:6px;display:flex}.ai-example-chips button{color:#495460;cursor:pointer;background:#f5f5f7;border:1px solid #d5dbe1;border-radius:999px;height:28px;padding:0 10px;font-size:12px}.ai-example-chips button:hover{color:#1d1d1f;background:#e8ecf0}.ai-preview-card{background:#f7fbff;border:1px solid #cbe0fa;border-radius:12px;margin-top:14px;padding:14px 16px}.ai-preview-header{border-bottom:1px solid #dde9f8;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:10px;display:flex}.ai-intent-pill{border-radius:999px;padding:3px 9px;font-size:11px;font-weight:700}.ai-intent-pill.create{color:#1c7c4d;background:#e1f5ea}.ai-intent-pill.update{color:#0062cc;background:#e3f0ff}.ai-preview-grid{gap:8px;margin:0;display:grid}.ai-preview-grid>div{grid-template-columns:92px minmax(0,1fr);gap:10px;font-size:13px;display:grid}.ai-preview-grid dt{color:#6e6e73;font-weight:600}.ai-preview-grid dd{color:#1d1d1f;margin:0;font-weight:500}.desktop-widget-shell{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff5;border:1px solid #d5dbe1;border-radius:14px;flex-direction:column;width:100%;max-width:440px;min-height:100vh;margin:0 auto;display:flex;overflow:hidden;box-shadow:0 14px 36px #0f172a24}.desktop-widget-header{cursor:move;background:#f5f5f7;border-bottom:1px solid #e5e5ea;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.desktop-widget-brand{color:#1d1d1f;align-items:center;gap:7px;font-size:13px;display:flex}.widget-count{color:#495460;background:#e8ecf2;border-radius:999px;padding:2px 7px;font-size:11px;font-weight:600}.desktop-widget-controls{align-items:center;gap:5px;display:flex}.widget-owner-select{color:#1d1d1f;background:#fff;border:1px solid #d2d2d7;border-radius:6px;height:26px;padding:0 6px;font-size:11px}.widget-opacity-slider{accent-color:#0071e3;width:48px}.widget-icon-btn{color:#515158;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;place-items:center;width:26px;height:26px;display:inline-grid}.widget-icon-btn:hover{color:#1d1d1f;background:#e5e5ea}.widget-icon-btn.active{color:#0071e3;background:#e3f0ff;border-color:#b8d8ff}.desktop-widget-quickadd{background:#fafafc;border-bottom:1px solid #ececf0;grid-template-columns:minmax(0,1fr) 32px 32px;gap:6px;padding:8px 12px;display:grid}.desktop-widget-quickadd input{background:#fff;border:1px solid #d2d2d7;border-radius:8px;height:32px;padding:0 10px;font-size:12.5px}.desktop-widget-quickadd button{color:#1d1d1f;cursor:pointer;background:#fff;border:1px solid #d2d2d7;border-radius:8px;place-items:center;height:32px;display:grid}.desktop-widget-quickadd .widget-ai-btn{color:#0071e3;background:#eaf3ff;border-color:#b8d8ff}.desktop-widget-list{flex-direction:column;flex:1;gap:7px;padding:8px 10px;display:flex;overflow-y:auto}.desktop-widget-empty{text-align:center;color:#86868b;padding:40px 16px;font-size:13px}.desktop-widget-item{background:#fff;border:1px solid #e5e5ea;border-radius:10px;grid-template-columns:26px minmax(0,1fr);align-items:start;gap:9px;padding:9px 10px;display:grid}.desktop-widget-item.priority-高{border-left:3px solid #d9383a}.desktop-widget-item.priority-中{border-left:3px solid #0071e3}.widget-check-btn{color:#0000;cursor:pointer;background:#f8f9fa;border:1.5px solid #b8bec4;border-radius:6px;place-items:center;width:22px;height:22px;margin-top:2px;display:grid}.widget-check-btn:hover:not(:disabled){color:#28a745;background:#e6f7ec;border-color:#28a745}.widget-item-body{flex-direction:column;gap:4px;min-width:0;display:flex}.widget-item-top{align-items:center;gap:5px;min-width:0;display:flex}.widget-item-code{color:#6e6e73;flex-shrink:0;font-size:11px;font-weight:700}.widget-temp-tag{color:#996500;background:#fff3cd;border-radius:4px;flex-shrink:0;padding:1px 5px;font-size:10px;font-weight:600}.widget-item-title{color:#1d1d1f;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.widget-item-meta{color:#6e6e73;align-items:center;gap:5px;font-size:11px;display:flex}.widget-item-meta b{color:#0071e3;margin-left:auto}.widget-progress-slider{accent-color:#0071e3;cursor:pointer;width:100%;height:4px}
