@font-face{font-family:Vazirmatn Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/vazirmatn-arabic-wght-normal-Cafbb7Zc.woff2) format("woff2-variations");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Vazirmatn Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/vazirmatn-latin-ext-wght-normal-tDTa1Fj6.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Vazirmatn Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/vazirmatn-latin-wght-normal-BFexNX-K.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #f5f5fa;--surface: #ffffff;--surface-2: #f6f6fa;--soft: #f0f0f3;--ink: #1c1d21;--muted: #6c6e8e;--line: #ececf2;--line-strong: #dedee8;--brand: #0a3927;--brand-hover: #072a1d;--on-brand: #ffffff;--brand-tint: #e9efec;--brand-tint-2: #dbe5e0;--accent: #7ce7ac;--focus: #2f8f68;--mark: #f4be5e;--on-mark: #2b2000;--approved: #11774a;--approved-bg: #e2f7eb;--rejected: #c93a52;--rejected-bg: #ffe9ec;--review: #9a6200;--review-bg: #fdf2d9;--draft: #5b5e80;--draft-bg: #eeeef4;--void: #7d7f99;--void-bg: #f1f1f5;--shadow: 0 10px 30px rgba(28, 29, 33, .1);--font-body: "Vazirmatn Variable", Tahoma, "Segoe UI", sans-serif;--font-head: "Vazirmatn Variable", Tahoma, "Segoe UI", sans-serif;--r: 8px;--r-lg: 12px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #111315;--surface: #1a1d20;--surface-2: #202428;--soft: #262a2f;--ink: #e8e9ee;--muted: #9c9eb6;--line: #2a2e34;--line-strong: #383d45;--brand: #3fae82;--brand-hover: #55c096;--on-brand: #04140d;--brand-tint: #1c2b25;--brand-tint-2: #23372f;--focus: #55c096;--approved: #62cb92;--approved-bg: #16352a;--rejected: #f0909c;--rejected-bg: #3d1e24;--review: #e5bd5a;--review-bg: #39300f;--draft: #a9abc4;--draft-bg: #2a2d36;--void: #a5a7bd;--void-bg: #26282f;--shadow: 0 10px 30px rgba(0, 0, 0, .45);color-scheme:dark}}:root[data-theme=dark]{--bg: #111315;--surface: #1a1d20;--surface-2: #202428;--soft: #262a2f;--ink: #e8e9ee;--muted: #9c9eb6;--line: #2a2e34;--line-strong: #383d45;--brand: #3fae82;--brand-hover: #55c096;--on-brand: #04140d;--brand-tint: #1c2b25;--brand-tint-2: #23372f;--focus: #55c096;--approved: #62cb92;--approved-bg: #16352a;--rejected: #f0909c;--rejected-bg: #3d1e24;--review: #e5bd5a;--review-bg: #39300f;--draft: #a9abc4;--draft-bg: #2a2d36;--void: #a5a7bd;--void-bg: #26282f;--shadow: 0 10px 30px rgba(0, 0, 0, .45);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.7 var(--font-body);font-feature-settings:"tnum";-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-head);font-weight:700;line-height:1.5;margin:0;text-wrap:balance}h1{font-size:20px}h2{font-size:16px}h3{font-size:14px}p{margin:0}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.num{direction:ltr;unicode-bidi:isolate;font-variant-numeric:tabular-nums;white-space:nowrap}.muted{color:var(--muted)}.small{font-size:12.5px}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.between{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:18px;min-width:0}.grow{flex:1;min-width:0}.ico{flex:none;display:block}.shell{display:grid;grid-template-columns:auto minmax(0,1fr);min-height:100%}.sidebar{display:flex;position:sticky;top:0;height:100vh;height:100dvh;z-index:30}.rail{width:76px;flex:none;background:var(--surface);border-inline-end:1px solid var(--line);display:flex;flex-direction:column;align-items:center;padding:18px 0 14px;gap:14px;overflow-y:auto;scrollbar-width:none}.rail::-webkit-scrollbar{display:none}.logo{width:40px;height:40px;flex:none;border-radius:12px;background:var(--brand);color:var(--on-brand);display:grid;place-items:center;font-weight:800;font-size:20px;line-height:1}.logo:hover{text-decoration:none}.logo.sm{width:44px;height:44px}.rail nav{display:flex;flex-direction:column;gap:4px;width:100%;align-items:center;flex:1}.rail-btn{position:relative;width:100%;height:52px;border:0;background:none;cursor:pointer;color:var(--muted);display:grid;place-items:center}.rail-btn:before{content:"";position:absolute;width:46px;height:46px;border-radius:10px;background:transparent;transition:background .12s}.rail-btn .ico{position:relative}.rail-btn:hover{color:var(--ink)}.rail-btn:hover:before{background:var(--soft)}.rail-btn.active{color:var(--brand)}.rail-btn.active:before{background:var(--brand-tint)}.rail-btn.active:after{content:"";position:absolute;inset-inline-end:0;top:12px;bottom:12px;width:3px;border-radius:2px;background:var(--brand)}.rail-btn .dot{position:absolute;top:6px;inset-inline-end:12px}.rail-user{margin-top:auto}.rail-user:hover{text-decoration:none}.dot{background:var(--rejected);color:#fff;font-size:10.5px;font-weight:700;font-style:normal;min-width:18px;height:18px;line-height:18px;text-align:center;border-radius:9px;padding:0 5px;box-shadow:0 0 0 2px var(--surface)}.avatar{width:36px;height:36px;flex:none;border-radius:10px;background:var(--brand-tint);color:var(--brand);display:inline-grid;place-items:center;font-weight:700;font-size:13px;line-height:1}.avatar.sm{width:26px;height:26px;border-radius:8px;font-size:12px}.count{min-width:22px;height:22px;border-radius:11px;background:var(--brand);color:var(--on-brand);font-size:11.5px;font-weight:700;font-style:normal;display:inline-grid;place-items:center;padding:0 6px;flex:none}.subnav{width:284px;flex:none;background:var(--surface);border-inline-end:1px solid var(--line);display:flex;flex-direction:column;gap:18px;padding:18px 16px 14px;overflow-y:auto}.nav-closed .subnav{display:none}.org-card{display:flex;align-items:center;gap:12px;padding:4px 4px 0;min-width:0}.org-card b,.subnav-foot b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.org-card small,.subnav-foot small{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subnav-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:6px 4px 0}.subnav-title h2{font-size:17px}.menu-card{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column}.menu-card a{display:flex;align-items:center;gap:12px;padding:12px 14px;color:var(--ink);border-bottom:1px solid var(--line);min-width:0}.menu-card a:last-child{border-bottom:0}.menu-card a:hover{background:var(--surface-2);text-decoration:none}.menu-card a.active{background:var(--brand-tint)}.mi{width:38px;height:38px;flex:none;border-radius:10px;background:var(--soft);color:var(--muted);display:grid;place-items:center}.mi.big{width:64px;height:64px;border-radius:18px}.menu-card a.active .mi{background:var(--brand);color:var(--on-brand)}.mt{min-width:0;flex:1;display:flex;flex-direction:column;line-height:1.45}.mt b{font-size:14px}.mt small{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subnav-foot{margin-top:auto;display:flex;align-items:center;gap:10px;padding:12px 4px 0;border-top:1px solid var(--line);min-width:0}.main{min-width:0;display:flex;flex-direction:column}.topbar{display:flex;gap:12px;align-items:center;padding:16px 28px;background:var(--bg);position:sticky;top:0;z-index:20}.top-title{font-size:20px;white-space:nowrap;margin-inline-end:8px}.content{padding:4px 28px 56px;max-width:1360px;width:100%}.scrim,.tabbar{display:none}.who-btn{display:flex;align-items:center;gap:10px;background:none;border:0;cursor:pointer;padding:2px;border-radius:10px;text-align:start}.who{display:flex;flex-direction:column;line-height:1.4}.who b{font-size:13.5px;white-space:nowrap}.who small{font-size:12px;color:var(--muted);white-space:nowrap}.report-btn{background:var(--surface);border:1px solid var(--line);color:var(--ink)}.report-btn:hover{background:var(--brand-tint);color:var(--brand);border-color:transparent}.search{position:relative;flex:1;max-width:420px}.search .input{background:var(--surface);border-color:var(--line);padding-inline-start:40px}.search-ico{position:absolute;inset-inline-start:12px;top:50%;translate:0 -50%;color:var(--muted);pointer-events:none}.search-panel{position:absolute;inset-inline:0;top:calc(100% + 6px);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:8px;max-height:60vh;overflow-y:auto;z-index:30}.search-panel h3{color:var(--muted);font:600 12px var(--font-body);padding:8px 10px 2px}.search-panel a{display:flex;gap:8px;justify-content:space-between;padding:7px 10px;border-radius:var(--r);color:var(--ink)}.search-panel a:hover{background:var(--surface-2);text-decoration:none}.input,select.input,textarea.input{width:100%;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r);padding:7px 12px;min-height:40px;transition:border-color .12s,box-shadow .12s}.input:hover{border-color:color-mix(in srgb,var(--muted) 55%,var(--line-strong))}.input:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 22%,transparent)}.input:disabled{background:var(--surface-2);color:var(--muted)}textarea.input{resize:vertical;min-height:84px}.input[dir=ltr]{text-align:left}input[type=checkbox],input[type=radio]{accent-color:var(--brand);width:16px;height:16px;flex:none}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field>label{font-size:12.5px;color:var(--muted);font-weight:500}.field .hint{font-size:12px;color:var(--muted)}.t td>.hint,.row-line>.hint,.row-line .field .hint,.t td .field .hint{display:none}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 16px}.span2{grid-column:1 / -1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;background:var(--brand-tint);color:var(--brand);padding:6px 16px;min-height:40px;border-radius:var(--r);cursor:pointer;font-weight:600;white-space:nowrap;transition:background .12s,color .12s}.btn:hover{background:var(--brand-tint-2);text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--brand);color:var(--on-brand)}.btn.primary:hover{background:var(--brand-hover)}.btn.danger{color:var(--rejected);background:var(--rejected-bg)}.btn.danger:hover{background:color-mix(in srgb,var(--rejected) 22%,var(--surface))}.btn.sm{min-height:32px;padding:2px 12px;font-size:12.5px;border-radius:7px}.linkish{background:none;border:0;color:var(--brand);cursor:pointer;padding:0;font-weight:500}.linkish:hover{text-decoration:underline}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);min-width:0}.panel>header{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 20px;border-bottom:1px solid var(--line);flex-wrap:wrap;min-height:60px}.panel>.body{padding:20px}.panel>.table-wrap:last-child,.panel>.table-wrap:only-child{border-radius:0 0 var(--r-lg) var(--r-lg)}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;flex-wrap:wrap}.page-head h1{font-size:22px}.page-head p{max-width:62em}.table-wrap{overflow-x:auto}table.t{width:100%;border-collapse:collapse}.t th{text-align:start;font-size:12px;font-weight:700;color:var(--muted);padding:10px 16px;background:var(--surface-2);border-bottom:1px solid var(--line);white-space:nowrap}.t td{padding:11px 16px;border-bottom:1px solid var(--line);vertical-align:middle}.t tr:last-child td{border-bottom:0}.t tbody tr.link{cursor:pointer}.t tbody tr.link:hover{background:var(--surface-2)}.t .end{text-align:end}.t tfoot td{background:var(--surface-2);font-weight:600}.pill{display:inline-block;padding:1px 10px;border-radius:7px;font-size:12px;font-weight:700;font-style:normal;white-space:nowrap}.tone-approved{color:var(--approved);background:var(--approved-bg)}.tone-rejected{color:var(--rejected);background:var(--rejected-bg)}.tone-review{color:var(--review);background:var(--review-bg)}.tone-draft{color:var(--draft);background:var(--draft-bg)}.tone-void{color:var(--void);background:var(--void-bg)}.tabs{display:flex;gap:6px;margin-bottom:18px;overflow-x:auto;padding:2px;scrollbar-width:thin}.tabs a{padding:7px 16px;color:var(--muted);border:1px solid transparent;border-radius:var(--r);white-space:nowrap;font-weight:600}.tabs a:hover{color:var(--ink);text-decoration:none;background:var(--soft)}.tabs a.active{color:var(--ink);background:var(--surface);border-color:var(--line)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}.stat{padding:16px 20px;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}.stat .v{font:700 20px var(--font-head);overflow-wrap:anywhere}.stat .l{font-size:12.5px;color:var(--muted)}.home-stats .stat{display:flex;align-items:center;gap:14px;color:var(--ink)}.home-stats .stat:hover{text-decoration:none;border-color:var(--brand)}.home-stats .mi{width:46px;height:46px;border-radius:12px;background:var(--brand-tint);color:var(--brand)}.panel>.stats,.panel .body>.stats{gap:0}.panel>.stats .stat{border:0;border-inline-start:1px solid var(--line);border-radius:0;background:none}.panel>.stats .stat:first-child{border-inline-start:0}.bar{height:8px;background:var(--soft);border-radius:4px;overflow:hidden}.bar>i{display:block;height:100%;background:var(--brand);border-radius:4px}.bar.over>i{background:var(--rejected)}.bars{display:flex;flex-direction:column;gap:12px}.bars .item{display:grid;gap:4px}.empty{padding:34px 16px;text-align:center;color:var(--muted)}.error-box{padding:10px 14px;border-radius:var(--r);background:var(--rejected-bg);color:var(--rejected);font-size:13px}.note-box{padding:10px 14px;border-radius:var(--r);background:var(--review-bg);color:var(--review);font-size:13px}.titleblock{position:relative;display:grid;grid-template-columns:minmax(0,2.4fr) repeat(3,minmax(0,1fr));background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);margin-bottom:18px;overflow:hidden}.tb{padding:10px 16px;border-inline-start:1px solid var(--line);border-top:1px solid var(--line);min-width:0}.tb small{display:block;font-size:11.5px;color:var(--muted)}.tb strong{font-weight:600;overflow-wrap:anywhere}.tb.head{grid-row:span 2;border-inline-start:0;border-top:0;display:flex;flex-direction:column;justify-content:center;padding:44px 20px 16px;background:var(--surface-2)}.tb.top{border-top:0}.stamp{position:absolute;inset-inline-start:20px;top:12px;pointer-events:none;font:700 12px var(--font-head);padding:2px 12px;border-radius:7px;white-space:nowrap}.stamp.approved{color:var(--approved);background:var(--approved-bg)}.stamp.rejected{color:var(--rejected);background:var(--rejected-bg)}.stamp.review{color:var(--review);background:var(--review-bg)}.stamp.draft{color:var(--draft);background:var(--draft-bg)}.stamp.void{color:var(--void);background:var(--void-bg)}.doc-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}.kv{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 20px}.kv>div{min-width:0}.kv small{display:block;color:var(--muted);font-size:12px}.timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.timeline li{position:relative;padding-inline-start:26px;padding-bottom:16px}.timeline li:before{content:"";position:absolute;inset-inline-start:4px;top:5px;width:12px;height:12px;border-radius:50%;border:2px solid var(--line-strong);background:var(--surface)}.timeline li:after{content:"";position:absolute;inset-inline-start:9.5px;top:19px;bottom:0;width:1px;background:var(--line-strong)}.timeline li:last-child{padding-bottom:0}.timeline li:last-child:after{display:none}.timeline li.approved:before{background:var(--approved);border-color:var(--approved)}.timeline li.rejected:before{background:var(--rejected);border-color:var(--rejected)}.timeline li.active:before{background:var(--mark);border-color:var(--review)}.tree-row{display:grid;grid-template-columns:minmax(0,1fr) 70px 70px minmax(90px,170px) 66px;gap:10px;align-items:center;padding:9px 20px;border-bottom:1px solid var(--line)}.tree-row:last-child{border-bottom:0}.matrix td,.matrix th{text-align:center}.matrix td:first-child,.matrix th:first-child{text-align:start;position:sticky;inset-inline-start:0;background:var(--surface)}.matrix .grp td{background:var(--surface-2);font-weight:600;font-size:12.5px;text-align:start}.step-row{display:grid;grid-template-columns:26px minmax(0,1fr) minmax(0,1fr) 34px;gap:8px;align-items:center}.step-row.amt{grid-template-columns:26px minmax(0,1fr) minmax(0,1fr) 150px 34px}.modal-back{position:fixed;inset:0;background:#14161c73;display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px;z-index:60;overflow-y:auto}.modal{background:var(--surface);border-radius:14px;border:1px solid var(--line);width:100%;max-width:580px;box-shadow:var(--shadow)}.modal.wide{max-width:820px}.modal>header{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px}.modal>.body{padding:20px;display:flex;flex-direction:column;gap:14px}.modal>footer{padding:14px 20px;border-top:1px solid var(--line);display:flex;gap:12px;align-items:center;flex-wrap:wrap}.toast{position:fixed;bottom:24px;inset-inline-end:24px;background:var(--ink);color:var(--bg);padding:11px 18px;border-radius:10px;z-index:70;max-width:min(440px,calc(100vw - 40px));box-shadow:var(--shadow)}.toast.err{background:var(--rejected);color:#fff}.popover{position:absolute;top:calc(100% + 8px);inset-inline-end:0;width:350px;max-width:86vw;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:var(--r-lg);z-index:40;overflow:hidden}.popover.menu{width:260px;padding:6px}.popover.menu a,.popover.menu>button{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border-radius:var(--r);color:var(--ink);background:none;border:0;cursor:pointer;text-align:start}.popover.menu a:hover,.popover.menu>button:hover{background:var(--surface-2);text-decoration:none}.menu-head{display:flex;flex-direction:column;padding:8px 12px 10px;border-bottom:1px solid var(--line);margin-bottom:6px}.menu-head small{font-size:12px}.notice{display:block;padding:10px 16px;border-bottom:1px solid var(--line);color:var(--ink)}.notice.unread{background:var(--brand-tint)}.notice:hover{text-decoration:none;background:var(--surface-2)}.icon-btn{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);height:40px;min-width:40px;cursor:pointer;padding:0 9px;display:inline-grid;place-items:center;color:var(--muted);flex:none}.icon-btn:hover{color:var(--brand);background:var(--brand-tint);border-color:transparent;text-decoration:none}.icon-btn .dot{position:absolute;top:-6px;inset-inline-start:-6px}.jal{position:relative}.cal{position:absolute;top:calc(100% + 4px);inset-inline-start:0;z-index:45;width:276px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:10px}.cal-head{display:grid;grid-template-columns:30px 1fr 1fr 30px;gap:4px;margin-bottom:6px}.cal-head .input{padding:2px 4px;min-height:30px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;text-align:center}.cal-grid span{font-size:11.5px;color:var(--muted)}.cal-grid button{background:none;border:0;border-radius:7px;padding:4px 0;cursor:pointer}.cal-grid button:hover{background:var(--soft)}.cal-grid button.sel{background:var(--brand);color:var(--on-brand)}.cal-grid button.today{outline:1px solid var(--brand)}.login{min-height:100%;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);background:var(--surface)}.login-art{background:#0a3927;color:#d5e4dd;padding:44px;display:flex;flex-direction:column;justify-content:space-between;gap:32px}.brand{display:flex;align-items:center;gap:12px;color:#fff}.brand b{font:800 19px var(--font-head)}.brand-mark{width:40px;height:40px;background:#fff;color:#0a3927;display:grid;place-items:center;font:800 20px var(--font-head);border-radius:12px;line-height:1}.login-art h1{font-size:30px;color:#fff;max-width:15em;line-height:1.6}.login-art p{max-width:34em}.tape{height:4px;width:72px;background:var(--accent);border-radius:2px}.login-form{padding:32px 24px;display:flex;flex-direction:column;justify-content:center;align-items:center;background:var(--surface)}.login-form form,.login-form .inner{width:100%;max-width:410px;display:flex;flex-direction:column;gap:14px}.login-form .btn.primary{min-height:46px}.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--soft);border-radius:10px;padding:4px;gap:2px}.seg button{background:none;border:0;padding:6px 10px;cursor:pointer;color:var(--muted);border-radius:7px;font-weight:600;white-space:nowrap}.seg button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #1c1d211f}.seg button:disabled{cursor:not-allowed;opacity:.6}.demo-users{display:flex;flex-wrap:wrap;gap:6px}@media(max-width:1040px){.doc-layout{grid-template-columns:minmax(0,1fr)}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1240px){.who,.report-btn span{display:none}.report-btn{padding:0 11px}}@media(max-width:900px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;inset-block:0;inset-inline-start:0;z-index:55;translate:100% 0;transition:translate .2s;max-width:100vw;box-shadow:var(--shadow)}.rail{width:64px}.subnav,.nav-closed .subnav{display:flex;width:min(284px,calc(100vw - 64px))}.drawer-open .sidebar{translate:0 0}.drawer-open .scrim{display:block;position:fixed;inset:0;background:#14161c73;z-index:54}#nav-toggle,#dm-btn,.report-btn,.spacer{display:none}.topbar{gap:8px;padding:10px max(16px,env(safe-area-inset-left,0px)) 10px max(16px,env(safe-area-inset-right,0px))}.top-title{font-size:17px;overflow:hidden;text-overflow:ellipsis;flex:1;margin:0}.search{max-width:none;flex:1.2}.content{padding:4px max(16px,env(safe-area-inset-left,0px)) 96px max(16px,env(safe-area-inset-right,0px))}.tabbar{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;inset-inline:0;bottom:0;z-index:40;background:var(--surface);border-top:1px solid var(--line);padding:6px 6px max(6px,env(safe-area-inset-bottom,0px))}.tabbar a,.tabbar button{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:5px 2px;background:none;border:0;color:var(--muted);font-size:11px;font-weight:600;cursor:pointer;border-radius:10px}.tabbar a:hover{text-decoration:none}.tabbar a.active,.tabbar button.active{color:var(--brand);background:var(--brand-tint)}.tabbar .dot{position:absolute;top:0;inset-inline-start:calc(50% + 4px)}.toast{bottom:84px}}@media(max-width:760px){.grid2,.grid3,.kv,.login{grid-template-columns:minmax(0,1fr)}.login-art{padding:24px 18px;gap:14px}.login-art h1{font-size:21px}.titleblock{grid-template-columns:repeat(2,minmax(0,1fr))}.tb.head{grid-column:1 / -1;grid-row:auto}.titleblock .tb,.titleblock .tb.top{border-top:1px solid var(--line)}.titleblock .tb.head{border-top:0}.titleblock .tb:nth-child(2n){border-inline-start:0}.tree-row{grid-template-columns:minmax(0,1fr) 70px 66px}.tree-row .hide-m{display:none}.page-head h1{font-size:19px}.panel>header{padding:12px 16px}.panel>.body{padding:16px}.t th,.t td{padding-inline:12px}.search .input::placeholder{color:transparent}.table-wrap>table.t:has(thead th:nth-child(5)){min-width:680px}.table-wrap>table.t:has(thead th:nth-child(8)){min-width:900px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.dm{display:grid;grid-template-columns:340px minmax(0,1fr);height:calc(100dvh - 210px);min-height:440px;overflow:hidden}.dm-list{border-inline-end:1px solid var(--line);padding:14px;display:flex;flex-direction:column;gap:8px;overflow-y:auto}.dm-filter{margin-bottom:4px;font-size:12.5px}.dm-thread{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:10px;color:var(--ink);min-width:0}.dm-thread:hover{text-decoration:none;background:var(--surface-2)}.dm-thread.active{background:var(--brand-tint);border-color:transparent}.dm-thread b{font-size:14px}.dm-thread small{display:block;font-size:12px}.dm-thread time{font-size:11.5px}.dm-last{display:block;color:var(--muted);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.dm-thread.unread .dm-last{color:var(--ink);font-weight:600}.dm-marks{display:flex;flex-direction:column;gap:4px;align-items:flex-end;flex:none}.dm-pane{display:flex;flex-direction:column;min-width:0;min-height:0}.dm-empty{align-items:center;justify-content:center;gap:8px;text-align:center;padding:24px}.dm-head{display:flex;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid var(--line)}.dm-head small{display:block;font-size:12px}.dm-back{display:none;rotate:0deg}.dm-body{flex:1;overflow-y:auto;padding:18px 20px;display:flex;flex-direction:column;gap:10px;background:var(--surface)}.dm-day{text-align:center;margin:6px 0}.dm-day span{font-size:11.5px;color:var(--muted);background:var(--soft);padding:2px 12px;border-radius:10px}.dm-msg{max-width:min(74%,560px);align-self:flex-end;background:var(--soft);border-radius:14px 14px 14px 4px;padding:9px 14px 6px}.dm-msg p{white-space:pre-wrap;overflow-wrap:anywhere}.dm-msg time,.dm-card time{display:block;font-size:11px;opacity:.7;text-align:end}.dm-msg.mine{align-self:flex-start;background:var(--brand);color:var(--on-brand);border-radius:14px 14px 4px}.dm-card{max-width:min(86%,520px);align-self:flex-end;border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:8px;background:var(--surface);border-inline-start:3px solid var(--mark)}.dm-card.mine{align-self:flex-start}.dm-card.ev-approved,.dm-card.ev-step_approved,.dm-card.ev-correction_granted{border-inline-start-color:var(--approved)}.dm-card.ev-rejected,.dm-card.ev-correction_rejected{border-inline-start-color:var(--rejected)}.dm-doc{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;background:var(--surface-2);color:var(--ink);min-width:0}.dm-doc:hover{text-decoration:none;background:var(--brand-tint)}.dm-doc b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dm-doc small{display:block;font-size:12px}.dm-note{font-size:13px;padding:6px 10px;background:var(--review-bg);color:var(--review);border-radius:8px}.dm-compose{display:flex;gap:10px;align-items:flex-end;padding:12px 16px;border-top:1px solid var(--line);background:var(--surface-2)}.dm-compose textarea.input{min-height:42px;max-height:140px;resize:none;field-sizing:content}.people{display:flex;flex-direction:column;gap:4px;max-height:50vh;overflow-y:auto}.person{display:flex;align-items:center;gap:12px;padding:9px 10px;border:0;background:none;border-radius:10px;cursor:pointer;text-align:start}.person:hover{background:var(--surface-2)}.person small{display:block;font-size:12px}@media(max-width:900px){.dm{grid-template-columns:minmax(0,1fr);height:auto;min-height:0}.dm.has-peer{height:calc(100dvh - 156px)}.content:has(.dm.has-peer) .page-head{display:none}.dm-list{overflow:visible}.dm.has-peer .dm-list{display:none}.dm:not(.has-peer) .dm-pane{display:none}.dm-back{display:inline-grid}.dm-compose .btn span{display:none}.dm-doc{flex-wrap:wrap}.dm-doc .grow{flex-basis:calc(100% - 50px)}.dm-doc .pill{margin-inline-start:48px}.dm-card{max-width:94%}}.access{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.access-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}.access-row:last-child{border-bottom:0}.access-row.lv-none{background:var(--surface-2)}.access-row.custom{box-shadow:inset 3px 0 0 var(--mark)}[dir=rtl] .access-row.custom{box-shadow:inset -3px 0 0 var(--mark)}.access-title{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;min-width:0}.access-title small{flex-basis:100%;font-size:12px}.access-row .seg{font-size:12.5px}.access-row .seg button{padding:5px 12px}.access-row.lv-edit .seg button.on{background:var(--brand);color:var(--on-brand)}.access-extras{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;padding-top:2px}.access-extras label,.check-list label,.report-pick label{display:flex;align-items:center;gap:8px;cursor:pointer}.access-sum{display:flex;flex-direction:column;gap:8px}.access-sum>div{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}.access-sum small{flex-basis:100%;font-size:12px}.check-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px 16px}.roles-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px;align-items:start}.tree{display:flex;flex-direction:column;padding:8px}.tree-item{display:flex;align-items:center;gap:10px;padding-block:8px;padding-inline-end:12px;border:0;background:none;border-radius:10px;cursor:pointer;text-align:start}.tree-item:hover{background:var(--surface-2)}.tree-item.active{background:var(--brand-tint)}.tree-item small{display:block;font-size:12px}.tree-item .count{background:var(--soft);color:var(--muted)}.org-wrap{overflow-x:auto;padding:24px 20px}.org,.org ul{list-style:none;margin:0;padding:0;display:flex;justify-content:center}.org{width:max-content;margin-inline:auto}.org ul{padding-top:22px;position:relative}.org li{position:relative;padding:22px 6px 0;display:flex;flex-direction:column;align-items:center}.org>li{padding-top:0}.org li:before,.org li:after{content:"";position:absolute;top:0;width:50%;height:22px;border-top:1px solid var(--line-strong)}.org li:before{inset-inline-end:50%}.org li:after{inset-inline-start:50%;border-inline-start:1px solid var(--line-strong)}.org li:first-child:before,.org li:last-child:after{border-top:0}.org li:only-child:before{display:none}.org>li:before,.org>li:after{display:none}.org ul:before{content:"";position:absolute;top:0;inset-inline-start:50%;height:22px;border-inline-start:1px solid var(--line-strong)}.org-node{border:1px solid var(--line);border-radius:var(--r-lg);padding:9px 12px;background:var(--surface);min-width:128px;max-width:200px;text-align:center;display:flex;flex-direction:column;gap:2px}.org-node.top{background:var(--brand);color:var(--on-brand);border-color:transparent}.org-node.top .muted{color:inherit;opacity:.75}.org-node.vacant{border-style:dashed}.org-node small{font-size:11.5px}.org-people{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;margin-top:6px}.chip{display:inline-flex;align-items:center;gap:6px;padding:2px 4px;padding-inline-end:10px;border-radius:10px;background:var(--soft);color:var(--ink);font-size:12.5px;white-space:nowrap}.report-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.report-pick fieldset{border:1px solid var(--line);border-radius:var(--r-lg);padding:10px 14px 12px;margin:0;display:flex;flex-direction:column;gap:7px;min-width:0}.report-pick fieldset.on{border-color:var(--brand);background:var(--brand-tint)}.report-pick legend{padding:0 6px}.install{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-lg)}@media(max-width:900px){.roles-layout,.access-row{grid-template-columns:minmax(0,1fr)}}.viewer{display:flex;flex-direction:column;height:100dvh;background:var(--surface)}.vhead{display:flex;gap:10px;align-items:center;padding:6px 12px;border-bottom:1px solid var(--line)}.vbar{display:flex;gap:6px;align-items:center;padding:6px 12px;border-bottom:1px solid var(--line);flex-wrap:wrap}.vres{color:var(--brand);font-size:13px}.vbody{flex:1;min-height:0;display:flex}.vcanvas{position:relative;flex:1;min-width:0;background:#1a1f22;overflow:hidden;touch-action:none;cursor:grab}.vcanvas canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.vcanvas.mode-length,.vcanvas.mode-area,.vcanvas.mode-pin,.vcanvas.mode-box{cursor:crosshair}.vside{width:260px;border-inline-start:1px solid var(--line);overflow-y:auto;background:var(--surface);flex:none}.vitem{display:flex;gap:8px;align-items:center;padding:3px 10px;width:100%;font-size:12.5px;min-width:0}.vitem:hover{background:var(--surface-2)}.vnote{padding:8px 10px;border-bottom:1px solid var(--line)}.vwarn{padding:7px 12px;background:var(--review-bg);color:var(--review);font-size:13px}.vfoot{padding:4px 12px;color:var(--muted);border-top:1px solid var(--line)}.vpdf{flex:1;min-width:0;overflow:auto;background:#1a1f22;padding:12px;text-align:center}.vpin{position:absolute;width:13px;height:13px;margin:-6px;border-radius:50%;background:#ffd21f;border:2px solid #231c00}@media(max-width:760px){.vside{position:absolute;inset-inline-end:0;inset-block:auto 0;width:100%;height:42%;z-index:5;border-top:1px solid var(--line);border-inline-start:0}.vbody{position:relative}}.rows{display:flex;flex-direction:column;gap:6px}.row-line{display:grid;gap:6px;align-items:center}.queue-bar{background:var(--review-bg);color:var(--review);padding:5px 16px;font-size:13px}.sub-bar{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;padding:7px 16px;font-size:13px;line-height:1.8;border-bottom:1px solid var(--line)}.sub-bar.bad{background:var(--rejected-bg);color:var(--rejected)}.sub-bar.warn{background:var(--review-bg);color:var(--review)}.sub-bar.info{background:var(--brand-tint);color:var(--ink)}.sub-bar a{color:inherit;text-decoration:underline}.sub-bar.ann .grow{flex:1}.usage{display:grid;gap:10px}.usage-row{display:grid;grid-template-columns:110px 1fr auto;gap:10px;align-items:center;font-size:13px}.usage-track{height:8px;border-radius:4px;background:var(--soft);overflow:hidden}.usage-track i{display:block;height:100%;border-radius:4px;background:var(--brand)}.usage-track i.full{background:var(--rejected)}.photos{display:flex;gap:8px;flex-wrap:wrap}.photos img{width:76px;height:76px;object-fit:cover;border-radius:var(--r);border:1px solid var(--line)}.chips{display:flex;flex-wrap:wrap;gap:8px}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.summary-grid a{padding:10px 14px;color:var(--ink);border-inline-start:1px solid var(--line)}.summary-grid a:first-child{border-inline-start:0}.summary-grid a:hover{background:var(--surface-2);text-decoration:none}.summary-grid strong{display:block;font:700 18px var(--font-head)}.summary-grid .late{color:var(--rejected)}@media(max-width:760px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.row-line{grid-template-columns:minmax(0,1fr)!important;padding-bottom:8px;border-bottom:1px solid var(--line)}}.contract-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;align-items:start}.side-window{position:sticky;top:12px;max-height:calc(100vh - 24px);display:flex;flex-direction:column;overflow:hidden}.side-window .body{overflow-y:auto}.side-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);flex:none}.side-tabs button{padding:9px 2px;background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);font:inherit;font-size:13px;cursor:pointer;margin-bottom:-1px}.side-tabs button.on{color:var(--ink);font-weight:600;border-bottom-color:var(--brand)}.side-group{border:1px solid var(--line);border-radius:var(--r);padding:8px 10px 10px;margin:0;display:flex;flex-direction:column;gap:8px;min-width:0}.side-group legend{padding:0 4px;font-size:13px;font-weight:600}.ver{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid var(--line)}.editor{display:flex;flex-direction:column}.toolbar{position:sticky;top:0;z-index:2;display:flex;flex-wrap:wrap;gap:2px;align-items:center;padding:6px 8px;background:var(--surface-2);border-bottom:1px solid var(--line)}.tool{font:inherit;font-size:12.5px;padding:3px 8px;border:1px solid transparent;border-radius:var(--r);background:none;color:var(--ink);cursor:pointer}.tool:hover{border-color:var(--line)}.tool.on{background:var(--brand);color:var(--on-brand)}.toolbar .sep{width:1px;height:18px;background:var(--line);margin:0 4px}.contract-text{padding:18px 22px;line-height:2;min-height:320px;outline:none;font-size:14.5px}.contract-text.view{min-height:0}.contract-text.clip{max-height:340px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent)}.contract-text p{margin:0 0 8px}.contract-text h1,.contract-text h2,.contract-text h3,.contract-text h4{font-family:var(--font-head);margin:14px 0 6px;font-size:15px}.contract-text h2{font-size:16.5px}.contract-text .blank{color:var(--muted)}.cf{display:inline-block;padding:0 6px;margin:0 2px;border-bottom:1.5px dashed var(--review);background:var(--review-bg);color:var(--review);font-size:12.5px;line-height:1.7;cursor:pointer;border-radius:2px}.cf.on{background:var(--approved-bg);color:var(--ink);border-bottom-color:var(--approved);font-size:inherit;font-weight:600}.ProseMirror-selectednode.cf{outline:2px solid var(--brand)}.tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}.tpl{display:flex;flex-direction:column;gap:3px;text-align:right;padding:11px 12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);font:inherit;color:var(--ink);cursor:pointer}.tpl:hover{border-color:var(--brand)}.tpl small{color:var(--muted);font-size:12px}.diff{font-size:14px;line-height:1.95}.diff p{padding:6px 10px;margin:0 0 6px;border-inline-start:3px solid var(--line)}.diff ins{background:var(--approved-bg);color:var(--approved);text-decoration:none}.diff del{background:var(--rejected-bg);color:var(--rejected)}.t.totals .strong{font-weight:700}.input.bad{border-color:var(--rejected)}.over-text{color:var(--rejected)}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;font-size:13.5px}.report-frame{width:100%;height:70vh;overflow:auto;border:1px solid var(--line);background:#fff;color:#1c2220}@media(max-width:1100px){.contract-layout{grid-template-columns:minmax(0,1fr)}.side-window{position:static;max-height:none;order:-1}}:root{--viz-1: #2a78d6;--viz-2: #eb6834;--viz-3: #1baf7a;--viz-4: #eda100;--viz-5: #e87ba4;--viz-6: #008300;--viz-7: #6250d6;--viz-8: #e34948;--viz-ink: var(--ink);--viz-ink2: #52514e;--viz-muted: #898781;--viz-grid: #e8e8ee;--viz-axis: #c3c2b7;--viz-surface: var(--surface)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--viz-1: #3987e5;--viz-2: #d95926;--viz-3: #199e70;--viz-4: #c98500;--viz-5: #d55181;--viz-6: #008300;--viz-7: #9085e9;--viz-8: #e66767;--viz-ink2: #c3c2b7;--viz-muted: #898781;--viz-grid: #2c2f34;--viz-axis: #3d4148}}:root[data-theme=dark]{--viz-1: #3987e5;--viz-2: #d95926;--viz-3: #199e70;--viz-4: #c98500;--viz-5: #d55181;--viz-6: #008300;--viz-7: #9085e9;--viz-8: #e66767;--viz-ink2: #c3c2b7;--viz-muted: #898781;--viz-grid: #2c2f34;--viz-axis: #3d4148}.planner{display:flex;flex-direction:column;gap:8px;min-width:0}.pl-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.pl-head h1{margin:0}.pl-head p{margin:2px 0 0}.pl-note{margin:0}.pl-tabs{display:flex;gap:2px;border-bottom:1px solid var(--line)}.pl-tabs button{padding:7px 14px;background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);font:inherit;font-size:13.5px;cursor:pointer;margin-bottom:-1px;position:relative}.pl-tabs button.on{color:var(--ink);font-weight:600;border-bottom-color:var(--brand)}.pl-dot{position:absolute;top:6px;inset-inline-end:3px;width:7px;height:7px;border-radius:50%;background:var(--rejected)}.pl-toolbar{border:1px solid var(--line);border-radius:var(--r)}.pl-toolbar label.tool{display:inline-flex;align-items:center}.pl-zoom{width:auto;height:27px;padding:0 6px;font-size:12.5px}.tool:disabled{opacity:.4;cursor:default}.pl-split{display:flex;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--surface)}.pl-sheet{overflow:auto;flex:none;outline:none;position:relative}.pl-row{display:grid;height:30px;font-size:12.5px}.pl-hrow{position:sticky;top:0;z-index:3;height:46px;background:var(--surface-2);font-weight:600;color:var(--muted);align-items:stretch}.pl-row .c{min-width:0;padding:0 6px;border-inline-end:1px solid var(--line);border-bottom:1px solid color-mix(in srgb,var(--line) 55%,transparent);display:flex;align-items:center;overflow:hidden;white-space:nowrap;background:var(--surface)}.pl-hrow .c{background:var(--surface-2);border-bottom:1px solid var(--line)}.pl-row .c.n{justify-content:center;color:var(--muted);background:var(--surface-2);border-width:0 0 1px 1px;font:inherit;font-size:12px;cursor:pointer;font-variant-numeric:tabular-nums}.pl-row.sel .c{background:color-mix(in srgb,var(--brand) 10%,var(--surface))}.pl-row.sum .c{font-weight:600}.pl-row.crit .c:nth-child(2) .tx{color:var(--rejected)}.pl-row .c.act{outline:2px solid var(--brand);outline-offset:-2px}.pl-row .c.num{direction:ltr;justify-content:flex-end;font-variant-numeric:tabular-nums}.pl-row .cell-edit{border:0;outline:2px solid var(--brand);outline-offset:-2px;background:var(--surface);font:inherit;color:var(--ink);width:100%}.pl-row .nm{display:flex;align-items:center;gap:4px;min-width:0;width:100%}.pl-row .tx{overflow:hidden;text-overflow:ellipsis;min-width:0}.fold{width:16px;height:16px;padding:0;line-height:14px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:2px;cursor:pointer;flex:none;font-size:12px}.fold-gap{width:16px;flex:none}.ms-mark{width:8px;height:8px;background:var(--ink);transform:rotate(45deg);flex:none}.warn-mark{color:var(--rejected);font-weight:700;flex:none}.pin{width:6px;height:6px;border-radius:50%;background:var(--review);flex:none;margin-inline-start:auto}.pl-gut{width:6px;background:var(--surface-2);cursor:col-resize;border-inline:1px solid var(--line);flex:none;touch-action:none}.gantt{position:relative;flex:1;min-width:0;overflow:hidden}.gantt canvas{display:block;touch-action:none}.gantt-x{overflow-x:auto;overflow-y:hidden;height:14px}.gantt-tip{position:absolute;z-index:5;width:220px;padding:7px 9px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);font-size:12px;line-height:1.7;pointer-events:none;box-shadow:0 2px 8px #00000024}.gantt-tip small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.side-tabs.five{grid-template-columns:repeat(5,1fr)}.plain-fieldset{border:0;padding:0;margin:0;min-width:0}.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px}.chart{margin:0}.chart figcaption{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:13.5px;margin-bottom:6px}.legend{display:inline-flex;gap:14px;font-size:12.5px;color:var(--muted);flex-wrap:wrap}.legend i,.chart-tip i{display:inline-block;width:12px;height:3px;border-radius:2px;margin-inline-end:5px;vertical-align:middle}.chart-box{position:relative}.chart-box svg{display:block;width:100%;height:auto}.chart-tip{position:absolute;top:6px;padding:6px 9px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);font-size:12px;line-height:1.7;pointer-events:none;white-space:nowrap;box-shadow:0 2px 8px #00000024}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.kv.evm{padding:12px 14px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.t td input.input{min-width:0}.pl-toolbar select.pl-zoom{width:auto;flex:none}.pl-row .c.end{justify-content:flex-start}.planner.full{position:fixed;inset:0;z-index:40;background:var(--bg);padding:10px 14px;overflow:auto}.labels{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;padding:12px}.label{display:flex;gap:10px;align-items:center;border:1px dashed var(--line);border-radius:var(--r);padding:8px;min-width:0;break-inside:avoid;background:#fff;color:#000}.label svg{flex:none}.label .muted{color:#444}.scan-video{width:100%;max-height:320px;background:#000;border-radius:var(--r)}.field-page .seg{margin-bottom:12px;overflow:hidden}.field-page .seg button{min-height:42px}.field-page{max-width:640px}.field-line{border:1px solid var(--line);border-radius:var(--r);padding:10px;display:grid;gap:6px}@media(max-width:900px){.row-line{grid-template-columns:minmax(0,1fr)!important}}@media print{body:has(.print-area) .sidebar,body:has(.print-area) .tabbar,body:has(.print-area) .topbar,body:has(.print-area) .page-head,body:has(.print-area) .tabs,body:has(.print-area) .panel>header{display:none!important}.labels{grid-template-columns:repeat(3,1fr);padding:0}.label{border-color:#999}}.note-box.warn{border:1px solid var(--review)}.compare tr.diff-changed td.was{color:var(--rejected);text-decoration:line-through;text-decoration-thickness:1px}.compare tr.diff-changed td.now{color:var(--approved);font-weight:600}.compare tr.diff-added td{background:var(--approved-bg)}.compare tr.diff-removed td{background:var(--rejected-bg)}.inst{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-2)}.inst>.row{flex-wrap:wrap}.inst .hint{display:none}.stats.tight{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.page-seg{display:inline-grid;margin-bottom:14px;max-width:100%;overflow-x:auto}.tabs button{padding:7px 16px;color:var(--muted);border:1px solid transparent;border-radius:var(--r);white-space:nowrap;background:none;cursor:pointer;font:inherit;font-weight:600}.tabs button:hover{color:var(--ink);background:var(--soft)}.tabs button.active{color:var(--ink);background:var(--surface);border-color:var(--line)}.tabs.sm{margin-bottom:0}.ops-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:16px;align-items:start}.ops-split>div:last-child{position:sticky;top:76px}.tree{max-height:calc(100vh - 230px);overflow:auto;padding:6px 0}.tree-row{display:flex;align-items:center;gap:4px;padding-block:2px;padding-inline-end:10px;border-radius:8px}.tree-row:hover{background:var(--soft)}.tree-row.on{background:var(--brand-tint);box-shadow:inset -3px 0 0 var(--brand)}.tree-tog{width:22px;height:22px;flex:none;display:inline-grid;place-items:center;background:none;border:0;color:var(--muted);cursor:pointer;border-radius:6px}.tree-tog:hover{background:var(--line)}.tree-label{flex:1;min-width:0;display:flex;align-items:center;gap:6px;flex-wrap:wrap;background:none;border:0;text-align:right;cursor:pointer;padding:4px 2px;color:var(--ink);font:inherit}.tree-label .num{font-weight:700;color:var(--brand)}.crit{font:700 10.5px var(--font-head);color:var(--rejected);border:1px solid currentColor;border-radius:5px;padding:0 5px}.chips label.chip{cursor:pointer;padding:4px 12px;border:1px solid var(--line);background:var(--surface)}.chips label.chip input{display:none}.chips label.chip.on{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.chips .input.sm{width:180px}a.chip:hover{text-decoration:none;background:var(--line)}.dt-input{display:grid;grid-template-columns:minmax(0,1fr) 82px;gap:6px}.site-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-bottom:16px}.site-card{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);cursor:pointer;text-align:right;font:inherit;color:var(--ink)}.site-card.on{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.site-card .grow{display:flex;flex-direction:column;min-width:0}.stats+.stats,.stats+.panel,.site-cards+.stats{margin-top:16px}.bars{display:grid;gap:8px}.bar-row{display:grid;grid-template-columns:150px 1fr 40px;align-items:center;gap:10px;font-size:13px}.bar-row i{display:block;height:10px;border-radius:5px;background:var(--brand)}.text-bad{color:var(--rejected)}.input.bad{border-color:var(--rejected);background:var(--rejected-bg);color:var(--rejected)}svg.trend{width:100%;height:auto;display:block;margin-bottom:12px;background:var(--soft);border-radius:var(--r)}svg.trend .line{fill:none;stroke:var(--brand);stroke-width:2}svg.trend .lim{stroke:var(--rejected);stroke-dasharray:5 4;stroke-width:1.2}svg.trend .pt{fill:var(--brand)}svg.trend .out{fill:var(--rejected)}@media(max-width:900px){.ops-split{grid-template-columns:minmax(0,1fr)}.ops-split>div:last-child{position:static}.tree{max-height:50vh}.bar-row{grid-template-columns:110px 1fr 32px}}.act-pick{display:grid;gap:8px}.act-pick label{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r);cursor:pointer;background:var(--surface)}.act-pick label.on{border-color:var(--brand);background:var(--brand-tint)}.act-pick label input{margin-top:4px;accent-color:var(--brand)}.act-pick label span{display:flex;flex-direction:column}.btn.nowrap,.row.nowrap,span.nowrap{white-space:nowrap;flex-wrap:nowrap}.dash-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.dash-card header h2{font-size:16px}.dash-card header h2 a{color:inherit;text-decoration:none}.dash-progress{position:relative;height:10px;border-radius:5px;background:var(--soft);overflow:hidden;margin-top:6px}.dash-progress .plan{position:absolute;inset-block:0;inset-inline-start:0;background:color-mix(in srgb,var(--brand) 25%,transparent)}.dash-progress .act{position:absolute;inset-block:3px;inset-inline-start:0;border-radius:3px;background:var(--brand)}.dash-chips{display:flex;flex-wrap:wrap;gap:6px;font-size:13px}.dash-chips>span{padding:3px 9px;border-radius:999px;background:var(--soft)}.dash-attention{list-style:none;margin:0;padding:8px 20px 14px;display:grid;gap:6px}.dash-attention li{display:flex;gap:8px;align-items:center}.dash-attention .dot{width:9px;height:9px;border-radius:50%;flex:none}.dash-trends{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px}.dash-bars .bars{display:flex;align-items:flex-end;gap:6px;height:120px;margin-top:8px}.dash-bars .bar-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0}.dash-bars .bar{width:70%;min-height:2px;border-radius:4px 4px 0 0}.dash-bars .v{font-size:11px;color:var(--muted)}.dash-bars .m{font-size:11px;color:var(--muted);margin-top:3px;white-space:nowrap}.field-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.field-tile{display:flex;flex-direction:column;gap:6px;padding:18px 14px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);color:inherit;text-decoration:none;min-height:104px;text-align:start;font:inherit;cursor:pointer}.field-tile b{font-size:16px}.field-tile small{color:var(--muted)}.field-tile:hover{border-color:var(--brand)}.field-form .input,.field-form select,.field-form .btn{min-height:46px;font-size:16px}.field-form textarea.input{min-height:90px}.field-photos{display:flex;gap:8px;flex-wrap:wrap}.field-photos img{width:76px;height:76px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}.field-queue li{display:flex;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}.offline-switch{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface)}.offline-switch.on{background:#fff4e5;border-color:#f0b34a}@media(max-width:640px){.dash-grid{grid-template-columns:1fr}.field-tiles{grid-template-columns:1fr 1fr}}.pick{position:relative;min-width:0}.pick>.input{width:100%}.pick-list{position:absolute;z-index:40;inset-inline:0;top:calc(100% + 2px);max-height:280px;overflow:auto;margin:0;padding:4px;list-style:none;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r);box-shadow:var(--shadow)}.pick-list li{padding:7px 9px;border-radius:6px;cursor:pointer;line-height:1.5}.pick-list li.on{background:var(--brand-tint)}.pick-list .code{color:var(--muted);margin-inline-end:4px}.ws-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.ws-tile{position:relative;display:flex;align-items:center;gap:12px;padding:16px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);color:var(--ink);text-decoration:none;min-height:76px;transition:border-color .15s,box-shadow .15s}.ws-tile:hover{border-color:var(--brand);box-shadow:var(--shadow)}.ws-tile .mi{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:12px;background:var(--brand-tint);color:var(--brand)}.ws-tile.add .mi{background:var(--brand);color:var(--on-brand)}.ws-tile .mt{display:flex;flex-direction:column;gap:2px;min-width:0}.ws-tile .mt small{color:var(--muted);font-size:12px}.ws-tile .count{position:absolute;top:10px;inset-inline-end:10px;background:var(--rejected);color:#fff;border-radius:999px;padding:0 7px;font-size:12px;line-height:20px}.menu-mode{display:block;margin:8px 14px 0;text-align:start}@media(max-width:600px){.ws-tiles{grid-template-columns:1fr 1fr;gap:8px}.ws-tile{padding:12px;flex-direction:column;align-items:flex-start;min-height:0}.ws-tile .mt small{display:none}}details.more{border-top:1px dashed var(--line-strong);padding-top:10px}details.more>summary{cursor:pointer;color:var(--brand);font-weight:600;font-size:14px;list-style:none}details.more>summary:before{content:"+ "}details.more[open]>summary:before{content:"− "}details.more>.grid2{margin-top:12px}.viz{margin:0;min-width:0}.viz figcaption{font-weight:600;font-size:14px;margin-bottom:6px}.viz-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:12.5px;color:var(--muted);margin:0 0 6px}.viz-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-inline-end:5px;vertical-align:-1px}.viz-legend i.ln{height:3px;vertical-align:3px}.viz-note{font-size:11.5px;color:var(--muted);margin-top:2px}.viz-plot svg text{font-family:var(--font-body)}.viz-plot svg path,.viz-plot svg rect,.viz-plot svg circle{transition:opacity .12s}.viz-plot svg path[style*=fill]:hover,.viz-plot svg rect:hover,.viz-plot svg circle:hover{opacity:.8}.viz-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:18px}.how-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;border:1px solid var(--line-strong);background:var(--surface);color:var(--muted);font-size:12px;cursor:pointer;padding:0;vertical-align:middle;margin-inline-start:6px}.how-btn:hover,.how-btn[aria-expanded=true]{color:var(--brand);border-color:var(--brand)}.how-pop{position:relative;display:inline-block}.how-card{position:absolute;z-index:50;top:calc(100% + 6px);inset-inline-start:0;width:min(380px,86vw);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r);box-shadow:var(--shadow);padding:12px 14px;font-size:13px;font-weight:400;line-height:1.8;color:var(--ink);text-align:start}.how-card b{display:block;margin-bottom:4px}.how-card .src{display:block;color:var(--muted);font-size:12px;margin-top:4px}.how-card+.how-card{margin-top:8px}.how-panel{border:1px solid var(--brand-tint-2);background:var(--brand-tint);border-radius:var(--r);padding:10px 14px;font-size:13px;line-height:1.9}.how-panel dt{font-weight:600;margin-top:6px}.how-panel dd{margin:0}.how-panel .src{color:var(--muted);font-size:12px}.platform{min-height:100%;background:var(--bg)}.platform-top{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:14px;padding:10px 24px;background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap}.platform-top .logo{width:34px;height:34px}.platform-name{font:700 15px var(--font-head)}.platform-nav{display:flex;gap:4px;flex-wrap:wrap}.platform-nav a{padding:6px 12px;border-radius:var(--r);color:var(--muted);text-decoration:none;font-size:14px}.platform-nav a:hover{background:var(--soft);color:var(--ink)}.platform-nav a.active{background:var(--brand-tint);color:var(--brand);font-weight:600}.platform .content{margin:0 auto;padding-top:20px}.pkv{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 16px;margin:0;font-size:13.5px}.pkv dt{color:var(--muted)}.pkv dd{margin:0;min-width:0;overflow-wrap:anywhere}.plain-list{list-style:none;margin:0;padding:4px 14px 12px;display:grid;gap:10px;font-size:13.5px}.plain-list li{padding-bottom:8px;border-bottom:1px solid var(--line)}.plain-list li:last-child{border-bottom:0}@media(max-width:900px){.platform-top{padding:10px 16px}.platform .grid2{grid-template-columns:minmax(0,1fr)}}
