:root{--bg:#f5f6f8;--card:#ffffff;--surface-2:#fafbfd;--ink:#171b26;--ink-2:#3a4150;--muted:#5c6472;--faint:#8a92a1;--line:#e3e6ec;--line-soft:#edeff4;--line-strong:#d2d7e0;--blue:#2f5fe0;--blue-ink:#23439e;--blue-soft:#e9eefb;--blue-softer:#f4f7fd;--green:#178a4c;--green-soft:#e3f3ea;--red:#cf3d33;--red-soft:#fcebe9;--amber:#a3690a;--amber-soft:#faf0da;--beige:#edeff3;--purple:#6653c6;--purple-soft:#edeafa;--r:8px;--r-sm:6px;--r-xs:4px;--shadow:0 1px 2px rgba(16,20,32,.05);--shadow-lg:0 4px 8px -4px rgba(16,20,32,.08),0 16px 40px -12px rgba(16,20,32,.16);--font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font);background:var(--bg);color:var(--ink);font-size:13px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font-family:inherit;cursor:pointer;color:inherit}input,select,textarea{font-family:inherit;font-size:12.5px;color:var(--ink)}a{color:var(--blue);text-decoration:none;cursor:pointer}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#ccd2db;border-radius:8px;border:3px solid var(--bg)}::-webkit-scrollbar-track{background:transparent}:focus-visible{outline:2px solid var(--blue);outline-offset:1px;border-radius:var(--r-xs)}.tnum{font-variant-numeric:tabular-nums}.ic{display:inline-flex;flex:none;vertical-align:-2px}.ic svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.hidden{display:none!important}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}.card-h{display:flex;align-items:baseline;gap:8px;padding:12px 16px 10px;border-bottom:1px solid var(--line-soft)}.card-h.plain{border-bottom:none;padding-bottom:0}.card-title{font-size:12.5px;font-weight:650;color:var(--ink);letter-spacing:-.005em}.card-sub{font-size:11px;color:var(--faint)}.card-b{padding:10px 16px 14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:var(--r-sm);border:1px solid var(--line);background:#fff;color:var(--ink-2);padding:0 11px;height:30px;font-size:12.5px;font-weight:550;transition:background .12s,border-color .12s,color .12s;white-space:nowrap}.btn:hover{border-color:var(--line-strong);background:var(--surface-2);color:var(--ink)}.btn:active{transform:translateY(.5px)}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:600}.btn.primary:hover{background:#2a54c8;border-color:#2a54c8}.btn.danger-ghost{color:var(--red);border-color:transparent;background:transparent}.btn.danger-ghost:hover{background:var(--red-soft);border-color:transparent}.btn.ghost{border-color:transparent;background:transparent;color:var(--muted)}.btn.ghost:hover{background:var(--line-soft);color:var(--ink)}.btn.sm{height:26px;padding:0 9px;font-size:12px;border-radius:5px}.btn:disabled{opacity:.45;cursor:not-allowed}.chip{display:inline-flex;align-items:center;gap:5px;padding:0 7px;height:20px;border-radius:5px;font-size:11px;font-weight:600;border:1px solid transparent;white-space:nowrap;letter-spacing:.005em}.chip:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.chip.plain:before,.chip.outline:before{display:none}.chip.green{background:var(--green-soft);color:var(--green)}.chip.red{background:var(--red-soft);color:var(--red)}.chip.amber{background:var(--amber-soft);color:var(--amber)}.chip.blue{background:var(--blue-soft);color:var(--blue-ink)}.chip.gray{background:var(--beige);color:var(--muted)}.chip.purple{background:var(--purple-soft);color:var(--purple)}.chip.outline{background:#fff;border-color:var(--line);color:var(--muted);font-weight:550}.chip.xs{height:18px;font-size:10.5px;padding:0 6px}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex:none}.avatar{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:9.5px;font-weight:700;color:#fff;flex:none;letter-spacing:.02em;line-height:1;text-align:center}.avatar.lg{width:38px;height:38px;font-size:12.5px}.avatar.sm{width:20px;height:20px;font-size:8.5px}.tooltip-note{font-size:11.5px;color:var(--faint)}.field label{display:block;font-size:11px;font-weight:600;color:var(--muted);margin-bottom:5px;letter-spacing:.01em}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:var(--r-sm);padding:7px 9px;background:#fff;outline:none;transition:border-color .12s,box-shadow .12s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.field{margin-bottom:13px}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:12px}.flex{display:flex;align-items:center;gap:8px}.spread{display:flex;align-items:center;justify-content:space-between;gap:8px}.sel-ctl{border:1px solid var(--line);border-radius:var(--r-sm);padding:0 8px;height:28px;background:#fff;outline:none;font-size:12px;color:var(--ink-2)}.sel-ctl:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.bar-track{position:relative;background:var(--line-soft);border-radius:4px;overflow:visible}.bar-track.xs{height:4px}.bar-track.sm{height:5px}.bar-track.md{height:7px}.bar-fill{position:absolute;left:0;top:0;bottom:0;background:var(--blue);border-radius:4px;min-width:2px}.bar-fill.green{background:var(--green)}.bar-tick{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--ink);opacity:.45;border-radius:1px;transform:translate(-1px)}#login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px;background:var(--bg)}.login-box{width:100%;max-width:680px}.login-brand{display:flex;align-items:center;gap:10px;justify-content:center;margin-bottom:6px}.logo{width:32px;height:32px;border-radius:8px;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;flex:none}.logo.sm{width:26px;height:26px;font-size:12.5px;border-radius:7px}.login-brand h1{font-size:22px;font-weight:700;letter-spacing:-.02em}.login-sub{text-align:center;color:var(--muted);margin-bottom:24px;font-size:13px}.login-card{padding:20px;border-radius:10px}.login-lbl{font-size:11px;font-weight:650;letter-spacing:.07em;text-transform:uppercase;color:var(--faint);margin-bottom:10px}.persona-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.persona{display:flex;gap:10px;align-items:center;text-align:left;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r);background:#fff;transition:border-color .12s,background .12s;width:100%}.persona:hover{border-color:var(--blue);background:var(--blue-softer)}.persona b{display:block;font-size:12.5px;font-weight:600}.persona span.pd{display:block;font-size:11px;color:var(--muted);margin-top:1px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:250px}.login-foot{margin-top:14px;text-align:center;font-size:12px;color:var(--faint)}.proto-chip{display:inline-flex;align-items:center;gap:5px;background:var(--amber-soft);color:var(--amber);border-radius:5px;padding:0 8px;height:20px;font-size:11px;font-weight:650}#app{display:flex;flex-direction:column;min-height:100vh}.topbar{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;padding:0 16px;height:48px}.topbar .brand{display:flex;align-items:center;gap:9px}.brand-name{font-weight:700;font-size:14px;letter-spacing:-.01em}.brand-env{font-size:10.5px;color:var(--faint);margin-top:-1px}.topbar-right{display:flex;align-items:center;gap:8px;margin-left:auto}.icon-btn{position:relative;width:30px;height:30px;border-radius:var(--r-sm);border:1px solid transparent;background:transparent;display:flex;align-items:center;justify-content:center;color:var(--muted);transition:background .12s,color .12s}.icon-btn:hover{background:var(--line-soft);color:var(--ink)}.badge{position:absolute;top:2px;right:2px;background:var(--red);color:#fff;font-size:9px;font-weight:700;border-radius:999px;min-width:15px;height:15px;display:flex;align-items:center;justify-content:center;padding:0 3px;border:2px solid #fff}.user-pill{display:flex;align-items:center;gap:8px;border:1px solid transparent;border-radius:var(--r-sm);padding:3px 8px 3px 4px;background:transparent;transition:background .12s}.user-pill:hover{background:var(--line-soft)}.user-pill b{font-size:12.5px;font-weight:600;display:block;line-height:1.2}.user-pill .meta{text-align:left}.user-pill .sub{font-size:10.5px;color:var(--faint);display:block;line-height:1.2}.user-pill .ic{color:var(--faint)}.layout{display:flex;flex:1;min-height:0}.sidebar{width:236px;flex:none;border-right:1px solid var(--line);background:#fbfcfd;padding:10px 10px 12px;display:flex;flex-direction:column;transition:width .18s}.sidebar.collapsed{width:56px;padding:10px 8px;align-items:center;gap:6px}.side-top{display:flex;align-items:center;gap:6px;margin-bottom:10px}.side-toggle{border:none;background:transparent;border-radius:var(--r-sm);width:26px;height:26px;color:var(--faint);display:flex;align-items:center;justify-content:center;flex:none}.side-toggle:hover{background:var(--line-soft);color:var(--muted)}.mod-switch{display:grid;flex:1;background:var(--beige);border:1px solid var(--line);border-radius:var(--r-sm);padding:2px;gap:2px}.mod-switch button{border:none;background:transparent;border-radius:4px;min-height:34px;padding:3px 6px;font-size:10.5px;font-weight:650;color:var(--muted);line-height:1.2;transition:.12s}.mod-switch button:hover:not(.active){color:var(--ink)}.mod-switch button.active{background:#fff;color:var(--ink);box-shadow:0 1px 2px #1014201a}.side-body{flex:1;overflow-y:auto;min-height:0;margin:0 -4px;padding:0 4px}.cnt{background:var(--line-soft);border-radius:4px;padding:1px 6px;font-size:10px;font-weight:650;color:var(--muted)}.admin-bottom{border-top:1px solid var(--line);margin:10px -10px 0;padding:8px 10px 0}.rail-btn{width:36px;height:36px;border-radius:var(--r-sm);border:1px solid var(--line);background:#fff;font-weight:700;font-size:11px;color:var(--muted);display:flex;align-items:center;justify-content:center}.rail-btn:hover{background:var(--line-soft)}.rail-btn.active{background:var(--blue-soft);color:var(--blue-ink);border-color:transparent}.side-title{font-size:10.5px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);padding:0 8px;margin-bottom:5px;display:flex;align-items:center;justify-content:space-between}.side-link{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:none;background:transparent;padding:6px 8px;border-radius:var(--r-sm);font-size:12.5px;font-weight:550;color:var(--ink-2);transition:background .12s;line-height:1.35}.side-link .ic{color:var(--faint)}.side-link:hover{background:var(--line-soft);color:var(--ink)}.side-link.active{background:var(--blue-soft);color:var(--blue-ink);font-weight:600}.side-link.active .ic{color:var(--blue-ink)}.side-group{margin-top:10px}.side-group>.g-head{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:5px 8px;border-radius:var(--r-sm);font-size:12px;font-weight:650;color:var(--ink);cursor:pointer;transition:background .12s;line-height:1.35}.side-group>.g-head:hover{background:var(--line-soft)}.side-group>.g-head.active{background:var(--blue-soft);color:var(--blue-ink)}.side-item{display:flex;align-items:center;gap:7px;width:100%;text-align:left;border:none;background:transparent;padding:5px 8px 5px 15px;border-radius:var(--r-sm);font-size:12px;font-weight:450;color:var(--muted);transition:background .12s,color .12s;line-height:1.35}.side-item:hover{background:var(--line-soft);color:var(--ink)}.side-item.active{background:var(--blue-soft);color:var(--blue-ink);font-weight:600}.side-item .dot{width:6px;height:6px}.main{flex:1;min-width:0;overflow-y:auto;padding:20px 26px 56px}.crumbs{font-size:11.5px;color:var(--faint);margin-bottom:10px}.crumbs a{color:var(--faint)}.crumbs a:hover{color:var(--blue)}.crumbs b{color:var(--muted);font-weight:600}.page-eyebrow{font-size:11px;color:var(--faint);font-weight:650;letter-spacing:.07em;text-transform:uppercase;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.page-eyebrow .chip{text-transform:none;letter-spacing:.005em}.headline-row{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:4px 0 2px}.headline-num{font-size:30px;font-weight:700;letter-spacing:-.025em;line-height:1.1}.headline-lbl{font-size:14px;font-weight:500;color:var(--muted)}.var-pill{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 10px;border-radius:6px;font-size:12.5px;font-weight:650;position:relative;top:-3px}.var-pill.red{background:var(--red-soft);color:var(--red)}.var-pill.amber{background:var(--amber-soft);color:var(--amber)}.var-pill.green{background:var(--green-soft);color:var(--green)}.headline-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--muted);margin-bottom:14px}.headline-meta .sep{color:var(--line-strong)}.headline-meta b{font-weight:600;color:var(--ink-2)}.kpi-strip{display:grid;grid-template-columns:repeat(6,1fr);margin-bottom:16px;overflow:hidden}.kpi{padding:11px 16px 12px;border-left:1px solid var(--line-soft);min-width:0}.kpi:first-child{border-left:none}.kpi-l{font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-v{font-size:23px;font-weight:650;letter-spacing:-.02em;line-height:1.25;margin:2px 0 3px}.kpi-s{font-size:11px;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-link{cursor:pointer;transition:background .12s}.kpi-link:hover{background:var(--surface-2)}.kpi .bar-track{margin-top:7px}.ov-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:14px;margin-bottom:14px;align-items:start}.ov-low{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:14px;align-items:start}.att-row{display:flex;align-items:center;gap:12px;padding:9px 16px;border-top:1px solid var(--line-soft);cursor:pointer;transition:background .12s}.att-row:hover{background:var(--blue-softer)}.att-row.sel{background:var(--blue-soft)}.sev{flex:none;width:54px;text-align:center;height:20px;line-height:19px;border-radius:5px;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.sev.red{background:var(--red-soft);color:var(--red)}.sev.amber{background:var(--amber-soft);color:var(--amber)}.att-main{flex:1;min-width:0}.att-main b{font-size:12.5px;font-weight:600;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.att-ws{font-size:11px;color:var(--faint);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.att-reason{flex:none;font-size:11.5px;color:var(--muted);width:132px;text-align:right}.att-owner{flex:none;display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--muted);width:92px}.att-chev{color:var(--faint);flex:none;display:flex}.att-more{padding:8px 16px;border-top:1px solid var(--line-soft);font-size:11.5px;color:var(--faint)}.hp-overall{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line-soft)}.hp-overall .hp-big{font-size:15px;font-weight:650}.hp-card{display:flex;flex-direction:column;align-self:stretch}.hp-foot{padding:10px 16px;border-top:1px solid var(--line-soft);font-size:11px;color:var(--faint);flex:none}.hp-card .hp-overall{flex:none}.hp-row{display:flex;align-items:center;gap:10px;padding:8px 16px;border-top:1px solid var(--line-soft);font-size:12.5px;flex:1;min-height:44px}.hp-row:first-of-type{border-top:none}.hp-name{width:88px;flex:none;font-weight:550;color:var(--ink-2)}.hp-det{margin-left:auto;font-size:11.5px;color:var(--faint);text-align:right}.chart-stats{display:flex;gap:20px;padding:10px 16px 2px;flex-wrap:wrap}.cs{display:flex;flex-direction:column;gap:1px}.cs-l{font-size:10.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--faint);display:flex;align-items:center;gap:5px}.cs-l i{display:inline-block;width:14px;height:0;border-top:2.5px solid var(--blue);border-radius:2px}.cs-l i.dash{border-top-style:dashed;border-top-color:#a3abba}.cs-v{font-size:17px;font-weight:650;letter-spacing:-.01em}.chart-box{position:relative;padding:2px 10px 4px}.chart-tip{position:absolute;z-index:5;background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:var(--shadow-lg);padding:8px 10px;font-size:11.5px;pointer-events:none;min-width:132px}.ct-d{font-weight:650;margin-bottom:4px;color:var(--ink)}.ct-r{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:1px 0;color:var(--muted)}.ct-k{display:flex;align-items:center;gap:6px}.ct-k i{display:inline-block;width:8px;height:8px;border-radius:2px}.tt-bar{display:flex;align-items:center;gap:10px;padding:6px 16px 12px}.tt-label{font-size:10.5px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);flex:none}.slider{flex:1;accent-color:var(--blue);cursor:pointer;height:4px}.legend{display:flex;gap:14px;font-size:11px;color:var(--muted)}.legend i{display:inline-block;width:14px;height:0;border-top:2.5px solid var(--blue);vertical-align:middle;margin-right:5px;border-radius:2px}.legend i.dash{border-top-style:dashed;border-top-color:#a3abba}.prog-sum{padding:14px 16px}.ps-top{display:flex;align-items:baseline;gap:8px;margin-bottom:10px}.ps-big{font-size:26px;font-weight:700;letter-spacing:-.02em}.ps-lbl{font-size:12.5px;color:var(--muted)}.ps-sub{display:flex;justify-content:space-between;font-size:11.5px;color:var(--muted);margin-top:9px}.dom-block{padding:11px 16px 12px;border-top:1px solid var(--line-soft)}.dom-block:first-child{border-top:none}.dom-head{display:flex;align-items:center;gap:8px;cursor:pointer;margin-bottom:7px}.dom-head b{font-size:12.5px;font-weight:650}.dom-head:hover b{color:var(--blue-ink)}.dom-n{font-size:11px;color:var(--faint)}.dom-pct{margin-left:auto;font-size:12px;font-weight:650}.dom-pct .faint{font-weight:450}.ws-row{display:flex;align-items:center;gap:8px;padding:5px 0 5px 14px;cursor:pointer;border-radius:var(--r-sm);transition:background .12s}.ws-row:hover{background:var(--surface-2)}.ws-name{flex:1;min-width:0;font-size:12px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ws-row:hover .ws-name{color:var(--ink)}.ws-bar{width:64px;flex:none}.ws-pct{width:32px;flex:none;text-align:right;font-size:11.5px;font-weight:600}.ws-open{width:16px;flex:none;text-align:right;font-size:11px;color:var(--faint)}.dom-bar{margin:0 0 8px}.seg-bar{display:flex;height:8px;border-radius:4px;overflow:hidden;background:var(--line-soft);margin-bottom:11px}.seg-bar span{display:block;height:100%}.leg-row{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:12px}.leg-l{color:var(--muted);flex:1}.leg-row b{font-weight:600}.leg-p{width:36px;text-align:right}.own-row{display:flex;align-items:center;gap:9px;padding:5px 0;font-size:12px}.own-name{width:112px;flex:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink-2)}.own-bar{flex:1}.own-n{width:22px;text-align:right;flex:none}.own-risk{width:26px;text-align:right;flex:none;font-weight:650;color:var(--red)}.own-risk.zero{color:var(--line-strong);font-weight:450}.item-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:14px}.item-title{font-size:19px;font-weight:650;letter-spacing:-.015em}.item-desc{color:var(--muted);max-width:640px;margin-top:4px;font-size:12.5px}.item-meta{display:flex;gap:10px;align-items:center;margin-top:9px;flex-wrap:wrap;font-size:11.5px;color:var(--faint)}.seg{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:14px}.seg button{border:none;background:transparent;padding:7px 12px;font-size:12.5px;font-weight:550;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .12s}.seg button:hover{color:var(--ink)}.seg button.active{color:var(--blue-ink);border-color:var(--blue);font-weight:600}.filter-bar{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}.search-wrap{position:relative;display:flex;align-items:center}.search-wrap .ic{position:absolute;left:8px;color:var(--faint);pointer-events:none}.search-wrap input{border:1px solid var(--line);border-radius:var(--r-sm);height:28px;padding:0 9px 0 28px;width:200px;background:#fff;outline:none;transition:border-color .12s,box-shadow .12s}.search-wrap input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.filter-count{margin-left:auto;font-size:11.5px;color:var(--faint)}.tbl-scroll{overflow-x:auto}table.tbl{width:100%;border-collapse:collapse;font-size:12.5px}.tbl th{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);font-weight:650;text-align:left;padding:8px 12px;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--surface-2)}.tbl th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.tbl th.sortable:hover{color:var(--muted)}.tbl th.on{color:var(--blue-ink)}.sort-ic{font-size:8px;margin-left:3px}.tbl td{padding:9px 12px;border-bottom:1px solid var(--line-soft);vertical-align:middle}.tbl tr:last-child td{border-bottom:none}.tbl tr.row{transition:background .1s}.tbl tr.row:hover td{background:var(--blue-softer);cursor:pointer}.tbl tr.row.sel td{background:var(--blue-soft)}.tbl .act-name{font-weight:600;color:var(--ink)}.tbl .act-name .chip{margin-left:7px}.date-cell{color:var(--muted);white-space:nowrap;font-size:12px}.date-cell .late{color:var(--red);font-weight:600}.mini-prog{display:flex;align-items:center;gap:8px;min-width:112px}.mini-prog .bar-track{flex:1}.mini-prog b{font-size:12px;width:32px;text-align:right}.icon-count{color:var(--faint);font-size:11px;white-space:nowrap;text-align:right}.icon-count span{display:inline-flex;align-items:center;gap:3px;margin-left:8px}#drawer-veil{position:fixed;top:0;right:0;bottom:0;left:0;background:#1216215c;z-index:80;opacity:0;transition:opacity .2s;pointer-events:none}#drawer-veil.open{opacity:1;pointer-events:auto}#drawer{position:fixed;top:0;right:-660px;width:640px;max-width:96vw;height:100vh;background:#fff;z-index:90;box-shadow:-12px 0 40px -16px #10142040;transition:right .25s cubic-bezier(.32,.72,.28,1);display:flex;flex-direction:column;border-left:1px solid var(--line)}#drawer.open{right:0}.drawer-top{padding:14px 20px 0;border-bottom:1px solid var(--line)}.drawer-crumb{font-size:11px;color:var(--faint)}.drawer-title{font-size:16px;font-weight:650;letter-spacing:-.01em;margin:5px 0 7px}.drawer-prog{margin:10px 0 2px}.drawer-prog .bar-track{margin-bottom:5px}.drawer-prog .dp-sub{font-size:11px;color:var(--faint)}.drawer-tabs{display:flex;gap:2px;margin-top:10px}.drawer-tabs button{border:none;background:transparent;padding:8px 11px;font-size:12.5px;font-weight:550;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .12s}.drawer-tabs button:hover{color:var(--ink)}.drawer-tabs button.active{color:var(--blue-ink);border-color:var(--blue);font-weight:600}.drawer-body{flex:1;overflow-y:auto;padding:16px 20px 30px}.props{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-bottom:4px}.prop{display:flex;align-items:center;gap:12px;padding:7px 12px;border-top:1px solid var(--line-soft)}.prop:first-child{border-top:none}.prop>label{width:104px;flex:none;font-size:11.5px;font-weight:600;color:var(--muted)}.prop select,.prop input[type=date]{flex:1;border:1px solid transparent;border-radius:5px;padding:4px 7px;height:28px;background:transparent;outline:none;font-size:12.5px;transition:border-color .12s,background .12s}.prop select:hover:not(:disabled),.prop input[type=date]:hover:not(:disabled){background:var(--surface-2);border-color:var(--line)}.prop select:focus,.prop input[type=date]:focus{border-color:var(--blue);background:#fff;box-shadow:0 0 0 3px var(--blue-soft)}.prop select:disabled,.prop input:disabled{color:var(--ink-2);opacity:1;-webkit-text-fill-color:var(--ink-2)}.prop-prog{flex:1;display:flex;align-items:center;gap:10px}.prop-prog b{width:38px;text-align:right;font-size:12.5px}.subhead{font-size:11px;font-weight:650;letter-spacing:.07em;text-transform:uppercase;color:var(--faint);margin:20px 0 8px}.file-row{display:flex;align-items:center;gap:10px;padding:7px 10px;border:1px solid var(--line);border-radius:var(--r-sm);margin-bottom:6px;font-size:12.5px;background:#fff;transition:border-color .12s}.file-row:hover{border-color:var(--line-strong)}.file-ic{width:30px;height:30px;border-radius:var(--r-sm);background:var(--blue-soft);color:var(--blue-ink);display:flex;align-items:center;justify-content:center;font-size:9.5px;font-weight:700;flex:none;letter-spacing:.02em}.note{border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 11px;margin-bottom:6px;background:var(--surface-2);font-size:12.5px}.note .nh{display:flex;justify-content:space-between;color:var(--faint);font-size:11px;margin-bottom:3px}.comment{display:flex;gap:10px;margin-bottom:13px}.comment .bubble{background:var(--surface-2);border:1px solid var(--line-soft);border-radius:2px 8px 8px;padding:7px 11px;font-size:12.5px;max-width:88%}.comment .ch{font-size:11px;color:var(--faint);margin-bottom:3px}.comment .ch b{color:var(--ink);font-size:12px;font-weight:600}.mention{color:var(--blue-ink);font-weight:600;background:var(--blue-soft);border-radius:4px;padding:0 4px}.composer{position:relative;border-top:1px solid var(--line);padding-top:12px;margin-top:6px}.composer textarea{width:100%;border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 10px;min-height:60px;resize:vertical;outline:none;transition:border-color .12s,box-shadow .12s}.composer textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.mention-pop{position:absolute;bottom:100%;left:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-lg);width:250px;z-index:5;overflow:hidden;padding:3px}.mention-pop button{display:flex;gap:8px;align-items:center;width:100%;border:none;background:#fff;padding:6px 9px;font-size:12.5px;text-align:left;border-radius:5px}.mention-pop button:hover,.mention-pop button.hl{background:var(--blue-soft)}.audit{position:relative;padding-left:20px;margin-bottom:13px}.audit:before{content:"";position:absolute;left:4px;top:5px;width:7px;height:7px;border-radius:50%;background:var(--line-strong)}.audit:first-child:before{background:var(--blue)}.audit:after{content:"";position:absolute;left:7px;top:16px;bottom:-11px;width:1px;background:var(--line)}.audit:last-child:after{display:none}.audit .ah{font-size:12.5px}.audit .ah b{font-weight:600}.audit .at{font-size:11px;color:var(--faint);margin-top:1px}.danger-zone{margin-top:24px;border-top:1px solid var(--line-soft);padding-top:12px}.lock-note{background:var(--amber-soft);color:var(--amber);border-radius:var(--r-sm);padding:8px 12px;font-size:12px;font-weight:550;margin-bottom:14px}.pop{position:absolute;top:40px;right:0;width:352px;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-lg);z-index:100;overflow:hidden}.pop-head{padding:10px 14px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-weight:650;font-size:12.5px}.pop-body{max-height:380px;overflow-y:auto}.notif{display:flex;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line-soft);font-size:12px;align-items:flex-start}.notif:last-child{border-bottom:none}.notif.unread{background:var(--blue-softer)}.notif .nic{width:26px;height:26px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;flex:none;font-size:12px;font-weight:700}.notif .t{color:var(--faint);font-size:10.5px;margin-top:2px}.menu{position:absolute;top:40px;right:0;width:228px;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-lg);z-index:100;overflow:hidden;padding:4px}.menu button{display:flex;gap:8px;align-items:center;width:100%;border:none;background:#fff;padding:7px 10px;font-size:12.5px;border-radius:5px;text-align:left;color:var(--ink-2)}.menu button:hover{background:var(--line-soft);color:var(--ink)}.menu button .ic{color:var(--faint)}.menu .mh{padding:7px 10px 4px;font-size:10px;font-weight:700;letter-spacing:.07em;color:var(--faint);text-transform:uppercase}#modal-veil{position:fixed;top:0;right:0;bottom:0;left:0;background:#12162166;z-index:110;display:flex;align-items:center;justify-content:center;padding:24px}.modal{background:#fff;border-radius:10px;box-shadow:var(--shadow-lg);width:100%;max-width:460px;max-height:90vh;overflow-y:auto;border:1px solid var(--line)}.modal-h{padding:16px 20px 0;font-size:15px;font-weight:650;letter-spacing:-.01em}.modal-b{padding:14px 20px}.modal-f{padding:0 20px 16px;display:flex;justify-content:flex-end;gap:8px}#toasts{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;gap:8px;align-items:center}.toast{background:#1c212e;color:#fff;border-radius:var(--r-sm);padding:9px 14px;font-size:12.5px;box-shadow:var(--shadow-lg);display:flex;gap:9px;align-items:center;animation:tin .18s ease}@keyframes tin{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.admin-grid{display:grid;grid-template-columns:248px minmax(0,1fr);gap:14px;align-items:start}.grant-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--r-sm);margin-bottom:7px;background:#fff;font-size:12.5px;flex-wrap:wrap}.grant-path{font-weight:550}.grant-path b{font-weight:650}.grant-path .sep{color:var(--faint);margin:0 4px}.mode-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 0;border-top:1px solid var(--line-soft)}.mode-row:first-child{border-top:none}.switch{display:inline-flex;background:var(--beige);border:1px solid var(--line);border-radius:var(--r-sm);padding:2px;gap:2px}.switch button{border:none;background:transparent;padding:4px 12px;border-radius:4px;font-size:12px;font-weight:600;color:var(--muted)}.switch button.active{background:#fff;color:var(--ink);box-shadow:0 1px 2px #1014201a}.empty{padding:32px;text-align:center;color:var(--faint);font-size:12.5px}.share-row{display:flex;gap:8px;align-items:center;font-size:12.5px;font-weight:450;color:var(--ink);margin-bottom:7px}.share-row input[type=checkbox]{width:auto;accent-color:var(--blue)}.share-row select{margin-left:auto;width:auto}@media (max-width:1440px){.main{padding:18px 22px 52px}}@media (max-width:1200px){.ov-grid{grid-template-columns:1fr}.ov-low{grid-template-columns:1fr 1fr}.ov-low .card:last-child{grid-column:1/-1}.kpi-strip{grid-template-columns:repeat(3,1fr)}.kpi:nth-child(n+4){border-top:1px solid var(--line-soft)}.kpi:nth-child(4){border-left:none}}@media (max-width:1024px){.sidebar{width:208px}.admin-grid{grid-template-columns:1fr}.item-head{flex-direction:column}.att-reason{display:none}}@media (max-width:820px){.main{padding:14px 14px 44px}.ov-low{grid-template-columns:1fr}.kpi-strip{grid-template-columns:repeat(2,1fr)}.kpi:nth-child(3){border-top:1px solid var(--line-soft);border-left:none}.kpi:nth-child(2n){border-left:1px solid var(--line-soft)}.kpi:nth-child(4){border-left:1px solid var(--line-soft)}.persona-grid{grid-template-columns:1fr}.persona span.pd{max-width:none}.brand-env,.att-owner,.filter-count{display:none}.headline-num{font-size:26px}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}#drawer{transition:none}}.login-card.narrow{max-width:400px;margin:0 auto}.login-err{background:var(--red-soft);color:var(--red);border-radius:var(--r-sm);padding:8px 10px;font-size:12px;margin-bottom:12px}.login-card .btn.primary{width:100%;height:34px;font-size:13px}.side-item.faint{color:var(--faint);cursor:default}.page{max-width:1100px}.page h2{font-size:16px;font-weight:650;letter-spacing:-.01em;margin-bottom:4px}.page .lead{color:var(--muted);margin-bottom:18px}.btn.danger{background:var(--red);border-color:var(--red);color:#fff;font-weight:600}.btn.danger:hover{background:#b8342b;border-color:#b8342b}.toast.err{background:var(--red)}.share-add{display:grid;grid-template-columns:minmax(0,1fr) 96px auto;gap:8px;align-items:center;margin-bottom:8px}.share-add .sel-ctl,.share-item .sel-ctl{height:30px;width:100%}.share-list{border:1px solid var(--line);border-radius:var(--r-sm);background:#fff}.share-item{display:grid;grid-template-columns:24px minmax(0,1fr) 96px auto;gap:10px;align-items:center;padding:7px 10px;border-bottom:1px solid var(--line-soft)}.share-item:last-child{border-bottom:none}.share-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.share-item .chip{justify-self:end;grid-column:3 / span 2}.share-item .btn.sm{padding:0 8px}.name-edit:hover{border-color:var(--line)!important;background:var(--surface-2)!important}.name-edit:focus{border-color:var(--blue)!important;background:#fff!important;box-shadow:0 0 0 3px var(--blue-soft)}.prop input[type=number]:hover{border-color:var(--line)!important;background:var(--surface-2)!important}.due-days{flex:none;width:44px;text-align:center;font-weight:700;font-size:12px;color:var(--blue-ink);background:var(--blue-soft);border-radius:6px;padding:4px 0}.feed-row{display:flex;gap:10px;align-items:flex-start;padding:8px 2px;border-bottom:1px solid var(--line-soft);font-size:12.5px;cursor:pointer}.feed-row:last-child{border-bottom:none}.feed-row:hover{background:var(--surface-2)}.dom-tbl tr.sub td{background:var(--surface-2);font-size:12px}.dom-tbl .chip.xs{height:18px}.dom-tbl th,.dom-tbl td{padding:8px;font-size:12px}.dom-tbl td:first-child{max-width:0;width:44%}.dom-tbl td:first-child .flex{min-width:0}.dom-tbl td:first-child b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.dom-tbl .mini-prog .bar-track{width:60px}.feed-list{max-height:400px;overflow-y:auto;padding-right:4px}.own-name{min-width:0;flex:0 0 42%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.att-row .sev{align-self:stretch;width:4px;border-radius:2px;flex:none;background:var(--amber)}.att-row .sev.red{background:var(--red)}.dom-tbl td,.own-risk{white-space:nowrap}.risk-box{background:var(--red-soft);color:var(--red);border-radius:var(--r-sm);padding:8px 10px;font-size:12.5px;margin-bottom:8px}.risk-box b{color:var(--red)}.chip .ic{margin-right:-1px}.att-main,.att-reason{text-align:left}.dom-tbl td:first-child{width:38%}.dom-tbl .mini-prog .bar-track{width:44px}.dom-tbl .chip.xs{padding:0 5px}.dom-tbl th,.dom-tbl td{padding:8px 6px}.dom-tbl th:first-child,.dom-tbl td:first-child{padding-left:16px}.dom-tbl th:last-child,.dom-tbl td:last-child{padding-right:16px}.trend-arrow{margin-right:3px;font-size:.9em}.new-dot{width:5px;height:5px;border-radius:50%;background:var(--blue);flex:none;display:inline-block;vertical-align:middle}.nm .new-dot{margin-left:5px;vertical-align:2px}.new-dot.off{visibility:hidden}.new-pill{margin-left:auto;background:var(--blue);color:#fff;font-size:10px;font-weight:700;border-radius:9px;padding:0 6px;height:16px;line-height:16px;flex:none}.icon-count span.is-new{color:var(--blue-ink);font-weight:600}.icon-count span.is-new b{font-weight:700}.seg button.has-new{position:relative}.seg button.has-new:after{content:"";position:absolute;top:6px;right:4px;width:6px;height:6px;border-radius:50%;background:var(--blue)}.feed-row.is-new{background:var(--blue-softer)}.feed-row .new-dot{margin-top:6px}.icon-btn{position:relative}.icon-btn .badge{position:absolute;top:2px;right:2px;min-width:15px;height:15px;padding:0 4px;border-radius:8px;background:var(--blue);color:#fff;font-size:9.5px;font-weight:700;line-height:15px;text-align:center;border:1.5px solid #fff;box-shadow:none;transform:none}.icon-btn .badge{top:-4px;right:-5px;height:14px;line-height:14px;min-width:14px;font-size:9px;padding:0 3px}.topbar-right{gap:14px}.att-row{display:flex;align-items:center;gap:12px}.att-main{flex:1 1 auto;min-width:0}.att-main b,.att-ws,.att-reason{display:block;white-space:normal}.att-owner{flex:0 0 120px;display:flex;align-items:center;gap:6px;justify-content:flex-start;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dom-tbl td:first-child{width:auto;max-width:190px}.dom-tbl td:first-child b{display:inline-block;max-width:150px;vertical-align:bottom}.att-reason{width:auto;flex:1 1 auto;text-align:left;margin-top:2px}.topbar{position:sticky;top:0;z-index:50}.layout{align-items:flex-start}.sidebar{position:sticky;top:48px;height:calc(100vh - 48px);overflow-y:auto}.ov-grid.two{grid-template-columns:1fr 1fr;align-items:stretch}.ov-grid.two>.card{display:flex;flex-direction:column;min-width:0}.list-scroll{max-height:400px;overflow-y:auto}.feed-list{max-height:none}.kpi-visual .kpi-ring{display:flex;align-items:center;gap:12px}.kpi-visual .kpi-ring .kpi-v{font-size:20px}.ring{flex:none}.own-risk{width:auto;min-width:70px;text-align:right}.own-name{flex:0 0 40%}.kpi-strip.five{grid-template-columns:repeat(5,1fr)}.headline-row{display:flex;align-items:center;gap:14px}.list-scroll{max-height:340px;overflow-y:auto;position:relative}.ov-grid.two>.card{position:relative;overflow:hidden}.ov-grid.two>.card:has(.list-scroll):after{content:"";position:absolute;left:0;right:0;bottom:0;height:34px;background:linear-gradient(to bottom,#fff0,#fff 85%);pointer-events:none;border-radius:0 0 var(--r) var(--r)}.own-row2{display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr) 34px 96px;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line-soft);font-size:12.5px}.own-row2:last-child{border-bottom:none}.own-name2{display:flex;align-items:center;gap:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.own-stack{display:flex;height:10px;border-radius:5px;overflow:hidden;background:var(--line-soft)}.own-seg{display:block;height:100%}.own-detail{font-size:11.5px;text-align:right;white-space:nowrap}.legend.swatches i{width:8px;height:8px;border-radius:50%;border:none}.band{display:grid;grid-template-columns:minmax(300px,1.6fr) repeat(5,1fr);overflow:hidden;align-items:stretch}.band-hero{display:flex;align-items:center;gap:16px;padding:14px 18px;border-right:1px solid var(--line-soft)}.band .kpi{display:flex;flex-direction:column;justify-content:center;padding:14px 16px}.band .kpi-v{font-size:26px;line-height:1.1;display:flex;align-items:baseline;gap:8px}.kpi-share{font-size:11.5px;font-weight:600;color:var(--faint)}.headline-num{font-size:34px;line-height:1}.band{grid-template-columns:minmax(360px,2fr) repeat(5,1fr)}.band-hero .var-pill,.band-hero .chip{white-space:nowrap}.band{grid-template-columns:minmax(330px,1.7fr) repeat(5,1fr)}.ring text{font-family:var(--font)}.band{grid-template-columns:minmax(350px,1.8fr) repeat(5,1fr)}.main{display:flex;flex-direction:column;height:calc(100vh - 48px);overflow-y:auto}.tbl-scroll.fill{max-height:calc(100vh - 218px);overflow:auto;position:relative}.tbl-scroll.fill thead th{position:sticky;top:0;background:var(--surface-2);z-index:2}.tbl.compact th,.tbl.compact td{padding:8px 10px}.tbl.compact td{white-space:nowrap}.ell{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kebab{position:relative;display:inline-block}.kebab-menu{position:absolute;right:0;top:30px;min-width:170px;z-index:20}.kebab-menu button.danger{color:var(--red)}.tbl th{white-space:nowrap}.pending-banner{display:flex;gap:14px;align-items:center;justify-content:space-between;background:var(--amber-soft);border:1px solid #f1d9a3;color:#6b4a06;border-radius:var(--r);padding:10px 14px;margin:0 0 14px;font-size:12.5px}.pending-note{background:var(--amber-soft);color:#6b4a06;border-radius:var(--r-sm);padding:8px 10px;font-size:12px;margin-bottom:12px}.pend-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--amber);margin-left:5px;vertical-align:2px}.drawer-body .pending-banner{margin-bottom:12px}.dom-tbl td:first-child .flex{min-width:0;overflow:hidden}.dom-tbl tr.sub td:first-child{max-width:0}.dom-tbl{table-layout:fixed;width:100%}.dom-tbl th:nth-child(1),.dom-tbl td:nth-child(1){width:38%;max-width:none}.dom-tbl th:nth-child(2),.dom-tbl td:nth-child(2){width:24%}.dom-tbl th:nth-child(3),.dom-tbl td:nth-child(3){width:16%}.dom-tbl th:nth-child(4),.dom-tbl td:nth-child(4){width:8%}.dom-tbl th:nth-child(5),.dom-tbl td:nth-child(5){width:7%}.dom-tbl th:nth-child(6),.dom-tbl td:nth-child(6){width:7%}.dom-tbl th,.dom-tbl td{padding:8px 6px;overflow:hidden;text-overflow:ellipsis}.dom-tbl td:first-child b{max-width:none;flex:0 1 auto;min-width:0}.dom-tbl .mini-prog{display:flex;align-items:center;gap:6px;min-width:0}.dom-tbl .mini-prog .bar-track{width:auto;flex:1 1 auto;min-width:24px}.dom-tbl .mini-prog b{flex:none}.dom-tbl tr.sub .ell{max-width:none;flex:0 1 auto}.dom-tbl th:nth-child(1),.dom-tbl td:nth-child(1){width:33%}.dom-tbl th:nth-child(2),.dom-tbl td:nth-child(2){width:21%}.dom-tbl th:nth-child(3),.dom-tbl td:nth-child(3){width:17%}.dom-tbl th:nth-child(4),.dom-tbl td:nth-child(4){width:9%}.dom-tbl th:nth-child(5),.dom-tbl td:nth-child(5){width:9%}.dom-tbl th:nth-child(6),.dom-tbl td:nth-child(6){width:11%}.dom-tbl th{font-size:10px;letter-spacing:.04em;padding:8px 4px}.dom-tbl td{padding:8px 4px}.dom-tbl .chip.xs{padding:0 5px;font-size:10px}.band.band-page{grid-template-columns:minmax(300px,1.5fr) repeat(5,1fr)}.btn.danger{color:#fff}.notif{display:flex;align-items:flex-start;gap:10px}.icon-btn.ok{width:26px;height:26px;color:var(--green);border:1px solid var(--line)}.icon-btn.ok:hover{background:var(--green-soft)}.icon-btn.no{width:26px;height:26px;color:var(--red);border:1px solid var(--line)}.icon-btn.no:hover{background:var(--red-soft)}.sidebar.sb{width:252px;padding:10px;display:flex;flex-direction:column}.sidebar.sb.collapsed{width:56px;padding:10px 8px;align-items:center;gap:6px}.sb-body{flex:1;overflow-y:auto;min-height:0;margin:0 -4px;padding:0 4px;display:flex;flex-direction:column}.sb-body::-webkit-scrollbar{width:8px}.sb-body::-webkit-scrollbar-thumb{background:#d6dbe3;border-radius:8px;border:2px solid #fbfcfd}.sb-mod{position:relative;margin-bottom:8px;flex:none}.sb-mod-btn{width:100%;display:flex;align-items:center;gap:10px;padding:7px 8px 7px 7px;border:1px solid var(--line);background:#fff;border-radius:8px;text-align:left;box-shadow:0 1px 2px #1014200a;transition:border-color .12s,box-shadow .12s}.sb-mod-btn:hover{border-color:var(--line-strong)}.sb-mod.open .sb-mod-btn{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.sb-mod.open .sb-mod-btn .ic{transform:rotate(180deg)}.sb-mod-btn .ic{transition:transform .15s}.sb-tile{width:28px;height:28px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:700;letter-spacing:.02em;flex:none;border:none}.sb-tile.dmo{background:var(--blue-soft);color:var(--blue-ink)}.sb-tile.ie{background:var(--purple-soft);color:var(--purple)}.sb-tile.kpi{background:#e2f3f3;color:#0e8f8f}.sb-tile.other{background:var(--beige);color:var(--muted)}.sb-tile.rail{width:36px;height:36px;border-radius:var(--r-sm);cursor:pointer;border:1px solid transparent;opacity:.75}.sb-tile.rail:hover{opacity:1}.sb-tile.rail.active{opacity:1;border-color:currentColor}.sb-mod-txt{flex:1;min-width:0;display:flex;flex-direction:column}.sb-mod-k{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);line-height:1.1}.sb-mod-n{font-size:13px;font-weight:600;color:var(--ink);line-height:1.25;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-mod-pop{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-lg);padding:5px;z-index:70}.sb-pop-h{padding:6px 9px 4px;font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--faint);text-transform:uppercase}.sb-mod-row{display:flex;align-items:center;gap:10px;width:100%;padding:7px 8px;border-radius:7px;text-align:left;border:none;background:transparent}.sb-mod-row:hover{background:var(--line-soft)}.sb-mod-row.cur{background:var(--blue-softer)}.sb-mr-n{display:block;font-size:12.5px;font-weight:600;color:var(--ink);line-height:1.2}.sb-mr-d{display:block;font-size:11px;color:var(--faint);margin-top:1px;line-height:1.3}.sb-nav{display:flex;flex-direction:column;gap:1px}.sb-link{display:flex;align-items:center;gap:9px;width:100%;padding:6px 9px;border-radius:6px;font-size:13px;font-weight:500;color:var(--ink-2);text-decoration:none;line-height:1.3;border:none;background:transparent;text-align:left;transition:background .12s}.sb-link .ic{color:var(--faint)}.sb-link:hover{background:var(--line-soft);color:var(--ink)}.sb-link.active{background:var(--blue-soft);color:var(--blue-ink);font-weight:600}.sb-link.active .ic{color:var(--blue-ink)}.sb-pill{margin-left:auto;background:var(--amber);color:#fff;font-size:10px;font-weight:700;border-radius:9px;padding:0 6px;line-height:16px}.sb-title{display:flex;align-items:center;gap:6px;padding:0 9px 6px;font-size:10.5px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.sb-n{font-weight:600;color:var(--faint);background:var(--line-soft);border-radius:4px;padding:0 5px;line-height:16px;font-size:10px;letter-spacing:0}.sb-filter{position:relative;margin:0 2px 6px;flex:none}.sb-filter .ic{position:absolute;left:8px;top:7px;color:var(--faint);pointer-events:none}.sb-filter input{width:100%;height:28px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:0 8px 0 27px;font:inherit;font-size:12px;color:var(--ink);outline:none}.sb-filter input::placeholder{color:var(--faint)}.sb-filter input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.sb-tree{padding-bottom:8px}.sb-grp{margin-top:2px}.sb-ghead{display:flex;align-items:center;gap:5px;padding:4px 6px 4px 2px;border-radius:6px;line-height:1.3}.sb-ghead:hover{background:var(--line-soft)}.sb-ghead.active{background:var(--blue-soft)}.sb-ghead.active .sb-gname{color:var(--blue-ink)}.sb-tw{width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:var(--faint);flex:none;border:none;background:transparent;border-radius:4px;padding:0;transition:transform .15s}.sb-tw:hover:not(:disabled){background:var(--line);color:var(--ink)}.sb-tw:disabled{opacity:.35;cursor:default}.sb-grp.closed .sb-tw{transform:rotate(-90deg)}.sb-gname{flex:1;min-width:0;font-size:12.5px;font-weight:600;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.sb-gname:hover{color:var(--blue-ink)}.sb-cnt{font-size:10.5px;font-weight:600;color:var(--faint);min-width:16px;text-align:right;flex:none;font-variant-numeric:tabular-nums}.sb-cnt.zero{color:var(--line-strong)}.sb-item{display:flex;align-items:center;gap:7px;padding:4px 6px 4px 26px;border-radius:6px;line-height:1.3;text-decoration:none;position:relative;color:var(--muted)}.sb-item:before{content:"";position:absolute;left:11px;top:0;bottom:0;width:1px;background:var(--line)}.sb-item:hover{background:var(--line-soft);color:var(--ink)}.sb-item.active{background:var(--blue-soft);color:var(--blue-ink)}.sb-item .dot{width:6px;height:6px}.sb-iname{flex:1;min-width:0;font-size:12.5px;font-weight:450;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-item.active .sb-iname{font-weight:550}.sb-item .new-dot,.sb-ghead .new-dot{margin:0;flex:none}.sb-foot{border-top:1px solid var(--line);margin:8px -10px 0;padding:8px 10px 0;display:flex;flex-direction:column;gap:1px;flex:none}.sb-collapse{color:var(--faint);font-size:11.5px;font-weight:450}.sb-collapse .ic{color:var(--faint)}@media (max-width:1024px){.sidebar.sb{width:224px}}.kcode{font-size:11px;font-weight:700;letter-spacing:.03em;color:var(--blue-ink);background:var(--blue-soft);border-radius:4px;padding:1px 6px;white-space:nowrap;cursor:pointer}.ktitle{font-size:12.5px;font-weight:600;color:var(--ink);margin-top:3px;white-space:normal;line-height:1.35}.ktitle a{color:inherit}.ktitle a:hover{color:var(--blue-ink)}.ktbl td{white-space:normal;vertical-align:top}.ktbl th{position:sticky;top:0;z-index:2}.kcell-name{min-width:250px;max-width:360px}.kcell-in{width:118px}.kcell-res{min-width:150px}.kcell-target,.kcell-trend{white-space:nowrap}.kcell-ev{min-width:170px;max-width:220px}.kcell-owner{white-space:nowrap}.kin{width:104px;height:30px;border:1px solid var(--line);border-radius:var(--r-sm);padding:0 9px;background:#fff;outline:none;font:inherit;font-size:12.5px;color:var(--ink);transition:border-color .12s,box-shadow .12s}.kin.text{width:100%}.kin:hover:not(:disabled){border-color:var(--line-strong)}.kin:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.kin:disabled{background:var(--surface-2);color:var(--muted);cursor:not-allowed}.kin.fixed{display:inline-flex;align-items:center;background:var(--surface-2);color:var(--muted);border-style:dashed}.kin::placeholder{color:var(--faint)}.kin[type=number]::-webkit-inner-spin-button{opacity:.4}.kval{font-size:15px;font-weight:650;white-space:nowrap}.kdom td{background:var(--surface-2);font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding:7px 12px;border-top:1px solid var(--line)}.krow.pinned td:first-child{box-shadow:inset 3px 0 0 var(--red)}.krow.flagship td:first-child{box-shadow:inset 3px 0 0 var(--purple)}.krow.pinned.flagship td:first-child{box-shadow:inset 3px 0 0 var(--red)}.kstrip{display:grid;grid-template-columns:repeat(6,1fr);margin-bottom:12px;overflow:hidden}.kstrip .kpi{padding:11px 16px}.kstrip .kpi-v{font-size:22px}.kdefs tr.archived td{opacity:.55}.kdefs .ktitle{font-weight:500;color:var(--ink-2)}.kgrid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.kgrid3 .field{margin-bottom:10px}.mpick{display:inline-flex;align-items:center;gap:2px}.itip{position:relative;display:inline-flex}.itip-btn{width:18px;height:18px;border-radius:50%;border:none;background:transparent;color:var(--faint);display:inline-flex;align-items:center;justify-content:center;padding:0}.itip-btn:hover,.itip-btn.on{color:var(--blue-ink);background:var(--blue-soft)}.itip-pop{position:absolute;top:22px;z-index:60;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-lg);padding:10px 12px;font-size:12px;color:var(--ink-2);text-align:left;white-space:normal;font-weight:400;line-height:1.45}.itip-h{font-weight:650;color:var(--ink);margin-bottom:6px;font-size:12.5px}.itip-p{color:var(--muted);margin-bottom:8px}.itip-row{display:grid;grid-template-columns:82px 1fr;gap:8px;padding:3px 0;border-top:1px solid var(--line-soft)}.itip-row span{color:var(--faint);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding-top:1px}.itip-row b{font-weight:500;color:var(--ink-2)}.chip.amber.xs,.chip.red.xs{text-transform:none}.modal.wide{max-width:720px}@media (max-width:1200px){.kstrip{grid-template-columns:repeat(3,1fr)}.kstrip .kpi:nth-child(n+4){border-top:1px solid var(--line-soft)}.kstrip .kpi:nth-child(4){border-left:none}}.kstrip,.filter-bar,.item-head,.crumbs,.lock-note,.pending-note{flex:none}.ktbl th,.ktbl td{padding:8px}.ktbl td:first-child,.ktbl th:first-child{padding-left:12px}.kcell-name{min-width:230px;max-width:300px;width:24%}.kcell-in{width:104px}.kin{width:92px}.kcell-res{min-width:128px}.kcell-ev{min-width:140px;max-width:190px}.kcell-prio{width:62px;white-space:nowrap}.kcell-code{width:110px;white-space:nowrap}.kcell-name{min-width:200px;max-width:280px;width:22%}.kcell-freq{white-space:nowrap;font-size:12px}.ktbl tr.krow{cursor:pointer}.ktbl tr.krow.off td{background:var(--surface-2)}.ktbl tr.krow.off .ktitle{color:var(--muted)}.kcode{font-size:11px;font-weight:700;letter-spacing:.03em;border-radius:4px;padding:2px 7px;white-space:nowrap;display:inline-block}.kdom .kcode{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase}.chip.teal{background:#e2f3f3;color:#0e7f7f}.filter-bar .sel-ctl{max-width:170px}.filter-bar .search-wrap input{width:180px}.ktbl th,.ktbl td{padding:8px 6px}.ktbl th:first-child,.ktbl td:first-child{padding-left:10px}.kcell-prio{width:48px}.kcell-code{width:100px}.kcell-name{min-width:170px;max-width:240px;width:auto}.kcell-in{width:94px}.kin{width:86px}.kcell-res{min-width:118px}.kcell-target{width:56px}.kcell-trend{width:64px}.kcell-ev{min-width:120px;max-width:160px}.kcell-owner{width:88px}@media (max-width:1560px){.kentry .kcell-ev,.kentry th:nth-child(10){display:none}}.kabout p{font-size:12.5px;color:var(--ink-2);line-height:1.55;margin-bottom:4px}.kabout .prop{align-items:flex-start}.kabout .prop>label{width:110px;padding-top:1px}.kabout .prop>span{flex:1;font-size:12.5px;line-height:1.5}.kdom td{font-weight:700}.kband{grid-template-columns:minmax(340px,1.9fr) repeat(5,1fr);margin-bottom:14px}.kalert{display:flex;align-items:center;gap:12px;background:var(--red-soft);border:1px solid #f1c4bf;color:var(--red);border-radius:var(--r);padding:10px 14px;margin-bottom:12px;cursor:pointer;font-size:12.5px}.kalert b{display:block;font-weight:650}.kalert div div{color:#8a2a24;margin-top:2px}.kalert>.ic:last-child{margin-left:auto}.kstrip6{display:inline-flex;gap:2px}.kstrip6 i{display:inline-block;width:10px;height:14px;border-radius:2px}.kdomtbl th:nth-child(1),.kdomtbl td:nth-child(1){width:auto}.kdomtbl th,.kdomtbl td{width:auto;white-space:nowrap}.krank{flex:none;width:26px;height:26px;border-radius:50%;background:var(--red-soft);color:var(--red);font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center}.kpinned{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px 4px;cursor:pointer}.kpv{font-size:30px;font-weight:700;letter-spacing:-.02em;line-height:1.1}.kflags{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px 12px 12px}.kflag{border:1px solid var(--line);border-radius:var(--r);padding:10px 12px;cursor:pointer;transition:border-color .12s,background .12s;min-width:0}.kflag:hover{border-color:var(--line-strong);background:var(--surface-2)}.kflag.gate{grid-column:1/-1}.kmini{margin:6px -8px 0}.kmini .chart-box{padding:0}.kmini svg text{font-size:9px}.kdomchips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.kdomchip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:4px 10px 4px 8px;font-size:12px;font-weight:550;color:var(--ink-2)}.kdomchip i{width:7px;height:7px;border-radius:50%;display:inline-block}.kdomchip .n{font-size:10.5px;color:var(--faint);font-weight:600}.kdomchip:hover{border-color:var(--line-strong)}.kdomchip.active{border-color:transparent;font-weight:650}.kdomchip.active .n{color:inherit;opacity:.7}.kcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;padding-bottom:20px}.kcard{padding:12px 14px;cursor:pointer;transition:border-color .12s,box-shadow .12s;min-width:0}.kcard:hover{border-color:var(--line-strong);box-shadow:var(--shadow-lg)}.kcard.red{box-shadow:inset 0 3px 0 var(--red)}.kcard.amber{box-shadow:inset 0 3px 0 var(--amber)}.kcard.green{box-shadow:inset 0 3px 0 var(--green)}.kact{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--ink-2);padding:5px 0 0;border-top:1px dashed var(--line-soft);margin-top:6px}@media (max-width:1200px){.kband{grid-template-columns:repeat(3,1fr)}.kband .band-hero{grid-column:1/-1;border-right:none;border-bottom:1px solid var(--line-soft)}.kflags{grid-template-columns:1fr}.kflag.gate{grid-column:auto}}.kband,.kalert,.kdomchips{flex:none}.kdomtbl{table-layout:auto}.kdomtbl td:first-child .kcode{max-width:190px;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}.kmini svg{width:100%}.kspot{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px;flex:none}.kspot .kflag{border:1px solid var(--line)}.kspot .kflag.red{box-shadow:inset 0 3px 0 var(--red)}.kspot .kflag.amber{box-shadow:inset 0 3px 0 var(--amber)}.kspot .kflag.green{box-shadow:inset 0 3px 0 var(--green)}@media (max-width:1300px){.kspot{grid-template-columns:1fr 1fr}}.ov-grid.two>.card:has(.kdomtbl):after{display:none}.prelaunch-note{flex:none;display:flex;gap:8px;align-items:flex-start;background:var(--amber-soft);color:#6b4a06;border-radius:var(--r-sm);padding:8px 10px;font-size:12px;margin-bottom:14px;line-height:1.45}.prelaunch-note svg{flex:none;margin-top:2px}.prelaunch-note a{color:inherit;text-decoration:underline}.ksec{flex:none;margin-bottom:14px;overflow:hidden}.ksec-h{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 14px;border-left:4px solid var(--line);background:var(--surface-2);cursor:pointer;-webkit-user-select:none;user-select:none}.ksec-name{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-radius:6px;padding:3px 9px}.ksec-counts{font-size:12.5px;color:var(--muted)}.ksec-share{font-size:12.5px;font-weight:600;color:var(--ink-2)}.ksec-hist{display:inline-flex;align-items:center}.ksec-acts{font-size:12px;margin-left:auto}.ksec-tog{color:var(--faint);display:inline-flex}.ksec .tbl-scroll{border-top:1px solid var(--line)}.ksec .ktbl{margin:0}.ksec-cards{padding:12px 14px 14px}.ksec-actions{border-top:1px solid var(--line)}.ksec-actions-h{display:flex;align-items:center;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);padding:10px 16px 6px}.ksec-actions-h a{margin-left:auto;font-size:12px;font-weight:500;letter-spacing:0;text-transform:none}.kdomchips-sep{width:1px;align-self:stretch;background:var(--line);margin:2px 4px}.kstew{table-layout:fixed;width:100%}.kstew .kcell-name{min-width:0;max-width:none;width:auto}.kstew td{overflow:hidden;text-overflow:ellipsis}.kcalc{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.kcalc-opt{display:flex;gap:9px;align-items:flex-start;border:1px solid var(--line);border-radius:var(--r-sm);padding:9px 11px;cursor:pointer}.kcalc-opt.on{border-color:var(--blue);background:var(--blue-softer)}.kcalc-opt input{width:auto;margin:3px 0 0;flex:none}.kcalc-opt b{display:block;font-size:13px;font-weight:600;color:var(--ink)}.kformula{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:9px 12px;font-size:12.5px;color:var(--ink-2);margin:-4px 0 14px}.kformula-l{display:block;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin-bottom:3px}.kact-fields{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.kact-fields>label{display:flex;flex-direction:column;gap:4px}.kact-fields>label>span:first-child{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}.sb-prelaunch{display:flex;align-items:center;gap:6px;margin:6px 10px 2px;padding:5px 9px;border-radius:999px;background:var(--amber-soft);color:#6b4a06;font-size:11.5px;font-weight:600;cursor:help}.sb-prelaunch svg{flex:none}.kpills{display:inline-flex;align-items:center;gap:6px;margin-left:auto;flex-wrap:wrap}.kpill{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:600;color:var(--ink-2);cursor:pointer;white-space:nowrap}.kpill.plain{cursor:default;color:var(--muted);font-weight:550}.kpill i{width:7px;height:7px;border-radius:50%;display:inline-block;background:var(--faint)}.kpill.green i{background:var(--green)}.kpill.amber i{background:var(--amber)}.kpill.red i{background:var(--red)}.kpill.on{border-color:var(--ink-2);background:var(--surface-2)}.kpill.due{background:var(--amber-soft);border-color:transparent;color:#6b4a06;cursor:default}.kpills .filter-count{margin-left:0}.tbl-scroll.fill.kentry-wrap{flex:1 1 auto;min-height:260px;max-height:none}.asst{display:flex;flex-direction:column;flex:1;min-height:0;margin-bottom:-36px}.asst-card{flex:1;min-height:320px;display:flex;flex-direction:column;overflow:hidden}.asst-list{flex:1;min-height:0;overflow-y:auto;padding:18px 20px 8px}.asst-row{display:flex;gap:10px;margin-bottom:14px;align-items:flex-start}.asst-row.me{justify-content:flex-end}.asst-bubble{max-width:72%;background:var(--blue);color:#fff;border-radius:12px 12px 3px;padding:8px 12px;white-space:pre-wrap;word-wrap:break-word;font-size:13px}.asst-av{flex:none;width:26px;height:26px;border-radius:50%;background:var(--blue-soft);color:var(--blue-ink);display:flex;align-items:center;justify-content:center;margin-top:1px}.asst-answer{min-width:0;max-width:min(860px,88%);font-size:13px;color:var(--ink)}.asst-meta{font-size:11px;color:var(--faint);margin-top:4px}.asst-err{margin-left:36px;background:#fdf1ef;color:#a3352c;border:1px solid #f3d3ce;border-radius:8px;padding:7px 11px;font-size:12.5px}.asst-reset{display:flex;align-items:center;gap:10px;margin:6px 0 18px;color:var(--faint);font-size:11px;font-weight:600;letter-spacing:.02em}.asst-reset:before,.asst-reset:after{content:"";flex:1;height:1px;background:var(--line-strong)}.asst-thinking{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12.5px;padding-top:4px}.asst-thinking .dots{display:inline-flex;gap:3px}.asst-thinking .dots i{width:5px;height:5px;border-radius:50%;background:var(--blue);opacity:.3;animation:asstdot 1.2s infinite}.asst-thinking .dots i:nth-child(2){animation-delay:.2s}.asst-thinking .dots i:nth-child(3){animation-delay:.4s}@keyframes asstdot{0%,80%,to{opacity:.25}40%{opacity:1}}.asst-composer{display:flex;gap:8px;align-items:flex-end;border-top:1px solid var(--line);padding:10px 12px;background:var(--surface-2)}.asst-composer textarea{flex:1;resize:none;border:1px solid var(--line);border-radius:8px;padding:7px 10px;font:inherit;font-size:13px;line-height:1.45;max-height:160px;background:#fff;outline:none}.asst-composer textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.asst-composer .btn{height:34px}.asst-empty{padding:40px 10px;text-align:center}.asst-empty-title{font-size:15px;font-weight:650;margin-bottom:14px}.asst-sugg{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:720px;margin:0 auto}.asst-chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;font-size:12.5px;color:var(--ink-2)}.asst-chip:hover{border-color:var(--blue);color:var(--blue-ink);background:var(--blue-softer)}.md{line-height:1.55}.md-p{margin:0 0 8px}.md-h{font-weight:650;margin:10px 0 4px}.md-list{margin:0 0 8px;padding-left:20px}.md-list li{margin:2px 0}.md-link{color:var(--blue-ink);font-weight:550;text-decoration:none;border-bottom:1px solid var(--blue-soft)}.md-link:hover{border-bottom-color:var(--blue)}.md code{background:var(--line-soft);border-radius:4px;padding:0 4px;font-size:12px}.md-table{overflow-x:auto;margin:4px 0 10px;border:1px solid var(--line);border-radius:8px}.md-table .tbl{margin:0}.md>:last-child{margin-bottom:0}.kgrid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}input.bad{border-color:var(--red)!important}.pw-rules{list-style:none;margin:-2px 0 16px;padding:0;font-size:12px;color:var(--muted);display:grid;gap:4px}.pw-rules li{display:flex;gap:7px;align-items:flex-start}.pw-rules li span{flex:none;width:12px;text-align:center;font-weight:700}.pw-rules li.ok{color:var(--green)}.pw-rules li.bad{color:var(--red)}.linkish{background:none;border:0;padding:0;font:inherit;color:var(--blue);cursor:pointer}.linkish:hover{text-decoration:underline}.field .linkish{display:block;margin-top:6px;font-size:12px}.login-note{margin-top:6px;font-size:12px;color:var(--green)}.login-text{margin:0 0 12px;font-size:13px;line-height:1.5;color:var(--ink)}.login-text.faint{color:var(--muted)}.login-card .login-text:last-child{margin-bottom:0}.kpi-preview-banner{flex:none;display:flex;gap:8px;align-items:flex-start;margin:0 0 14px;padding:9px 12px;border-radius:var(--r-sm);background:var(--amber-soft);color:#6b4a06;font-size:12.5px;line-height:1.45}.kpi-preview-banner svg{flex:none;margin-top:2px}.main>.crumbs,.main>.item-head,.band-page{flex-shrink:0}.tbl tr.inactive td:not(:last-child){opacity:.55}.kebab-menu.fixed{position:fixed;right:auto;width:190px;z-index:150}.ked-page{flex:none}.ked{display:grid;grid-template-columns:minmax(0,760px) 340px;gap:28px;justify-content:center;align-items:start;padding-bottom:90px}.ked-main{min-width:0}.ked-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:2px 0 16px}.ked-h1{font-size:20px;font-weight:700;letter-spacing:-.015em;color:var(--ink);line-height:1.3;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.ked-code{font-size:13px;font-weight:700;color:var(--blue-ink);background:var(--blue-soft);border-radius:5px;padding:2px 7px;letter-spacing:.01em}.ked-sub{font-size:12.5px;color:var(--muted);margin-top:4px;line-height:1.5;max-width:600px}.ked-card{padding:0;overflow:visible}.ked-sec{padding:20px 24px 8px;border-top:1px solid var(--line-soft)}.ked-sec:first-child{border-top:0}.ked-sec-h{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}.ked-sec-h h3{font-size:14.5px;font-weight:650;color:var(--ink);letter-spacing:-.005em}.ked-sec-h .ked-sub{margin-top:2px}.ked-sec:last-child{padding-bottom:20px}.ked-sec:last-child .ked-sec-h{margin-bottom:0}.ked-sec:last-child .ked-sec-b{margin-top:14px}.ked-sec-b{padding:0}.ked-title{font-size:15px!important;font-weight:600}.ked-row2{display:flex;gap:16px;flex-wrap:wrap}.ked-row2>.field{min-width:0}.ked-row2>.field.grow{flex:1 1 260px}.ked-row2>.field.w220{flex:0 0 220px}.ked-hint{font-size:11.5px;color:var(--faint);margin-top:5px}.ked .switch{display:inline-flex}.ked .switch button{padding:5px 12px;font-size:12.5px}.ked-num{width:96px;border:1px solid var(--line);border-radius:var(--r-sm);padding:6px 9px;background:#fff;outline:none;font-weight:600}.ked-num:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.ked-cuts{display:flex;gap:24px;flex-wrap:wrap;margin:2px 0 14px}.ked-cuts label{display:flex;flex-direction:column;gap:6px}.ked-cut-l{font-size:11.5px;font-weight:650}.ked-cut-l.green{color:var(--green)}.ked-cut-l.red{color:var(--red)}.ked-unit{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;overflow:hidden}.ked-unit:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.ked-unit input{width:92px;border:0;outline:none;padding:7px 10px;font-size:15px;font-weight:650;background:transparent}.ked-unit span{padding:0 10px;color:var(--muted);font-size:13px;border-left:1px solid var(--line-soft);align-self:stretch;display:flex;align-items:center;background:var(--surface-2)}.ked-bands{margin:4px 0 14px}.ked-bands.empty{font-size:12px;color:var(--faint);padding:6px 0 14px}.ked-scale{position:relative;height:38px}.ked-bar{position:absolute;left:0;right:0;top:0;height:10px;border-radius:5px;background:var(--line-soft);overflow:hidden}.ked-bar span{position:absolute;top:0;bottom:0}.ked-tick{position:absolute;top:-3px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center}.ked-tick i{width:2px;height:16px;background:var(--ink);border-radius:1px}.ked-tick b{font-size:11px;font-weight:650;color:var(--ink-2);margin-top:2px;white-space:nowrap}.ked-mark{position:absolute;top:-3px;width:16px;height:16px;margin-left:-8px;border-radius:50%;background:#fff;border:3px solid var(--ink);box-shadow:0 1px 3px #1014204d}.ked-rule{font-size:12.5px;color:var(--ink-2);margin-top:2px}.ked-bands.compact{margin:6px 0 4px}.ked-toggles{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.ked-toggle{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer}.ked-toggle.on{border-color:var(--blue);background:var(--blue-softer)}.ked-toggle input{width:auto;margin:3px 0 0;flex:none}.ked-toggle b{display:block;font-size:13px;font-weight:600;color:var(--ink)}.ked-side{position:sticky;top:0}.ked-prev{padding:16px 18px}.ked-prev-h{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin:16px 0 7px}.ked-prev-h:first-child{margin-top:0}.ked-formula{font-size:13px;color:var(--ink-2);line-height:1.5;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:9px 11px}.ked-try{display:flex;gap:8px;align-items:center}.ked-try input,.ked-try select{width:120px;border:1px solid var(--line);border-radius:var(--r-sm);padding:7px 9px;background:#fff;outline:none}.ked-try input:focus,.ked-try select:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.ked-try-out{display:flex;gap:8px;align-items:center;min-height:34px;margin-top:8px}.ked-rowprev{border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 12px}.ked-savebar{position:sticky;bottom:12px;z-index:30;display:flex;align-items:center;gap:8px;max-width:1128px;margin:-70px auto 0;padding:10px 12px 10px 16px;background:#1c212e;color:#fff;border-radius:10px;box-shadow:0 10px 30px -10px #10142073}.ked-savebar>span{flex:1;min-width:0;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ked-savebar .faint{color:#fff9;font-weight:500}.ked-savebar .btn:not(.primary){background:transparent;color:#fff;border-color:#ffffff40}.ked-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#f0b44c;margin-right:8px;vertical-align:1px}@media (max-width:1180px){.ked{grid-template-columns:minmax(0,760px);justify-content:start}.ked-side{position:static}}.field .ked-num{width:96px;padding:6px 9px}.ked-inline{white-space:nowrap}.kd-owner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px;font-size:12.5px;color:var(--ink-2)}.kd-owner b{font-weight:600;color:var(--ink)}.kd-owner-l{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.kd-owner-def{margin-left:auto}.kd-owner-edit{margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2)}.kd-owner-move{display:flex;gap:8px;align-items:center;font-size:12.5px;color:var(--ink-2);margin:0 0 10px;font-weight:500}.kd-owner-move input{width:auto;margin:0}.ked2-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:2px 0 12px}.ked2-count{margin-left:6px;font-size:10.5px;font-weight:700;background:var(--beige);color:var(--muted);border-radius:8px;padding:0 6px;line-height:16px}.ked2{display:grid;grid-template-columns:minmax(300px,1fr) minmax(380px,1.2fr) minmax(320px,380px);gap:14px;align-items:start;padding-bottom:6px}.ked-page.dirty .ked2{padding-bottom:72px}.ked2-col{padding:14px 16px 16px;min-width:0}.ked2-side{display:flex;flex-direction:column;gap:14px;position:sticky;top:0;min-width:0}.ked2-h{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin-bottom:10px}.ked2-hint{display:inline-flex;color:var(--faint);cursor:help}.ked2 .field{margin-bottom:10px}.ked2 .field label{margin-bottom:4px}.ked2 .field input,.ked2 .field select,.ked2 .field textarea{padding:6px 9px}.ked2 .ked-title{font-size:14px!important}.ked2 .ked-row2{gap:10px;flex-wrap:nowrap}.ked2 .ked-row2>.field.grow{flex:1 1 0}.ked2 .ked-row2>.field.w150{flex:0 0 150px}.ked2 .ked-row2>.field:not(.grow):not(.w150){flex:none}.ked2 .switch button{padding:4px 10px;font-size:12px}.ked2-grow{resize:none;height:52px;line-height:1.4;overflow:hidden;transition:height .15s}.ked2-grow:focus{height:96px;overflow:auto}.ked2-div{height:1px;background:var(--line-soft);margin:4px -16px 12px}.ked2 .ked-cuts{gap:16px;margin:0 0 6px}.ked2 .ked-unit input{width:80px;padding:5px 9px;font-size:14px}.ked2 .ked-bands{margin:6px 0 0}.ked2 .ked-scale{height:34px}.ked2 .ked-rule{font-size:12px}.ked2 .ked-prev{padding:14px 16px}.ked2 .ked-prev-h{margin:12px 0 6px}.ked2 .ked-prev-h:first-child{margin-top:0}.ked2 .ked-try input,.ked2 .ked-try select{width:100px;padding:6px 8px}.ked2 .ked-rowprev{padding:9px 11px}.ked2-display{padding:14px 16px}.ked2-chips{display:flex;flex-wrap:wrap;gap:6px}.ked2-chip{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 11px;border-radius:15px;border:1px solid var(--line);background:#fff;font-size:12.5px;font-weight:600;color:var(--ink-2);cursor:pointer}.ked2-chip.on{background:var(--blue-soft);border-color:var(--blue);color:var(--blue-ink)}.ked2-chip .ic{color:var(--faint)}.ked2-chip.on .ic{color:var(--blue)}.ked2~.ked-savebar{max-width:none;margin:-60px 0 0}@media (max-width:1280px){.ked2{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}.ked2-side{grid-column:1/-1;position:static;display:grid;grid-template-columns:1fr 1fr}}@media (max-width:900px){.ked2{grid-template-columns:minmax(0,1fr)}.ked2-side{grid-template-columns:1fr}.ked2 .ked-row2{flex-wrap:wrap}}.main:has(>.ked-page){padding-bottom:12px}.ked2{align-items:stretch}.ked2-side{align-self:start}.ked2 .switch button.active{color:var(--blue-ink);background:#fff;box-shadow:inset 0 0 0 1px var(--blue),0 1px 2px #10142014}.ked2 .ked-try input{flex:1 1 0;min-width:0;width:auto}.ked2 .ked-try select{flex:1 1 0;width:auto}.ked2-dirty{display:inline-flex;align-items:center;font-size:12.5px;font-weight:600;color:var(--amber);margin-right:4px;white-space:nowrap}.ked2-copy{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px;padding:9px 12px;border:1px dashed var(--line-strong);border-radius:var(--r);background:var(--surface-2);font-size:13px;font-weight:600;color:var(--ink-2)}.ked2-copy select{flex:0 1 420px;min-width:0;border:1px solid var(--line);border-radius:var(--r-sm);padding:6px 9px;background:#fff;font-weight:500}.ked2 .ked2-h+.field{margin-top:0}.live-tog{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--surface-2);color:var(--muted);border-radius:999px;padding:2px 9px 2px 3px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.live-tog i{width:14px;height:14px;border-radius:50%;background:var(--line-strong);transition:background .15s}.live-tog.on{border-color:#a9d7bc;background:var(--green-soft);color:var(--green)}.live-tog.on i{background:var(--green)}.live-tog:disabled{opacity:.5;cursor:default}.kdefs .kdef-owner{width:150px;max-width:150px;text-overflow:ellipsis;font-size:12.5px;padding-top:4px;padding-bottom:4px}.kdefs .kdef-owner.none{color:var(--faint)}.kdefs .kdef-owner option{color:var(--ink)}.live-tog.ked-live{height:34px;padding:0 12px 0 8px;border-radius:var(--r-sm);font-size:13px}.knolive{display:flex;gap:10px;align-items:flex-start;padding:11px 14px;margin:0 0 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--blue-softer);color:var(--ink-2);font-size:13.5px}.knolive svg{color:var(--blue);flex:none;margin-top:2px}.knl-h td{background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:600;cursor:pointer;padding:7px 12px!important;border-top:1px dashed var(--line)}.knl-h td svg{vertical-align:-2px;margin-right:4px}.knl-h .n{display:inline-block;min-width:18px;margin:0 8px 0 4px;padding:0 6px;border-radius:9px;background:var(--line-soft);color:var(--muted);text-align:center;font-size:11px}.knl-h .faint{font-weight:400}.krow.knl td{background:var(--surface-2)}.krow.knl .ktitle,.krow.knl td.muted{color:var(--faint)}.krow.knl .knl-reason{max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kd-notlive{margin:10px 0 2px;padding:9px 12px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line);font-size:13px;color:var(--ink-2)}.kd-notlive a{margin-left:8px;font-weight:600;cursor:pointer;color:var(--blue)}.kd-live{display:flex;align-items:center;gap:8px;margin:8px 0 0}.kd-live a{margin-left:auto;font-size:12.5px;cursor:pointer;color:var(--muted)}.kd-live a:hover{color:var(--red)}.ksec-off{border-top:1px dashed var(--line)}.ksec-off-h{display:flex;align-items:center;gap:4px;padding:8px 16px;font-size:12px;font-weight:600;color:var(--muted);cursor:pointer;background:var(--surface-2)}.ksec-off-h .n{min-width:18px;margin:0 8px 0 4px;padding:0 6px;border-radius:9px;background:var(--line-soft);text-align:center;font-size:11px}.ksec-off-h .faint{font-weight:400}.ksec-off-row{display:grid;grid-template-columns:44px 112px minmax(0,1fr) 90px auto 130px;gap:10px;align-items:center;padding:7px 16px;border-top:1px solid var(--line-soft);cursor:pointer;background:var(--surface-2)}.ksec-off-row:hover{background:var(--blue-softer)}.ksec-off-row .ktitle{color:var(--faint);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ksec-off-owner{display:flex;align-items:center;gap:6px;justify-content:flex-end}.lswitch{display:inline-flex;align-items:center;gap:7px;border:0;background:none;padding:2px 0;cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;color:var(--muted);white-space:nowrap}.lswitch-track{position:relative;width:32px;height:18px;border-radius:9px;background:var(--line-strong);transition:background .15s;flex:none}.lswitch-knob{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #10142040;transition:transform .15s}.lswitch:hover .lswitch-track{background:#b9c0cc}.lswitch.on{color:var(--green)}.lswitch.on .lswitch-track{background:var(--green)}.lswitch.on:hover .lswitch-track{background:#127540}.lswitch.on .lswitch-knob{transform:translate(14px)}.lswitch.paused{color:var(--amber)}.lswitch.paused .lswitch-track{background:#e6c37a}.lswitch.dis{opacity:.45;cursor:not-allowed}.lswitch.dis:hover .lswitch-track{background:var(--line-strong)}.lswitch:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:4px}.lswitch:disabled{opacity:.5;cursor:default}.ked-status{display:flex;align-items:center;height:34px}.itip-pop.fixed{position:fixed;top:auto;z-index:1000;overflow:auto}.tbl td.tree-td{position:relative}.tree-hit{position:absolute;top:0;bottom:0;left:0;display:flex;align-items:center;justify-content:flex-end;padding:0 9px 0 0;border:none;border-right:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;transition:background .12s,border-color .12s,color .12s,box-shadow .12s}.tree-hit:hover,.tree-hit:focus-visible{background:var(--blue-soft);border-right-color:var(--blue);box-shadow:inset -1px 0 0 var(--blue);color:var(--blue);outline:none}.tree-hit svg{transition:transform .15s}.tree-hit.closed svg{transform:rotate(-90deg)}.act-cell{min-width:0}.act-name-wrap{display:inline-flex;flex-direction:column;min-width:0}.act-part{font-size:10.5px;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px}.tbl.tree .row .act-name{font-weight:500;color:var(--ink-2)}.tbl.tree .row.is-parent .act-name{font-weight:650;color:var(--ink)}.tbl.tree .row.is-parent td{background:#fafbfd}.tbl.tree .row.is-top td{background:#f6f8fc}.tbl.tree .row.is-top .act-name{font-weight:700}.tbl .row.is-parent:not(.sel):hover td{background:var(--blue-softer)}.tbl .row.is-parent.sel td{background:var(--blue-soft)}.tbl.tree .row.is-parent .chip.blue,.tbl.tree .row.is-parent .chip.gray{background:#fff}.row-add{border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:5px;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;opacity:0;transition:opacity .12s;vertical-align:middle}.row:hover .row-add,.row.sel .row-add,.row-add:focus{opacity:1}.row-add:hover{color:var(--blue);border-color:var(--blue)}.tree-ctl{display:inline-flex;gap:2px}.ext-tag{font-size:9.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:0 4px;line-height:15px}.avatar.ext{background:#fff;color:var(--muted);border:1.5px dashed var(--line-strong,#c9ced8)}.owner-sel{display:block;min-width:0}.owner-sel>.owner-add{margin-top:8px}.owner-sel>select{width:100%;flex:none}.ph .prop .owner-sel{flex:1 1 100%}.owner-add{border:1px solid var(--line);border-radius:var(--r-sm);padding:10px;background:var(--surface-2);display:flex;flex-direction:column;gap:7px}.owner-add-h{font-size:11.5px;font-weight:650;color:var(--ink)}.owner-add input{width:100%;border:1px solid var(--line);border-radius:5px;padding:6px 8px;background:#fff;outline:none;font-size:12.5px}.owner-add input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.convert-note{margin-top:8px;background:var(--amber-soft);color:#6b4a06;border-radius:var(--r-sm);padding:8px 10px;font-size:12px;line-height:1.45}.rollup-note{background:var(--blue-soft);color:var(--blue-ink,#1d3f9a);border-radius:var(--r-sm);padding:8px 12px;font-size:12px;margin-bottom:10px;line-height:1.45}.prop-hint{padding:0 12px 8px 128px;font-size:11px;color:var(--faint);line-height:1.4}.prop-ro{flex:1;font-size:12.5px;padding:4px 7px}.sub-row{display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--line);border-radius:var(--r-sm);margin-bottom:5px;font-size:12.5px;background:#fff}.sub-row.link{cursor:pointer}.sub-row.link:hover{border-color:var(--line-strong,#c9ced8)}.sub-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sub-pct{width:36px;text-align:right;font-size:12px}@media (max-width:760px){.prop-hint{padding-left:12px}}.item-head-main{flex:1;min-width:0}.item-desc.wide{max-width:none}.item-desc .clamp2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.link-btn{border:none;background:none;padding:0;margin-top:2px;color:var(--blue);font-size:12px;font-weight:600;cursor:pointer}.link-btn:hover{text-decoration:underline}.ph{--top:56px;--tabs:62px;--safe-b:env(safe-area-inset-bottom,0px);min-height:100vh;min-height:100dvh;background:var(--bg);font-size:14px;-webkit-tap-highlight-color:transparent}.ph button{-webkit-tap-highlight-color:transparent}.ph input,.ph select,.ph textarea{font-size:16px!important}.ph-top{position:sticky;top:0;z-index:60;height:calc(var(--top) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 8px 0 10px;display:flex;align-items:center;gap:8px;background:#fffffff5;backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}.ph-mod{display:flex;align-items:center;gap:9px;min-width:0;flex:1;border:0;background:none;padding:6px 6px 6px 2px;border-radius:10px;text-align:left;color:var(--ink)}.ph-mod:active{background:var(--line-soft)}.ph-mod .sb-tile{width:32px;height:32px;border-radius:9px;font-size:11px}.ph-mod-n{font-size:16px;font-weight:650;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.ph-top-r{display:flex;align-items:center;gap:4px;flex:none}.ph-top-r .icon-btn{width:44px;height:44px;border-radius:12px}.ph-top-r .icon-btn .badge{top:6px;right:6px}.ph-me{width:44px;height:44px;border:0;background:none;display:flex;align-items:center;justify-content:center;border-radius:12px}.ph-me .avatar{width:32px;height:32px;font-size:11px}.ph-main{padding:14px 14px calc(var(--tabs) + var(--safe-b) + 28px);min-width:0;overflow-x:hidden}.ph-main.ph-full{padding-bottom:0}.ph-tabs{position:fixed;left:0;right:0;bottom:0;z-index:70;display:flex;height:calc(var(--tabs) + var(--safe-b));padding:4px 4px var(--safe-b);background:#fffffff7;backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-top:1px solid var(--line)}.ph-tab{flex:1;min-width:0;border:0;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--faint);border-radius:10px;padding:0 2px}.ph-tab.on{color:var(--blue)}.ph-tab:active{background:var(--line-soft)}.ph-tab-i{position:relative;display:flex}.ph-tab-l{font-size:10.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.ph-dot{position:absolute;top:-5px;right:-9px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--amber);color:#fff;font-size:9.5px;font-weight:700;line-height:16px;text-align:center}.ph-head{margin:2px 0 14px}.ph-head-row{display:flex;align-items:flex-start;gap:6px}.ph-head-t{flex:1;min-width:0}.ph-head h1{font-size:22px;line-height:1.25;font-weight:700;letter-spacing:-.02em;color:var(--ink);word-wrap:break-word}.ph-sub{color:var(--muted);font-size:13px;margin-top:3px}.ph-head-a{display:flex;gap:6px;flex:none}.ph-back{flex:none;width:36px;height:36px;margin:-3px 0 0 -8px;border:0;background:none;border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--ink)}.ph-back:active{background:var(--line-soft)}.ph-icon{width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;color:var(--ink);font-size:20px;line-height:1;flex:none}.ph-icon.solid{background:var(--blue);border-color:var(--blue);color:#fff}.ph-icon:active{opacity:.8}.ph-card{display:block;width:100%;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:13px 14px;margin-bottom:10px;color:var(--ink);font:inherit;box-shadow:0 1px 2px #1014200a}button.ph-card:active{background:var(--surface-2);transform:scale(.995)}.ph-act-top{display:flex;align-items:flex-start;gap:10px;justify-content:space-between}.ph-act-name{font-weight:600;font-size:15px;line-height:1.35;min-width:0;word-wrap:break-word;display:flex;gap:6px;align-items:baseline}.ph-act-name .dot{flex:none;position:relative;top:-1px}.ph-act-name .new-dot{position:relative;top:-2px}.ph-act-top .chip{flex:none;margin-top:1px}.ph-where{font-size:12px;color:var(--faint);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ph-desc{font-size:12.5px;color:var(--muted);margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ph-act-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:9px;font-size:12px;color:var(--muted)}.ph-act-meta .late{color:var(--red);font-weight:600}.ph-risk{display:inline-flex;align-items:center;gap:4px;color:var(--red);font-weight:600}.ph-count{display:inline-flex;align-items:center;gap:4px}.ph-owner{display:inline-flex;align-items:center;gap:5px;margin-left:auto}.ph-k{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.ph-block{padding:14px}.ph-prog{display:flex;align-items:center;gap:10px;margin-top:10px}.ph-track{position:relative;flex:1;height:6px;border-radius:3px;background:var(--line-soft)}.ph-fill{position:absolute;left:0;top:0;bottom:0;border-radius:3px;background:var(--blue)}.ph-tick{position:absolute;top:-3px;bottom:-3px;width:2px;margin-left:-1px;border-radius:1px;background:var(--ink-2);opacity:.55}.ph-prog b{font-size:13px;min-width:36px;text-align:right}.ph-prog.big .ph-track{height:9px;border-radius:5px}.ph-prog.big .ph-fill{border-radius:5px}.ph-prog.big b{font-size:18px}.ph-sec{margin-top:22px}.ph-sec-h{display:flex;align-items:center;gap:8px;margin:0 2px 9px;font-size:13px;font-weight:700;color:var(--ink-2);text-transform:uppercase;letter-spacing:.05em}.ph-n{font-size:11.5px;font-weight:700;color:var(--muted);background:var(--beige);border-radius:9px;padding:0 7px;line-height:18px;letter-spacing:0}.ph-link{border:0;background:none;color:var(--blue);font-weight:600;font-size:13px;text-transform:none;letter-spacing:0;padding:6px 2px}.ph-more{display:block;width:100%;border:1px dashed var(--line-strong);background:transparent;border-radius:12px;padding:11px;color:var(--blue);font-weight:600;font-size:13.5px}.ph-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:6px}.ph-stat{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 12px}.ph-stat b{display:block;font-size:22px;font-weight:700;line-height:1.15;color:var(--ink)}.ph-stat span{font-size:12px;color:var(--muted)}.ph-stat.red b{color:var(--red)}.ph-stat.amber b{color:var(--amber)}.ph-hero{display:flex;align-items:center;gap:14px}.ph-hero-t{min-width:0}.ph-hero-s{font-size:12.5px;color:var(--muted);margin-top:8px}.ph-hero .var-pill{top:0}.ph-mine{display:flex;align-items:center;gap:10px;color:var(--blue-ink);background:var(--blue-softer);border-color:var(--blue-soft);font-size:14px}.ph-mine>span:not(.ic){flex:1;text-align:left}.ph-mine .ic{flex:none}.ph-line{display:flex;align-items:flex-start;gap:11px;padding:12px}.ph-line-t{flex:1;min-width:0;display:flex;flex-direction:column;font-size:13.5px;line-height:1.4}.ph-line-t b{font-weight:600}.ph-why{font-size:12px;color:var(--muted);margin-top:3px}.ph-sev{flex:none;align-self:stretch;width:4px;border-radius:2px;background:var(--amber)}.ph-sev.red{background:var(--red)}.ph-days{flex:none;min-width:46px;text-align:center;font-weight:700;font-size:12.5px;color:var(--blue-ink);background:var(--blue-soft);border-radius:8px;padding:5px 0}.ph-ago{flex:none;font-size:11.5px;color:var(--faint)}.ph-chart{padding:8px 0 2px;overflow:hidden}.ph-chart svg{width:100%;height:auto}.ph-chips{display:flex;gap:7px;overflow-x:auto;margin:0 -14px 12px;padding:0 14px 2px;scrollbar-width:none}.ph-chips::-webkit-scrollbar{display:none}.ph-chips button{flex:none;display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 13px;border-radius:17px;border:1px solid var(--line);background:#fff;font-size:13px;font-weight:600;color:var(--ink-2);white-space:nowrap}.ph-chips button span{font-size:11.5px;color:var(--faint);font-weight:700}.ph-chips button.on{background:var(--ink);border-color:var(--ink);color:#fff}.ph-chips button.on span{color:#ffffffb3}.ph-search{display:flex;align-items:center;gap:8px;height:44px;padding:0 12px;margin-bottom:12px;background:#fff;border:1px solid var(--line);border-radius:12px;color:var(--faint)}.ph-search input{flex:1;min-width:0;border:0;outline:none;background:transparent;color:var(--ink)}.ph-seg{display:flex;background:var(--beige);border-radius:11px;padding:3px;margin:16px 0 12px}.ph-seg button{flex:1;height:36px;border:0;background:transparent;border-radius:9px;font-weight:600;font-size:13.5px;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:6px}.ph-seg button.on{background:#fff;color:var(--ink);box-shadow:0 1px 3px #1014201f}.ph-empty{display:flex;flex-direction:column;gap:8px;align-items:flex-start;padding:22px 18px;background:var(--card);border:1px dashed var(--line-strong);border-radius:14px;color:var(--muted);font-size:13.5px;margin-bottom:10px}.ph-empty b{color:var(--ink);font-size:15px}.ph-empty.small{padding:16px;font-size:13px}.ph-empty .btn{margin-top:4px;height:40px;padding:0 16px;font-size:14px}.ph-foot-note{text-align:center;color:var(--faint);font-size:12px;margin-top:18px}.ph-fab{position:fixed;right:16px;bottom:calc(var(--tabs) + var(--safe-b) + 14px);z-index:65;display:flex;align-items:center;gap:8px;height:48px;padding:0 18px;border:0;border-radius:24px;background:var(--blue);color:#fff;font-weight:650;font-size:14.5px;box-shadow:0 6px 18px -4px #2f5fe08c}.ph-fab:active{transform:scale(.97)}.ph-veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;background:#1216216b;display:flex;align-items:flex-end;animation:phfade .16s ease}.ph-sheet{width:100%;max-height:86vh;max-height:86dvh;overflow-y:auto;background:#fff;border-radius:18px 18px 0 0;padding:6px 12px calc(14px + var(--safe-b));animation:phup .2s cubic-bezier(.32,.72,0,1)}.ph-grab{width:40px;height:5px;border-radius:3px;background:var(--line-strong);margin:4px auto 8px}.ph-sheet-h{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 4px 8px}.ph-sheet-h b{font-size:16px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ph-sheet-h .ph-icon{border:0;width:36px;height:36px}.ph-row{display:flex;align-items:center;gap:12px;width:100%;min-height:54px;padding:8px;border:0;background:none;border-radius:12px;text-align:left;color:var(--ink);font:inherit}.ph-row:active,.ph-row.cur{background:var(--line-soft)}.ph-row .sb-tile{width:36px;height:36px;border-radius:10px}.ph-row-ic{width:36px;height:36px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--beige);color:var(--ink-2)}.ph-row-t{flex:1;min-width:0;display:flex;flex-direction:column}.ph-row-t b{font-weight:600;font-size:15px}.ph-row-t span{font-size:12.5px;color:var(--muted)}.ph-row.danger,.ph-row.danger .ph-row-ic{color:var(--red)}.ph-row.danger .ph-row-ic{background:var(--red-soft)}.ph-group{border-top:1px solid var(--line-soft);padding:6px 0;margin-top:4px}.ph-group:first-of-type{border-top:0}.ph-me-card{display:flex;align-items:center;gap:12px;padding:6px 8px 12px}.ph-me-card .avatar{width:44px;height:44px;font-size:14px}.ph-me-card div{display:flex;flex-direction:column;min-width:0}.ph-me-card b{font-size:16px}.ph-me-card span{font-size:12.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}@keyframes phfade{0%{opacity:0}to{opacity:1}}@keyframes phup{0%{transform:translateY(40px);opacity:.6}to{transform:none;opacity:1}}.ph #drawer{width:100vw;max-width:100vw;right:-100vw;height:100vh;height:100dvh;top:0;border-radius:0;z-index:110}.ph #drawer.open{right:0}.ph #drawer-veil{z-index:105}.ph .drawer-top{padding:calc(10px + env(safe-area-inset-top,0px)) 16px 0}.ph .drawer-top .icon-btn{width:40px;height:40px;border-radius:12px;background:var(--line-soft)}.ph .drawer-title{font-size:19px;line-height:1.3}.ph .drawer-tabs{overflow-x:auto}.ph .drawer-tabs button{padding:12px;font-size:14px;white-space:nowrap}.ph .drawer-body{padding:16px 16px calc(40px + var(--safe-b))}.ph .props{border-radius:12px;display:flex;flex-direction:column}.ph .prop-status{order:-3;border-top:0}.ph .prop-progress{order:-2}.ph .ph-quick{order:-1;border-bottom:1px solid var(--line-soft)}.ph .prop{flex-wrap:wrap;gap:6px 12px;padding:10px 12px;min-height:52px}.ph .prop>label{width:100%;font-size:12px}.ph .prop select,.ph .prop input[type=date],.ph .prop input[type=number],.ph .prop .name-edit{flex:1 1 100%;height:44px!important;border:1px solid var(--line)!important;background:#fff!important;border-radius:10px!important;padding:0 12px!important;color:var(--ink)}.ph .prop select:disabled,.ph .prop input:disabled{background:var(--surface-2)!important}.ph .prop-prog{flex:1 1 100%;display:flex;align-items:center;gap:12px}.ph .prop-prog .slider{height:28px}.ph .prop-prog b{font-size:18px;min-width:48px;text-align:right}.ph-quick{display:flex;gap:6px;padding:0 12px 12px}.ph-quick button{flex:1;height:40px;border-radius:10px;border:1px solid var(--line);background:#fff;font-weight:650;font-size:14px;color:var(--ink-2)}.ph-quick button.on{background:var(--blue);border-color:var(--blue);color:#fff}.ph .drawer-body .btn.sm{height:38px;padding:0 14px;font-size:13.5px}.ph .drawer-body .file-row{flex-wrap:wrap}.ph .drawer-body .note{font-size:14px}.ph .subhead{margin-top:22px}.ph #modal-veil{align-items:flex-end;padding:0}.ph .modal{max-width:100%!important;width:100%!important;border-radius:18px 18px 0 0;max-height:92vh;max-height:92dvh;border:0;padding-bottom:var(--safe-b)}.ph .modal-f{position:sticky;bottom:0;background:#fff;padding-top:12px;padding-bottom:16px}.ph .modal-f .btn{flex:1;height:46px;font-size:15px}.ph .modal .field input,.ph .modal .field select,.ph .modal .field textarea{min-height:44px}.ph .modal .flex{flex-wrap:wrap}.ph .pop{position:fixed;top:calc(var(--top) + env(safe-area-inset-top,0px) + 4px);left:8px;right:8px;width:auto;max-height:75vh;max-height:75dvh;display:flex;flex-direction:column;border-radius:14px}.ph .pop-body{max-height:none;overflow-y:auto;flex:1}.ph .notif{padding:12px 14px;font-size:13.5px}.ph .notif .icon-btn{width:40px;height:40px}.ph .asst{height:calc(100vh - var(--top) - var(--tabs) - var(--safe-b) - 14px);height:calc(100dvh - var(--top) - env(safe-area-inset-top,0px) - var(--tabs) - var(--safe-b) - 14px);margin:0;display:flex;flex-direction:column}.ph .asst>.crumbs,.ph .asst .item-desc,.ph .asst>.small.faint{display:none}.ph .asst .item-head{flex-direction:row;align-items:center;margin-bottom:8px!important}.ph .asst .item-title{font-size:22px;font-weight:700}.ph .asst .item-head .btn{height:36px;font-size:13px}.ph .asst,.ph .asst-card,.ph .asst-list,.ph .asst-empty{min-width:0;max-width:100%}.ph .asst-card{min-height:0;border-radius:14px}.ph .asst-empty{padding:28px 0 10px}.ph .asst-sugg{max-width:100%;margin:0 -12px;padding:0 12px 4px;scrollbar-width:none}.ph .asst-sugg::-webkit-scrollbar{display:none}.ph .asst-list{padding:14px 12px 6px}.ph .asst-bubble{max-width:85%;font-size:15px}.ph .asst-answer{max-width:100%;font-size:14.5px}.ph .asst-answer table{display:block;overflow-x:auto;max-width:100%}.ph .asst-sugg{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding-bottom:4px}.ph .asst-chip{flex:none;max-width:240px;white-space:normal;text-align:left}.ph .asst-composer{padding:8px;gap:8px}.ph .asst-composer textarea{min-height:44px}.ph .asst-composer .btn{height:44px;padding:0 16px}.ph .ov-grid,.ph .ov-grid.two,.ph .ov-low,.ph .kgrid3,.ph .kgrid2,.ph .kflags,.ph .kspot,.ph .ked,.ph .admin-grid,.ph .kcards{grid-template-columns:minmax(0,1fr)!important}.ph .band,.ph .kband,.ph .band.band-page{grid-template-columns:1fr 1fr!important}.ph .band .band-hero,.ph .kband .band-hero{grid-column:1/-1;border-right:none;border-bottom:1px solid var(--line-soft)}.ph .kpi-strip,.ph .kstrip,.ph .kpi-strip.five{grid-template-columns:1fr 1fr!important}.ph .kcalc{grid-template-columns:1fr!important}.ph .ked-side,.ph .ked2-side{position:static}.ph .ked2,.ph .ked2-side{grid-template-columns:minmax(0,1fr)!important}.ph .ked2 .ked-row2{flex-wrap:wrap}.ph .ked2-head{flex-direction:column}.ph .kpi-preview-banner{font-size:12.5px;margin-bottom:12px;border-radius:12px}.ph .crumbs{display:none}.ph .item-head{flex-direction:column;gap:10px}.ph .item-head .flex{flex-wrap:wrap}.ph .tbl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.ph .tbl-scroll.fill{max-height:none}.ph .btn{min-height:36px}@media (max-width:760px){#toasts{bottom:calc(76px + env(safe-area-inset-bottom,0px));width:calc(100% - 24px)}.toast{font-size:14px;padding:12px 16px}}
