:root{--bg: #f5f7fb;--surface: #ffffff;--surface-2: #f8fafc;--border: #e8ebf1;--border-strong: #e2e6ee;--ink: #0f172a;--text: #1e293b;--text-muted: #64748b;--primary: #eab308;--primary-dark: #ca8a04;--primary-soft: #fef9c3;--brand-accent: #f2b60c;--on-primary: #1c1917;--logo-ink: #111827;--sidebar-bg: #ffffff;--auth-bg: #f7f8fa;--auth-heading: #22375a;--auth-field-bg: #eaf0fa;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--violet: #8b5cf6;--radius: 12px;--radius-sm: 8px;--mono: ui-monospace, "Cascadia Mono", SFMono-Regular, Menlo, Consolas, monospace;--shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .08);--shadow-lg: 0 10px 30px rgba(16, 24, 40, .12);--sidebar-w: 244px;--perm-dock-h: 108px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-wrap:break-word;-webkit-tap-highlight-color:transparent}img,svg,video{max-width:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}a{color:inherit;text-decoration:none}h1,h2,h3,h4{margin:0;font-weight:650;letter-spacing:-.01em}button,input,select,textarea{font-family:inherit;font-size:inherit}.app-shell{display:flex;min-height:100vh;min-height:100dvh}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--sidebar-bg);color:var(--text-muted);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;height:100dvh;border-right:1px solid var(--border)}.sidebar .brand{display:flex;align-items:center;gap:10px;padding:20px 20px 16px;color:var(--text);font-weight:700;font-size:16px}.sidebar .brand .logo{width:32px;height:32px;flex-shrink:0;display:block;object-fit:contain}.sidebar .brand small{display:block;color:var(--text-muted);font-weight:500;font-size:11px;letter-spacing:.04em;text-transform:uppercase}.nav{padding:8px;flex:1;overflow-y:auto}.nav-section{color:#94a3b8;font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;padding:14px 12px 6px}.nav a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;color:var(--text);font-weight:500;margin:1px 0;transition:background .12s,color .12s}.nav a:hover{background:var(--surface-2);color:var(--text)}.nav a.active{background:var(--primary);color:var(--on-primary);font-weight:600}.nav a .ico{display:inline-grid;place-items:center;width:18px;height:18px;flex-shrink:0;opacity:.75}.sidebar .user-chip{padding:12px 16px;border-top:1px solid var(--border);display:flex;align-items:center;gap:10px}.sidebar .user-chip .meta{overflow:hidden}.sidebar .user-chip .meta b{color:var(--text);font-size:13px;display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar .user-chip .meta span{color:var(--text-muted);font-size:11px}.main{flex:1;display:flex;flex-direction:column;min-width:0}.topbar{height:60px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 24px;position:sticky;top:0;z-index:10}.topbar-left{display:flex;align-items:center;gap:10px;min-width:0}.topbar h2{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar .right{display:flex;align-items:center;gap:14px;flex-shrink:0}.content{padding:24px;max-width:1200px;width:100%;margin:0 auto}.select.cycle-picker{width:auto;min-width:170px;max-width:340px;height:32px;padding:0 30px 0 10px;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.cycle-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 24px;font-size:13px;background:#fffbeb;color:#92400e;border-bottom:1px solid #fde68a}.nav-toggle,.nav-scrim{display:none}.grid{display:grid;gap:16px}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-4{grid-template-columns:repeat(4,1fr)}.grid>*{min-width:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.card-pad{padding:18px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:16px 18px;border-bottom:1px solid var(--border)}.card-head h3{font-size:15px}.card-body{padding:18px}.stat{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;transition:transform .18s ease,border-color .18s ease}.stat:hover{transform:translateY(-1px);border-color:var(--border-strong)}.stat .stat-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:10px}.stat .label{color:var(--text-muted);font-size:12.5px;font-weight:550}.stat .ico{width:34px;height:34px;flex-shrink:0;border-radius:10px;display:grid;place-items:center;color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border)}.stat .value{font-size:32px;font-weight:700;letter-spacing:-.025em;color:var(--ink);line-height:1}.stat .sub{font-size:12.5px;color:var(--text-muted);margin-top:9px}.stat.accent{background:linear-gradient(180deg,#fffdf5,#fff 60%);border-color:#f4e3a3}.stat.accent .value{color:var(--primary-dark)}.stat.accent .ico{color:var(--primary-dark);background:var(--primary-soft);border-color:#f5e6a6}.btn{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);font-weight:550;cursor:pointer;transition:all .12s;white-space:nowrap}.btn:hover{background:var(--surface-2)}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.btn.primary:hover{background:var(--primary-dark);color:var(--on-primary)}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:var(--surface-2)}.btn.danger{color:var(--danger);border-color:#fecaca;background:#fef2f2}.btn.danger:hover{background:#fee2e2;border-color:#fca5a5}.btn.sm{padding:5px 10px;font-size:12.5px}.btn:disabled{opacity:.5;cursor:not-allowed}.stat-link{display:block;text-decoration:none;color:inherit;transition:border-color .12s,box-shadow .12s}.stat-link:hover{border-color:var(--primary);box-shadow:var(--shadow)}button.stat-link{width:100%;text-align:left;font:inherit;cursor:pointer}.stat-link[data-selected=true]{border-color:var(--primary);box-shadow:none}.stat-link[data-selected=true] .label{color:var(--text)}.btn:focus-visible,.nav a:focus-visible,.user-chip a:focus-visible,a:focus-visible,table.tbl tr.clickable:focus-visible,table.tbl tr[role=button]:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--radius-sm)}table.tbl tr.clickable:focus-visible,table.tbl tr[role=button]:focus-visible{outline:none;background:var(--surface-2);box-shadow:inset 0 0 0 2px var(--primary)}.modal:focus,.modal:focus-visible{outline:none}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600}.badge.gray{background:#f1f5f9;color:#475569}.badge.blue{background:#eff6ff;color:#2563eb}.badge.green{background:#ecfdf5;color:#059669}.badge.amber{background:#fffbeb;color:#d97706}.badge.red{background:#fef2f2;color:#dc2626}.badge.violet{background:#f5f3ff;color:#7c3aed}.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.notif-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:5px;border:1.5px solid var(--border);background:transparent}.notif-dot.unread{background:var(--primary);border-color:var(--primary)}.notif-wrap{position:relative;display:flex}.notif-bell{position:relative;display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:background .12s,color .12s}.notif-bell:hover{background:var(--surface-2);color:var(--text)}.notif-bell[aria-expanded=true]{background:var(--surface-2);color:var(--text);border-color:var(--border)}.notif-count{position:absolute;top:1px;right:0;min-width:16px;height:16px;padding:0 4px;border-radius:999px;border:2px solid var(--surface);background:var(--primary);color:var(--on-primary);font-size:10.5px;font-weight:700;line-height:12px;display:grid;place-items:center}.notif-panel{position:absolute;z-index:30;top:calc(100% + 8px);right:0;width:min(360px,calc(100vw - 32px));background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);overflow:hidden}@media (max-width: 560px){.notif-panel{position:fixed;top:56px;left:8px;right:8px;width:auto}}.notif-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 8px 10px 14px;border-bottom:1px solid var(--border)}.notif-list{max-height:380px;overflow-y:auto}.notif-item{display:flex;align-items:flex-start;gap:10px;width:100%;padding:10px 14px;border:0;background:none;text-align:left;cursor:pointer;color:inherit;transition:background .12s}.notif-item+.notif-item{border-top:1px solid var(--border)}.notif-item:hover{background:var(--surface-2)}.notif-item[data-unread=false] .notif-text{opacity:.62}.notif-text{display:flex;flex-direction:column;gap:2px;min-width:0}.notif-title{font-size:13px;font-weight:600}.notif-body{font-size:12.5px;color:var(--text-muted)}.notif-when{font-size:11.5px;color:var(--text-muted)}.notif-panel-foot{display:block;width:100%;padding:10px 14px;border:0;border-top:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:12.5px;font-weight:600;text-align:center;cursor:pointer}.notif-panel-foot:hover{background:var(--border)}.notif-page-item{padding:12px 16px}.notif-page-item .notif-text{flex:1 1 auto}.notif-row-btn{width:100%;padding:0;border:0;background:none;text-align:left;cursor:pointer;color:inherit}.avatar{border-radius:50%;background:linear-gradient(135deg,var(--brand-accent),var(--primary));color:#fff;display:inline-grid;place-items:center;font-weight:700;flex-shrink:0}.progress{height:8px;background:#eef2f7;border-radius:999px;overflow:hidden}.progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--primary),#f5c945);border-radius:999px;transition:width .4s}.progress.success>span{background:var(--success)}.progress.warn>span{background:var(--warning)}.progress.danger>span{background:var(--danger)}.table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.table-wrap>table.tbl{min-width:620px}.table-wrap.wide>table.tbl{min-width:780px}.table-wrap.compact>table.tbl{min-width:0}table.tbl{width:100%;border-collapse:collapse}table.tbl th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding:10px 14px;border-bottom:1px solid var(--border)}table.tbl td{padding:12px 14px;border-bottom:1px solid var(--border);vertical-align:middle}table.tbl tr:last-child td{border-bottom:none}table.tbl tr.clickable:hover{background:var(--surface-2);cursor:pointer}table.tbl.aligned{table-layout:fixed}table.tbl.aligned td,table.tbl.aligned th{overflow-wrap:anywhere}.field{margin-bottom:14px}.field label{display:block;font-weight:550;margin-bottom:5px;font-size:13px}.input,.select,.textarea{width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);outline:none;transition:border .12s,box-shadow .12s}.input:focus,.select:focus,.textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.textarea{resize:vertical;min-height:84px}.row{display:flex;gap:12px;flex-wrap:wrap}.row>*{flex:1 1 200px;min-width:0}.field .req{color:var(--danger);margin-left:2px;font-weight:700}.field .hint{color:var(--text-muted);font-size:12px;margin-top:5px}.input-group{display:flex;align-items:stretch;gap:8px}.input-group .input{flex:1 1 auto;width:auto;min-width:0}.input-group .btn{flex-shrink:0}.input.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.02em}.form-section>h4{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:12px}.form-section>.section-hint{color:var(--text-muted);font-size:12.5px;margin:-8px 0 12px;line-height:1.45}.form-section+.form-section{margin-top:20px;padding-top:18px;border-top:1px solid var(--border)}.form-section .field:last-child{margin-bottom:0}.form-section .row:last-child .field{margin-bottom:0}.form-section .row{row-gap:0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:grid;place-items:center;z-index:100;padding:20px}.modal{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-lg);width:100%;max-width:540px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal .card-head{flex-shrink:0;align-items:flex-start;background:var(--surface);flex-wrap:nowrap}.modal .card-body{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-title{min-width:0}.modal-title h3{margin:0}.modal-title p{margin:3px 0 0;font-size:12.5px;overflow-wrap:anywhere}.modal-close{flex-shrink:0}.modal-foot{flex-shrink:0;padding:14px 18px;border-top:1px solid var(--border);background:var(--surface)}.modal-foot .foot-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.modal-foot .error-text{margin:0 0 10px}.modal-lg{max-width:720px}.muted{color:var(--text-muted)}.flex{display:flex;align-items:center;min-width:0}.flex.wrap{flex-wrap:wrap}.between{justify-content:space-between}.gap-sm{gap:8px}.gap{gap:14px}.stack{display:flex;flex-direction:column}.mt-sm{margin-top:8px}.mt{margin-top:16px}.mt-lg{margin-top:24px}.mb-sm{margin-bottom:8px}.mb{margin-bottom:16px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;gap:16px;flex-wrap:wrap}.page-head h1{font-size:22px}.page-head p{color:var(--text-muted);margin:4px 0 0}.page-head .actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.page-head .actions .input,.page-head .actions .select{width:240px}.page-head .actions .btn{flex-shrink:0}.empty{text-align:center;padding:40px 20px;color:var(--text-muted)}.empty .empty-icon{width:56px;height:56px;border-radius:50%;margin:0 auto 14px;display:grid;place-items:center;font-size:26px;line-height:1;background:var(--surface-2);border:1px solid var(--border);color:#94a3b8}.empty .empty-icon svg{width:24px;height:24px}.empty .empty-title{font-weight:600;color:var(--text);font-size:14px}.empty .empty-hint{color:var(--text-muted);font-size:12.5px;margin-top:3px}.spinner{width:26px;height:26px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite;margin:40px auto}@keyframes spin{to{transform:rotate(360deg)}}.divider{height:1px;background:var(--border);margin:16px 0}.sync-panel.warn{border-left:3px solid var(--warning)}.sync-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-left:7px;vertical-align:middle}.sync-dot.fresh{background:var(--success)}.sync-dot.stale{background:#cbd5e1}.auth-sso{width:100%;justify-content:center;margin-bottom:6px;font-weight:600}.auth-or{display:flex;align-items:center;gap:10px;margin:14px 0 4px;color:var(--text-muted);font-size:12.5px}.auth-or:before,.auth-or:after{content:"";flex:1;height:1px;background:var(--border)}.kpi-row{display:flex;gap:6px;align-items:center}.tag-list{display:flex;flex-wrap:wrap;gap:6px}.bar-chart{display:flex;flex-direction:column;gap:10px}.bar-row{display:grid;grid-template-columns:130px 1fr 40px;align-items:center;gap:10px}.bar-track{height:22px;background:var(--surface-2);border-radius:6px;overflow:hidden}.bar-fill{height:100%;border-radius:6px}.ninebox{display:grid;grid-template-columns:repeat(3,minmax(104px,1fr));gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch}.ninebox .cell{height:106px;border-radius:8px;padding:8px 10px;font-size:12px;display:flex;flex-direction:column;width:100%;border:1px solid transparent;font-family:inherit;color:inherit;text-align:left}.ninebox .cell .cell-label{font-size:10.5px;color:var(--text-muted);font-weight:600}.ninebox .cell .cell-count{font-size:26px;font-weight:650;line-height:1;margin-top:auto;font-variant-numeric:tabular-nums}.ninebox .cell .cell-sub{font-size:10.5px;color:var(--text-muted);margin-top:3px}.ninebox .cell .cell-bar{height:3px;min-width:3px;border-radius:2px;background:currentColor;opacity:.17;margin-top:8px}.ninebox button.cell{cursor:pointer;transition:border-color .12s ease}.ninebox button.cell:hover{border-color:var(--border-strong)}.ninebox button.cell[aria-pressed=true]{border-color:var(--primary-dark)}.ninebox .cell.empty .cell-count{color:var(--text-muted);font-weight:550}.ninebox .cell.empty .cell-bar{display:none}.auth-wrap{min-height:100vh;min-height:100dvh;display:grid;place-items:center;background:var(--auth-bg);padding:24px 20px}.auth-panel{width:100%;max-width:400px}.auth-card{background:var(--surface);border-radius:10px;box-shadow:var(--shadow-lg);width:100%;padding:32px 30px;text-align:center}.auth-logo{height:30px;width:auto;max-width:100%;display:block;margin:0 auto 18px}.auth-title{font-size:30px;font-weight:700;color:var(--auth-heading);letter-spacing:-.02em}.auth-sub{margin:8px 0 22px;color:var(--text-muted);font-size:14px}.auth-sub a,.auth-forgot{color:var(--primary-dark);font-weight:600;text-decoration:underline;text-underline-offset:2px}.auth-sub a:hover,.auth-forgot:hover{color:var(--primary)}.auth-field{text-align:left;margin-bottom:16px}.auth-field label{display:block;font-size:13px;font-weight:500;color:var(--text-muted);margin-bottom:6px}.auth-field .req{color:var(--danger);margin-left:2px}.auth-card .input{background:var(--auth-field-bg);border-color:transparent;border-radius:6px;padding:11px 13px;font-weight:600}.auth-card .input:focus{background:var(--surface);border-color:var(--primary)}.auth-affix{position:relative}.auth-affix .input{padding-right:42px}.auth-eye{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer}.auth-eye:hover{color:var(--text);background:#0f172a0f}.auth-card .auth-submit{width:100%;justify-content:center;margin-top:4px;padding:12px 16px;border-radius:6px;font-size:15px;font-weight:700}.auth-forgot{display:inline-block;margin-top:18px;font-size:14px}.error-text{color:var(--danger);font-size:13px;margin-top:8px}.sysadmin-tag{font-style:normal;color:var(--primary-dark);font-weight:600}.demo-note{float:right;font-size:11px;color:var(--primary-dark);font-weight:600}.settings-grid{display:flex;flex-wrap:wrap;gap:16px 18px;max-width:720px}.settings-field{flex:1 1 220px;min-width:0}.settings-field.is-narrow{flex:0 0 170px}.settings-field.is-toggle,.settings-field.is-wide{flex-basis:100%}.settings-label{display:flex;align-items:baseline;gap:6px;margin-bottom:6px}.settings-label label{font-size:13px;font-weight:600}.settings-field .hint{margin-top:5px;font-size:11.5px}.settings-toggle{display:inline-flex;align-items:center;gap:9px;cursor:pointer;font-weight:600;font-size:13px}.settings-switch{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;flex-shrink:0;margin:0;width:34px;height:19px;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface-2);cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.settings-switch:before{content:"";position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:50%;background:var(--surface);box-shadow:0 1px 2px #10182840;transition:translate .15s ease}.settings-switch:checked{background:var(--success);border-color:var(--success)}.settings-switch:checked:before{translate:15px 0}.settings-switch:disabled{cursor:not-allowed;opacity:.55}.settings-switch:focus-visible{outline:2px solid var(--primary-dark);outline-offset:2px}.settings-state{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.settings-state.is-on{color:var(--success)}@media (prefers-reduced-motion: reduce){.settings-switch,.settings-switch:before{transition:none}}.settings-mark{font-size:10.5px;font-weight:700;letter-spacing:.02em}.settings-mark.unsaved{color:#b45309}.settings-mark.revert{border:0;background:none;padding:0 2px;cursor:pointer;line-height:1;font-size:13px;color:var(--text-muted);opacity:.45}.settings-mark.revert:hover:not(:disabled),.settings-mark.revert:focus-visible{opacity:1;color:var(--danger)}.settings-intro{max-width:62ch;margin:0 0 18px;font-size:12.5px;line-height:1.5}.settings-notice{max-width:720px;margin-bottom:18px;padding:11px 13px;border-radius:8px;border-left:3px solid var(--warning);background:var(--surface-2)}.settings-notice b{display:block;font-size:13px;margin-bottom:3px}.settings-notice p{margin:0;font-size:12px;line-height:1.5}.settings-test{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}.settings-test-to{display:inline-flex;align-items:center;gap:8px}.settings-test-to .input{width:260px;padding:7px 10px;font-size:13px}.settings-textarea{min-height:190px;resize:vertical;font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);font-size:12.5px;line-height:1.6;white-space:pre-wrap}.panel-shell{display:grid;grid-template-columns:1fr;gap:18px;align-items:start}.panel-work{min-width:0}.tpl-split{display:grid;grid-template-columns:1fr;gap:22px}.panel-rail-select{display:flex;flex-direction:column;gap:6px}.panel-rail-select>span{font-size:13px;font-weight:600}.panel-rail{display:none;flex-direction:column;gap:1px}@media (min-width: 1000px){.panel-shell{grid-template-columns:200px minmax(0,1fr);gap:22px}.panel-rail{display:flex;position:sticky;top:16px}.panel-rail-select{display:none}}@media (min-width: 1200px){.tpl-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}.tpl-preview-pane{position:sticky;top:16px;align-self:start}}.panel-rail-section{padding:12px 2px 6px;font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted)}.panel-rail-section:first-child{padding-top:2px}.panel-rail-row{display:flex;gap:9px;align-items:flex-start;padding:9px 10px;border-radius:8px;border-left:2px solid transparent;color:var(--text);text-decoration:none;transition:background-color .12s ease,border-color .12s ease}.panel-rail-row:hover{background:var(--surface-2)}.panel-rail-row.active{background:var(--surface-2);border-left-color:var(--primary)}.panel-rail-text{display:flex;flex-direction:column;gap:2px;min-width:0}.panel-rail-text b{font-size:12.5px;font-weight:600;line-height:1.35;overflow-wrap:anywhere}.panel-rail-text small{font-size:11px;line-height:1.35;color:var(--text-muted)}.panel-dot{flex-shrink:0;width:7px;height:7px;margin-top:5px;border-radius:50%;border:1px solid var(--border-strong);background:transparent}.panel-dot.is-edited{background:var(--text-muted);border-color:var(--text-muted)}.panel-dot.is-unsaved{background:var(--primary);border-color:var(--primary)}.tpl-edit{min-width:0;display:flex;flex-direction:column;gap:16px}.tpl-edit .settings-field{flex-basis:auto}.tpl-preview-head{display:flex;align-items:center;gap:7px;margin-bottom:8px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.tpl-chips{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:9px}.tpl-chips .muted{font-size:11px;text-transform:uppercase;letter-spacing:.04em}.tpl-chip{font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);font-size:11.5px;line-height:1;padding:5px 8px;border-radius:999px;cursor:pointer;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);transition:background-color .12s ease,border-color .12s ease,color .12s ease}.tpl-chip:hover:not(:disabled),.tpl-chip:focus-visible{border-color:var(--primary);color:var(--primary)}.tpl-chip:disabled{opacity:.5;cursor:default}.tpl-preview{margin-top:10px}.settings-crosslink{margin-top:12px;font-size:13px}.settings-crosslink a{display:inline-flex;align-items:center;gap:6px;font-weight:600}.tpl-preview-body{margin-top:10px;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.tpl-preview-subject{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;padding-bottom:9px;margin-bottom:9px;border-bottom:1px solid var(--border);font-size:13px}.tpl-preview-subject .muted{font-size:11px;text-transform:uppercase;letter-spacing:.04em}.tpl-preview-text{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);font-size:12.5px;line-height:1.65;color:var(--text)}.settings-bar{position:sticky;bottom:14px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:0 6px 20px #0f172a24;font-size:13px;font-weight:600}.link-reveal{border:1px solid var(--primary);border-radius:8px;background:var(--surface-2);padding:12px 14px;margin-bottom:14px;display:flex;flex-direction:column;gap:10px}.link-value{display:block;font-size:12px;line-height:1.5;padding:8px 10px;background:var(--surface);border:1px solid var(--border);border-radius:6px;overflow-wrap:anywhere;word-break:break-all;-webkit-user-select:all;user-select:all}.auth-alt{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;margin-top:18px;font-size:13.5px}.auth-alt a{color:var(--primary-dark);font-weight:600;text-decoration:underline;text-underline-offset:2px}.auth-alt a:hover{color:var(--primary)}.auth-hint{display:block;margin-top:6px;font-size:12px;color:var(--text-muted);text-align:left}.auth-hint.warn{color:var(--danger)}.auth-affix.wide-toggle .auth-eye{width:auto;padding:0 10px;font-size:12px;font-weight:700}.auth-affix.wide-toggle .input{padding-right:66px}.auth-footer{margin-top:28px;text-align:center}.auth-footer .powered{height:22px;width:auto;display:block;margin:0 auto}.auth-footer .copyright{margin-top:10px;font-size:12px;color:var(--text-muted)}.auth-demo{margin-top:18px;border-top:1px solid var(--border);padding-top:14px;font-size:12.5px;text-align:left}.auth-demo button{display:block;width:100%;text-align:left;padding:7px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);margin-top:6px;cursor:pointer}.auth-demo button:hover{border-color:var(--primary)}:root{--perm-lane: #e9eef6;--perm-lane-edge: #c9d6e6;--perm-grant-edge: #a16207;--perm-fixed: #c3ccd9;--perm-fixed-ink: #475569;--perm-cross: rgba(202, 138, 4, .085);--perm-cross-hit: rgba(202, 138, 4, .17)}.access-gate{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:9px 13px;border-radius:var(--radius-sm);border:1px solid #f4e3a3;background:#fffdf5;color:#854d0e;font-size:12.5px;line-height:1.45}.access-gate code{font-family:var(--mono);font-size:12px}.access-gate svg{flex-shrink:0}.access-note{margin-top:10px;padding:10px 12px;border-radius:8px;font-size:12.5px;line-height:1.45;background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--text-muted);color:var(--text)}.access-note b{display:block;margin-bottom:2px}.access-note.warn{background:#fffbeb;border-color:#fde68a;border-left-color:var(--warning);color:#92400e}.access-note.violet{background:#f5f3ff;border-color:#ddd6fe;border-left-color:var(--violet);color:#5b21b6}.access-hist{list-style:none;margin:0;padding:0}.access-hist li{padding:9px 0;border-bottom:1px solid var(--border);font-size:12.5px}.access-hist li:last-child{border-bottom:0;padding-bottom:0}.access-hist b{color:var(--ink)}.access-when{color:var(--text-muted);font-size:11.5px;margin-top:2px}.access-tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:18px}.access-tab{border:0;background:none;cursor:pointer;margin-bottom:-1px;padding:10px 14px;font-weight:600;font-size:13.5px;color:var(--text-muted);border-bottom:2px solid transparent}.access-tab:hover{color:var(--text)}.access-tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--primary)}.access-tab .tab-count{font-size:11.5px;margin-left:5px;font-weight:600}.perm-split{display:block}.perm-grid{--perm-cols: minmax(220px, 1fr) repeat(4, 108px)}.perm-row{display:grid;grid-template-columns:var(--perm-cols)}.perm-colhead{position:sticky;top:60px;z-index:6;background:var(--surface);border-bottom:1px solid var(--border-strong);border-radius:var(--radius) var(--radius) 0 0}.perm-colhead .perm-label{padding:14px 16px 12px;border-bottom:0}.perm-colhead .perm-label b{font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:700}.perm-scope-cap{display:block;margin-top:10px;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#94a3b8}.perm-rolehead{padding:12px 8px;text-align:center;background:var(--perm-lane);border-left:1px solid var(--perm-lane-edge)}.perm-rolehead .perm-rolename{font-size:12.5px;font-weight:700;color:var(--ink);letter-spacing:-.01em}.perm-rolehead .perm-holders{display:block;font-size:11px;color:var(--text-muted);margin-top:1px}.select.perm-scope{width:100%;margin-top:9px;height:auto;padding:4px 6px;font-size:11px;font-weight:600;text-align:center;border-radius:6px;border-color:var(--border-strong)}.select.perm-scope:disabled{background:var(--perm-fixed);border-color:#cbd5e1;color:var(--perm-fixed-ink);cursor:not-allowed}.perm-group{padding:16px 16px 7px}.perm-group h4{font-size:11.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink);font-weight:700}.perm-label{padding:7px 16px;min-width:0;border-bottom:1px solid #f1f4f9;display:flex;flex-direction:column;justify-content:center}.perm-permrow:hover .perm-label{background:var(--surface-2)}.perm-label .perm-title{font-size:13px;font-weight:550}.perm-label .perm-key{font-family:var(--mono);font-size:11px;color:#94a3b8}.perm-lane{padding:1px 6px;background:var(--perm-lane);border-left:1px solid var(--perm-lane-edge);border-bottom:1px solid #f1f4f9;display:grid}.perm-cell{width:100%;height:32px;padding:0;cursor:pointer;border-radius:2px;border:1px solid transparent;background:none;color:transparent;display:grid;place-items:center;transition:background .12s,border-color .12s,color .12s}.perm-cell:hover{background:var(--primary-soft)}.perm-cell[aria-checked=true]{background:var(--primary);border-color:var(--perm-grant-edge);color:var(--on-primary)}.perm-cell[aria-checked=true]:hover{background:var(--primary-dark)}.perm-cell[data-dirty=true]{outline:2px dotted var(--violet);outline-offset:1px}.perm-cell[data-fixed=true]{background:repeating-linear-gradient(-45deg,var(--perm-fixed) 0 3px,#b0bccc 3px 5px);border-color:#9aa8bb;color:var(--perm-fixed-ink);cursor:not-allowed}.perm-cell[data-fixed=true]:hover{background:repeating-linear-gradient(-45deg,var(--perm-fixed) 0 3px,#b0bccc 3px 5px)}.perm-cell:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.perm-cell[data-fixed=true]:focus-visible{outline-color:var(--perm-fixed-ink)}.perm-permrow[data-cross] .perm-label,.perm-permrow[data-cross] .perm-lane,.perm-lane[data-cross]{box-shadow:inset 0 0 0 999px var(--perm-cross)}.perm-permrow[data-cross] .perm-lane[data-cross],.perm-rolehead[data-cross]{box-shadow:inset 0 0 0 999px var(--perm-cross-hit)}.perm-rail{position:fixed;z-index:30;bottom:0;left:var(--sidebar-w);right:0}.perm-rail .card{height:var(--perm-dock-h);display:flex;flex-direction:row;align-items:stretch;border-radius:0;border-left:0;border-right:0;border-bottom:0;border-top:1px solid var(--border-strong);box-shadow:0 -8px 22px #0f172a1a}.perm-split{padding-bottom:calc(var(--perm-dock-h) + 18px)}.perm-rail-head{padding:13px 16px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#fffdf5,#fff 70%)}.perm-rail-head .eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--primary-dark)}.perm-rail-head h4{font-size:14px;margin-top:3px}.perm-rail-head code{display:block;font-family:var(--mono);font-size:11.5px;color:var(--text-muted);margin-top:2px;overflow-wrap:anywhere}.perm-rail-sec+.perm-rail-sec{margin-top:15px;padding-top:13px;border-top:1px solid var(--border)}.perm-rail-sec h5{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#94a3b8;font-weight:800;margin:0 0 7px}.perm-rail-sec ul{list-style:none;margin:0;padding:0}.perm-rail-sec li{font-size:12.5px;padding:2px 0;display:flex;gap:7px;align-items:baseline}.perm-rail-sec li:before{content:"";width:4px;height:4px;border-radius:50%;background:#cbd5e1;flex-shrink:0;transform:translateY(-2px)}.perm-rail-sec code{font-family:var(--mono);font-size:11.5px;overflow-wrap:anywhere}.perm-hold{display:flex;align-items:center;justify-content:space-between;font-size:12.5px;padding:3px 0}.perm-hold.on b{color:var(--primary-dark)}.perm-hold.off{color:var(--text-muted)}.perm-rail-head{flex:0 0 232px;min-width:0;border-bottom:0;border-right:1px solid var(--border);background:linear-gradient(90deg,#fffdf5,#fff 85%)}.perm-rail .card-body{flex:1 1 auto;min-width:0;padding:13px 16px;display:flex;align-items:stretch;overflow-y:auto}.perm-rail .card-body>p{max-width:300px;flex:0 1 auto;margin:0}.perm-rail .card-body>p:only-child{max-width:76ch}.perm-rail .perm-rail-sec{flex:0 1 auto;min-width:0;max-width:420px}.perm-rail .card-body>.access-note{flex:0 1 340px;margin-top:0}.perm-rail .card-body>*+*{margin-top:0;padding-top:0;border-top:0;margin-left:18px}.perm-rail .card-body>*+.perm-rail-sec{padding-left:18px;border-left:1px solid var(--border)}.perm-split .settings-bar{bottom:calc(var(--perm-dock-h) + 14px)}.perm-compact{display:flex;flex-direction:column;gap:12px}.perm-compact-head{position:sticky;top:60px;z-index:6;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px}.perm-compact-role{display:flex;align-items:center;gap:8px;flex:1 1 190px;min-width:0}.perm-compact-role>span{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.perm-compact-role .select{flex:1 1 auto;min-width:0;font-weight:600}.perm-compact-meta{display:flex;align-items:center;gap:10px;flex:0 1 auto}.perm-compact-meta>span{font-size:12px;color:var(--text-muted);white-space:nowrap}.perm-compact-meta .select.perm-scope{margin-top:0;width:auto}.perm-compact-group{padding-bottom:4px}.perm-compact-row{border-bottom:1px solid #f1f4f9}.perm-compact-row:last-child{border-bottom:0}.perm-compact-main{display:flex;align-items:center;gap:12px;padding:6px 14px}.perm-compact-label{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:6px 0;border:0;background:none;text-align:left;cursor:pointer}.perm-compact-label:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}.perm-compact-label .perm-title{font-size:13.5px;font-weight:550;color:var(--text)}.perm-compact-label .perm-key{font-family:var(--mono);font-size:11px;color:#94a3b8}.perm-compact-label[aria-expanded=true] .perm-title{color:var(--ink);font-weight:700}.perm-compact-main .perm-cell{width:52px;flex-shrink:0;height:32px;border-radius:6px;background:#eef1f6;border-color:#d3dbe6}.perm-compact-main .perm-cell:hover{background:#e2e8f1}.perm-compact-main .perm-cell[aria-checked=true]{background:var(--primary);border-color:var(--perm-grant-edge)}.perm-compact-main .perm-cell[aria-checked=true]:hover{background:var(--primary-dark)}.perm-compact-detail{margin-top:-2px;border-left:3px solid var(--primary);margin-left:14px;padding:2px 14px 14px 11px}.perm-compact-detail .perm-rail-sec:first-child{margin-top:0}:root{--assign-edge: #a16207}:root{--sys-idle: #94a3b8;--sys-bar: #cbd5e1;--sys-bar-work: #64748b}.assign-radio{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex-shrink:0;margin:0;width:18px;height:18px;background:var(--surface);cursor:pointer;border:1px solid var(--text-muted);display:inline-grid;place-items:center;transition:background .12s,border-color .12s}.assign-radio{border-radius:50%}.assign-radio:checked{background:var(--primary);border-color:var(--assign-edge)}.assign-radio:checked:after{content:"";width:7px;height:7px;border-radius:50%;background:var(--on-primary)}.assign-radio:focus-visible{outline:2px solid var(--assign-edge);outline-offset:2px}.assign-modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.assign-mode,.field label.assign-mode{display:flex;align-items:flex-start;gap:10px;margin:0;padding:10px 12px;cursor:pointer;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);transition:background .12s,border-color .12s,box-shadow .12s}.assign-mode:hover{background:var(--surface)}.assign-mode[data-picked=true],.field label.assign-mode[data-picked=true]{background:var(--surface);border-color:var(--primary)}.assign-mode .assign-mode-text{min-width:0}.assign-mode-name{display:block;font-size:13.5px;font-weight:650;color:var(--text)}.assign-mode-note{display:block;margin-top:3px;font-size:12px;font-weight:400;line-height:1.35;color:var(--text-muted)}.assign-mode .assign-radio{margin-top:1px}.assign-picker{position:relative}.assign-field{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:40px;padding:5px 8px;cursor:text;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);transition:border .12s,box-shadow .12s}.assign-field:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.assign-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:2px 4px 2px 3px;border-radius:999px;background:var(--primary-soft);border:1px solid var(--assign-edge);color:var(--ink);font-size:12.5px;font-weight:600}.assign-chip .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assign-chip button{flex-shrink:0;display:inline-grid;place-items:center;width:18px;height:18px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--assign-edge);cursor:pointer}.assign-chip button:hover{background:#a1620729}.assign-chip button:focus-visible{outline:2px solid var(--assign-edge);outline-offset:1px}.assign-input{flex:1 1 140px;min-width:140px;border:0;outline:none;background:transparent;padding:5px 2px;color:var(--text)}.assign-menu{position:absolute;z-index:20;top:calc(100% + 4px);left:0;right:0;max-height:240px;overflow-y:auto;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg)}.assign-option{display:flex;align-items:center;gap:10px;width:100%;padding:7px 12px;border:0;background:none;text-align:left;cursor:pointer;color:inherit;transition:background .12s}.assign-option+.assign-option{border-top:1px solid var(--border)}.assign-option:hover,.assign-option[data-active=true]{background:var(--primary-soft)}.assign-option .who{min-width:0;overflow-wrap:anywhere}.assign-note-row{padding:10px 12px}.assign-option .avatar,.assign-chip .avatar{background:linear-gradient(135deg,#64748b,#475569)}.doc{max-width:190mm;margin:0 auto;padding:16mm 12mm 24mm;background:var(--surface);color:var(--text)}.doc-actions{display:flex;justify-content:space-between;gap:12px;margin-bottom:18px}.doc-head{border-bottom:2px solid var(--text);padding-bottom:10px;margin-bottom:18px}.doc-head h1{font-size:21px;letter-spacing:-.01em}.doc-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 28px;margin-top:10px}.doc-meta>div{display:flex;gap:8px;font-size:12.5px}.doc-meta span{color:var(--text-muted);min-width:96px}.doc-section{margin-bottom:22px}.doc-section h2{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border-strong);padding-bottom:4px;margin-bottom:10px}.doc-section h3{font-size:13px;margin-bottom:6px}.doc-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:14px}.doc-prose{margin-bottom:10px}.doc-prose h4{font-size:11.5px;color:var(--text-muted);font-weight:600;margin-bottom:2px}.doc-prose p{font-size:12.5px;line-height:1.45;white-space:pre-wrap}.doc-tbl{width:100%;border-collapse:collapse;font-size:12.5px}.doc-tbl th,.doc-tbl td{border:1px solid var(--border-strong);padding:5px 8px;text-align:left;vertical-align:top}.doc-tbl thead th{background:var(--surface-2);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.doc-tbl .num{text-align:center;width:68px}.doc-tbl.narrow{width:auto;min-width:280px}.doc-tbl .strong{font-weight:700}.doc-tbl tfoot th,.doc-tbl tfoot td{background:var(--surface-2);font-weight:700}.doc-sub{display:block;font-size:10.5px;color:var(--text-muted);font-weight:400}.doc-note{margin-top:8px;font-size:11.5px;color:var(--text-muted)}.doc-sign p{font-size:12.5px}@media (max-width: 700px){.doc{padding:20px 16px 40px}.doc-meta,.doc-cols{grid-template-columns:minmax(0,1fr)}}@media print{.no-print{display:none!important}.doc{max-width:none;margin:0;padding:0}.doc-tbl{page-break-inside:auto}.doc-tbl thead{display:table-header-group}.doc-tbl tr,.doc-section{page-break-inside:avoid}.doc-tbl thead th,.doc-tbl tfoot th,.doc-tbl tfoot td{background:#f1f5f9!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}@page{margin:16mm 14mm}}.plan-h{display:block;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:8px}.plan-prose{margin:4px 0 0;font-size:13px;line-height:1.5;color:var(--text);white-space:pre-wrap}.plan-state{border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;background:var(--surface-2)}.plan-state-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.plan-facts{display:grid;gap:4px 18px;margin:12px 0 0}.plan-facts dt{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.plan-facts dd{margin:0 0 8px;font-size:13px}.plan-facts dd:last-child{margin-bottom:0}.plan-objectives,.plan-checkins{display:flex;flex-direction:column;gap:8px}.plan-objective{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:11px 13px;border-left-width:3px}.plan-objective[data-outcome=open]{border-left-color:var(--border-strong)}.plan-objective[data-outcome=met]{border-left-color:#059669}.plan-objective[data-outcome=not_met]{border-left-color:var(--danger)}.plan-objective-main{min-width:0}.plan-objective-verdict{flex-shrink:0}.plan-checkin{border-left:2px solid var(--border-strong);padding:2px 0 2px 12px}.plan-checkin-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.plan-mark{display:flex;align-items:center;gap:8px;margin-top:6px;flex-wrap:wrap}.plan-mark-picker{display:flex;flex-direction:column;gap:8px}.plan-mark-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.plan-mark-row .btn[aria-pressed=true]{border-color:var(--primary);background:var(--surface)}.plan-outcomes{display:flex;flex-direction:column;gap:8px}.sys{max-width:1180px}.sys-eyebrow{margin:0 0 12px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.sys-hero{margin:0;font-size:30px;line-height:1.21;letter-spacing:-.021em;font-weight:640;color:var(--ink);max-width:22ch;text-wrap:balance}.sys-evidence{margin:14px 0 0;padding-left:13px;font-family:var(--mono);font-size:12.5px;color:var(--text-muted);border-left:2px solid var(--border-strong);overflow-x:auto;white-space:nowrap}.sys-evidence.bad{border-left-color:var(--danger)}.sys-sub{margin:15px 0 0;color:var(--text-muted);max-width:60ch}.sys-pulse{margin-top:26px;padding:15px 17px 13px}.sys-pulse-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:13px;flex-wrap:wrap}.sys-pulse-head h3{margin:0;font-size:13px;font-weight:640;color:var(--ink)}.sys-meta{margin:0;font-family:var(--mono);font-size:11.5px;color:var(--text-muted)}.sys-bars{display:flex;align-items:flex-end;gap:5px;height:60px;margin:0;padding:0;list-style:none}.sys-bars li{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end}.sys-bars i{display:flex;flex-direction:column;justify-content:flex-end;width:100%;height:var(--h);min-height:3px;border-radius:2px 2px 0 0;overflow:hidden;transform-origin:bottom;animation:sys-rise .42s cubic-bezier(.2,.7,.3,1) backwards}.sys-bars i b{display:block;background:var(--sys-bar-work);height:var(--work)}.sys-bars i u{display:block;background:var(--sys-bar);height:var(--sign)}.sys-bars li.void i{height:2px;min-height:0;border-bottom:2px dotted var(--border-strong);animation:none}.sys-bars li:hover i{filter:brightness(.94)}.sys-bars li s{display:block;height:3px;margin-top:3px;border-radius:2px;background:transparent}.sys-bars li.bad s{background:var(--danger)}.sys-bars li.today i{outline:1px solid var(--sys-bar-work);outline-offset:-1px}@keyframes sys-rise{0%{transform:scaleY(.02)}to{transform:scaleY(1)}}.sys-axis{display:flex;justify-content:space-between;margin-top:7px;font-family:var(--mono);font-size:10.5px;color:var(--text-muted)}.sys-legend{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:11px;padding-top:11px;border-top:1px solid var(--border);font-size:12px;color:var(--text-muted)}.sys-legend b{color:var(--ink);font-weight:560}.sys-key{display:inline-flex;align-items:center;gap:6px}.sys-key s{width:9px;height:9px;border-radius:2px;background:var(--sys-bar);display:inline-block}.sys-key s.work{background:var(--sys-bar-work)}.sys-key s.bad{background:var(--danger);width:12px;height:3px}.sys-cols{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start;margin-top:26px}.sys-col-head{margin:0 0 3px;font-size:14px;font-weight:640;color:var(--ink)}.sys-col-note{margin:0 0 13px;font-size:12.5px;color:var(--text-muted)}.sys-col>.sys-card+.sys-card{margin-top:14px}.sys-card{padding:16px 17px 15px}.sys-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.sys-card-top h3{margin:0;font-size:13px;font-weight:640;color:var(--ink)}.sys-answer{margin:0;font-size:16.5px;line-height:1.36;font-weight:560;color:var(--ink);letter-spacing:-.01em}.sys-answer.quiet{font-weight:500;color:var(--text)}.sys-note{margin:9px 0 0;color:var(--text-muted);font-size:13px}.sys-note code,.sys-rows code{font-family:var(--mono);font-size:12px;color:var(--text)}.sys-lamp{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-family:var(--mono);font-size:11.5px;color:var(--text-muted)}.sys-lamp i{width:7px;height:7px;border-radius:50%;background:var(--sys-idle);flex:none}.sys-lamp.ok i{background:var(--success)}.sys-lamp.warn i{background:var(--warning)}.sys-lamp.bad i{background:var(--danger)}.sys-lamp.ok{color:#047857}.sys-lamp.warn{color:#a16207}.sys-lamp.bad{color:#b91c1c}.sys-rows{margin:12px 0 0;padding:0;list-style:none;border-top:1px solid var(--border)}.sys-rows li{display:flex;justify-content:space-between;gap:16px;padding:7px 0;border-bottom:1px solid var(--border)}.sys-rows li:last-child{border-bottom:0;padding-bottom:0}.sys-rows .k{color:var(--text-muted);font-size:13px}.sys-rows .v{font-family:var(--mono);font-size:12.5px;color:var(--text);text-align:right}.sys-rows .v.dim{color:var(--text-muted)}.sys-fault{margin:11px 0 0;padding:10px 12px;border-radius:var(--radius-sm);background:#fef2f2;border:1px solid #fecaca;font-family:var(--mono);font-size:12px;color:#991b1b;overflow-x:auto;white-space:nowrap}.sys-caution{margin:11px 0 0;padding:10px 12px;border-radius:var(--radius-sm);background:#fffbeb;border:1px solid #fde68a;font-size:12.5px;color:#854d0e}.sys-caution b{font-weight:640}.sys-actions{display:flex;align-items:center;gap:10px;margin-top:14px;flex-wrap:wrap}.sys-ledger{margin-top:12px;border-top:1px solid var(--border);font-family:var(--mono);font-size:12px}.sys-ledger .row{display:grid;grid-template-columns:46px 46px 1fr;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);align-items:baseline}.sys-ledger .row:last-child{border-bottom:0}.sys-ledger .t{color:var(--text-muted)}.sys-ledger .tag{font-size:10.5px;text-align:center;padding:1px 0;border-radius:4px;background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.sys-ledger .tag.client{background:#f5f3ff;color:#6d28d9;border-color:#ddd6fe}.sys-ledger .what{min-width:0}.sys-ledger .what b{display:block;font-weight:500;color:var(--text)}.sys-ledger .what span{display:block;color:var(--text-muted)}.sys-ledger .what b,.sys-ledger .what span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sys-setup{margin-top:26px;padding:15px 17px}.sys-setup h3{margin:0 0 12px;font-size:13px;font-weight:640;color:var(--ink)}.sys-setup dl{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(178px,1fr));gap:13px 22px}.sys-setup dt{margin-bottom:2px;font-size:12px;color:var(--text-muted)}.sys-setup dd{margin:0;font-family:var(--mono);font-size:12.5px;color:var(--text)}.sys-setup dd.dim{color:var(--text-muted)}.sys-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:22px;color:var(--text-muted);font-size:12.5px}.sys-strip{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--warning);border-radius:var(--radius-sm);box-shadow:var(--shadow)}.sys-strip.critical{border-left-color:var(--danger)}.sys-strip p{margin:0;flex:1;min-width:220px}.sys-strip .fix,.sys-strip .more{color:var(--text-muted);font-size:12.5px}.sync-verdict{margin:0 0 8px;font-weight:560;color:#b91c1c}.crash{display:grid;place-items:center;min-height:100vh;padding:24px;background:var(--bg)}.crash-card{max-width:520px;padding:34px 30px;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.crash-card h1{margin:0 0 8px;font-size:21px;font-weight:640;color:var(--ink);letter-spacing:-.01em}.crash-card p{margin:0 auto;max-width:44ch;color:var(--text-muted)}.crash-said{display:inline-block;margin-top:16px;padding:8px 12px;max-width:100%;font-family:var(--mono);font-size:12px;color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);overflow-x:auto;white-space:nowrap}.crash-actions{display:flex;justify-content:center;gap:10px;margin-top:20px;flex-wrap:wrap}.crash-note{margin-top:16px;font-size:12.5px;color:var(--text-muted)}@media (max-width: 1080px){.sys-cols{grid-template-columns:1fr;gap:18px}}@media (max-width: 720px){.plan-objective{flex-direction:column;align-items:stretch}.plan-mark-row{flex-direction:column;align-items:stretch;gap:8px}}.audit-bar{display:flex;align-items:flex-end;gap:22px;flex-wrap:wrap;padding:14px 18px}.audit-bar-sub{padding-top:0;gap:14px;border-top:0}.audit-bar-sub .field{margin-bottom:0;min-width:150px}.audit-lbl{display:block;margin-bottom:5px;font-weight:550;font-size:13px;color:var(--text)}.audit-selects{display:flex;gap:14px;flex-wrap:wrap;flex:1 1 320px}.audit-selects .field{margin-bottom:0;flex:1 1 170px;min-width:0}.audit-selects .field:last-child{flex:0 1 130px}.audit-segments{display:inline-flex;border:1px solid var(--border-strong);border-radius:var(--radius-sm);overflow:hidden;background:var(--surface)}.audit-segment{padding:8px 13px;border:0;border-left:1px solid var(--border);background:transparent;color:var(--text-muted);font:inherit;font-size:12.5px;font-weight:550;white-space:nowrap;cursor:pointer;transition:background .12s,color .12s}.audit-segment:first-child{border-left:0}.audit-segment:hover{background:var(--surface-2);color:var(--text)}.audit-segment[aria-pressed=true]{background:var(--surface);color:var(--ink);font-weight:650;box-shadow:inset 0 -2px 0 var(--primary)}.audit-chips{display:flex;gap:8px;flex-wrap:wrap;padding:0 18px 14px}.audit-chip{padding:5px 11px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--text-muted);font:inherit;font-size:12px;font-weight:550;cursor:pointer;transition:border-color .12s,color .12s,background .12s}.audit-chip:hover{color:var(--text);background:var(--surface)}.audit-chip[aria-pressed=true]{border-color:var(--primary);color:var(--ink);background:var(--surface)}.audit-day-group{border-top:1px solid var(--border)}.audit-day{position:sticky;top:0;z-index:2;padding:7px 18px;background:var(--surface-2);border-bottom:1px solid var(--border);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted)}.audit-entry{display:grid;grid-template-columns:58px 150px 1fr auto;gap:2px 14px;align-items:baseline;padding:9px 18px;border-bottom:1px solid var(--border)}.audit-day-group:last-of-type .audit-entry:last-child{border-bottom:0}.audit-entry:hover{background:var(--surface-2)}.audit-time{font-size:12.5px;font-variant-numeric:tabular-nums;color:var(--text-muted)}.audit-actor{font-size:13px;font-weight:600;color:var(--ink);overflow-wrap:anywhere}.audit-action{font-size:13px}.audit-record{font-size:12.5px;color:var(--text-muted);text-align:right;overflow-wrap:anywhere}.audit-record a{text-decoration:underline;text-underline-offset:2px}.audit-record a:hover{color:var(--ink)}.audit-body{grid-column:2 / -1;display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 16px;margin-top:1px}.audit-fact{display:inline-flex;align-items:baseline;gap:6px;min-width:0;font-size:12.5px}.audit-fact-label{color:var(--text-muted);flex-shrink:0}.audit-val{overflow-wrap:anywhere;font-family:var(--mono);font-size:12px}.audit-change{display:inline-flex;align-items:baseline;gap:7px;min-width:0;font-family:var(--mono);font-size:12px}.audit-was{color:var(--text-muted);overflow-wrap:anywhere}.audit-arrow{color:var(--border-strong);flex-shrink:0}.audit-now{color:var(--ink);font-weight:600;overflow-wrap:anywhere}.audit-more{padding:0;border:0;background:none;cursor:pointer;font:inherit;font-size:11.5px;font-weight:600;color:var(--text-muted);text-decoration:underline;text-underline-offset:2px}.audit-more:hover{color:var(--text)}.audit-raw{flex-basis:100%;margin:4px 0 2px;padding:10px 12px;overflow-x:auto;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--mono);font-size:11.5px;line-height:1.45;white-space:pre}@media (max-width: 860px){.audit-entry{grid-template-columns:52px 1fr;gap:1px 12px;padding:10px 16px}.audit-actor,.audit-action,.audit-record{grid-column:2;text-align:left}.audit-record{order:3}.audit-body{grid-column:2}.audit-day,.audit-bar,.audit-chips{padding-left:16px;padding-right:16px}.audit-selects{flex:1 1 100%}.audit-selects .field:last-child{flex:1 1 100%}.audit-segments{width:100%}.audit-segment{flex:1;padding:8px 6px;text-align:center}}@media (min-width: 1600px){.content{max-width:1360px}}@media (max-width: 1024px){.grid.cols-4{grid-template-columns:repeat(2,1fr)}}@media (max-width: 900px){.grid.cols-3{grid-template-columns:repeat(2,1fr)}.content{padding:18px 16px}.topbar{padding:0 16px}.nav-toggle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:38px;height:38px;padding:0;font-size:17px;line-height:1;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);cursor:pointer}.nav-toggle:hover{background:var(--surface-2)}.sidebar{position:fixed;top:0;left:0;z-index:60;height:100vh;height:100dvh;width:min(82vw,300px);transform:translate(-100%);transition:transform .22s ease;will-change:transform;padding-bottom:env(safe-area-inset-bottom)}.sidebar.open{transform:translate(0);box-shadow:var(--shadow-lg)}.nav-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;border:0;padding:0;background:#0f172a73;opacity:0;pointer-events:none;transition:opacity .22s ease;cursor:pointer}.nav-scrim.show{opacity:1;pointer-events:auto}body.nav-open{overflow:hidden}}@media (max-width: 760px){.grid.cols-2{grid-template-columns:1fr}}@media (max-width: 640px){.grid{gap:12px}.grid.cols-3{grid-template-columns:1fr}.content{padding:14px 12px calc(20px + env(safe-area-inset-bottom))}.topbar{height:56px;padding:0 12px}.topbar h2{font-size:15.5px}.topbar .right{gap:8px}.select.cycle-picker{min-width:0;max-width:132px;padding:0 24px 0 8px}.page-head{margin-bottom:16px;gap:10px}.page-head h1{font-size:19px}.page-head p{font-size:13.5px}.page-head .actions{width:100%}.page-head .actions .input,.page-head .actions .select{flex:1 1 150px;width:auto;min-width:0}.table-wrap.stack{overflow-x:visible}.table-wrap.stack>table.tbl{min-width:0}.table-wrap.stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.table-wrap.stack tr{display:block;padding:11px 0;border-bottom:1px solid var(--border)}.table-wrap.stack tr:last-child{border-bottom:0}.table-wrap.stack td{display:flex;gap:12px;align-items:baseline;border:0;padding:3px 14px}.table-wrap.stack td:first-child{display:block;padding-bottom:7px}.table-wrap.stack td[data-label]:before{content:attr(data-label);flex:0 0 92px;font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.table-wrap.stack td:not([data-label]):last-child{padding-top:8px;text-align:left}.table-wrap.stack td:not([data-label]):last-child .btn{width:100%;justify-content:center}.table-wrap.stack tr.clickable{cursor:pointer}.card-head{padding:13px 14px}.card-body,.card-pad,.stat{padding:14px}.stat .value{font-size:23px}table.tbl th{padding:9px 10px;font-size:11px}table.tbl td{padding:10px}.input,.select,.textarea{font-size:16px;padding:10px 12px}.row>*{flex:1 1 100%}.modal-overlay{padding:0;align-items:end;justify-items:stretch}.modal{max-width:none;max-height:92vh;max-height:92dvh;border-radius:16px 16px 0 0}.modal .card-body:last-child{padding-bottom:calc(14px + env(safe-area-inset-bottom))}.modal-foot{padding:12px 14px calc(12px + env(safe-area-inset-bottom))}.modal-foot .foot-actions .btn{flex:1 1 0;justify-content:center}.form-section+.form-section{margin-top:18px;padding-top:16px}.bar-row{grid-template-columns:84px 1fr 30px;gap:8px;font-size:13px}.empty{padding:32px 16px}.auth-wrap{padding:20px 14px}.auth-card{padding:26px 20px}.auth-logo{height:26px;margin-bottom:14px}.auth-title{font-size:26px}.auth-footer{margin-top:22px}}@media (max-width: 420px){.content{padding:12px 10px calc(18px + env(safe-area-inset-bottom))}.page-head h1{font-size:17.5px}.bar-row{grid-template-columns:68px 1fr 26px}.btn{padding:8px 12px}}@media (max-width: 360px){.grid.cols-4{grid-template-columns:1fr}}@media (hover: none){.btn,.btn.sm{min-height:44px}.nav a{padding:13px 12px}.auth-demo button{padding:12px}.btn.ghost.sm,.modal-close{min-width:44px;justify-content:center}table.tbl tr.clickable:hover{background:transparent}.perm-cell{height:38px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.spinner{animation-duration:1.2s!important;animation-iteration-count:infinite!important}}
