:root{--paper:#f2f5f9;--paper-2:#e6eaf2;--card:#fff;--card-2:#f6f8fc;--dark:#12162a;--dark-2:#1b2038;--dark-3:#2a3050;--ink:#131729;--ink-2:#5b6377;--ink-3:#98a0b3;--rule:#e6eaf2;--rule-2:#eff2f8;--blueprint:#0e8c8c;--blueprint-2:#e0f3f3;--ok:#12a150;--ok-2:#e4f6ec;--warn:#d2870a;--warn-2:#fcf1dc;--crit:#d9453b;--crit-2:#fce8e6;--ai:#7c5ce0;--ai-2:#eee9fc;--r-xl:22px;--r-lg:16px;--r:12px;--r-sm:9px;--gap:16px;--rail:262px;--sh-sm:0 1px 2px #1317290d;--sh:0 1px 2px #1317290a, 0 8px 20px -10px #13172924;--sh-lg:0 2px 4px #1317290a, 0 24px 48px -20px #1317293d;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--sans:"Plus Jakarta Sans", -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overflow-x:clip}body{font-family:var(--sans);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;min-height:100vh;font-size:14px;line-height:1.55}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}a{color:inherit;text-decoration:none}::selection{background:var(--blueprint);color:#fff}:focus-visible{outline:2px solid var(--blueprint);outline-offset:3px;border-radius:6px}.eyebrow{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:700}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}h1{letter-spacing:-.028em;font-size:30px;font-weight:800;line-height:1.18}h2{letter-spacing:-.02em;font-size:19px;font-weight:700}h3{letter-spacing:-.015em;font-size:15px;font-weight:700}.app{min-height:100vh;display:flex}.rail{width:var(--rail);background:radial-gradient(120% 55% at 0% 0%, #0e8c8c38, transparent 60%), linear-gradient(180deg, var(--dark-2), var(--dark) 42%);z-index:60;flex-direction:column;flex:none;padding:0 12px 0 14px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:12px;padding:22px 8px 20px;display:flex}.brand-mark{background:linear-gradient(145deg, #16b3b3, var(--blueprint));color:#fff;letter-spacing:-.02em;border-radius:12px;flex:none;place-items:center;width:38px;height:38px;font-size:13px;font-weight:800;display:grid;box-shadow:0 6px 16px -6px #0e8c8ce6}.brand-name{color:#fff;letter-spacing:-.02em;font-size:14px;font-weight:700}.brand-sub{letter-spacing:.11em;text-transform:uppercase;color:#ffffff6b;margin-top:1px;font-size:10px;font-weight:600;display:block}.rail-scroll{flex:1;padding-bottom:16px;overflow-y:auto}.rail-scroll::-webkit-scrollbar{width:5px}.rail-scroll::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}.nav-group{letter-spacing:.12em;text-transform:uppercase;color:#ffffff52;padding:18px 12px 8px;font-size:10px;font-weight:700}.nav-item{color:#ffffffa8;text-align:left;border-radius:11px;align-items:center;gap:11px;width:100%;margin-bottom:2px;padding:9px 12px;font-size:13.5px;font-weight:500;transition:background .16s,color .16s;display:flex}.nav-item:hover{color:#fff;background:#ffffff12}.nav-item.active{color:#fff;background:linear-gradient(100deg,#0e8c8c57,#0e8c8c1f);font-weight:600;box-shadow:inset 0 0 0 1px #ffffff17}.nav-num{font-family:var(--mono);color:#ffffff57;flex:none;width:17px;font-size:10px}.nav-item.active .nav-num{color:#46d6d6}.nav-item span:nth-child(2){flex:1}.nav-count{color:#ffffffbf;background:#ffffff1a;border-radius:999px;padding:1px 8px;font-size:10.5px;font-weight:600}.nav-item.active .nav-count{color:#fff;background:#ffffff2e}.rail-foot{background:#ffffff0f;border-radius:14px;align-items:center;gap:11px;margin:0 -2px 14px;padding:11px 12px;display:flex}.avatar{background:linear-gradient(145deg, #16b3b3, var(--blueprint));color:#fff;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:11.5px;font-weight:700;display:grid}.avatar.sm{width:27px;height:27px;font-size:10px}.rail-foot strong{color:#fff;font-size:12.5px;font-weight:600;display:block}.rail-foot small{color:#ffffff73;font-size:11px}.main{margin-left:var(--rail);width:calc(100% - var(--rail));flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:50;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--rule);background:#f2f5f9d1;flex:none;align-items:center;gap:14px;height:66px;padding:0 28px;display:flex;position:sticky;top:0}.crumbs{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12.5px;font-weight:500;overflow:hidden}.crumbs b{color:var(--ink);font-weight:600}.crumbs a:hover{color:var(--blueprint)}.search{width:280px;position:relative}.search input{background:var(--card);border:1px solid var(--rule);width:100%;box-shadow:var(--sh-sm);border-radius:999px;outline:none;padding:9px 14px 9px 34px;font-size:12.5px;transition:border-color .15s,box-shadow .15s}.search input::placeholder{color:var(--ink-3)}.search input:focus{border-color:var(--blueprint);box-shadow:0 0 0 4px #0e8c8c1f}.search svg{color:var(--ink-3);position:absolute;top:10px;left:13px}.icon-btn{border:1px solid var(--rule);background:var(--card);width:36px;height:36px;color:var(--ink-2);box-shadow:var(--sh-sm);border-radius:50%;place-items:center;transition:all .15s;display:grid;position:relative}.icon-btn:hover{color:var(--ink);box-shadow:var(--sh);transform:translateY(-1px)}.icon-btn .dot{background:var(--crit);width:7px;height:7px;box-shadow:0 0 0 2px var(--card);border-radius:50%;position:absolute;top:6px;right:7px}.view{max-width:1600px;padding:26px 28px 70px}.page-head{justify-content:space-between;align-items:flex-end;gap:26px;margin-bottom:22px;display:flex}.page-head p{color:var(--ink-2);max-width:64ch;margin-top:8px;font-size:13.5px}.page-head .eyebrow{color:var(--blueprint);margin-bottom:9px;display:block}.page-actions{flex:none;align-items:center;gap:9px;display:flex}.btn{border:1px solid var(--rule);background:var(--card);color:var(--ink);box-shadow:var(--sh-sm);white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:9px 16px;font-size:12.5px;font-weight:600;transition:all .16s;display:inline-flex}.btn:hover{box-shadow:var(--sh);transform:translateY(-1px)}.btn--primary{background:linear-gradient(140deg, #15a5a5, var(--blueprint));color:#fff;border-color:#0000;box-shadow:0 6px 18px -8px #0e8c8cd9}.btn--primary:hover{box-shadow:0 10px 24px -8px #0e8c8ce6}.btn--ai{background:linear-gradient(140deg, #8e71ea, var(--ai));color:#fff;border-color:#0000;box-shadow:0 6px 18px -8px #7c5ce0cc}.btn--sm{padding:6px 12px;font-size:11.5px}.btn--ghost{box-shadow:none;color:var(--ink-2);background:0 0;border-color:#0000}.btn--ghost:hover{background:var(--card);color:var(--ink)}.metrics{gap:var(--gap);margin-bottom:var(--gap);grid-template-columns:repeat(auto-fit,minmax(186px,1fr));display:grid}.metric{background:var(--card);border:1px solid var(--rule);border-radius:var(--r-lg);box-shadow:var(--sh-sm);padding:17px 19px 16px;transition:all .18s;position:relative;overflow:hidden}.metric:before{content:"";background:linear-gradient(90deg, var(--blueprint), transparent 80%);opacity:0;height:3px;transition:opacity .18s;position:absolute;inset:0 0 auto}.metric:hover{box-shadow:var(--sh);transform:translateY(-2px)}.metric:hover:before{opacity:1}.metric-label{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:600}.metric-value{letter-spacing:-.035em;margin:10px 0 6px;font-size:31px;font-weight:800;line-height:1}.metric-value sup{color:var(--ink-3);font-size:15px;font-weight:700;top:-.55em}.metric-foot{color:var(--ink-2);align-items:baseline;gap:6px;font-size:11.5px;display:flex}.delta{border-radius:999px;padding:1px 7px;font-size:11.5px;font-weight:700}.delta.up{color:var(--ok);background:var(--ok-2)}.delta.down{color:var(--crit);background:var(--crit-2)}.grid{gap:var(--gap);display:grid}.grid.c2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.grid.c3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.main-side{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)}.grid.side-main{grid-template-columns:minmax(0,1fr) minmax(0,1.55fr)}.card{background:var(--card);border:1px solid var(--rule);border-radius:var(--r-xl);box-shadow:var(--sh-sm);min-width:0;overflow:clip}.card-head{justify-content:space-between;align-items:center;gap:16px;padding:17px 21px 15px;display:flex}.card-head h3{line-height:1.25}.card-head .sub{color:var(--ink-3);margin-top:3px;font-size:11.5px}.card-body{padding:6px 21px 20px}.card-body.flush{padding:0}.card-foot{border-top:1px solid var(--rule-2);background:var(--card-2);color:var(--ink-3);justify-content:space-between;align-items:center;gap:12px;padding:13px 21px;font-size:11.5px;display:flex}.link{color:var(--blueprint);font-size:12px;font-weight:600;transition:all .15s}.link:hover{opacity:.72}.barcode{align-items:flex-end;gap:3px;height:30px;display:flex}.barcode i{background:var(--paper-2);transform-origin:bottom;border-radius:4px;flex:1;min-width:3px;height:38%;transition:height .2s,filter .2s,transform .2s}.barcode i.ok{background:linear-gradient(180deg, #1dbe64, var(--ok));height:100%}.barcode i.minor{background:linear-gradient(180deg, #eba31e, var(--warn));height:70%}.barcode i.major{background:linear-gradient(180deg, #ea5b51, var(--crit));height:86%}.barcode i.none{background:var(--paper-2);height:34%}.barcode i:hover{filter:brightness(1.1);transform:scaleX(1.35)}.barcode.lg{gap:4px;height:52px}.barcode.sm{gap:2px;height:18px}.barcode-legend{color:var(--ink-2);flex-wrap:wrap;gap:15px;margin-top:12px;font-size:11.5px;display:flex}.barcode-legend span{align-items:center;gap:6px;display:flex}.barcode-legend i{border-radius:3px;width:9px;height:9px;display:block}@media (prefers-reduced-motion:no-preference){.barcode i{animation:.4s cubic-bezier(.2,.85,.3,1) backwards tick}@keyframes tick{0%{opacity:0;transform:scaleY(.06)}to{opacity:1;transform:scaleY(1)}}}.tag{background:var(--card-2);color:var(--ink-2);border:1px solid var(--rule-2);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:4px 11px;font-size:11px;font-weight:600;display:inline-flex}.tag--ok{background:var(--ok-2);color:var(--ok);border-color:#0000}.tag--warn{background:var(--warn-2);color:var(--warn);border-color:#0000}.tag--crit{background:var(--crit-2);color:var(--crit);border-color:#0000}.tag--info{background:var(--blueprint-2);color:var(--blueprint);border-color:#0000}.tag--ai{background:var(--ai-2);color:var(--ai);border-color:#0000}.clause{font-family:var(--mono);background:var(--blueprint-2);color:var(--blueprint);white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:500;display:inline-block}.chips{flex-wrap:wrap;gap:7px;display:flex}.chip{border:1px solid var(--rule);background:var(--card);color:var(--ink-2);box-shadow:var(--sh-sm);border-radius:999px;padding:7px 15px;font-size:12px;font-weight:600;transition:all .15s}.chip:hover{color:var(--ink);transform:translateY(-1px)}.chip.active{background:var(--ink);border-color:var(--ink);color:#fff;box-shadow:0 6px 16px -8px #131729e6}.register{border-collapse:collapse;width:100%}.register th{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);text-align:left;border-bottom:1px solid var(--rule);background:var(--card-2);z-index:5;padding:11px 16px;font-size:10.5px;font-weight:700;position:sticky;top:66px}.register th:first-child{padding-left:20px}.register th:last-child{padding-right:20px}.register td{border-bottom:1px solid var(--rule-2);vertical-align:middle;padding:13px 16px;font-size:13px}.register td:first-child{padding-left:20px}.register td:last-child{padding-right:20px}.register tr:last-child td{border-bottom:none}.register tbody tr{transition:background .14s}.register tbody tr[data-href],.register tbody tr[data-drawer]{cursor:pointer}.register tbody tr:hover{background:var(--card-2)}.register td.num{font-family:var(--mono);font-size:12px}.register td strong{font-weight:600}.register .muted{color:var(--ink-3);font-size:11.5px}.register td .stack{flex-direction:column;gap:2px;display:flex}.register .right{text-align:right}.scroll-box{border-top:1px solid var(--rule-2);max-height:360px;overflow:auto}.scroll-box .register th{top:0}.scroll-box::-webkit-scrollbar{width:8px}.scroll-box::-webkit-scrollbar-thumb{background:var(--paper-2);border-radius:999px}.row-flag{width:4px;position:relative;background:0 0!important;padding:0!important}.row-flag:after{content:"";border-radius:0 4px 4px 0;width:4px;height:26px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.row-flag.ok:after{background:var(--ok)}.row-flag.warn:after{background:var(--warn)}.row-flag.crit:after{background:var(--crit)}.row-flag.idle:after{background:var(--rule)}.bar{background:var(--paper-2);border-radius:999px;flex:1;min-width:62px;height:7px;overflow:hidden}.bar i{background:linear-gradient(90deg, #2a3b5c, var(--ink));border-radius:999px;height:100%;display:block}.bar i.ok{background:linear-gradient(90deg, #2acb78, var(--ok))}.bar i.warn{background:linear-gradient(90deg, #f0ae2e, var(--warn))}.bar i.crit{background:linear-gradient(90deg, #ef6a61, var(--crit))}.bar-row{align-items:center;gap:11px;display:flex}.bar-row .mono{font-family:var(--sans);text-align:right;min-width:36px;font-size:12px;font-weight:700}.project{border-bottom:1px solid var(--rule-2);text-align:left;width:100%;padding:17px 21px;transition:background .15s;display:block}.project:last-child{border-bottom:none}.project:hover{background:var(--card-2)}.project-top{align-items:center;gap:10px;margin-bottom:5px;display:flex}.project-top strong{letter-spacing:-.015em;font-size:14px;font-weight:700}.project-meta{color:var(--ink-3);flex-wrap:wrap;gap:7px;margin-bottom:13px;font-size:11.5px;display:flex}.project-meta span:after{content:" ·"}.project-meta span:last-child:after{content:""}.project-foot{color:var(--ink-2);justify-content:space-between;align-items:center;margin-top:11px;font-size:11.5px;font-weight:500;display:flex}.donut{filter:drop-shadow(0 10px 22px #1317291f);border-radius:50%;flex:none;place-items:center;width:148px;height:148px;display:grid;position:relative}.donut:after{content:"";background:var(--card);border-radius:50%;position:absolute;inset:19px}.donut>div{z-index:1;text-align:center;position:relative}.donut strong{letter-spacing:-.03em;font-size:30px;font-weight:800;line-height:1.1;display:block}.donut span{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-size:10.5px;font-weight:600}.split{align-items:center;gap:26px;display:flex}.legend{flex:1}.legend-row{border-bottom:1px solid var(--rule-2);justify-content:space-between;align-items:center;padding:9px 0;font-size:12.5px;display:flex}.legend-row:last-child{border-bottom:none}.legend-row .lbl{align-items:center;gap:9px;font-weight:500;display:flex}.legend-row i{border-radius:3px;width:9px;height:9px;display:block}.legend-row b{font-weight:700}.hbars{flex-direction:column;gap:15px;display:flex}.hbar-label{justify-content:space-between;margin-bottom:7px;font-size:12.5px;font-weight:500;display:flex}.hbar-label span:last-child{color:var(--ink-3);font-weight:700}.columns{align-items:flex-end;gap:12px;height:165px;padding-top:10px;display:flex}.column{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:10px;height:100%;display:flex}.column .stack-bar{background:var(--paper-2);border-radius:10px;flex-direction:column;justify-content:flex-end;width:100%;height:100%;transition:transform .18s;display:flex;overflow:hidden}.column:hover .stack-bar{transform:translateY(-3px)}.column .seg{width:100%}.column .seg.ok{background:linear-gradient(180deg, #21c06e, var(--ok))}.column .seg.warn{background:var(--warn)}.column .seg.crit{background:var(--crit)}.column .cap{color:var(--ink-3);text-align:center;font-size:11px;font-weight:600;line-height:1.4}.stages{flex-direction:column;display:flex}.stage{border-bottom:1px solid var(--rule-2);align-items:flex-start;gap:13px;padding:11px 0;display:flex}.stage:last-child{border-bottom:none}.stage-idx{width:26px;height:26px;color:var(--ink-3);background:var(--card-2);border:1px solid var(--rule);border-radius:50%;flex:none;place-items:center;font-size:10.5px;font-weight:700;display:grid}.stage.done .stage-idx{background:linear-gradient(145deg, #2acb78, var(--ok));color:#fff;border-color:#0000;box-shadow:0 4px 12px -5px #12a150e6}.stage.active .stage-idx{background:linear-gradient(145deg, #15a5a5, var(--blueprint));color:#fff;border-color:#0000;box-shadow:0 4px 12px -5px #0e8c8cf2}.stage-body{flex:1}.stage-body strong{font-size:13px;font-weight:600;display:block}.stage-body span{color:var(--ink-3);font-size:11.5px}.stage.wait .stage-body strong{color:var(--ink-3);font-weight:500}.timeline{padding-left:20px;position:relative}.timeline:before{content:"";background:var(--rule);border-radius:2px;width:2px;position:absolute;top:8px;bottom:8px;left:4px}.timeline-item{padding:0 0 18px 8px;position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-item:before{content:"";background:var(--card);border:2.5px solid var(--ink-3);border-radius:50%;width:10px;height:10px;position:absolute;top:5px;left:-20px}.timeline-item.hot:before{border-color:var(--crit);background:var(--crit);box-shadow:0 0 0 4px var(--crit-2)}.timeline-item strong{font-size:13px;font-weight:600;display:block}.timeline-item span{color:var(--ink-3);font-size:11.5px}.kanban{gap:var(--gap);grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;display:grid}.kcol{border:1px solid var(--rule);border-radius:var(--r-xl);background:#ffffff8c;min-height:130px}.kcol-head{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);justify-content:space-between;align-items:center;padding:14px 17px 10px;font-size:11.5px;font-weight:700;display:flex}.kcol-head b{color:var(--ink);background:var(--card);border:1px solid var(--rule);border-radius:999px;padding:1px 9px;font-size:11px}.kcol-body{flex-direction:column;gap:10px;padding:4px 10px 12px;display:flex}.ktask{border:1px solid var(--rule);border-left:4px solid var(--ink-3);background:var(--card);text-align:left;width:100%;box-shadow:var(--sh-sm);border-radius:14px;padding:13px 15px;transition:all .16s}.ktask:hover{box-shadow:var(--sh);transform:translateY(-2px)}.ktask.p-high{border-left-color:var(--crit)}.ktask.p-medium{border-left-color:var(--warn)}.ktask.p-low{border-left-color:var(--ok)}.ktask-id{color:var(--ink-3);font-size:10.5px;font-weight:600}.ktask-title{margin:6px 0 10px;font-size:12.5px;font-weight:600;line-height:1.4}.ktask-foot{justify-content:space-between;align-items:center;gap:8px;display:flex}.ktask-foot .mono{font-family:var(--sans);color:var(--ink-3);font-size:11px;font-weight:500}.ai-panel{background:radial-gradient(90% 70% at 100% 0%, #7c5ce021, transparent 62%), var(--card);border-color:#e3dcf8}.ai-title{align-items:center;gap:11px;display:flex}.ai-title .eyebrow{color:var(--ai)}.ai-mark{background:linear-gradient(145deg, #9b80f0, var(--ai));color:#fff;border-radius:10px;flex:none;place-items:center;width:32px;height:32px;display:grid;box-shadow:0 6px 16px -7px #7c5ce0f2}.ai-item{border-bottom:1px solid var(--rule-2);padding:15px 21px}.ai-item:last-child{border-bottom:none}.ai-item p{color:var(--ink-2);margin:9px 0 11px;font-size:13px;line-height:1.6}.ai-item .act{color:var(--ai);align-items:center;gap:7px;font-size:12px;font-weight:600;display:inline-flex}.ai-item .act:hover{opacity:.72}.process-map{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:11px;display:grid}.process-node{border:1px solid var(--rule);background:var(--card);box-shadow:var(--sh-sm);border-radius:14px;padding:14px;transition:all .16s}.process-node:hover{box-shadow:var(--sh);border-color:#dcd3f5;transform:translateY(-2px)}.process-node strong{letter-spacing:-.01em;margin-bottom:9px;font-size:13px;display:block}.process-node .row{justify-content:space-between;align-items:center;display:flex}.check-item{border-bottom:1px solid var(--rule-2);grid-template-columns:70px 1fr 260px;align-items:start;gap:18px;padding:17px 21px;transition:background .14s;display:grid}.check-item:last-child{border-bottom:none}.check-item:hover{background:var(--card-2)}.check-q{font-size:13px;font-weight:600;line-height:1.5}.check-note{color:var(--ink-2);margin-top:7px;font-size:12px}.check-ev{color:var(--blueprint);margin-top:7px;font-size:11.5px;font-weight:500;display:inline-block}.answers{flex-wrap:wrap;gap:6px;display:flex}.ans{border:1px solid var(--rule);background:var(--card);color:var(--ink-3);border-radius:999px;padding:6px 12px;font-size:11px;font-weight:600;transition:all .15s}.ans:hover{color:var(--ink);transform:translateY(-1px)}.ans.on.ok{background:var(--ok);color:#fff;border-color:#0000;box-shadow:0 5px 14px -6px #12a150f2}.ans.on.minor{background:var(--warn);color:#fff;border-color:#0000;box-shadow:0 5px 14px -6px #d2870af2}.ans.on.major{background:var(--crit);color:#fff;border-color:#0000;box-shadow:0 5px 14px -6px #d9453bf2}.ans.on.none{background:var(--ink-3);color:#fff;border-color:#0000}.field{margin-bottom:15px}.field label{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);margin-bottom:7px;font-size:11px;font-weight:700;display:block}.field input,.field select,.field textarea{border:1px solid var(--rule);border-radius:var(--r);background:var(--card-2);outline:none;width:100%;padding:11px 14px;font-size:13px;transition:all .15s}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blueprint);background:var(--card);box-shadow:0 0 0 4px #0e8c8c1a}.field-row{grid-template-columns:1fr 1fr;gap:13px;display:grid}.switch{background:var(--paper-2);cursor:pointer;border-radius:999px;flex:none;width:40px;height:23px;transition:background .18s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:17px;height:17px;transition:transform .18s;position:absolute;top:3px;left:3px;box-shadow:0 2px 5px #13172940}.switch.on{background:linear-gradient(140deg, #2acb78, var(--ok))}.switch.on:after{transform:translate(17px)}.setting-row{border-bottom:1px solid var(--rule-2);align-items:center;gap:15px;padding:15px 21px;transition:background .14s;display:flex}.setting-row:last-child{border-bottom:none}.setting-row:hover{background:var(--card-2)}.setting-row .grow{flex:1}.setting-row strong{font-size:13px;font-weight:600;display:block}.setting-row span{color:var(--ink-3);font-size:12px}.overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:90;opacity:0;pointer-events:none;background:#1317296b;transition:opacity .2s;position:fixed;inset:0}.overlay.open{opacity:1;pointer-events:auto}.drawer{background:var(--card);border-radius:var(--r-xl);width:min(580px,100vw - 24px);box-shadow:var(--sh-lg);z-index:100;flex-direction:column;transition:transform .26s cubic-bezier(.32,.8,.3,1);display:flex;position:fixed;top:12px;bottom:12px;right:12px;overflow:hidden;transform:translate(calc(100% + 20px))}.drawer.open{transform:none}.drawer-head{border-bottom:1px solid var(--rule-2);flex:none;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 24px 16px;display:flex}.drawer-head .eyebrow{color:var(--ink-3)}.drawer-body{flex:1;padding:22px 24px 28px;overflow-y:auto}.kv{border-top:1px solid var(--rule-2)}.kv-row{border-bottom:1px solid var(--rule-2);grid-template-columns:172px 1fr;gap:16px;padding:12px 0;font-size:13px;display:grid}.kv-row dt{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);padding-top:2px;font-size:11px;font-weight:700}.kv-row dd{font-weight:500}.subhead{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);margin:26px 0 12px;font-size:11px;font-weight:700}.subhead:first-child{margin-top:0}.toast-wrap{z-index:200;flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:fixed;bottom:24px;right:24px}.toast{background:var(--dark);color:#fff;max-width:350px;box-shadow:var(--sh-lg);border-radius:14px;align-items:flex-start;gap:11px;padding:13px 17px;font-size:12.5px;animation:.24s cubic-bezier(.3,.9,.3,1) backwards slidein;display:flex}.toast>span:first-child{color:#2acb78;margin-top:2px}.toast .mono{font-family:var(--sans);opacity:.5;margin-top:3px;font-size:11px;display:block}@keyframes slidein{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:none}}.empty{text-align:center;color:var(--ink-3);padding:50px 22px}.empty strong{color:var(--ink-2);margin-bottom:7px;font-size:13.5px;display:block}.empty p{max-width:44ch;margin:0 auto 16px;font-size:12.5px}.stack-v{gap:var(--gap);flex-direction:column;min-width:0;display:flex}.row-between{justify-content:space-between;align-items:center;gap:12px;display:flex}.wrap{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.muted{color:var(--ink-3)}.nowrap{white-space:nowrap}.mb0{margin-bottom:0}.filters{margin-bottom:var(--gap);flex-wrap:wrap;align-items:center;gap:9px;display:flex}.filters select{border:1px solid var(--rule);background:var(--card);box-shadow:var(--sh-sm);border-radius:999px;outline:none;padding:8px 14px;font-size:12.5px;font-weight:600}@media (prefers-reduced-motion:no-preference){.view>*{animation:.38s cubic-bezier(.25,.85,.35,1) backwards rise}.view>:nth-child(2){animation-delay:40ms}.view>:nth-child(3){animation-delay:80ms}.view>:nth-child(4){animation-delay:.12s}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}}@media (width<=1180px){.grid.c3,.grid.c2,.grid.main-side,.grid.side-main{grid-template-columns:minmax(0,1fr)}.kanban{grid-template-columns:repeat(2,minmax(0,1fr))}.check-item{grid-template-columns:62px 1fr}.check-item>div:last-child{grid-column:1/-1}}@media (width<=860px){:root{--rail:70px}.rail{width:var(--rail);padding:0 10px}.brand{justify-content:center;padding:18px 0 14px}.brand-text,.nav-group,.nav-item span:not(.nav-num),.rail-foot div{display:none}.nav-item{justify-content:center;padding:12px 0}.nav-num{width:auto;font-size:11px}.rail-foot{justify-content:center;padding:10px 0}.main{margin-left:var(--rail);width:calc(100% - var(--rail))}.topbar{gap:10px;height:60px;padding:0 16px}.register th{top:60px}.search{width:150px}.view{padding:18px 16px 56px}.page-head{flex-direction:column;align-items:flex-start}.page-actions{flex-wrap:wrap;width:100%}.kanban{grid-template-columns:1fr}.register{table-layout:fixed;width:100%}.register th,.register td{overflow-wrap:anywhere;padding:11px 12px}.register th:first-child,.register td:first-child{padding-left:14px}.register th:last-child,.register td:last-child{padding-right:14px}.register th:nth-child(n+4),.register td:nth-child(n+4){display:none}.columns{gap:6px}.process-map{grid-template-columns:1fr 1fr}.setting-row{flex-wrap:wrap;gap:10px 12px;padding:14px 16px}.setting-row .grow{flex:100%}.card-head{flex-wrap:wrap;gap:10px;padding:15px 16px 12px}.card-body{padding:6px 16px 18px}.card-foot{flex-wrap:wrap;padding:12px 16px}.ai-item,.check-item{padding-left:16px;padding-right:16px}.metrics{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.metric-value{font-size:26px}.split{flex-direction:column;align-items:flex-start}.kv-row{grid-template-columns:1fr;gap:3px}.drawer{border-radius:0;width:100vw;top:0;bottom:0;right:0}h1{font-size:23px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}.entity-grid{gap:var(--gap);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.entity-card{flex-direction:column;min-height:250px;display:flex}.entity-card .card-body{flex:1}.entity-card h3,.module-record h3{margin-top:5px}.entity-card .card-foot{justify-content:flex-end}.kv.compact{margin-top:16px}.kv.compact .kv-row{padding:8px 0}.danger{color:var(--crit)!important}.modal-sub{margin-top:5px}.entity-form{flex-direction:column;gap:15px;display:flex}.entity-form .field{margin:0}.entity-form input,.entity-form select,.entity-form textarea,.filter-bar select{border:1px solid var(--rule);border-radius:var(--r-sm);background:var(--card);outline:none;width:100%;padding:10px 12px}.entity-form input:focus,.entity-form select:focus,.entity-form textarea:focus,.filter-bar select:focus{border-color:var(--blueprint);box-shadow:0 0 0 3px #0e8c8c1a}.form-actions{justify-content:flex-end;gap:8px;padding-top:8px;display:flex}.filter-bar{flex-wrap:wrap;align-items:center;gap:8px;margin:-4px 0 18px;display:flex}.filter-bar select{width:min(420px,100%)}.dashboard-projects{gap:12px;padding:0 16px 16px;display:grid}.dashboard-projects .entity-card{min-height:0;box-shadow:none;background:var(--card-2)}.dashboard-projects .card-body{padding-top:8px}.project-vue-card .project-meta{margin-top:14px}.vue-kanban{grid-template-columns:repeat(5,minmax(220px,1fr));align-items:start;padding-bottom:8px;overflow-x:auto}.vue-task{cursor:default}.task-actions{align-items:center;gap:8px;margin-top:10px;display:flex}.task-actions small{color:var(--ink-3);flex:1}.echart{width:100%;min-height:220px}.executive-chart{margin-bottom:18px}.module-record{min-height:160px}.module-record .card-body{flex:1}.toast-enter-active,.toast-leave-active{transition:opacity .18s,transform .18s}.toast-enter-from,.toast-leave-to{opacity:0;transform:translateY(8px)}.search>span{color:var(--ink-3);z-index:1;position:absolute;top:8px;left:13px}@media (width<=1180px){.entity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=860px){.entity-grid,.field-row{grid-template-columns:1fr}.vue-kanban{grid-template-columns:repeat(5,minmax(260px,82vw))}}
