:root{--ink:#12233a;--muted:#68798e;--line:#dfe7f0;--surface:#fff;--canvas:#f4f7fb;--blue:#2467e8;--blue-soft:#eaf2ff;--green:#148363;--green-soft:#e4f5ef;--amber:#b16e00;--amber-soft:#fff2d8;--red:#c43f3f;--red-soft:#ffeded;--nav:#0b2037;--btn-h-sm:28px;--btn-h-md:32px;--btn-h-lg:36px;--btn-radius:8px;--gap-1:4px;--gap-2:8px;--gap-3:12px;--gap-4:16px;--gap-6:24px;--fs-meta:12px;--fs-label:13px;--fs-body:14px;--fs-title:15px;--fs-page:18px;--lh-text:1.55;--danger:#dc2626;--danger-strong:#b91c1c}.nav-group{flex-direction:column;gap:4px;margin-bottom:14px;display:flex}.profile-area{margin-top:auto;position:relative}.sidebar .profile{color:#fff;text-align:left;background:0 0;border:0;border-top:1px solid #ffffff20;border-radius:0;width:100%;display:flex}.profile-menu{z-index:60;background:#17334e;border:1px solid #ffffff20;border-radius:12px;gap:4px;margin:0;padding:8px;display:grid;position:absolute;bottom:calc(100% + 8px);left:12px;right:12px;box-shadow:0 14px 34px #08142280}.profile-menu button{text-align:left;color:#fff;background:0 0;border:0;border-radius:8px;padding:12px}.profile-menu button:hover{background:#254966}.admin-tabs,.tabs{margin-bottom:var(--gap-4);border:1px solid var(--line);background:#edf1f6;border-radius:12px;flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}.admin-tabs button,.tabs button{color:#5b6f88;min-height:var(--btn-h-lg);white-space:nowrap;background:0 0;border:0;border-radius:9px;padding:8px 16px;font-weight:600}.admin-tabs button:hover,.tabs button:hover{background:var(--line);color:#1d4ed8}.admin-tabs button.active,.admin-tabs button[aria-pressed=true],.tabs button.active,.tabs button[aria-pressed=true]{color:#1d4ed8;background:#fff;box-shadow:0 1px 3px #10274324}.panel-lead{color:#33415c;margin:0 0 8px;font-size:14px}.panel-lead.muted{color:var(--muted);font-size:13px}.panel-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.card-stack{flex-direction:column;gap:16px;display:flex}.card{background:#fff;border:1px solid #dce5ef;border-radius:16px;padding:16px 20px;box-shadow:0 1px 2px #1027430a}.panel-lead-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.panel-lead-row .panel-lead{max-width:78%;margin:0}.block-head{align-items:baseline;gap:8px;margin-bottom:12px;display:flex}.block-head strong{color:#24476e;font-size:15px;font-weight:700}.block-head small{color:#8697aa;font-size:12px}.filter-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.filter-actions{flex-wrap:wrap;gap:8px;display:flex}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;margin:16px 0 4px;display:grid}.settings-grid label{color:#5b6f88;gap:8px;font-size:13px;font-weight:600;display:grid}.settings-grid input{width:100%}@media (max-width:640px){.settings-grid{grid-template-columns:minmax(0,1fr)}}.switch-list{border-top:1px solid var(--line);margin:16px 0 4px}.switch-list .switch-field{border-bottom:1px solid var(--line);padding:12px 2px}.switch-list .switch-field:first-child{background:#f6f9fc;border-radius:10px;margin:6px 0;padding:12px}.switch-list .switch-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.switch-list .switch-row input{opacity:0;width:1px;height:1px;margin:0;position:absolute}.switch-list .switch-label{color:#24476e;grid-area:1/1;font-size:14px;font-weight:600}.switch-list .switch-track{grid-area:1/2}.switch-list .switch-hint{margin:5px 0 0}.content>.page-stack,.content>.settings-panel{width:100%;max-width:none}.upload-list{gap:8px;padding:0;list-style:none;display:grid}.upload-list li{border:1px solid var(--line);overflow-wrap:anywhere;border-radius:10px;padding:12px}.upload-list progress{width:100%;margin:8px 0;display:block}.upload-list button{margin:8px 8px 0 0}.upload-list small{color:var(--muted);display:block}.task-schedule{color:var(--muted);grid-column:1;font-size:14px}.task-schedule>div{flex-wrap:wrap;align-items:center;gap:12px;display:flex}@media (max-width:850px){.sidebar .nav-group{display:contents}.sidebar .profile-area{margin:0 8px 8px}.sidebar .profile{min-height:48px;padding:8px}.profile-menu{margin:8px 0}.admin-tabs{gap:6px}.admin-tabs button{flex:1 0 auto;font-size:14px}.sidebar .nav-label{display:none}}*{box-sizing:border-box}html{background:var(--canvas)}body{background:var(--canvas);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Noto Sans SC,Microsoft YaHei,system-ui,-apple-system,sans-serif;font-size:17px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #2467e833}.shell{grid-template-columns:250px minmax(0,1fr);min-height:100svh;display:grid}.sidebar{background:var(--nav);color:#fff;flex-direction:column;height:100svh;display:flex;position:sticky;top:0;overflow:auto}.brand{border-bottom:1px solid #ffffff17;align-items:center;gap:12px;min-height:86px;padding:16px 24px;display:flex}.brand-mark{background:linear-gradient(145deg,#2470ee,#6aa5ff);border-radius:12px;place-items:center;width:42px;height:42px;font-weight:900;display:grid;box-shadow:0 8px 22px #1e68e659}.brand>span:last-child{flex-direction:column;gap:4px;display:flex}.brand strong{letter-spacing:.09em;font-size:17px}.brand small{color:#9bb3c8;font-size:14px}.sidebar nav{flex-direction:column;gap:4px;padding:24px 16px;display:flex}.nav-label{color:#7995ae;letter-spacing:.11em;margin:0 8px 8px;font-size:14px;font-weight:800}.sidebar nav button{color:#bed0df;text-align:left;background:0 0;border:0;border-radius:10px;justify-content:space-between;align-items:center;min-height:45px;padding:0 16px;font-weight:700;display:flex}.sidebar nav button:hover{color:#fff;background:#143653}.sidebar nav button.active{color:#fff;background:linear-gradient(90deg,#205fd0,#2d78ed);box-shadow:0 8px 20px #1a60d640}.sidebar nav b{background:#ffffff1f;border-radius:99px;place-items:center;min-width:22px;min-height:22px;padding:0 8px;font-size:14px;display:grid}.focus-card{background:linear-gradient(145deg,#ffffff17,#ffffff09);border:1px solid #ffffff1c;border-radius:14px;flex-direction:column;gap:8px;margin:auto 16px 16px;padding:16px;display:flex}.focus-card small{color:#8cacc7;letter-spacing:.06em;font-size:14px;font-weight:800}.focus-card strong{text-overflow:ellipsis;white-space:nowrap;font-size:16px;overflow:hidden}.focus-card>span{color:#a9bfd2;font-size:15px}.focus-card .progress{background:#ffffff24}.focus-card button{color:#dcecff;background:0 0;border:0;align-self:flex-start;padding:4px 0;font-size:15px;font-weight:800}.profile{border-top:1px solid #ffffff14;align-items:center;gap:8px;min-height:68px;padding:12px 16px;display:flex}.profile>span:last-child{flex-direction:column;gap:4px;min-width:0;display:flex}.profile strong{font-size:14px}.profile small{color:#8ca5ba;text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.avatar{color:#16785a;background:#e7f5ef;border-radius:10px;flex:none;place-items:center;width:34px;height:34px;font-size:14px;font-weight:900;display:inline-grid}.avatar.pale{color:#235fc3;background:#e9f1ff}.main{min-width:0}.topbar{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;border-bottom:1px solid #d1dde9e6;justify-content:space-between;align-items:center;min-height:86px;padding:16px 28px;display:flex;position:sticky;top:0}.topbar>div:first-child{flex-direction:column;gap:4px;display:flex}.topbar small{color:#7b8a9d;letter-spacing:.1em;font-size:14px;font-weight:800}.topbar h1{letter-spacing:-.02em;margin:0;font-size:25px}.identity{align-items:center;gap:8px;display:flex}.identity label{color:#77879a;font-size:15px;font-weight:700}.identity select{border:1px solid var(--line);color:#30445d;background:#fff;border-radius:9px;max-width:230px;height:38px;padding:0 32px 0 12px;font-size:14px;font-weight:700}.connection{color:#35715f;background:#f5fbf8;border:1px solid #dce8e4;border-radius:9px;align-items:center;gap:8px;height:34px;padding:0 8px;font-size:14px;font-weight:800;display:flex}.connection i{background:#20a879;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #20a8791a}.content{width:100%;max-width:1650px;margin:0 auto;padding:24px 28px 48px}.page-stack{flex-direction:column;gap:16px;min-width:0;display:flex}.narrow{width:100%;max-width:none;margin:0}.notice{z-index:50;color:#176e53;background:#eaf8f2;border:1px solid #bfe6d7;border-radius:11px;max-width:420px;padding:12px 16px;font-weight:700;position:fixed;top:98px;right:28px;box-shadow:0 12px 32px #19503e26}.error-banner{color:#9d3333;background:#fff1f1;border:1px solid #f2caca;border-radius:11px;justify-content:space-between;align-items:center;gap:16px;margin:16px 28px 0;padding:12px 16px;display:flex}.error-banner button{color:#993434;background:#fff;border:1px solid #e0a4a4;border-radius:7px;flex:none;padding:8px 12px;font-weight:700}.loading{color:#64768b;place-items:center;min-height:48vh;font-weight:700;display:grid}.section-heading{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.section-heading h2{letter-spacing:-.02em;margin:0;font-size:26px}.section-heading p{color:var(--muted);margin:8px 0 0;font-size:14px}.section-heading>span{color:#5d6f83;background:#fff;border:1px solid #dce5ef;border-radius:8px;padding:8px 12px;font-size:15px;font-weight:700}.list-toolbar{border:1px solid var(--line);background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.list-toolbar>input{border:1px solid var(--line);width:min(430px,48%);height:40px;color:var(--ink);border-radius:9px;padding:0 12px}.list-toolbar>input::placeholder{color:#96a4b3}.filters{background:#f3f6f9;border-radius:9px;gap:4px;padding:4px;display:flex}.filters button{min-height:var(--btn-h-sm);color:#66778b;background:0 0;border:0;border-radius:7px;padding:0 12px;font-size:15px;font-weight:700}.filters button.active{color:var(--blue);background:#fff;box-shadow:0 2px 7px #1233581a}.project-list{border:1px solid var(--line);background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 8px 24px #1027430b}.project-row{width:100%;min-height:108px;color:inherit;text-align:left;background:#fff;border:0;border-bottom:1px solid #e6edf4;grid-template-columns:minmax(220px,2fr) minmax(80px,.62fr) minmax(72px,.56fr) minmax(90px,.72fr) minmax(110px,.84fr) minmax(80px,.62fr) minmax(96px,.78fr) minmax(88px,.74fr) minmax(102px,.82fr) minmax(96px,.78fr);align-items:center;gap:16px;padding:16px 20px;transition:background .15s,transform .15s;display:grid}.project-row:last-child{border-bottom:0}.project-row.project-head{color:#4a5d73;letter-spacing:.04em;cursor:default;background:#eef3f9;border-bottom:1px solid #dfe8f1;align-content:center;min-height:0;padding:12px 16px;font-size:12.5px;font-weight:800}.project-row.project-head:hover{box-shadow:none;background:#eef3f9}.project-row.project-head>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.project-row.project-head>.project-identity{align-items:center}.project-row:hover{z-index:1;box-shadow:inset 3px 0 var(--blue);background:#f8fbff;position:relative}.project-identity{align-items:flex-start;gap:12px;min-width:0;display:flex}.project-identity>span:last-child{flex-direction:column;gap:4px;min-width:0;display:flex}.project-identity small{color:#6b7c90;letter-spacing:.05em;font-size:14px;font-weight:800}.project-identity strong{color:#14253c;text-overflow:ellipsis;white-space:nowrap;font-size:17px;overflow:hidden}.project-identity em{color:#7b8b9e;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-style:normal;overflow:hidden}.health{background:#21a97b;border-radius:50%;flex:none;width:9px;height:9px;margin-top:4px;box-shadow:0 0 0 4px #21a97b1a}.health.risk{background:#d54a4a;box-shadow:0 0 0 4px #d54a4a1a}.health.done{background:#718298;box-shadow:0 0 0 4px #7182981a}.project-owner,.project-stage,.project-delivery,.project-factory,.project-coordinator,.project-created,.project-delivery-production{flex-direction:column;gap:4px;min-width:0;display:flex}.project-factory strong,.project-coordinator strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-row strong.muted-value{color:#9aa8b8;font-weight:600}.task-card h4 .kind-tag{color:#2f5d95;vertical-align:middle;background:#eaf1fa;border-radius:6px;margin-left:8px;padding:2px 8px;font-size:11.5px;font-weight:700}.hero-copy b.is-overdue{color:#c0392b}.hero-copy b.muted-value{color:#9aa8b8;font-weight:600}.project-delivery-production strong.is-overdue{color:#c0392b}.project-delivery-production .overdue-tag{color:#c0392b;background:#fdeceb;border-radius:5px;margin-left:4px;padding:1px 4px;font-size:11px;font-style:normal;font-weight:700}.production-summary dd.is-overdue{color:#c0392b;font-weight:700}.project-row small{color:#8291a3;font-size:14px}.project-row strong{color:#31445c;font-size:14px}.project-row small{display:none}.project-identity small{display:block}.project-progress{flex-direction:column;gap:8px;display:flex}.project-progress>span{justify-content:space-between;align-items:center;display:flex}.project-progress b{color:#24476e;font-size:14px}.progress{background:#e6edf5;border-radius:99px;width:100%;height:5px;overflow:hidden}.progress>span{border-radius:inherit;background:linear-gradient(90deg,#2770ea,#67a1fb);height:100%;display:block}.project-flags{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.priority,.exception-count{border-radius:99px;padding:4px 8px;font-size:12px;font-weight:800}.priority.high,.priority.urgent,.exception-count{background:var(--red-soft);color:var(--red)}.priority.low{color:#697a8c;background:#eef2f6}.open-text{color:var(--blue);white-space:nowrap;font-size:15px;font-weight:800}.back-button{color:#4e6681;background:0 0;border:0;align-self:flex-start;padding:0;font-size:15px;font-weight:800}.back-button:before{content:"←";margin-right:8px}.project-hero{background:linear-gradient(120deg,#fff,#eef5ff);border:1px solid #d8e5f4;border-radius:16px;justify-content:space-between;align-items:center;gap:24px;padding:24px;display:flex;box-shadow:0 8px 24px #1027430a}.hero-copy{min-width:0}.code-chip{color:#345477;background:#e7effa;border-radius:6px;padding:4px 8px;font-size:14px;font-weight:900;display:inline-flex}.void-chip{color:#55616e;background:#f2f4f7;border:1px solid #dfe4ea;border-radius:6px;align-items:center;padding:4px 8px;font-size:13px;font-weight:700;display:inline-flex}.hero-copy p{color:#68798d;flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:15px;display:flex}.hero-copy p b{color:#40556d}.hero-copy p i{background:#9aabba;border-radius:50%;width:3px;height:3px}.hero-progress{background:#fffc;border:1px solid #d6e3f2;border-radius:13px;flex:none;padding:16px 20px}.hero-progress>span{color:#75869a;font-size:14px;display:block}.report-project-button{min-height:var(--btn-h-lg);font-size:15px;font-weight:900}.metric-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.metric{border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;gap:8px;min-height:112px;padding:20px;display:flex;position:relative;overflow:hidden}.metric:before{content:"";background:var(--blue);height:3px;position:absolute;inset:0 0 auto}.metric.amber:before{background:#e99412}.metric.green:before{background:#16906d}.metric.red:before{background:#cf4848}.metric.neutral:before{background:#b6c2d1}.metric small{color:#75869a;font-size:14px}.metric strong{font-size:25px}.metric span{color:#8594a5;font-size:14px}.project-summary{background:#fff;border:1px solid #e1e8ef;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px 24px;padding:12px 16px;display:flex}.project-summary>span,.project-summary>button{min-width:0;font:inherit;text-align:left;background:0 0;border:0;align-items:baseline;gap:8px;padding:0;display:flex}.project-summary small{color:#75869a;white-space:nowrap;font-size:12.5px}.project-summary b{color:#1d3048;white-space:nowrap;font-size:16px;font-weight:800}.project-summary b.muted-value{color:#9aa8b8;font-weight:600}.project-summary b.is-urgent{color:#b42318}.project-summary em{color:#8594a5;white-space:nowrap;font-size:12.5px;font-style:normal}.project-summary>button.is-active{cursor:pointer;background:#fdecec;border:1px solid #f0c2c2;border-radius:8px;padding:4px 12px}.project-summary>button.is-active small,.project-summary>button.is-active b,.project-summary>button.is-active em{color:#9b2c2c}.project-summary>button.is-active:hover{background:#fbdcdc}.flow-card,.task-panel{border:1px solid var(--line);background:#fff;border-radius:16px;min-width:0;padding:20px;box-shadow:0 8px 24px #1027430a}.card-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.card-heading small{color:#718399;letter-spacing:.09em;margin-bottom:4px;font-size:12px;font-weight:900;display:block}.card-heading h3{margin:0;font-size:20px}.card-heading>span{color:#74869a;font-size:14px}.stage-track{scrollbar-width:thin;grid-auto-columns:minmax(170px,1fr);grid-auto-flow:column;gap:16px;padding:4px 4px 16px;display:grid;overflow-x:auto}.stage-card{min-height:160px;color:inherit;text-align:left;background:#f9fbfd;border:1px solid #dbe5ee;border-radius:12px;flex-direction:column;gap:8px;padding:16px;display:flex;position:relative}.stage-card:not(:last-child):after{content:"";background:#d3dde8;width:18px;height:2px;position:absolute;top:77px;left:calc(100% + 1px)}.stage-card:hover{background:#f5f9ff;border-color:#9bbcf1}.stage-card.selected{border-color:#7ca9f3;box-shadow:0 0 0 3px #2467e81a}.stage-card.completed{background:#f5fbf8;border-color:#bfe5d7}.stage-card.blocked{background:#fff9f9;border-color:#efc3c3}.stage-card.in_progress,.stage-card.ready{background:#f7faff;border-color:#b8d0f6}.stage-top{justify-content:space-between;align-items:center;display:flex}.stage-top b{color:#5b6f85;background:#e8edf3;border-radius:8px;place-items:center;width:27px;height:27px;font-size:12px;display:grid}.stage-card.completed .stage-top b{color:#16785a;background:#dff3eb}.stage-card.in_progress .stage-top b,.stage-card.ready .stage-top b{color:#1d62cf;background:#e3eeff}.stage-top em{color:#6c7d8f;background:#edf1f5;border-radius:99px;padding:4px 8px;font-size:12px;font-style:normal;font-weight:800}.stage-card.completed .stage-top em{color:#197b5c;background:#e1f5ed}.stage-card.in_progress .stage-top em,.stage-card.ready .stage-top em{color:#1e61ca;background:#e5efff}.stage-card.blocked .stage-top em{color:#b63838;background:#ffe8e8}.stage-card>strong{margin-top:4px;font-size:17px}.stage-card>small{color:#728397;font-size:12px}.stage-bottom{border-top:1px solid var(--line);color:#617388;align-items:center;gap:8px;margin-top:auto;padding-top:8px;font-size:12px;font-weight:700;display:flex}.stage-bottom i{background:#9cabb9;border-radius:50%;width:6px;height:6px}.completed .stage-bottom i{background:#1b9a72}.in_progress .stage-bottom i,.ready .stage-bottom i{background:#2b72e8}.blocked .stage-bottom i{background:#d04444}.detail-grid{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}.task-list{flex-direction:column;gap:12px;display:flex}.task-card{border:1px solid var(--line);background:#fbfcfe;border-radius:12px;grid-template-columns:minmax(0,1fr) 145px;gap:12px 20px;padding:16px;display:grid}.task-main{gap:12px;min-width:0;display:flex}.task-main>div{min-width:0}.task-main small{color:#77899e;font-size:12px}.task-main h4{margin:4px 0 8px;font-size:16px}.task-main p{color:var(--muted);margin:0;font-size:14px;line-height:1.6}.status{color:#68798d;white-space:nowrap;background:#edf1f5;border-radius:99px;flex:none;align-self:flex-start;align-items:center;min-height:23px;padding:0 8px;font-size:12px;font-weight:800;display:inline-flex}.status.ready,.status.in_progress{background:var(--blue-soft);color:#205fc6}.status.waiting{background:var(--amber-soft);color:#936000}.status.blocked{background:var(--red-soft);color:#b63838}.status.completed{background:var(--green-soft);color:#187859}.task-person{align-items:center;gap:8px;display:flex}.task-person>span:last-child{flex-direction:column;gap:4px;min-width:0;display:flex}.task-person strong{font-size:15px}.task-person small{color:var(--muted);font-size:12px}.task-message{color:#805d1e;background:#fff4de;border-radius:8px;grid-column:1/-1;padding:8px 12px;font-size:14px;line-height:1.5}.task-message.success{color:#276f5a;background:#eaf7f2}.task-actions{border-top:1px solid #e3eaf1;flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end;gap:8px;padding-top:12px;display:flex}.task-actions button,.exception-actions button{min-height:var(--btn-h-md)}.task-actions button.primary,.exception-actions button.primary{min-height:var(--btn-h-lg)}.dialog-footer button{min-height:var(--btn-h-lg);padding:0 16px}button.primary{border-color:var(--blue);background:var(--blue);color:#fff}button.danger{color:#b13d3d;border-color:#eccaca}button:disabled{cursor:not-allowed;opacity:.55}.no-action{color:var(--muted);align-self:center;font-size:14px}.task-noop{color:#8798aa;margin-top:8px;font-size:12.5px;display:block}.inbox-list,.exception-list{border:1px solid var(--line);background:#fff;border-radius:15px;overflow:hidden}.inbox-list>button{width:100%;min-height:92px;color:inherit;text-align:left;background:#fff;border:0;border-bottom:1px solid #e4ebf2;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:16px;display:grid}.inbox-list>button:last-child{border-bottom:0}.inbox-list>button:hover{background:#f8fbff}.inbox-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.inbox-copy small{color:#7c8da0;font-size:12px}.inbox-copy strong{font-size:16px}.inbox-copy em{color:#78899c;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-style:normal;overflow:hidden}.due{color:#6d7f93;white-space:nowrap;font-size:14px}.exception-list{flex-direction:column;display:flex}.exception-list article{border-bottom:1px solid #e4ebf2;grid-template-columns:minmax(0,1fr) auto;gap:12px 20px;padding:16px;display:grid}.exception-list article:last-child{border-bottom:0}.exception-main{align-items:flex-start;gap:12px;min-width:0;display:flex}.exception-main>span:last-child{flex-direction:column;gap:4px;min-width:0;display:flex}.exception-main small{color:#788a9e;font-size:12px}.exception-main strong{font-size:16px}.exception-main p{color:#66798f;margin:2px 0 0;font-size:14px;line-height:1.55}.severity{background:var(--amber-soft);color:#966100;border-radius:99px;flex:none;align-items:center;min-height:23px;padding:0 8px;font-size:12px;font-weight:900;display:inline-flex}.severity.high,.severity.critical{background:var(--red-soft);color:#b63b3b}.severity.low{color:#34755f;background:#e9f4ee}.exception-meta{color:#75879a;align-self:center;font-size:12px}.exception-actions{border-top:1px solid #e6edf3;grid-column:1/-1;justify-content:flex-end;gap:8px;padding-top:8px;display:flex}.empty-state{text-align:center;background:#ffffffb3;border:1px dashed #ccd8e4;border-radius:15px;align-content:center;place-items:center;min-height:350px;padding:40px;display:grid}.empty-mark{color:#2868d2;background:#e9f1ff;border-radius:14px;place-items:center;width:48px;height:48px;margin-bottom:16px;font-weight:900;display:grid}.empty-state p{color:#77899c;margin:8px 0 0;font-size:15px}.config-permission{text-align:center;background:#fff;border:1px dashed #cbd8e5;border-radius:16px;align-content:center;place-items:center;min-height:52vh;padding:40px;display:grid}.config-permission>span{color:#64778c;font-size:var(--fs-meta);background:#eef3f8;border-radius:99px;padding:4px 8px;font-weight:700}.config-permission h2{font-size:var(--fs-page);margin:16px 0 8px}.config-permission p{color:#718397;max-width:520px;font-size:var(--fs-body);line-height:var(--lh-text);margin:0}.template-list{flex-direction:column;gap:12px;display:flex}.template-card{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:24px;padding:16px 20px;display:grid;box-shadow:0 7px 20px #10274309}.template-card.draft{background:#fbfdff;border-color:#bcd3f7}.template-title{align-items:flex-start;gap:12px;min-width:0;display:flex}.template-title>span:last-child{flex-direction:column;gap:4px;min-width:0;display:flex}.template-title small{color:#718398;font-size:12px;font-weight:800}.template-title strong{font-size:17px}.template-title p{color:#78899d;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:14px;overflow:hidden}.template-status{color:#6b7c8e;white-space:nowrap;background:#eef2f6;border-radius:99px;flex:none;align-items:center;min-height:24px;padding:0 8px;font-size:12px;font-weight:900;display:inline-flex}.template-status.draft{color:#205fc8;background:#e7f0ff}.template-status.published{color:#17795a;background:#e3f5ee}.template-status.retired{color:#748395;background:#eef1f4}.template-counts{gap:16px;display:flex}.template-counts span{color:#78899c;flex-direction:column;align-items:center;gap:2px;font-size:12px;display:flex}.template-counts b{color:#314861;font-size:20px}.template-actions{gap:8px;display:flex}.template-actions button,.editor-topline button,.editor-save button,.editor-header>button,.editor-panel-title button,.order-actions button,.task-order-actions button{min-height:var(--btn-h-md);border:1px solid var(--line);color:#40556d;background:#fff;border-radius:8px;padding:0 12px;font-size:14px;font-weight:800}.template-actions button.primary,.editor-save button.primary,.editor-header>button.primary{border-color:var(--blue);background:var(--blue);color:#fff}button.quiet{min-height:var(--btn-h-sm);color:#2b6bd8;background:0 0;border:0;padding:0 4px;font-weight:700}button.quiet:hover{background:#eef4ff;border-radius:7px}.rules-details summary{cursor:pointer;align-items:center;gap:8px;list-style:none;display:flex}.rules-details summary::-webkit-details-marker{display:none}.rules-details summary:before{content:"▸";color:#6b7d92;transition:transform .15s}.rules-details[open] summary:before{transform:rotate(90deg)}.rules-details summary span{color:var(--muted);font-size:13px;font-weight:600}.rules-details>div{margin-top:16px}.workflow-editor{max-width:1500px;margin:0 auto}.editor-topline{justify-content:space-between;align-items:center;display:flex}.editor-topline>button{background:0 0;border:0;padding:0}.editor-topline>button:before{content:"←";margin-right:8px}.editor-header{background:#fff;border:1px solid #dce5ee;border-radius:14px;justify-content:space-between;align-items:flex-end;gap:24px;padding:20px;display:flex}.editor-title-fields{flex:1;grid-template-columns:minmax(220px,.8fr) minmax(300px,1.5fr);gap:12px;display:grid}.editor-title-fields label,.settings-grid label,.task-editor-fields label{color:#5c6f84;min-width:0;font-size:var(--fs-label);flex-direction:column;gap:8px;font-weight:700;line-height:1.4;display:flex}.field-note{color:#71829a;font-size:var(--fs-meta);font-weight:600;line-height:1.45}.editor-title-fields input,.editor-title-fields textarea,.settings-grid input,.settings-grid select,.task-editor-fields input,.task-editor-fields select,.task-editor-fields textarea{color:#1d3048;width:100%;font-size:var(--fs-body);background:#fbfcfe;border:1px solid #d7e1eb;border-radius:8px}.editor-title-fields input,.settings-grid input,.settings-grid select,.task-editor-fields input,.task-editor-fields select{height:38px;padding:0 8px}.editor-title-fields textarea,.task-editor-fields textarea{resize:vertical;padding:8px;line-height:1.5}.editor-title-fields input:disabled,.editor-title-fields textarea:disabled,.settings-grid input:disabled,.settings-grid select:disabled,.task-editor-fields input:disabled,.task-editor-fields select:disabled,.task-editor-fields textarea:disabled{color:#63758a;background:#f0f3f6}.editor-save{flex:none;gap:8px;display:flex}.simple-scope{color:#775c1d;font-size:var(--fs-body);line-height:var(--lh-text);background:#fff8e8;border:1px solid #eedcae;border-radius:10px;padding:12px 16px}.workflow-preview{scrollbar-width:thin;background:#fff;border:1px solid #dbe5ee;border-radius:13px;align-items:center;gap:8px;padding:12px 16px;display:flex;overflow-x:auto}.workflow-preview span{flex:none;align-items:center;gap:8px;display:flex}.workflow-preview button{min-height:var(--btn-h-sm);color:#5a6e84;font-size:var(--fs-body);background:#f7f9fc;border:1px solid #dae4ee;border-radius:8px;padding:0 8px;font-weight:700}.workflow-preview button.active{color:#205fc7;background:#eaf2ff;border-color:#8eb2ec}.workflow-preview i{color:#99a8b8;font-size:var(--fs-body);font-style:normal}.page-stack.workflow-editor{font-size:var(--fs-body)}.editor-layout{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:16px;display:grid}.stage-editor-list,.stage-settings{background:#fff;border:1px solid #dde6ef;border-radius:14px;padding:16px}.stage-editor-list{scrollbar-width:thin;flex-direction:column;gap:8px;max-height:calc(100svh - 120px);display:flex;position:sticky;top:105px;overflow-y:auto}.editor-panel-title,.task-editor-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.editor-panel-title>span,.task-editor-heading>span{flex-direction:column;gap:4px;display:flex}.editor-panel-title small,.task-editor-heading small{color:var(--muted);font-size:var(--fs-meta);letter-spacing:.04em;font-weight:700}.editor-panel-title strong,.task-editor-heading strong{font-size:var(--fs-title)}.editor-panel-title button,.task-editor-heading button{min-height:var(--btn-h-sm);color:#2364ca}.stage-editor-item{border:1px solid var(--line);background:#fafbfd;border-radius:10px;overflow:hidden}.stage-editor-item.active{background:#f6f9ff;border-color:#8db2ed;box-shadow:0 0 0 3px #2467e814}.stage-select{width:100%;min-height:61px;color:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:8px;display:flex}.stage-select>b{color:#65778b;width:27px;height:27px;font-size:var(--fs-meta);background:#e8edf3;border-radius:8px;flex:none;place-items:center;display:grid}.active .stage-select>b{color:#2263ca;background:#e1edff}.stage-select>span{flex-direction:column;gap:4px;min-width:0;display:flex}.stage-select strong{font-size:var(--fs-body);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.stage-select small{color:#7d8d9f;font-size:var(--fs-meta)}.order-actions,.task-order-actions{border-top:1px solid var(--line);background:#fff;gap:4px;padding:8px;display:flex}.order-actions button,.task-order-actions button{min-height:var(--btn-h-sm);font-size:var(--fs-meta);padding:0 8px}.order-actions button.remove,.task-order-actions button.remove{color:#b63e3e;border-color:#edcccc}.config-entry{display:flex}.config-entry>button{min-height:var(--btn-h-lg);color:#20549f;background:#f7faff;border:1px dashed #a9c4ea;border-radius:10px;flex:1;font-weight:800}.config-entry>button:hover{background:#eaf2ff;border-style:solid}.config-entries{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.stage-settings>.editor-panel-title{border-bottom:1px solid var(--line);padding-bottom:12px}.settings-grid{grid-template-columns:minmax(0,1fr) 150px;align-items:start;gap:12px 16px;display:grid}.settings-grid .wide{grid-column:1/-1}.settings-grid select{max-width:420px}.task-editor-heading{border-top:1px solid var(--line);margin:24px 0 12px;padding-top:16px}.task-editor-list{flex-direction:column;gap:8px;display:flex}.task-editor-card{border:1px solid var(--line);background:#fafcfe;border-radius:11px;grid-template-columns:29px minmax(0,1fr);gap:12px;padding:12px;display:grid;position:relative}.task-editor-number{color:#2464ca;width:27px;height:27px;font-size:var(--fs-meta);background:#e8f1ff;border-radius:8px;align-self:start;place-items:center;font-weight:700;display:grid}.task-editor-fields{grid-template-columns:minmax(200px,1.6fr) minmax(160px,1fr) 120px;align-items:start;gap:8px 12px;display:grid}.task-editor-fields .wide{grid-column:1/-1}.task-editor-fields .required-check{flex-direction:row;grid-column:1/-1;align-items:center;gap:8px;display:flex}.task-editor-fields .required-check input{width:15px;height:15px;padding:0}.task-order-actions{border-top:1px solid var(--line);background:0 0;grid-column:2;justify-content:flex-end;padding:8px 0 0}.dialog-backdrop{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0614248f;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.dialog{background:#fff;border-radius:16px;width:min(500px,100%);padding:24px;box-shadow:0 25px 70px #000f234d}.dialog-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.dialog-heading h2{margin:0;font-size:23px}.dialog-heading p{color:var(--muted);margin:8px 0 0;font-size:14px;line-height:1.5}.dialog-heading>button{color:var(--muted);background:0 0;border:0;padding:4px 0;font-size:14px;font-weight:700}.dialog>label{color:#41566e;flex-direction:column;gap:8px;margin-top:16px;font-size:15px;font-weight:800;display:flex}.dialog input:not([type=checkbox]):not([type=radio]),.dialog select,.dialog textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fbfcfe;border-radius:9px}.dialog input:not([type=checkbox]):not([type=radio]),.dialog select{height:41px;padding:0 12px}.dialog textarea{resize:vertical;padding:12px;line-height:1.6}.dialog-footer{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;margin-top:20px;padding-top:16px;display:flex}@media (max-width:1400px){.project-row{grid-template-columns:minmax(156px,2.1fr) minmax(70px,.66fr) minmax(58px,.6fr) minmax(74px,.74fr) minmax(80px,.68fr) minmax(70px,.66fr) minmax(72px,.74fr) minmax(66px,.72fr) minmax(76px,.74fr) minmax(74px,.74fr);gap:8px}}@media (max-width:1180px){.project-row{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.project-identity{flex:240px;order:0}.project-flags{order:1;margin-left:auto}.project-owner,.project-stage,.project-progress,.project-delivery,.project-factory,.project-coordinator,.project-created,.project-delivery-production{flex:none;order:2}.project-row.project-head{display:none}.project-row small{display:block}.metric-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:850px){.shell{display:block}.sidebar{width:100%;height:auto;display:block;position:static;overflow:visible}.brand{min-height:64px;padding:12px 16px}.brand-mark{width:36px;height:36px}.sidebar nav{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));padding:8px;display:grid}.nav-label,.focus-card,.profile{display:none}.sidebar nav button{justify-content:center;min-height:39px;padding:0 8px;font-size:15px}.sidebar nav b{margin-left:8px}.topbar{min-height:72px;padding:12px 16px;position:static}.identity label,.connection{display:none}.identity select{max-width:170px}.content{padding:16px 16px 40px}.error-banner{margin:16px 16px 0}.notice{max-width:none;top:12px;left:12px;right:12px}.project-hero{flex-direction:column;align-items:stretch}.hero-side,.hero-progress{flex-basis:auto}.detail-grid{grid-template-columns:1fr}.template-card{grid-template-columns:minmax(0,1fr) auto}.template-counts{display:none}.editor-layout{grid-template-columns:240px minmax(0,1fr)}.editor-title-fields,.config-entries{grid-template-columns:1fr}.task-editor-fields{grid-template-columns:1fr 1fr}.task-editor-fields label:nth-child(3){grid-column:1/-1}}@media (max-width:600px){.topbar{align-items:flex-start;gap:8px}.topbar h1{font-size:22px}.identity select{width:145px;font-size:14px}.section-heading{align-items:flex-start}.section-heading>span{display:inline-flex}.list-toolbar{flex-direction:column;align-items:stretch}.exception-toolbar .list-count{display:inline-flex}.exception-toolbar .list-hint{margin:0}.org-table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.list-toolbar>input{width:100%}.filters{grid-template-columns:repeat(4,1fr);display:grid}.project-row{gap:8px 12px;min-height:0;padding:16px}.project-identity{flex:100%}.project-identity strong{white-space:normal}.project-owner,.project-stage,.project-progress,.project-delivery,.project-factory,.project-coordinator,.project-created,.project-delivery-production{flex:42%}.project-flags{max-width:none}.open-text{text-align:right;width:100%}.hero-copy h2{font-size:25px}.hero-copy p{flex-direction:column;align-items:flex-start}.hero-copy p i{display:none}.metric-grid{grid-template-columns:repeat(2,1fr);gap:8px}.metric{min-height:102px;padding:16px}.metric strong{font-size:20px}.flow-card,.task-panel{padding:16px}.card-heading{flex-direction:column;align-items:flex-start;gap:8px}.stage-track{grid-template-columns:1fr;grid-auto-columns:auto;grid-auto-flow:row;overflow:visible}.stage-card{min-height:135px}.stage-card:not(:last-child):after{width:2px;height:18px;top:100%;left:28px}.task-card{grid-template-columns:1fr}.task-person{padding-left:0}.task-message,.task-actions{grid-column:1}.task-actions{justify-content:stretch}.task-actions button{flex:auto}.inbox-list>button{grid-template-columns:auto minmax(0,1fr)}.inbox-list .due,.inbox-list .open-text{display:none}.exception-list article{grid-template-columns:1fr}.exception-meta{justify-self:start}.template-card{grid-template-columns:1fr;gap:12px}.template-actions{justify-content:flex-end}.editor-header{flex-direction:column;align-items:stretch}.editor-title-fields{grid-template-columns:1fr}.editor-save{justify-content:flex-end}.editor-layout{grid-template-columns:1fr}.stage-editor-list{position:static}.settings-grid,.task-editor-fields{grid-template-columns:1fr}.settings-grid label:nth-child(3),.settings-grid .wide,.task-editor-fields label:nth-child(3),.task-editor-fields .wide,.task-editor-fields .required-check{grid-column:1}}.category-tag{color:#5c7086;white-space:nowrap;background:#eef2f6;border-radius:99px;align-items:center;min-height:22px;padding:0 8px;font-size:12px;font-weight:800;display:inline-flex}.block-tag{background:var(--red-soft);color:#b13d3d;white-space:nowrap;border-radius:99px;align-items:center;min-height:22px;padding:0 8px;font-size:12px;font-weight:900;display:inline-flex}.wide-dialog{width:min(680px,100%);max-height:92vh;overflow-y:auto}.context-hint{background:#f5f7fa;border-radius:9px;margin:0;padding:8px 12px}.report-context{border:1px solid var(--line);background:#f7fafc;border-radius:11px;grid-template-columns:repeat(3,1fr);gap:8px;margin:4px 0 8px;padding:12px;display:grid}.report-context span{flex-direction:column;gap:4px;min-width:0;display:flex}.report-context small{color:var(--muted);font-size:11px;font-weight:800}.report-context strong{color:#33475e;text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.check-label{gap:8px}.impact-options,.block-options,.tag-edit{flex-wrap:wrap;gap:8px;display:flex}.impact-options button,.block-options button,.tag-edit button{min-height:var(--btn-h-sm);color:#55697f;background:#fff;border:1px solid #d7e1eb;border-radius:8px;padding:0 8px;font-size:14px;font-weight:800}.impact-options button.active,.block-options button.active,.tag-edit button.active{border-color:var(--blue);background:var(--blue-soft);color:#205fc6}.form-hint{color:#8595a6;margin-top:8px;font-size:12px;font-style:normal;line-height:1.5;display:block}.form-row{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}.check-line{align-items:center;gap:8px;margin:4px 0 12px;display:flex;flex-direction:row!important}.check-line input{flex:none;height:16px;padding:0;width:16px!important}.attachment-uploader{width:100%}.attachment-actions{flex-wrap:wrap;gap:8px;display:flex}.attachment-actions button{min-height:var(--btn-h-md);border:1px solid var(--line);color:#40546b;background:#fff;border-radius:8px;padding:0 12px;font-size:14px;font-weight:800}.attachment-hint{color:#8a9aa9;margin:8px 0 0;font-size:12px}.attachment-pending{flex-direction:column;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.attachment-pending li{border:1px solid var(--line);background:#fafbfd;border-radius:8px;align-items:center;gap:8px;padding:8px;font-size:14px;display:flex}.attachment-pending li span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.attachment-pending li em{color:var(--muted);font-size:12px;font-style:normal}.attachment-pending li button{color:#b13d3d;background:0 0;border:0;font-size:12px;font-weight:800}.resolution-form{background:linear-gradient(120deg,#fff,#f2f7fe);border:1px solid #d8e5f4;border-radius:13px;flex-direction:column;gap:12px;padding:16px;display:flex}.resolution-form h4{margin:0;font-size:17px}.form-help{color:var(--muted);margin:0;font-size:14px;line-height:1.6}.resolution-form>label{color:#41566e;flex-direction:column;gap:8px;font-size:14px;font-weight:800;display:flex}.resolution-form input,.resolution-form select,.resolution-form textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fbfcfe;border-radius:9px;font-size:15px}.resolution-form input,.resolution-form select{height:40px;padding:0 12px}.resolution-form textarea{resize:vertical;padding:8px 12px;line-height:1.6}.resolution-form>button{min-height:var(--btn-h-lg);border:1px solid var(--line);color:#40546b;background:#fff;border-radius:9px;align-self:flex-end;padding:0 16px;font-size:14px;font-weight:800}.timeline-list{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.timeline-list li{gap:12px;padding:0 0 16px 2px;display:flex;position:relative}.timeline-list li:last-child{padding-bottom:2px}.timeline-list li:before{content:"";background:var(--line);width:1px;position:absolute;top:15px;bottom:0;left:5px}.timeline-list li:last-child:before{display:none}.timeline-dot{z-index:1;background:#2d72e8;border-radius:50%;flex:none;width:11px;height:11px;margin-top:4px;position:relative;box-shadow:0 0 0 3px #e8f1ff}.timeline-body{flex-direction:column;gap:2px;min-width:0;display:flex}.timeline-body strong{font-size:15px}.timeline-body small{color:#7d8da0;font-size:12px}.timeline-body em{color:#8a6a1d;font-size:12px;font-style:normal}.timeline-empty{color:#8595a6;margin:0;font-size:14px}.exception-detail{flex-direction:column;gap:16px;display:flex}.exception-detail-head{background:#fff;border:1px solid #dbe5ee;border-radius:15px;padding:16px}.exception-detail-head>div{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.exception-detail-head h2{margin:0 0 8px;font-size:20px}.exception-detail-head p{color:#66798f;margin:0;font-size:15px;line-height:1.65}.exception-detail-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:16px;display:grid}.exception-facts,.exception-attachments,.exception-timeline,.exception-action{border:1px solid var(--line);background:#fff;border-radius:15px;min-width:0;padding:16px}.exception-side{flex-direction:column;gap:16px;display:flex}.fact-list{grid-template-columns:1fr 1fr;gap:8px 16px;margin:0;display:grid}.fact-list>div{flex-direction:column;gap:4px;min-width:0;display:flex}.fact-list dt{color:#7b8c9f;font-size:12px}.fact-list dd{color:#33475e;margin:0;font-size:15px;line-height:1.5}.attachment-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.attachment-list a{border:1px solid var(--line);color:inherit;background:#fafbfd;border-radius:9px;flex-direction:column;gap:4px;padding:8px 12px;text-decoration:none;display:flex}.attachment-list a:hover{background:#f5f9ff;border-color:#9bbcf1}.attachment-list strong{font-size:15px}.attachment-list small{color:var(--muted);font-size:12px}.exception-action .candidate-hint{flex-direction:column;gap:8px;display:flex}.exception-action .candidate-hint p{color:var(--muted);margin:0;font-size:14px}.exception-action .candidate-hint button{align-self:flex-start}.exception-row{width:100%;min-height:78px;color:inherit;text-align:left;background:#fff;border:0;border-bottom:1px solid #e4ebf2;grid-template-columns:auto auto auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:12px 16px;display:grid}.exception-row:last-child{border-bottom:0}.exception-row:hover{background:#f8fbff}.exception-row.active{box-shadow:inset 3px 0 var(--blue);background:#f2f7ff}.exception-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.exception-copy small{color:#7c8da0;font-size:12px}.exception-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.exception-copy em{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-style:normal;overflow:hidden}.exception-detail-dialog{width:min(1180px,100vw - 48px);max-height:94vh;padding:0;overflow:hidden}.exception-detail-dialog>.dialog-heading{border-bottom:1px solid #e1e8ef;padding:16px 24px}.exception-detail-dialog-body{background:#f5f7fa;max-height:calc(94vh - 91px);padding:16px 24px 24px;overflow-y:auto}.exception-filters{background:0 0;padding:0}.exception-filters select{border:1px solid var(--line);color:#40546b;background:#fff;border-radius:8px;height:36px;padding:0 8px;font-size:14px;font-weight:700}.task-exception-list{background:#fff4f4;border-radius:8px;flex-wrap:wrap;grid-column:1/-1;gap:8px;padding:8px 12px;display:flex}.task-exception-list b{color:#9e3838;font-size:14px}.task-exception-list button{min-height:var(--btn-h-sm);color:#8f3535;background:#fff;border:1px solid #eccaca;border-radius:7px;align-items:center;gap:8px;padding:0 8px;font-size:14px;font-weight:700;display:inline-flex}.recommend-card{background:linear-gradient(120deg,#f5f9ff,#fff);border:1px solid #d8e5f4;border-radius:12px;margin-bottom:16px;padding:12px 16px}.recommend-card .card-heading{margin-bottom:8px}.recommend-card ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.recommend-card button{width:100%;color:inherit;text-align:left;background:#fff;border:1px solid #dce6f0;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.recommend-card button:hover{background:#f5f9ff;border-color:#9bbcf1}.recommend-card strong{font-size:15px}.recommend-card small{color:var(--muted);flex:none;font-size:12px}.knowledge-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px;display:grid}.knowledge-card{border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;gap:8px;padding:16px;display:flex;box-shadow:0 7px 20px #10274309}.knowledge-card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.knowledge-card-head small{color:var(--muted);font-size:12px}.knowledge-card-title{color:inherit;text-align:left;background:0 0;border:0;padding:0}.knowledge-card-title h3{margin:0 0 4px;font-size:17px;line-height:1.45}.knowledge-card-title p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:14px;line-height:1.55;display:-webkit-box;overflow:hidden}.knowledge-card-meta{color:#7d8da0;flex-wrap:wrap;gap:4px 8px;font-size:12px;display:flex}.knowledge-card-tags{flex-wrap:wrap;gap:4px;display:flex}.knowledge-card-tags em{color:#64768b;background:#eef2f6;border-radius:99px;padding:4px 8px;font-size:11px;font-style:normal;font-weight:800}.knowledge-filters{background:0 0;padding:0}.knowledge-filters select,.knowledge-filters input{border:1px solid var(--line);color:#40546b;background:#fff;border-radius:8px;height:36px;padding:0 8px;font-size:14px;font-weight:700}.knowledge-filters input{width:150px}.knowledge-article{border:1px solid var(--line);background:#fff;border-radius:16px;padding:24px}.knowledge-article-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.knowledge-article-head small{width:100%;color:var(--muted);font-size:12px}.knowledge-article h2{margin:12px 0 8px;font-size:25px}.knowledge-summary{color:#5d7086;margin:0 0 4px;font-size:14px;line-height:1.7}.knowledge-section{border-top:1px solid #e6edf3;margin-top:16px;padding-top:16px}.knowledge-section h4{margin:0 0 8px;font-size:14px}.knowledge-section p{color:#40546b;white-space:pre-wrap;margin:0;font-size:15px;line-height:1.75}.checklist{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.checklist li{color:#40546b;padding-left:20px;font-size:15px;line-height:1.6;position:relative}.checklist li:before{content:"✓";color:#2769d7;background:#e8f1ff;border-radius:5px;place-items:center;width:15px;height:15px;font-size:12px;font-weight:900;display:grid;position:absolute;left:0}.source-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.source-list li{color:#55697f;font-size:14px;line-height:1.55}.knowledge-article-actions{border-top:1px solid #e6edf3;justify-content:flex-end;margin-top:20px;padding-top:16px;display:flex}.knowledge-article-actions button{min-height:var(--btn-h-md);color:#b13d3d;background:#fff;border:1px solid #eccaca;border-radius:8px;padding:0 12px;font-size:14px;font-weight:800}.candidate-tabs{display:inline-flex}.candidate-list{border:1px solid var(--line);background:#fff;border-radius:15px;overflow:hidden}.candidate-row{width:100%;min-height:82px;color:inherit;text-align:left;background:#fff;border:0;border-bottom:1px solid #e4ebf2;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px;display:grid}.candidate-row:last-child{border-bottom:0}.candidate-row:hover{background:#f8fbff}.candidate-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.candidate-copy small{color:#7c8da0;font-size:12px}.candidate-copy strong{font-size:16px}.candidate-copy em{color:#78899c;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-style:normal;overflow:hidden}.candidate-status{background:var(--amber-soft);color:#936000;white-space:nowrap;border-radius:99px;flex:none;align-items:center;min-height:23px;padding:0 8px;font-size:12px;font-weight:900;display:inline-flex}.candidate-status.converted,.candidate-status.merged{background:var(--green-soft);color:#187859}.candidate-status.rejected{color:#748395;background:#eef1f4}.candidate-review{border:1px solid var(--line);background:#fff;border-radius:16px;padding:20px}.candidate-review-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.candidate-review-head small{width:100%;color:var(--muted);font-size:12px}.candidate-review-head h2{width:100%;margin:4px 0 0;font-size:22px}.candidate-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.candidate-fields label{color:#41566e;flex-direction:column;gap:8px;font-size:14px;font-weight:800;display:flex}.candidate-fields label:first-child{grid-column:1/-1}.candidate-fields input,.candidate-fields select,.candidate-fields textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fbfcfe;border-radius:9px;font-size:15px}.candidate-fields input,.candidate-fields select{height:40px;padding:0 12px}.candidate-fields textarea{resize:vertical;padding:8px 12px;line-height:1.6}.candidate-review-actions{border-top:1px solid #e6edf3;flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:16px;display:flex}.candidate-review-actions button{min-height:var(--btn-h-lg);border:1px solid var(--line);color:#40546b;background:#fff;border-radius:9px;padding:0 16px;font-size:14px;font-weight:800}.candidate-sub-action{background:#f8fafc;border:1px solid #dbe5ee;border-radius:11px;flex-wrap:wrap;align-items:flex-end;gap:8px;margin-top:12px;padding:12px;display:flex}.candidate-sub-action label{color:#41566e;flex-direction:column;flex:1;gap:8px;min-width:280px;font-size:14px;font-weight:800;display:flex}.candidate-sub-action select,.candidate-sub-action textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:8px;font-size:15px}.candidate-sub-action select{height:38px;padding:0 8px}.candidate-sub-action textarea{resize:vertical;padding:8px 12px}.candidate-sub-action button{min-height:var(--btn-h-lg);border:1px solid var(--line);color:#40546b;background:#fff;border-radius:9px;padding:0 16px;font-size:14px;font-weight:800}.similar-articles{background:#f5f9ff;border:1px solid #d8e5f4;border-radius:11px;margin-top:16px;padding:12px 16px}.similar-articles h4{margin:0 0 8px;font-size:15px}.similar-articles ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.similar-articles li{color:#55697f;font-size:14px}.candidate-done{background:#f2f5f8;border-radius:10px;padding:12px}.candidate-done p{color:#55697f;margin:0 0 8px;font-size:15px}.candidate-done p:last-child{margin-bottom:0}@media (max-width:1180px){.exception-detail-grid{grid-template-columns:1fr}}@media (max-width:850px){.report-context{grid-template-columns:1fr 1fr}.fact-list,.candidate-fields,.form-row{grid-template-columns:1fr}.exception-row{grid-template-columns:auto auto auto minmax(0,1fr)}.exception-row .open-text{display:none}.knowledge-filters input{width:100%}.knowledge-filters{flex:1;gap:8px;display:flex}.knowledge-filters select{flex:1}}@media (max-width:600px){.exception-detail-dialog{width:calc(100vw - 20px);max-height:96vh}.exception-detail-dialog>.dialog-heading{padding:16px}.exception-detail-dialog-body{max-height:calc(96vh - 82px);padding:12px}.report-context,.knowledge-grid{grid-template-columns:1fr}.candidate-row{grid-template-columns:auto minmax(0,1fr)}.candidate-row .open-text{display:none}.exception-row{grid-template-rows:auto auto;grid-template-columns:auto auto minmax(0,1fr)}.exception-row .severity{display:none}.candidate-sub-action{flex-direction:column;align-items:stretch}.candidate-sub-action label{min-width:0}}.planning-panel{border:1px solid var(--line);background:#fff;border-radius:12px;padding:16px}.planning-panel summary{cursor:pointer;font-size:var(--fs-title);color:#1d3048;font-weight:700}.planning-panel p{font-size:var(--fs-label);line-height:var(--lh-text);color:#41566e;overflow-wrap:anywhere;margin:8px 0}.planning-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:16px;display:grid}.secret-row{gap:8px;min-width:0;display:flex}.secret-row input{flex:1}.secret-row button{white-space:nowrap;border:1px solid var(--line);font-size:var(--fs-label);color:#1d3048;cursor:pointer;background:#fff;border-radius:9px;padding:0 12px}.planning-fields h4{font-size:var(--fs-title);grid-column:1/-1;margin:0}.switch-field{flex-direction:column;gap:4px;min-width:0;display:flex}.switch-row{cursor:pointer;align-items:center;gap:8px;min-height:36px;display:flex}.switch-row input{opacity:0;width:1px;height:1px;position:absolute}.switch-track{background:#c9d5e2;border-radius:11px;flex:none;width:40px;height:22px;transition:background .15s;position:relative}.switch-thumb{background:#fff;border-radius:50%;width:18px;height:18px;transition:left .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #1d304859}.switch-row input:checked+.switch-track{background:var(--blue)}.switch-row input:checked+.switch-track .switch-thumb{left:20px}.switch-inline{gap:8px;min-height:26px}.switch-inline-label{color:#41566e;font-size:13px;font-weight:700}.switch-row input:focus-visible+.switch-track{outline:2px solid var(--blue);outline-offset:2px}.switch-label{font-size:var(--fs-body);color:#1d3048;font-weight:600}.switch-field.is-disabled{opacity:.55}.switch-hint{font-size:var(--fs-meta);color:#41566e;margin:0;line-height:1.5}.check-field{flex-direction:column;gap:8px;min-width:0;display:flex}.check-field .field-caption{font-size:var(--fs-label);color:#41566e;font-weight:600}.check-field input[type=checkbox]{width:18px;height:18px;accent-color:var(--blue);margin:0}.check-field.is-disabled{opacity:.55}.choice-group{flex-direction:column;gap:8px;min-width:0;display:flex}.choice-group .field-caption{font-size:var(--fs-label);color:#41566e;font-weight:600}.choice-options{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.choice-option{min-height:var(--btn-h-lg);border:1px solid var(--line);cursor:pointer;background:#fbfcfe;border-radius:8px;flex:none;align-items:center;gap:8px;padding:8px 12px;transition:border-color .12s,background .12s;display:inline-flex}.choice-option:hover{background:#f5f9ff;border-color:#9bbcf1}.choice-option.checked{border-color:var(--blue);background:#eaf2ff;box-shadow:0 0 0 3px #2563eb14}.choice-option input{clip:rect(0 0 0 0);width:1px;height:1px;margin:0;position:absolute;overflow:hidden}.choice-option input:focus-visible~.choice-mark{outline-offset:2px;outline:3px solid #8bb8ff}.choice-mark{background:#fff;border:1.5px solid #b6c5d6;border-radius:50%;flex:none;place-items:center;width:17px;height:17px;display:grid}.choice-option.checked .choice-mark{border-color:var(--blue);background:var(--blue)}.choice-option.checked .choice-mark:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:9px;margin-top:-2px;transform:rotate(45deg)}.choice-text{font-size:var(--fs-body);color:#30445d;white-space:nowrap;align-items:baseline;gap:4px;font-weight:700;display:inline-flex}.choice-text small{font-weight:500;font-size:var(--fs-meta);color:#71829a;white-space:normal;line-height:1.35}.choice-option{max-width:100%}.choice-options.grid{grid-template-columns:repeat(auto-fit,minmax(148px,1fr));align-items:stretch;gap:8px;display:grid}.choice-options.grid .choice-option{width:100%;min-width:0}@media (max-width:600px){.choice-options.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-text{white-space:normal}}.choice-option.checked .choice-text{color:#1d4ed8}.choice-hint{font-size:var(--fs-meta);color:#71829a;line-height:1.5}.choice-group.is-disabled{opacity:.55}.choice-group.is-disabled .choice-option{cursor:not-allowed}.planning-fields select,.settings-grid select,.editor-title-fields select,.task-editor-fields select,.dialog select,.settings-fields select,.resolution-form select,.candidate-fields select,.identity select,.exception-filters select,.knowledge-filters select,select.app-select{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%235c6f84' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:32px}.scope-picker{display:block}.check-hint{color:#41566e;font-size:var(--fs-meta);line-height:1.4}.check-item{cursor:pointer;align-items:center;gap:8px;min-height:30px;padding:4px 2px;display:flex}.check-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--blue);flex:none;margin:0}.check-item-label{font-size:var(--fs-body);color:#1d3048;flex-direction:column;gap:2px;min-width:0;display:flex}.check-item-label small{color:#6b7d92;font-size:var(--fs-meta)}.check-item.is-disabled{opacity:.55;cursor:not-allowed}.form-actions{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px;margin-top:4px;display:flex}.switch-group{flex-direction:column;gap:12px;margin-top:8px;display:flex}.member-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:2px 16px;margin:8px 0 16px;display:grid}.switch-group.wide{grid-column:1/-1}.condition-group{border:1px solid var(--line);background:#f8fbff;border-radius:10px;min-width:0;margin:12px 0;padding:12px}.condition-group .condition-group{background:#fff}.planning-panel h3{font-size:var(--fs-title);margin:0 0 8px}.planning-panel fieldset{border:1px solid var(--line);border-radius:10px;min-width:0;max-width:100%;margin:12px 0;padding:16px}.planning-panel fieldset>label{margin:8px 0;display:block}.planning-panel input,.planning-panel select{box-sizing:border-box;max-width:100%}.table-scroll{max-width:100%;overflow:auto}.table-scroll table{border-collapse:collapse;text-align:left;width:100%}.table-scroll th,.table-scroll td{overflow-wrap:anywhere;border-bottom:1px solid #e3eaf3;padding:8px}.planning-fields .wide{grid-column:1/-1}.form-section{grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;display:grid}.form-section>h4{color:#1d3048;grid-column:1/-1;margin:0;font-size:14px}.form-section+.form-section{border-top:1px solid #e8eef5;margin-top:4px;padding-top:16px}.planning-fields label{font-size:var(--fs-label);flex-direction:column;gap:8px;min-width:0;display:flex}.planning-fields input:not([type=checkbox]):not([type=radio]),.planning-fields select{border:1px solid var(--line);min-width:0;font-size:var(--fs-body);color:#1d3048;background:#fbfcfe;border-radius:9px;padding:8px}.planning-choice{border:1px solid var(--line);border-radius:9px;flex-wrap:wrap;gap:16px;min-width:0;padding:8px;display:flex}.planning-choice label,.planning-fields .planning-check{flex-direction:row;align-items:center}.planning-choice legend{font-size:var(--fs-label);font-weight:700}.planning-rule-list article{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}@media (max-width:600px){.planning-fields{grid-template-columns:minmax(0,1fr)}.planning-fields>label{grid-column:1/-1!important}.planning-choice{flex-direction:column}}.login-page{background:#f2f6fb;place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border:1px solid var(--line);background:#fff;border-radius:18px;gap:18px;width:min(440px,100%);padding:32px;display:grid}.login-card h1{font-size:24px}.login-card p,.settings-panel p{color:#61738a;line-height:1.65}.login-card label,.settings-fields label{gap:8px;display:grid}.login-card input,.settings-panel input:not([type=checkbox]),.settings-panel select{color:#142d49;background:#fff;border:1px solid #cad7e5;border-radius:8px;min-width:0;max-width:100%;padding:8px}.local-people{border-top:1px solid #e5edf5;padding-top:16px}.local-people h2{margin:0 0 10px;font-size:16px}.local-people-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:360px;display:grid;overflow:auto}.local-people-grid button{text-align:left;color:#142d49;cursor:pointer;background:#f8fbfe;border:1px solid #cad7e5;border-radius:10px;gap:4px;padding:8px;display:grid}.local-people-grid button:hover{background:#eef6ff;border-color:#2f78bd}.local-people-grid button:disabled{opacity:.6;cursor:wait}.local-people-grid small{color:#61738a;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.settings-panel{background:#fff;border:1px solid #dce5ef;border-radius:16px;padding:24px}.panel{background:var(--surface);border:1px solid var(--line);box-sizing:border-box;border-radius:12px;margin:0 0 16px;padding:16px}.settings-actions{flex-wrap:wrap;gap:12px;margin:20px 0;display:flex}.settings-list article{border-bottom:1px solid #e6edf4;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;display:flex}.settings-list p{margin:6px 0}.settings-fields{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin:20px 0;display:grid}.permission-list>div{border-bottom:1px solid #edf1f5;justify-content:space-between;align-items:center;gap:20px;padding:12px 0;display:flex}.role-check{gap:8px;padding:10px 20px 10px 0;display:inline-flex}.account-tools{z-index:20;position:fixed;bottom:12px;right:24px}@media (max-width:600px){.permission-list>div{flex-direction:column;align-items:flex-start;gap:8px}.settings-panel{padding:16px}.account-tools{bottom:6px;right:10px}}.team-controls{flex-wrap:wrap;gap:8px;margin:10px 0;display:flex}.team-controls .dialog{gap:14px;display:grid}.team-controls label,.work-records label{gap:8px;display:grid}.team-controls select,.team-controls textarea,.work-records textarea{width:100%;font:inherit;border:1px solid #cbd8e6;border-radius:8px;padding:8px}.team-members>div{justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.work-records{background:#f8fbff;border:1px solid #e1e9f2;border-radius:10px;margin:8px 0;padding:12px 16px}.work-records summary{cursor:pointer;color:#275b96}.work-records p{white-space:pre-wrap;line-height:1.65}.work-records article{border-bottom:1px solid #dce5ef;padding:12px 0}.work-records textarea{min-height:70px}.work-records button{margin:8px 10px 8px 0}.stage-editor-item[draggable=true]{cursor:grab}.stage-editor-item[draggable=true]:active{cursor:grabbing}.planning-panel>label{margin:12px 0;display:block}.planning-panel>div>label{align-items:center;gap:8px;margin:8px 14px 8px 0;display:inline-flex}.settings-panel .task-card{margin:16px 0;padding:18px;display:block}.settings-panel .task-card>strong{display:block}.settings-panel .task-card details{margin:12px 0}.settings-panel textarea{max-width:100%;min-height:72px}.settings-panel .planning-fields select{min-width:0;max-width:100%}.stage-card small{white-space:normal;overflow-wrap:anywhere}@media (max-width:720px){.settings-panel .planning-fields{grid-template-columns:1fr}.settings-panel .planning-fields .wide{grid-column:1}.settings-panel .task-card{padding:14px}.settings-panel input,.settings-panel select,.settings-panel textarea{box-sizing:border-box;max-width:100%}}:where(button){font:inherit;cursor:pointer;border-radius:var(--btn-radius);color:#284b77;min-height:var(--btn-h-md);box-sizing:border-box;background:#fff;border:1px solid #d5e2f2;padding:8px 12px;font-size:13.5px;font-weight:600;line-height:1.35}:where(button:hover){background:#f0f6ff;border-color:#acc8f2}:where(button:disabled){cursor:not-allowed;opacity:.55}button.primary{background:var(--blue);border-color:var(--blue);color:#fff;border-radius:var(--btn-radius)}button.primary:hover{background:#1d4ed8;border-color:#1d4ed8}button.text,button.quiet{color:#2b6bd8;background:0 0;border-color:#0000;padding:0 8px;font-weight:700}button.text:hover,button.quiet:hover{background:#eef4ff;border-color:#0000}button.danger{background:var(--danger);border-color:var(--danger);color:#fff;border-radius:var(--btn-radius)}button.danger:hover{background:var(--danger-strong);border-color:var(--danger-strong)}button.dashed{color:var(--blue);background:#fbfdff;border-style:dashed;border-color:#8bb4ed}button.dashed:hover{background:#eef4ff;border-style:solid}button.btn-sm{min-height:var(--btn-h-sm);padding:4px 8px;font-size:13px}button.btn-lg{min-height:var(--btn-h-lg);padding:8px 16px;font-size:14px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-offset:2px;outline:3px solid #8bb8ff}.dialog-backdrop{overscroll-behavior:contain;overflow:auto}.app-dialog{box-sizing:border-box;overscroll-behavior:contain;max-height:calc(100dvh - 40px);overflow-y:auto}.dialog-wide{width:min(780px,100%)}.app-dialog p{line-height:1.6}.app-dialog h3{margin:20px 0 12px}.app-dialog h4{margin:18px 0 10px}.app-dialog label{color:#41566e;flex-direction:column;gap:8px;font-size:14px;display:flex}.dialog input[type=checkbox],.dialog input[type=radio],.planning-panel input[type=checkbox],.planning-panel input[type=radio],.planning-fields input[type=checkbox],.planning-fields input[type=radio],.people-picker input[type=checkbox],.people-picker input[type=radio]{width:18px;min-width:18px;height:18px;accent-color:var(--blue);vertical-align:middle;flex:0 0 18px;margin:0;padding:0}.planning-choice{align-items:center;gap:16px 24px;margin:0;padding:12px}.planning-choice label,.app-dialog .planning-check{flex-direction:row;align-items:center;gap:8px;font-weight:400;line-height:1.5;display:flex}.planning-choice label{white-space:nowrap}.planning-fields small,.muted{color:var(--muted);font-size:12px;font-weight:400;line-height:1.5}.dialog-footer{z-index:1;background:#fff;margin-top:20px;padding:16px 0;position:sticky;bottom:-22px}.toolbar,.project-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.project-toolbar{padding:0 2px}.project-toolbar .team-controls{margin:0}.project-toolbar>.planning-panel{width:auto;margin:0;padding:8px 12px}.report-project-button{align-self:flex-end;width:auto}.team-controls{align-items:center}.task-card>.team-controls,.task-card>.work-records,.task-card>.early-control{grid-column:1/-1}.task-card>.team-controls{margin:0}.task-card>.work-records{border:0;border-top:1px solid var(--line);background:0 0;margin:0;padding:8px 0}.work-records[open]{width:auto}.work-records>summary{font-size:13px}.work-records p{font-size:14px}.people-options{border:1px solid #dce5f0;border-radius:10px;max-height:230px;margin-top:10px;overflow:auto}.people-options label{border-bottom:1px solid #eff3f8;flex-direction:row;align-items:center;gap:8px;padding:8px 12px;display:flex}.people-options label[hidden]{display:none}.people-options label:last-child{border:0}.people-options small{color:var(--muted);font-size:12px;font-weight:400;display:block}.people-options label:has(input:checked){background:#eff5ff}.selected-people{flex-wrap:wrap;gap:8px;margin:10px 0;display:flex}.selected-people button{background:#f3f7fc;font-size:13px}.team-members>div{border-bottom:1px solid #edf2f8;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.team-members small{color:var(--muted)}.access-note{background:#f2f6fc;border-radius:9px;padding:12px;font-size:13px}.compact-details{margin:16px 0;font-size:13px}.compact-details>summary{color:#456b96;cursor:pointer;padding:8px 0}.customer-search{position:relative}.customer-search .card-heading{margin-bottom:8px}.customer-options{background:#fff;border:1px solid #d5e2f2;border-radius:10px;max-height:200px;margin-top:8px;padding:4px;overflow-y:auto}.customer-options button{text-align:left;border:0;justify-content:space-between;align-items:center;gap:10px;width:100%;display:flex}.customer-options small{color:var(--muted)}.customer-list{flex-direction:column;margin:16px 0;display:flex}.customer-row{text-align:left;border:0;border-bottom:1px solid var(--line);overflow-wrap:anywhere;border-radius:0;grid-template-columns:minmax(160px,2fr) minmax(100px,1fr) minmax(110px,1fr);align-items:center;gap:16px;width:100%;padding:16px 8px;display:grid}.customer-row span{color:#61738a;font-size:13px}.link-button{text-align:left;color:var(--blue);background:0 0;border:0;padding:0}.intake-file{background:#f5f8fc;border-radius:10px;padding:12px;font-size:13px}.intake-file>button{float:right}.match-result{color:#305f9b;background:#f1f7ff;border-radius:9px;margin:0;padding:8px 16px;font-size:13px}.app-dialog>.planning-panel,.app-dialog>.work-records{margin:0}.app-dialog>.planning-panel>summary,.app-dialog>.work-records>summary{display:none}.notification-badge{white-space:nowrap}@media (max-width:600px){.app-dialog{max-height:calc(100dvh - 20px);padding:16px}.dialog-backdrop{padding:10px}.planning-choice{flex-direction:row;align-items:center;gap:12px}.planning-fields{gap:14px}.customer-row{grid-template-columns:1fr;gap:6px}.toolbar button,.project-toolbar button,.dialog-footer button{min-height:44px}.dialog-footer{bottom:-18px}.people-options label{min-height:44px}.customer-options button{flex-direction:column;align-items:flex-start;gap:3px}}.customer-search .card-heading{flex-direction:row;align-items:center}.team-members{max-height:200px;overflow-y:auto}.dialog-footer:has(.access-note){flex-wrap:wrap}.dialog-footer .access-note{flex-basis:100%;margin:0;padding:8px;font-size:12px}.team-inline{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;max-width:100%;margin:0;display:flex}@media (min-width:901px){.task-panel .task-card{grid-template-columns:minmax(0,1fr) 245px}.task-person .team-inline{flex-wrap:nowrap}}.task-guide{color:#1f4e79;font-size:var(--fs-label);background:#eaf2fb;border:1px solid #a8c6e8;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:0 0 8px;padding:12px 16px;line-height:1.5;display:flex}.task-guide b{font-size:var(--fs-body)}.task-guide .guide-sep{color:#8fb2d8;font-style:normal}.task-list{gap:8px;display:grid}.task-panel .task-card{background:#fff;border:1px solid #dbe4ee;border-radius:12px;grid-template-columns:none;padding:0;display:block;overflow:hidden}.task-card.is-current{background:#f7fbff;border-color:#a8c6e8;box-shadow:0 2px 10px #1f4e7912}.task-line{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:0;align-items:center;gap:8px;width:100%;padding:12px 16px;display:flex}.task-line:hover{background:#f3f8fd}.task-card.is-current .task-line:hover{background:#eef6fe}.task-seq{color:#65778b;width:24px;height:24px;font-size:var(--fs-meta);background:#fff;border:1px solid #d3dde8;border-radius:7px;flex:none;place-items:center;font-style:normal;font-weight:700;display:grid}.task-card.is-current .task-seq{color:#fff;background:#2f6fba;border-color:#2f6fba}.task-seq.is-done{color:#3f7a52;background:#eef7f0;border-color:#bcd8c4}.task-line strong{color:#1d3048;min-width:0;font-size:var(--fs-body);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;overflow:hidden}.task-card.is-row .task-line strong{color:#42586f}.task-line .kind-tag{color:#2f5d95;font-size:var(--fs-meta);vertical-align:middle;background:#eaf1fa;border-radius:6px;margin-left:8px;padding:2px 8px;font-weight:700}.task-line-note{min-width:0;color:var(--muted);font-size:var(--fs-meta);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;overflow:hidden}.task-line-person{color:#5a6e84;font-size:var(--fs-meta);white-space:nowrap;flex:none;margin-left:auto}.task-chevron{border-bottom:1.5px solid #9aabbd;border-right:1.5px solid #9aabbd;flex:none;width:7px;height:7px;margin-right:2px;transition:transform .15s;transform:rotate(45deg)}.task-card.is-open .task-chevron{transform:rotate(-135deg)}.task-detail{border-top:1px solid #e9f0f8;gap:8px;padding:0 16px 16px;display:grid}.task-detail>.task-main{padding-top:12px;display:block}.task-detail .task-person{margin:0}.task-foot{flex-wrap:wrap;align-items:center;gap:8px 24px;display:flex}.task-foot>*{background:0 0;border:0;margin:0;padding:0}.task-detail>.task-message{margin:0}.team-owner{align-items:center;gap:8px;display:flex}.team-owner>span:last-child{flex-direction:column;gap:3px;display:flex}.team-owner small{color:var(--muted);font-size:12px}.team-owner strong{font-size:14px}button.team-add{width:32px;height:32px;min-height:var(--btn-h-md);color:var(--blue);background:#f4f8ff;border:1px dashed #8bb4ed;border-radius:50%;padding:0;font-size:22px;line-height:1}button.team-transfer{min-height:var(--btn-h-sm);color:#b45309;background:#fff7ed;border:1px solid #f3c98b;border-radius:14px;padding:0 8px;font-size:12px;line-height:1}button.team-avatar-group{background:0 0;border:0;gap:0;min-height:0;padding:0;display:flex}.team-avatar-group:empty{display:none}.team-avatar-group .avatar{border:2px solid #fff;border-radius:50%;width:28px;height:28px;margin-left:-4px;font-size:11px}.stage-team{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.task-person{justify-content:flex-end;align-self:start}.task-person .team-inline{margin:0}.people-browser{border:1px solid #dce5f0;border-radius:10px;grid-template-columns:170px minmax(0,1fr);height:270px;margin-top:12px;display:grid;overflow:hidden}.people-departments{background:#f7f9fc;border-right:1px solid #e1e8f2;padding:8px;overflow:auto}.people-departments button{text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;width:100%;margin-bottom:2px;font-size:13px;display:flex}.people-departments button[aria-pressed=true]{color:#1d5aca;background:#e6efff}.people-departments small{color:var(--muted)}.people-browser .people-options{border:0;border-radius:0;max-height:none;margin:0}.people-options label{cursor:pointer}.people-options strong{font-size:14px}.people-options p{padding:12px}.selected-people{max-height:82px;overflow:auto}.unified-inbox{width:100%;max-width:none}.todo-list{width:100%}.todo-row{text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0;grid-template-columns:minmax(0,1fr) 185px 60px;align-items:center;gap:24px;width:100%;padding:16px 12px;display:grid}.todo-copy,.todo-due{flex-direction:column;gap:7px;display:flex}.todo-copy small,.todo-due small{color:var(--muted)}.todo-due strong{font-size:14px}.todo-due.overdue strong{color:#c63939}.reward-tabs{margin:16px 0}.reward-batch{flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0;display:flex}.reward-batch>span{margin-right:auto;font-size:14px}.reward-row{border-bottom:1px solid #e0e8f1;align-items:center;gap:20px;padding:16px 8px;display:flex}.reward-order{flex:1;align-items:center;gap:8px;min-width:0;display:flex!important}.reward-order strong,.reward-order .link-button{overflow-wrap:anywhere;font-size:15px}.reward-row>span{font-size:13px}.reward-row small{color:var(--muted);margin-top:4px;display:block}.reward-row.ineligible{color:#8592a3;background:#f8fafc}.reward-actions{flex-wrap:wrap;gap:8px;display:flex}.claim-status{white-space:nowrap}.claim-status.paid{color:#148562}.claim-status.rejected{color:#ba4545}.reward-evidence{border-top:1px solid var(--line);padding:12px 0}.reward-preview{background:#f2f6fc;border-radius:8px;margin-top:12px;padding:8px;font-size:13px}.receipt-control{align-items:center;gap:12px;margin:12px 0;font-size:14px;display:flex}@media (max-width:600px){.task-panel>.card-heading{align-items:flex-start}.stage-team,.task-person{justify-content:flex-start}.people-browser{grid-template-rows:86px minmax(0,1fr);grid-template-columns:1fr;height:310px}.people-departments{border-right:0;border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px;display:flex}.people-departments button{width:auto;max-width:100%;min-height:var(--btn-h-lg)}.todo-row{grid-template-columns:minmax(0,1fr) auto;gap:12px}.todo-due{grid-area:2/1}.todo-row>.open-text{grid-area:1/2/3}.reward-row{flex-wrap:wrap;gap:12px}.reward-order{flex-basis:100%}.reward-actions{width:100%}.team-add{min-width:36px;min-height:36px}.receipt-control{flex-wrap:wrap}}.overview{flex-direction:column;gap:18px;display:flex}.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.overview-card{border:1px solid var(--line);background:#fff;border-radius:16px;flex-direction:column;gap:16px;padding:20px;display:flex}.overview-card .card-heading{margin-bottom:0}.overview-card .card-heading h3{font-size:18px}.overview-card .metric-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.overview-card .metric{min-height:0;padding:14px}.overview-card .metric strong{font-size:26px}.overview-list{border-top:1px solid var(--line);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.overview-list li{border-bottom:1px solid #eef3f9;justify-content:space-between;align-items:center;gap:12px;padding:8px 2px;font-size:14px;display:flex}.overview-list li:last-child{border-bottom:0}.overview-list li small{max-width:45%;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (max-width:1180px){.overview-grid{grid-template-columns:minmax(0,1fr)}}.overview-toolbar{justify-content:flex-end;gap:10px;display:flex}.overview-options{flex-direction:column;gap:2px;margin:12px 0;display:flex}.analytics{flex-direction:column;gap:18px;display:flex}.analytics-toolbar{justify-content:flex-end;align-items:center;gap:10px;display:flex}.analytics-scope{color:#718399;font-size:13px}.segmented{background:#fff;border:1px solid #d6e0ea;border-radius:9px;display:inline-flex;overflow:hidden}.segmented button{min-height:var(--btn-h-md);background:0 0;border:0;border-radius:0;padding:0 12px;font-size:13px}.segmented button[aria-pressed=true]{background:var(--blue);color:#fff}.analytics-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;display:grid}.analytics-card{border:1px solid var(--line);background:#fff;border-radius:16px;flex-direction:column;gap:16px;padding:20px;display:flex}.analytics-card .card-heading{margin-bottom:0}.analytics-card .card-heading h3{font-size:18px}.analytics-controls{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.inline-check{color:#41566e;align-items:center;gap:8px;margin:0;font-size:13px;display:inline-flex}.inline-check input{width:16px;height:16px;accent-color:var(--blue);margin:0}.severity-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.severity-row{border:1px solid var(--line);border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;font-size:14px;display:flex}.severity-row strong{font-size:22px}.trend-chart{align-items:stretch;gap:8px;height:200px;padding-top:16px;display:flex}.trend-col{flex-direction:column;flex:1 1 0;align-items:center;gap:5px;min-width:0;display:flex}.trend-value{color:#41566e;min-height:15px;font-size:12px;font-weight:700}.trend-track{flex:1;align-items:flex-end;width:100%;max-width:38px;display:flex}.trend-bar{background:linear-gradient(180deg,#3b82f6,var(--blue));border-radius:5px 5px 0 0;width:100%}.trend-label{color:#8595a6;white-space:nowrap;font-size:11px}.rank-list{flex-direction:column;gap:8px;max-height:430px;display:flex;overflow:auto}.rank-row{grid-template-columns:130px minmax(0,1fr) 54px;align-items:center;gap:12px;padding:4px 0;display:grid}.rank-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.rank-bar{background:#eef3f9;border-radius:8px;height:16px;overflow:hidden}.rank-bar i{background:linear-gradient(90deg,#60a5fa,var(--blue));border-radius:8px;height:100%;display:block}.rank-value{text-align:right;font-size:14px}.analytics-note{color:#8595a6;margin:0;font-size:12px}.metric-help{cursor:help;border-bottom:1px dashed #c3d0de;align-items:center;gap:4px;display:inline-flex}.analytics .metric-tip{z-index:20;white-space:normal;text-align:left;color:#fff;opacity:0;visibility:hidden;background:#1d3048;border-radius:8px;padding:8px;font-size:12px;line-height:1.4;transition:opacity .12s;position:absolute;inset:44px 19px auto;box-shadow:0 6px 18px #0f203838}.analytics .metric:hover .metric-tip,.analytics .metric:focus-within .metric-tip{opacity:1;visibility:visible}@media (max-width:1180px){.analytics-grid{grid-template-columns:minmax(0,1fr)}}.analytics .metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:820px){.analytics .metric-grid{grid-template-columns:minmax(0,1fr)}}.analytics .metric{min-height:0}.analytics .metric>span{min-height:20px;display:block}.rank-chart{align-items:stretch;gap:8px;height:260px;padding-top:16px;display:flex;overflow:auto hidden}.rank-col{flex-direction:column;flex:58px;align-items:center;gap:5px;min-width:58px;display:flex}.rank-col-value{color:#41566e;min-height:15px;font-size:12px;font-weight:700}.rank-col-track{flex:1;align-items:flex-end;width:100%;display:flex}.rank-col-bar{background:linear-gradient(180deg,#3b82f6,var(--blue));border-radius:5px 5px 0 0;width:70%;margin:0 auto}.rank-col-label{color:#8595a6;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:11px;overflow:hidden}.production-card header h3{margin:0}.production-summary{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin:0;display:grid}.production-summary div{border:1px solid var(--line);background:#fbfcfe;border-radius:10px;flex-direction:column;gap:4px;padding:8px 12px;display:flex}.production-summary dt{color:#6a7d93;font-size:12px;font-weight:800}.production-summary dd{color:#1d3048;margin:0;font-size:14px;font-weight:700}.production-summary dd small{color:#6a7d93;font-weight:600}.production-hint{color:#23588f;background:#f5f9ff;border:1px dashed #a9c4ea;border-radius:9px;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:8px 12px;font-size:13px;display:flex}.production-hint button.quiet{min-height:var(--btn-h-sm);padding:0 8px;font-size:12px}.load-bar{background:#e6edf5;border-radius:3px;width:100%;max-width:110px;height:5px;margin-top:4px;display:block;overflow:hidden}.load-bar i{background:linear-gradient(90deg,#3b82f6,var(--blue));border-radius:3px;height:100%;display:block}.load-bar.is-full i{background:linear-gradient(90deg,#f0885a,#d9463c)}label.check-inline{color:#41566e;flex-direction:row;align-items:center;gap:8px;font-size:13.5px;font-weight:700;display:flex}label.check-inline input{width:17px;height:17px;accent-color:var(--blue);margin:0}.metric-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin:4px 0 12px;display:grid}.metric-card{border:1px solid var(--line);background:#fbfcfe;border-radius:10px;flex-direction:column;gap:4px;padding:12px;display:flex}.metric-card small{color:#6a7d93;font-size:12px;font-weight:700}.metric-card strong{color:#1d3048;font-size:19px;font-weight:800}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:6px 0 16px;display:grid}.summary-grid>div{border:1px solid var(--line);background:#fff;border-radius:10px;padding:12px}.summary-grid h4{color:#41566e;margin:0 0 8px;font-size:13px;font-weight:800}.summary-grid p{color:#30445d;border-bottom:1px dashed #eef3f8;justify-content:space-between;gap:8px;margin:0;padding:4px 0;font-size:13px;display:flex}.summary-grid p:last-child{border-bottom:0}.splits-editor{border:1px solid var(--line);background:#fbfcfe;border-radius:10px;margin-top:8px;padding:8px 12px}.splits-head{color:#41566e;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;font-size:13px;font-weight:800;display:flex}.splits-head button.quiet{min-height:var(--btn-h-sm);padding:0 8px;font-size:12px}.splits-row{grid-template-columns:minmax(120px,1.4fr) minmax(80px,1fr) minmax(90px,1fr) auto;align-items:center;gap:8px;margin-bottom:6px;display:grid}.splits-row input{height:var(--btn-h-md)}.splits-row button.quiet{min-height:var(--btn-h-sm);padding:0 8px;font-size:12px}.quality-detail{flex-direction:column;gap:12px;max-height:66vh;padding-right:4px;display:flex;overflow-y:auto}.quality-detail section{border:1px solid var(--line);background:#fff;border-radius:10px;padding:12px}.quality-detail section h4{color:#41566e;margin:0 0 8px;font-size:13px;font-weight:800}.quality-detail section p{color:#30445d;white-space:pre-wrap;margin:0 0 8px;font-size:13.5px;line-height:1.55}.quality-detail section p:last-child{margin-bottom:0}.quality-detail .quality-action{background:#f7faff;border-color:#cddff7}.rejected-note{color:#5a4527;white-space:pre-wrap;background:#fff8ec;border-left:3px solid #e8a33d;border-radius:6px;padding:8px 12px;font-size:13.5px}table tr.clickable{cursor:pointer}table tr.clickable:hover{background:#f5f9ff}.planning-fields>:last-child:nth-child(odd),.editor-title-fields .wide{grid-column:1/-1}.empty-state{gap:var(--gap-2);min-height:200px;padding:28px 24px}.empty-state strong{font-size:15px}.empty-state p{margin:4px 0 0;font-size:13.5px}.empty-state .primary{margin-top:var(--gap-2)}.check-rows{gap:2px var(--gap-4);margin-top:var(--gap-1);grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.check-rows .check-item{min-height:var(--btn-h-sm)}.check-rows .check-item-label{font-size:var(--fs-body)}.check-rows .check-item-label small{font-size:var(--fs-meta)}@media (max-width:720px){.check-rows{grid-template-columns:1fr}}.option-list{gap:var(--gap-2);margin:var(--gap-3) 0 var(--gap-4);flex-wrap:wrap;padding:0;list-style:none;display:flex}.option-list>li{display:flex}.option-item{align-items:center;gap:var(--gap-2);text-align:left;display:inline-flex}.option-item strong{font-weight:700}.option-item .muted{font-size:12px}.option-item[aria-pressed=true]{border-color:var(--blue);color:#1d4ed8;background:#eef4ff}.form-title{color:#41566e;grid-column:1/-1;margin:0;font-size:13px;font-weight:800}.form-title .muted{font-weight:600}.editor-title-fields .choice-options{gap:var(--gap-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.editor-title-fields .choice-option{justify-content:center;width:100%}.row-actions{align-items:center;gap:var(--gap-1);flex-wrap:nowrap;display:flex}.row-actions button{white-space:nowrap}.card .tabs{margin-top:12px;margin-bottom:0}.access-item{justify-content:space-between;align-items:center;gap:16px;display:flex}.access-item p{margin:8px 0}.access-item button,td button,.table-scroll button,.row-actions button{white-space:nowrap}.project-row{gap:12px;min-height:64px;padding:8px 16px}.project-identity{gap:8px}.project-identity>span:last-child{gap:2px}.project-identity strong{font-size:15px}.project-identity em{font-size:12.5px}.project-identity small{letter-spacing:.03em;font-size:11.5px}.project-row small{font-size:11.5px}.project-row strong{font-size:13.5px}.project-owner,.project-stage,.project-delivery,.project-factory,.project-coordinator,.project-created,.project-delivery-production{gap:2px}.project-owner strong,.project-stage strong,.project-delivery strong,.project-created strong,.project-delivery-production strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-progress{gap:4px}.project-flags{white-space:nowrap}.filters.reward-tabs{border:1px solid var(--line);background:#edf1f6;border-radius:12px;flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}.filters.reward-tabs button{color:#5b6f88;min-height:var(--btn-h-lg);background:0 0;border:0;border-radius:9px;padding:8px 16px;font-weight:600}.filters.reward-tabs button[aria-selected=true]{color:#1d4ed8;background:#fff;box-shadow:0 1px 3px #10274324}.filters.reward-tabs button:hover{background:var(--line);color:#1d4ed8}.settings-panel .check-rows{justify-items:start}.settings-panel .check-rows .check-item{text-align:left;justify-content:flex-start}.settings-panel>.empty-state,.page-stack>.empty-state{text-align:left;justify-items:start;min-height:0;padding:24px 20px}.empty-state p{max-width:62ch}.filters.candidate-tabs{gap:var(--gap-1);border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;flex-wrap:wrap;padding:0;display:flex}.filters.candidate-tabs button{color:#5b6f88;min-height:var(--btn-h-md);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px;padding:8px 16px;font-weight:700}.filters.candidate-tabs button:hover{color:#1d4ed8;background:0 0}.filters.candidate-tabs button.active,.filters.candidate-tabs button[aria-selected=true],.filters.candidate-tabs button[aria-pressed=true]{color:#1d4ed8;border-bottom-color:var(--blue);box-shadow:none;background:0 0}.empty-state{text-align:left;border-radius:12px;min-height:0;padding:24px 20px;display:block}.empty-state .empty-mark{margin-bottom:8px}.empty-state strong{font-size:14px;display:block}.empty-state p{max-width:64ch;margin:4px 0 0;font-size:13px}.empty-state .primary,.empty-state button{margin-top:var(--gap-3)}.project-identity>span:last-child{gap:1px;line-height:1.25}.project-identity small,.project-identity strong,.project-row small{line-height:1.25}.project-row strong{line-height:1.3}.project-flags{justify-content:flex-end;align-items:center;gap:var(--gap-1);white-space:nowrap;flex-flow:row;display:flex}.dialog .check-item,.planning-fields .check-item,.settings-grid .check-item,.check-rows .check-item,.check-field{text-align:left;flex-direction:row;justify-content:flex-start;align-items:center}.dialog .choice-option,.planning-fields .choice-option{text-align:left;justify-content:flex-start}.check-rows .check-item{width:100%}.project-identity small,.project-identity strong,.project-identity em{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.project-hero{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px 20px;padding:16px;display:grid}.hero-copy{gap:8px;min-width:0;display:grid}.hero-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.code-chip{padding:4px 8px;font-size:12.5px}.hero-copy h2{letter-spacing:-.02em;margin:0;font-size:23px}.hero-pi{color:#75869a;font-size:13px}.hero-pi b{color:#40556d}.hero-meta{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px 0;display:grid}.hero-meta .meta-group{border-left:2px solid #eaeff5;gap:4px;min-width:0;padding:0 16px;display:grid}.hero-meta .meta-group:first-child{border-left:0;padding-left:0}.hero-meta h4{color:#8697aa;letter-spacing:.08em;margin:0 0 2px;font-size:11px;font-weight:800}.hero-meta .meta-group>span{min-width:0;color:var(--muted);gap:2px;font-size:12px;display:grid}.hero-meta .meta-group>span>b{color:#2f4459;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:800;overflow:hidden}.hero-meta .meta-group>span>b.muted-value{color:#9aa8b8;font-weight:600}.hero-meta .meta-group>span>b.is-overdue{color:#c0392b}.project-hero>.project-summary{background:0 0;border:0;border-top:1px solid #dbe7f6;border-radius:0;grid-column:1/-1;padding:12px 0 0}.hero-side{flex-direction:row;flex:none;align-items:center;gap:12px;display:flex}.hero-progress{border-radius:11px;flex:none;align-items:center;gap:8px;min-width:268px;padding:8px 12px;display:flex}.hero-progress>span{color:#75869a;white-space:nowrap;font-size:12.5px;display:block}.hero-progress>strong{margin:0;font-size:19px;display:block}.hero-progress .progress{flex:auto;min-width:84px;margin:0}.report-project-button{min-height:var(--btn-h-md);white-space:nowrap;align-self:auto;padding:0 16px}.metric-grid{gap:12px}.metric{border-radius:12px;gap:4px;min-height:0;padding:12px 16px}.metric small{font-size:12.5px}.metric strong{font-size:21px;line-height:1.25}.metric span{font-size:12.5px}.stage-track{grid-auto-columns:minmax(132px,1fr);gap:8px;padding:2px 2px 8px}.stage-card{border-radius:11px;gap:4px;min-height:124px;padding:12px}.stage-card:not(:last-child):after{width:10px;top:62px}.stage-card>strong{margin-top:2px;font-size:15px;line-height:1.3}.stage-card>small{font-size:11.5px;line-height:1.35}.stage-top b{width:24px;height:24px;font-size:11.5px}.stage-top em{padding:4px 8px;font-size:11.5px}.project-toolbar{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.project-toolbar button{white-space:nowrap}.toolbar-group{border-right:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding-right:16px;display:flex}.toolbar-group:last-child{border-right:0;padding-right:0}.toolbar-end{margin-left:auto}.toolbar-end button.danger{min-width:96px}.metric{justify-content:center;padding:8px 16px}.metric strong{line-height:1.2}.stage-track{grid-auto-columns:minmax(124px,1fr);gap:8px}.stage-card:not(:last-child):after{width:8px;right:-9px}.template-actions{flex-wrap:wrap;justify-content:flex-end}.template-card>.block-reason{color:#8a6520;background:#fffaef;border:1px solid #f0dcb4;border-radius:9px;grid-column:1/-1;margin:0;padding:8px 12px;font-size:12.5px}.list-toolbar{align-items:center;gap:var(--gap-2);flex-wrap:wrap;display:flex}.list-toolbar>input{flex:240px;min-width:200px}.list-count{color:#5b6f88;white-space:nowrap;font-size:13px;font-weight:700}.list-hint{color:var(--muted);flex:260px;font-size:12.5px}.list-toolbar>.primary{margin-left:auto}.field-filters{border:1px solid var(--line);background:#fafcff;border-radius:12px;padding:8px 12px}.field-filters>label,.field-filters .filter-row>label{align-items:center;gap:var(--gap-1);color:#6b7d92;white-space:nowrap;flex-direction:row;font-size:12.5px;display:flex}.field-filters select,.field-filters input[type=date]{min-height:var(--btn-h-sm);border-radius:var(--btn-radius);color:#2f4459;font:inherit;background:#fff;border:1px solid #d5e2f2;padding:0 8px;font-size:12.5px}.field-filters select{max-width:168px}.field-filters .range{align-items:center;gap:4px;display:inline-flex}.field-filters .range i{color:#9aa8b8;font-style:normal}.field-filters input[type=date]{width:132px}.field-filters .check-inline{cursor:pointer;gap:4px}.field-filters .check-inline input{width:15px;height:15px;accent-color:var(--blue)}.list-toolbar.field-filters{flex-direction:column;align-items:stretch;gap:10px}.list-toolbar.field-filters .toolbar-main{align-items:center;gap:var(--gap-2);flex-wrap:wrap;display:flex}.list-toolbar.field-filters .toolbar-main>input{border:1px solid var(--line);min-width:200px;height:40px;color:var(--ink);border-radius:9px;flex:240px;padding:0 12px}.list-toolbar.field-filters .toolbar-main>input::placeholder{color:#96a4b3}.list-toolbar.field-filters .toolbar-main>.primary{margin-left:auto}.list-toolbar.field-filters .filter-row{align-items:center;gap:var(--gap-2);flex-wrap:wrap;display:flex}@media (max-width:600px){.list-toolbar{flex-direction:column;align-items:stretch}.list-toolbar>input{flex:none;width:100%;min-width:0;height:40px}.list-toolbar>.primary{margin-left:0}.list-toolbar.field-filters .toolbar-main{flex-direction:column;align-items:stretch}.list-toolbar.field-filters .toolbar-main>input{flex:none;width:100%;min-width:0}.list-toolbar.field-filters .toolbar-main>.primary{margin-left:0}}@media (max-width:850px){.project-hero{grid-template-columns:minmax(0,1fr)}.hero-side{flex-wrap:wrap}.hero-progress{min-width:0}}.attach-thumb{object-fit:cover;width:44px;height:44px;margin-right:var(--gap-2);border:1px solid var(--line);border-radius:var(--btn-radius);vertical-align:middle;cursor:zoom-in;background:#fafbfd}.attach-preview-open{min-height:var(--btn-h-sm);margin-left:var(--gap-2);font-size:var(--fs-meta)}.attach-preview-image{border:1px solid var(--line);border-radius:var(--btn-radius);background:#fafbfd;max-width:100%;max-height:68vh;margin:0 auto;display:block}.attach-preview-frame{border:1px solid var(--line);border-radius:var(--btn-radius);background:#fafbfd;width:100%;height:68vh;display:block}.attach-preview-download{min-height:var(--btn-h-lg);border:1px solid var(--line);border-radius:var(--btn-radius);background:var(--surface);color:#40546b;font-size:var(--fs-body);align-items:center;padding:0 16px;font-weight:800;text-decoration:none;display:inline-flex}.attach-preview-download:hover{background:#f5f9ff;border-color:#9bbcf1}.project-toolbar button.is-done{color:#3f7a52;background:#eef7f0;border-color:#bcd8c4}.project-toolbar button.is-done:hover{background:#e3f2e8;border-color:#9dc7ab}.wf-workspace{flex-direction:column;gap:20px;width:100%;max-width:1440px;margin:0 auto;font-size:14px;display:flex}.wf-workspace fieldset{border:0;min-width:0;margin:0;padding:0}.wf-workspace label{flex-direction:column;gap:8px;min-width:0;font-weight:500;display:flex}.wf-workspace input,.wf-workspace select,.wf-workspace textarea{width:100%;min-width:0;font-size:14px}.wf-workspace input:not([type=checkbox]):not([type=radio]),.wf-workspace select,.wf-workspace textarea,.task-upload-page textarea{color:var(--ink);min-height:40px;line-height:1.5;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:8px 12px}.wf-workspace input:focus-visible,.wf-workspace select:focus-visible,.wf-workspace textarea:focus-visible{outline-offset:1px;outline:2px solid #93c5fd}.wf-workspace .choice-option,.wf-workspace .check-item,.wf-workspace .switch-row{flex-direction:row;align-items:center;gap:8px;margin-top:0}.wf-workspace .choice-option{min-height:40px}.wf-workspace .choice-option input{width:1px;height:1px}.wf-workspace .check-item input[type=checkbox],.wf-workspace .check-field input[type=checkbox]{width:18px;height:18px;accent-color:var(--blue);flex:none;align-self:flex-start;margin:0}.wf-workspace .check-field{flex-flow:wrap;align-items:center}.wf-workspace .check-field small{width:100%}.wf-workspace .choice-text{white-space:normal}.wf-workspace small,.wf-workspace .field-note{color:var(--muted,#64748b);font-size:12px;line-height:1.6}.wf-workspace p{color:var(--muted,#64748b);margin:8px 0;line-height:1.7}.wf-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.wf-toolbar>div{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.wf-basics{background:var(--surface,#fff);border-radius:12px;grid-template-columns:minmax(0,1fr) 220px;gap:16px;display:grid;border:1px solid var(--line,var(--line))!important;padding:20px!important}.wf-basics .wide,.wf-field-grid .wide{grid-column:1/-1}.wf-tabs{margin-bottom:var(--gap-4);border:1px solid var(--line,var(--line));background:#edf1f6;border-radius:12px;flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex;overflow:auto}.wf-tabs button{white-space:nowrap;min-height:var(--btn-h-lg);color:#5b6f88;background:0 0;border:0;border-radius:9px;padding:8px 16px;font-weight:600}.wf-tabs button:hover{background:var(--line);color:#1d4ed8}.wf-tabs button[aria-selected=true]{color:#1d4ed8;background:#fff;font-weight:600;box-shadow:0 1px 3px #10274324}.wf-panel[hidden]{display:none!important}.wf-build{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:24px;display:grid}.wf-directory{background:var(--surface,#fff);border:1px solid var(--line,var(--line));border-radius:12px;min-width:0;max-height:calc(100vh - 100px);padding:16px;position:sticky;top:20px;overflow:auto}.wf-directory-heading{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.wf-directory-heading button{padding:6px 8px;font-size:12px}.wf-directory-stage{border-top:1px solid var(--line,var(--line));padding:10px 0}.wf-directory-row{text-align:left;white-space:normal;background:0 0;border:1px solid #0000;border-radius:8px;align-items:flex-start;gap:8px;width:100%;min-height:44px;padding:8px;line-height:1.5;display:flex}.wf-directory-row>span:last-child{overflow-wrap:anywhere;flex:1;min-width:0}.wf-directory-row strong{font-size:14px;display:block}.wf-directory-row small{margin-top:4px;display:block}.wf-directory-row.selected{color:#065f46;background:#ecfdf5;border-color:#a7f3d0}.wf-index{background:var(--line);text-align:center;border-radius:6px;flex:0 0 22px;font-size:12px;line-height:24px}.wf-task-index{color:#94a3b8;flex:0 0 16px;font-size:12px;line-height:22px}.wf-task-directory{border-left:1px solid #dbe3ed;margin:4px 0 0 20px;padding-left:8px}.wf-add-task{background:0 0;border:0;min-height:36px;margin:8px 0;font-size:12px}.wf-object{background:var(--surface,#fff);border:1px solid var(--line,var(--line));border-radius:12px;min-width:0;max-width:960px;padding:24px}.wf-object-heading{justify-content:space-between;align-items:center;gap:12px;padding-bottom:20px;display:flex}.wf-object-heading h2{overflow-wrap:anywhere;margin:4px 0;font-size:20px;line-height:1.5}.wf-order-actions{flex-shrink:0;gap:8px;display:flex}.wf-order-actions button{padding:6px 10px;font-size:12px}.wf-object-fields{flex-direction:column;gap:24px;display:flex}.wf-section{border-bottom:1px solid var(--line,var(--line));min-width:0;margin:0;padding:0 0 20px}.wf-section:last-child{border:0;padding-bottom:0}.wf-section h3{color:var(--ink,#0f172a);margin:0 0 16px;font-size:15px}.wf-section label+label{margin-top:14px}.wf-section .wf-field-grid label+label{margin:0}.wf-section .wf-section{border:0;margin:0;padding:16px 0 0}.wf-section .wf-section>h3{display:none}.wf-section summary{cursor:pointer;align-items:center;min-height:44px;font-weight:600;display:flex}.wf-section[open] summary{margin-bottom:12px}.wf-field-grid{grid-template-columns:minmax(0,1fr) 140px;gap:16px;display:grid}.wf-days input{max-width:140px}.wf-summary{background:#f8fafc;border-radius:8px;padding:8px 12px;color:#334155!important}.wf-check-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px;display:grid}.wf-workspace .planning-panel{border-radius:8px;margin-top:12px;padding:16px}.wf-example-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.wf-example-actions button{white-space:normal;font-size:12px}.wf-example-actions small{width:100%}.wf-example-actions button:disabled{opacity:.45}.wf-sr-label{font-size:0}.wf-sr-label input{font-size:14px}.wf-chat-summary{background:#f8fafc;border-radius:8px;padding:16px}.wf-hint{color:var(--muted);margin:8px 0 0;font-size:12.5px;line-height:1.6}.wf-notice,.wf-warning{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:12px 16px;color:#92400e!important}.wf-fields-panel,.wf-review{background:var(--surface,#fff);border:1px solid var(--line,var(--line));border-radius:12px;align-self:center;width:100%;max-width:1040px;padding:24px}.wf-review{flex-direction:column;gap:24px;display:flex}.wf-graph-scroll{border:1px solid var(--line);border-radius:8px;padding:16px;overflow:auto}.wf-graph svg{max-width:none;margin:auto;display:block}.wf-graph-node{cursor:pointer;outline:none}.wf-graph-node:focus rect{stroke:#059669;stroke-width:3px}.wf-issue{text-align:left;white-space:normal;background:#fff7ed;border-color:#fed7aa;width:100%;margin-top:8px;line-height:1.6;display:block}.wf-receiver-list{margin-top:16px}.wf-receiver-list p{border-bottom:1px solid #f1f5f9;justify-content:space-between;gap:16px;padding:8px 0;display:flex}.wf-chat-example{border:1px solid var(--line);background:#f8fafc;border-radius:8px;padding:16px}.wf-publish{flex-wrap:wrap;align-items:center;gap:16px;padding-top:8px;display:flex}.wf-publish p{flex:1;min-width:220px}.wf-publish small{width:100%}.wf-empty{text-align:center;padding:50px 16px}.wf-mobile-back{display:none}@media (max-width:1100px){.wf-build{grid-template-columns:280px minmax(0,1fr);gap:16px}.wf-object{padding:20px}.wf-object-heading{flex-direction:column;align-items:flex-start}.wf-check-grid{grid-template-columns:1fr}}@media (max-width:760px){.wf-workspace{gap:16px}.wf-basics{grid-template-columns:1fr;padding:16px!important}.wf-basics .wide{grid-column:auto}.wf-build{display:block}.wf-directory{max-height:none;position:static}.wf-object{padding:16px;display:none}.wf-mobile-form .wf-directory{display:none}.wf-mobile-form .wf-object{display:block}.wf-mobile-back{margin-bottom:16px;display:block}.wf-tabs button{padding:10px 12px}.wf-workspace button{min-height:44px}.wf-field-grid{grid-template-columns:minmax(0,1fr) 120px;gap:12px}.wf-fields-panel,.wf-review{padding:16px}.wf-check-grid,.wf-workspace .planning-fields{grid-template-columns:1fr}.wf-toolbar>div{gap:8px}.wf-receiver-list p{flex-direction:column;gap:4px}}.task-upload-page{gap:16px;max-width:900px;margin:0 auto;padding:24px;display:grid}.task-upload-page label{gap:8px;display:grid}.task-upload-page input[type=file]{max-width:100%}.task-upload-page .task-file-row{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 0;display:flex}.task-upload-page .task-file-row input{width:20px;height:20px}.task-upload-page .task-file-row span{overflow-wrap:anywhere;flex:1}.task-upload-page textarea{box-sizing:border-box;width:100%}.bt-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.bt-toolbar .tabs{margin-bottom:0}.bt-toolbar-right{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.bt-count{color:var(--muted);white-space:nowrap;font-size:12.5px}.bt-search{border:1px solid var(--line);color:#1d3048;background:#fbfcfe;border-radius:9px;width:200px;max-width:100%;padding:8px 12px;font-size:13.5px}.bt-search:focus{background:#fff;border-color:#8fb4f5;outline:none;box-shadow:0 0 0 3px #2563eb1f}.bt-build{grid-template-columns:minmax(0,1fr) 440px;align-items:start;gap:20px;display:grid}.bt-list-pane{background:var(--surface,#fff);border:1px solid var(--line,var(--line));border-radius:12px;min-width:0;max-height:calc(100vh - 150px);position:sticky;top:20px;overflow:auto}.bt-table-wrap{max-width:none}.bt-table{min-width:520px}.bt-table thead th{z-index:1;color:#68798d;white-space:nowrap;background:#f7f9fc;font-size:12.5px;font-weight:700;position:sticky;top:0}.bt-table tbody tr{cursor:pointer}.bt-table tbody tr:hover{background:#f4f7fb}.bt-table tbody tr.selected{box-shadow:inset 3px 0 0 var(--blue);background:#eef4ff}.bt-table tbody tr.selected td{border-bottom-color:#dbe7fb}.bt-table th:first-child,.bt-table td:first-child{min-width:168px}.bt-table td strong{color:#1d3048;overflow-wrap:anywhere;font-size:13.5px;line-height:1.5;display:block}.bt-empty{text-align:center;color:var(--muted);margin:0;padding:28px 16px;font-size:13px}.bt-excerpt{-webkit-line-clamp:2;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:12.5px;line-height:1.7;display:-webkit-box;overflow:hidden}.bt-badge{white-space:nowrap;border-radius:99px;align-items:center;min-height:22px;padding:0 8px;font-size:12px;font-weight:700;display:inline-flex}.bt-badge.is-default{color:#68798d;background:#edf1f5}.bt-badge.is-custom{color:#1d4ed8;background:#e8f1ff}.bt-badge.is-off{color:#b63838;background:#fdf1f1}.bt-detail{background:var(--surface,#fff);border:1px solid var(--line,var(--line));border-radius:12px;min-width:0;max-height:calc(100vh - 150px);padding:20px;position:sticky;top:20px;overflow:auto}.bt-detail-head{border-bottom:1px solid #eef2f7;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;padding-bottom:16px;display:flex}.bt-detail-head h3{overflow-wrap:anywhere;margin:0;font-size:16px;line-height:1.5}.bt-detail-head p{color:var(--muted);margin:8px 0 0;font-size:12.5px}.bt-editor{flex-direction:column;gap:6px;display:flex}.bt-editor>span{color:#5b6f88;font-size:12.5px;font-weight:600}.bt-editor textarea{box-sizing:border-box;border:1px solid var(--line);color:#1d3048;resize:vertical;background:#fbfcfe;border-radius:9px;width:100%;min-height:132px;padding:8px 12px;font-family:inherit;font-size:13.5px;line-height:1.7}.bt-editor textarea:focus{background:#fff;border-color:#8fb4f5;outline:none;box-shadow:0 0 0 3px #2563eb1f}.bt-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;display:flex}.bt-preview-head{color:#33415c;margin:20px 0 8px;font-size:13px;font-weight:700}.bt-preview{border:1px solid var(--line,var(--line));background:#f6f8fb;border-radius:10px;align-items:flex-start;gap:8px;padding:14px;display:flex}.bt-preview-avatar{color:#fff;background:#1d4ed8;border-radius:9px;flex:0 0 32px;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:flex}.bt-preview-body{flex:1;min-width:0}.bt-preview-name{color:var(--muted);margin:0 0 8px;font-size:12px}.bt-preview-bubble{color:#1d3048;white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;border:1px solid #e3eaf3;border-radius:10px;margin:0;padding:12px 16px;font-size:13.5px;line-height:1.7}.bt-hint{color:var(--muted);margin:8px 0 0;font-size:12px;line-height:1.6}.bt-blank{text-align:center;color:var(--muted);padding:48px 20px}.bt-blank strong{color:#33415c;margin-bottom:8px;font-size:14px;display:block}.bt-blank p{margin:0;font-size:13px}@media (max-width:1280px){.bt-build{grid-template-columns:minmax(0,1fr) 380px;gap:16px}}@media (max-width:960px){.bt-build{display:block}.bt-list-pane,.bt-detail{max-height:none;position:static}.bt-detail{margin-top:16px}.bt-list-pane{margin-bottom:0}}.currency-fixed{border:1px solid var(--line,var(--line));color:#33415c;background:#f6f8fb;border-radius:8px;align-items:center;min-height:40px;padding:0 12px;font-size:14px;display:flex}.pager{border-top:1px solid var(--line,var(--line));flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-top:16px;padding-top:16px;display:flex}.pager-range{color:var(--muted);margin-right:auto;font-size:13px}.pager-index{text-align:center;color:#33415c;min-width:56px;font-size:13px}.portal-page{background:linear-gradient(#f4f7fb 0%,#eef2f8 100%);justify-content:center;min-height:100vh;padding:24px 16px;display:flex}.portal-card{background:#fff;border:1px solid #dce5f0;border-radius:18px;flex-direction:column;gap:24px;width:100%;max-width:680px;padding:28px 24px;display:flex;box-shadow:0 14px 35px #0f284614}.portal-brand{letter-spacing:.12em;color:#1f4e79;font-size:14px;font-weight:800}.portal-card h1{color:#10243e;margin:0;font-size:22px}.portal-sub{color:#5a6e86;margin:0;font-size:14px}.portal-card h2{color:#10243e;margin:0 0 12px;font-size:15px}.portal-steps{counter-reset:step;flex-wrap:wrap;gap:8px 0;margin:0;padding:0;list-style:none;display:flex}.portal-steps li{color:#7a8da4;flex:33%;align-items:center;gap:8px;min-width:150px;padding:6px 4px;font-size:13px;display:flex}.portal-steps li .portal-dot{background:#d4dde9;border:2px solid #d4dde9;border-radius:50%;flex:none;width:12px;height:12px}.portal-steps li.done{color:#0f7a4f;font-weight:600}.portal-steps li.done .portal-dot{background:#17a56b;border-color:#17a56b}.portal-note{color:#77520a;background:#fff8e8;border-radius:12px;margin:8px 0 0;padding:12px 14px;font-size:13px;line-height:1.6}.portal-note.ok{color:#087a55;background:#e8f7f0}.portal-note.err{color:#a33;background:#fdeeee}.portal-item{border:1px solid #dce5f0;border-radius:12px;flex-direction:column;gap:10px;margin-bottom:10px;padding:14px;display:flex}.portal-item.confirmed{background:#f2fbf6;border-color:#bfe6d2}.portal-item-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.portal-item-head strong{color:#10243e;font-size:14px}.portal-badge{color:#5a6e86;background:#eef2f8;border-radius:999px;padding:3px 10px;font-size:12px}.portal-badge.ok{color:#087a55;background:#e8f7f0}.portal-feedback{color:#5a6e86;margin:0;font-size:13px;font-style:italic}.portal-actions{flex-wrap:wrap;gap:8px;display:flex}.portal-btn{color:#1f4e79;cursor:pointer;background:#fff;border:1px solid #c9d6e6;border-radius:10px;padding:10px 18px;font-size:14px;font-weight:600}.portal-btn.primary{color:#fff;background:#1f4e79;border-color:#1f4e79}.portal-btn:disabled{opacity:.55;cursor:not-allowed}.portal-file{border:1px solid #dce5f0;border-radius:12px;flex-direction:column;gap:2px;margin-bottom:8px;padding:12px 14px;text-decoration:none;display:flex}.portal-file:hover{background:#f9fbfe;border-color:#4388ed}.portal-file-name{color:#1766d3;word-break:break-all;font-size:14px;font-weight:600}.portal-file-meta{color:#7a8da4;font-size:12px}.portal-footer{border-top:1px solid #e6edf5;flex-direction:column;gap:4px;padding-top:14px;display:flex}.portal-footer p{color:#7a8da4;margin:0;font-size:12px}.portal-modal{z-index:50;background:#10243e73;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.portal-modal-card{background:#fff;border-radius:16px;flex-direction:column;gap:12px;width:100%;max-width:440px;padding:20px;display:flex}.portal-modal-card h3{color:#10243e;margin:0;font-size:16px}.portal-modal-card textarea{resize:vertical;border:1px solid #c9d6e6;border-radius:10px;padding:10px;font-family:inherit;font-size:14px}.portal-muted{color:#7a8da4;margin:0;font-size:13px}@media (max-width:520px){.portal-card{border-radius:14px;padding:20px 16px}.portal-steps li{flex:100%}}.portal-admin-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.portal-admin-row input{border:1px solid var(--line);color:#33415c;background:#f8fafd;border-radius:8px;flex:260px;min-width:200px;padding:8px 10px;font-size:13px}.portal-admin-items{flex-direction:column;gap:6px;margin:10px 0;display:flex}.portal-admin-item{border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;align-items:baseline;gap:8px;padding:8px 12px;font-size:13px;display:flex}.portal-admin-item span{color:#24476e;font-weight:600}.portal-admin-item em{font-style:normal}.portal-admin-item em.ok{color:#0f7a4f}.portal-admin-item em.warn{color:#b26a00}.portal-admin-item small{color:#8697aa;flex-basis:100%}.ok-text{color:#0f7a4f}.portal-gate{background:#fffbf2;border:1px solid #e8d5ad;border-radius:10px;flex-direction:column;gap:8px;padding:12px;display:flex}.portal-gate .gate-title{color:#77520a;margin:0;font-size:13px;font-weight:600}.portal-gate ul{color:#5a6e86;margin:0;padding-left:18px;font-size:13px}.portal-position{background:#f7fafd;border:1px solid #dce5f0;border-radius:14px;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.portal-position-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.portal-position-head strong{color:#1f4e79;font-size:14px}.portal-position-head span{color:#3d5a7a;font-size:13px;font-weight:600}.portal-bar{background:#e2eaf4;border-radius:999px;height:6px;overflow:hidden}.portal-bar span{background:#17a56b;border-radius:999px;height:100%;transition:width .3s;display:block}.portal-next{color:#77520a;background:#fff8e8;border-radius:10px;margin:0;padding:10px 12px;font-size:13px;line-height:1.7}.portal-timeline{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.portal-step{gap:12px;padding:0 0 18px;display:flex;position:relative}.portal-step:not(:last-child):before{content:"";background:#e2eaf4;width:2px;position:absolute;top:28px;bottom:0;left:13px}.portal-step.done:not(:last-child):before{background:#bfe6d2}.portal-marker{color:#7a8da4;z-index:1;background:#eef2f8;border:2px solid #eef2f8;border-radius:50%;flex:none;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:flex}.portal-step.done .portal-marker{color:#fff;background:#17a56b;border-color:#17a56b}.portal-step.current .portal-marker{color:#a0642a;background:#fff;border-color:#e0a13c}.portal-step-body{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.portal-step-title{color:#10243e;flex-wrap:wrap;align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.portal-step.todo .portal-step-title{color:#8fa1b6;font-weight:500}.portal-step-meta{color:#7a8da4;margin:0;font-size:13px}.portal-badge.current{color:#a0642a;background:#fdf3e3}.portal-items{flex-direction:column;gap:10px;margin-top:6px;display:flex}.portal-files{flex-direction:column;gap:8px;margin-top:6px;display:flex}.portal-btn.quiet{color:#3d5a7a;background:#f4f7fb;border-color:#dbe4ef}.portal-extra{border-top:1px solid #e6edf5;flex-wrap:wrap;align-items:center;gap:10px;padding-top:14px;display:flex}.portal-modal-card input[type=file]{color:#3d5a7a;font-size:13px}.portal-admin-uploads{border-top:1px solid var(--line);flex-direction:column;gap:6px;margin:10px 0;padding-top:10px;display:flex}.portal-admin-uploads>strong{color:#24476e;font-size:13px}.portal-admin-upload{border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:2px;padding:8px 12px;text-decoration:none;display:flex}.portal-admin-upload:hover{background:#f9fbfe;border-color:#4388ed}.portal-admin-upload span{color:#1766d3;word-break:break-all;font-size:13px;font-weight:600}.portal-admin-upload em{color:#7a8da4;font-size:12px;font-style:normal}.portal-admin-upload small{color:#8697aa;font-size:12px}.portal-gate-input{letter-spacing:.04em;border:1px solid #c9d6e6;border-radius:10px;width:100%;padding:12px 14px;font-family:inherit;font-size:15px}.portal-gate-input:focus{outline-offset:1px;border-color:#4388ed;outline:2px solid #4388ed}.warn-text{color:#b26a00}.topbar .identity{align-items:center;gap:10px;display:flex}.help-link{height:var(--btn-h-md);color:#fff;background:#1f4e79;border-radius:999px;align-items:center;padding:0 16px;font-size:14px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.help-link:hover{background:#16406a}.notif-btn{position:relative}.notif-dot{color:#fff;text-align:center;box-sizing:border-box;background:#e02020;border-radius:9px;min-width:17px;height:17px;padding:0 5px;font-size:11px;font-weight:700;line-height:17px;position:absolute;top:-7px;right:-9px;box-shadow:0 0 0 2px #fff}.task-panel .task-card{--acc:#68798d;--acc-line:#dfe6ee;--acc-bg:#f2f5f8;border-left:4px solid var(--acc)}.task-panel .task-card.st-ready,.task-panel .task-card.st-in_progress{--acc:#205fc6;--acc-line:#bcd4ee;--acc-bg:#eaf2fd}.task-panel .task-card.st-waiting,.task-panel .task-card.st-pending{--acc:#a06a00;--acc-line:#ecd6a8;--acc-bg:#fdf4e3}.task-panel .task-card.st-blocked{--acc:#b63838;--acc-line:#eec3c0;--acc-bg:#fdeceb}.task-panel .task-card.st-completed{--acc:#187859;--acc-line:#bfe0d1;--acc-bg:#e9f6f1}.task-panel .task-card.is-open .task-line{background:var(--acc-bg);border-bottom:1px solid var(--acc-line)}.task-panel .task-line-note{color:#3c4f66;margin-left:0;font-weight:600}.task-panel .task-line-person{margin-left:0}.task-panel .task-detail{border-top:0;grid-template-columns:minmax(0,1fr) 240px;align-items:stretch;gap:0;padding:0}.task-panel .task-detail>.task-main{grid-column:1;padding:14px 16px}.task-panel .task-zone-label{color:#8a97a6;letter-spacing:.02em;margin-bottom:6px;font-size:11.5px;font-weight:700;display:block}.task-panel .task-main p{color:#31445c;font-size:14px;line-height:1.65}.task-panel .task-noop{border:1px solid var(--acc-line);background:var(--acc-bg);color:#a06a00;border-radius:8px;margin-top:8px;padding:4px 10px;font-size:12.5px;display:inline-flex}.task-panel .task-rail{background:#eef3f9;border-left:1px solid #dde5ee;flex-direction:column;grid-column:2;gap:8px;padding:14px 16px;display:flex}.task-panel .task-rail .team-inline{flex-wrap:wrap;justify-content:flex-start}.task-panel .task-rail .muted{color:#8a97a6;font-size:12px}.task-panel .task-detail>.task-message,.task-panel .task-detail>.task-exception-list{grid-column:1/-1;margin:0 16px 12px}.task-panel .task-foot{border-top:1px solid #e4ebf3;grid-column:1/-1;gap:8px 20px;padding:12px 16px 14px}.task-panel .task-foot .task-meta{align-items:center;gap:8px;display:flex}.task-panel .task-foot .task-meta>b{color:#8a97a6;font-size:11.5px;font-weight:700}.task-panel .task-foot .work-records{background:0 0;border:0;margin:0;padding:0}.task-panel .task-foot .work-records .card-heading>span{display:none}.task-panel .task-foot .task-actions{margin-left:auto}@media (max-width:900px){.task-panel .task-detail{grid-template-columns:1fr}.task-panel .task-rail{border-top:1px solid #e4ebf3;border-left:0;grid-column:1}}@media (max-width:600px){.task-panel .task-foot{flex-direction:column;align-items:stretch}.task-panel .task-foot .task-actions{justify-content:stretch;margin-left:0}}.task-panel .stage-head{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.task-panel .stage-head>small{margin-bottom:0}.task-panel .stage-head .planning-panel{color:#41566e;background:0 0;border:0;border-radius:0;align-items:center;gap:8px;padding:0;font-size:13px;display:flex}.task-panel .stage-head .planning-panel>span{color:#5b6f88}.task-panel .task-line{cursor:pointer}.task-panel .task-line-side{align-items:center;gap:16px;margin-left:auto;display:flex}.task-panel .task-line-side .task-dates{color:#5b6f88;align-items:center;gap:8px;font-size:12.5px;display:flex}.task-panel .task-card.is-row .task-line-side button{display:none}.task-panel .task-line-side button,.task-panel .task-foot .task-meta button{min-height:var(--btn-h-sm,30px);border-radius:var(--btn-radius,8px);color:#35507a;background:#fff;border:1px solid #d5e2f2;justify-content:center;align-items:center;padding:0 10px;font-size:12.5px;font-weight:600;line-height:1;display:inline-flex}.task-panel .task-foot .work-records .card-heading{border:0;align-items:center;gap:0;margin:0;padding:0;display:inline-flex}.task-panel .task-detail .production-card{background:0 0;border:0;border-radius:0;padding:0}.task-panel .task-detail .production-card header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.task-panel .task-detail .production-card header h3{margin:0;font-size:15px}.task-panel .task-detail .production-card header p{color:var(--muted);margin:4px 0 0;font-size:13px;line-height:1.6}.app-dialog:has(.production-form){width:min(1000px,100%)}.production-form{grid-template-columns:minmax(0,1fr);align-items:start;gap:10px 24px;display:grid}.production-form:has(>.portal-gate){grid-template-columns:minmax(0,1fr) minmax(0,360px)}.production-form>.planning-fields{margin-top:0}.production-form .planning-fields>.wide{grid-column:1/-1}.production-form>.portal-gate{margin-top:0}.app-dialog:has(.production-form) .form-actions{border-top:1px solid #e9f0f8;margin-top:16px;padding-top:14px}.app-dialog:has(.production-form) .form-actions .access-note{margin-left:auto}@media (max-width:900px){.production-form{grid-template-columns:minmax(0,1fr)}}.nowrap{white-space:nowrap}.exception-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;display:grid}.exception-form-grid>.wide{grid-column:1/-1}@media (max-width:640px){.exception-form-grid{grid-template-columns:1fr}}:where(button){transition:background-color .12s,border-color .12s,color .12s,box-shadow .12s}:where(button:not(.primary):not(.danger):not(.text):not(.quiet):not(:disabled):hover){background:#f0f6ff!important;border-color:#acc8f2!important}:where(.segmented button,.wf-tabs button,.admin-tabs button,.tabs button,.filters button,.reward-tabs button,.candidate-tabs button):hover{border-color:#0000!important}.sidebar button:not(.primary):not(.danger):hover{color:#fff!important;background:#143653!important;border-color:#0000!important}.profile-menu button:hover{color:#fff!important;background:#254966!important;border-color:#0000!important}.req{color:#b63838;margin-left:3px;font-style:normal;font-weight:700}label.field-missing>input,label.field-missing>textarea,label.field-missing>select{outline-offset:0;background:#fff7f7;border-color:#d98a8a;outline:2px solid #f0b9b9}label.field-missing{color:#8f3535}.form-error{color:#b63838;margin:2px 0 8px;font-size:13px;font-weight:700}.choice-option,.switch-row{position:relative}.choice-option input,.switch-row input{position:absolute;top:0;left:0}.dialog-backdrop{overflow:hidden}.req{color:#b63838;font-style:normal;font-weight:700}.field-caption>.req{margin-right:3px}.req-lead{color:#b63838;pointer-events:none;font-style:normal;font-weight:700;line-height:1;position:absolute}.req-lead.inline{margin-left:3px;position:static}
