:root,:root[data-theme=light]{--bg: hsl(45 36.4% 95.7%);--fg: hsl(60 7% 8.4%);--card: hsl(42.9 100% 98.6%);--popover: hsl(42.9 100% 98.6%);--primary: hsl(344.8 74.6% 47.8%);--primary-fg: hsl(0 0% 100%);--orange: hsl(32.1 94.6% 43.7%);--accent: hsl(38 70% 90%);--accent-fg: hsl(33.9 100% 30.2%);--muted: hsl(43.6 26.8% 92%);--muted-fg: hsl(43.6 5.8% 37.1%);--border: hsl(42.9 17.9% 84.7%);--input: hsl(40 14.3% 75.3%);--destructive: hsl(0 72% 48%);--success: hsl(150 58% 36%);--warning: hsl(32 92% 44%);--info: hsl(200 80% 40%);--surface-2: hsl(43.6 26.8% 92%);--surface-3: hsl(42.9 17.9% 84.7%);--scrim: hsl(60 5.9% 6.7% / .35);--shadow: hsl(60 5.9% 6.7% / .18);--font-sans: "Manrope", ui-sans-serif, system-ui, sans-serif;--font-display: "Space Grotesk", "Manrope", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;color-scheme:light}:root[data-theme=dark]{--bg: hsl(90 3.7% 10.6%);--fg: hsl(45 37.5% 93.7%);--card: hsl(75 5% 15.7%);--popover: hsl(75 6.1% 12.9%);--primary: hsl(345.9 99% 58.8%);--primary-fg: hsl(60 5.9% 6.7%);--orange: hsl(37.5 98.4% 50%);--accent: hsl(37.5 42% 19%);--accent-fg: hsl(37.5 98.4% 50%);--muted: hsl(75 5% 15.7%);--muted-fg: hsl(42.9 8.8% 68.6%);--border: hsl(70 5.3% 22.4%);--input: hsl(66.7 5.8% 30.4%);--destructive: hsl(0 70% 55%);--success: hsl(150 64% 46%);--warning: hsl(38 94% 58%);--info: hsl(198 82% 56%);--surface-2: hsl(75 6.1% 12.9%);--surface-3: hsl(70 5.3% 22.4%);--scrim: hsl(60 5.9% 6.7% / .72);--shadow: hsl(60 5.9% 6.7% / .5);color-scheme:dark}*{box-sizing:border-box;border-radius:0!important}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}::selection{background:var(--primary);color:var(--primary-fg)}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;margin:0}a{color:inherit}code,pre,.mono{font-family:var(--font-mono)}.app-shell{display:flex;height:100%;overflow:hidden}.sidebar{width:220px;flex-shrink:0;transition:width .18s ease-out;background:var(--surface-2);border-right:1px solid var(--border);display:flex;flex-direction:column}.sidebar-brand{height:60px;flex-shrink:0;padding:0 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit}.sidebar-brand:hover .brand-name{color:var(--primary)}.brand-mark{width:22px;height:22px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:2px;flex-shrink:0}.brand-mark span:nth-child(1){background:var(--primary)}.brand-mark span:nth-child(2){background:var(--orange)}.brand-mark span:nth-child(3){background:var(--fg);grid-column:1 / -1}.brand-name{font-family:var(--font-display);font-weight:700;font-size:15px;letter-spacing:.02em}.brand-name em{color:var(--primary);font-style:normal}.sidebar nav{flex:1;overflow-y:auto;padding:6px 0 8px}.nav-section{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted-fg);padding:8px 16px 2px}.nav-link{display:flex;align-items:center;gap:10px;padding:2px 16px;text-decoration:none;color:var(--muted-fg);font-weight:600;font-size:13px;border-left:2px solid transparent}.nav-link:hover{color:var(--fg);background:var(--card)}.nav-link.active{color:var(--fg);background:var(--card);border-left-color:var(--primary)}.nav-link .nav-count{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:var(--muted-fg)}.sidebar-footer{border-top:1px solid var(--border);padding:12px 16px;font-size:12px;color:var(--muted-fg);display:flex;align-items:center;justify-content:space-between}.sidebar-footer button{background:none;border:none;color:var(--muted-fg);cursor:pointer;font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;padding:2px 0}.sidebar-footer button:hover{color:var(--primary)}.rail-toggle{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:7px 16px;background:none;border:none;border-top:1px solid var(--border);cursor:pointer;font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted-fg)}.rail-toggle:hover{color:var(--primary);background:var(--card)}.sidebar.rail{width:60px}.sidebar.rail .brand-name,.sidebar.rail .nav-section,.sidebar.rail .nav-link span.lbl,.sidebar.rail .nav-count,.sidebar.rail .rail-toggle .lbl,.sidebar.rail .sidebar-footer span{display:none}.sidebar.rail .sidebar-brand,.sidebar.rail .nav-link,.sidebar.rail .rail-toggle,.sidebar.rail .sidebar-footer{justify-content:center;padding-left:0;padding-right:0}.sidebar.rail .nav-link{padding-right:2px}.main{flex:1;display:flex;flex-direction:column;min-width:0}.topbar{height:60px;flex-shrink:0;border-bottom:1px solid var(--border);background:var(--surface-2);display:flex;align-items:center;gap:16px;padding:0 20px}.topbar h1{font-size:16px;font-weight:600}.topbar .spacer{flex:1}.topbar .sys-chip{font-family:var(--font-mono);font-size:11px;color:var(--muted-fg);display:flex;align-items:center;gap:6px}.topbar .sys-chip .dot{width:7px;height:7px;background:var(--success);display:inline-block}.content{flex:1;overflow-y:auto;padding:24px}.card{background:var(--card);border:1px solid var(--border);padding:16px}.card-title{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted-fg);margin-bottom:12px}.grid{display:grid;gap:14px}.grid-4{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.grid-3{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.grid-2{grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}.stat-tile{background:var(--card);border:1px solid var(--border);padding:14px 16px;display:block;text-decoration:none}.stat-tile:hover{border-color:var(--input)}.stat-tile .stat-label{font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted-fg)}.stat-tile .stat-value{font-family:var(--font-display);font-size:30px;font-weight:700;line-height:1.15;margin-top:4px}.stat-tile .stat-value em{font-style:normal;color:var(--primary)}label.field{display:block;margin-bottom:12px}label.field>span{display:block;font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted-fg);margin-bottom:5px}input:not([type=checkbox]):not([type=radio]):not([type=file]),textarea,select{width:100%;background:var(--popover);border:1px solid var(--border);color:var(--fg);font-family:var(--font-sans);font-size:13.5px;line-height:1.4;padding:8px 10px;outline:none;transition:border-color .12s ease}input:not([type=checkbox]):not([type=radio]):not([type=file]),select{height:38px}textarea{font-family:var(--font-mono);font-size:12.5px;line-height:1.55;resize:vertical}input:not([type=checkbox]):not([type=radio]):not([type=file]):hover,textarea:hover,select:hover,input:focus,textarea:focus,select:focus{border-color:var(--primary)}input[type=date]{min-height:0;-moz-appearance:none;appearance:none;-webkit-appearance:none}input[type=date]::-webkit-calendar-picker-indicator{opacity:.55;cursor:pointer}input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}:root[data-theme=dark] input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.9)}.btn{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-display);font-weight:600;font-size:13px;padding:8px 14px;cursor:pointer;border:1px solid var(--border);background:var(--card);color:var(--fg);text-decoration:none}.btn:hover{border-color:var(--input)}.btn-primary{background:var(--primary);color:var(--primary-fg);border-color:var(--primary)}.btn-primary:hover{filter:brightness(1.08);border-color:var(--primary)}.btn-danger{color:var(--destructive)}.btn-danger:hover{border-color:var(--destructive)}.btn-sm{padding:4px 9px;font-size:12px}.btn:disabled{opacity:.5;cursor:default}.chip{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;padding:2px 7px;border:1px solid var(--border);color:var(--muted-fg);background:var(--surface-2)}.chip-primary{color:var(--primary);border-color:var(--primary);background:transparent}.chip-orange{color:var(--orange);border-color:var(--orange);background:transparent}.chip-success{color:var(--success);border-color:var(--success);background:transparent}.chip-warning{color:var(--warning);border-color:var(--warning);background:transparent}.chip-danger{color:var(--destructive);border-color:var(--destructive);background:transparent}.status-dot{width:8px;height:8px;display:inline-block;flex-shrink:0}.status-dot.on{background:var(--success)}.status-dot.off{background:var(--input)}table.data{width:100%;border-collapse:collapse}table.data th{text-align:left;font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted-fg);font-weight:500;padding:8px 10px;border-bottom:1px solid var(--border)}table.data td{padding:9px 10px;border-bottom:1px solid var(--border);vertical-align:middle;font-size:13.5px}table.data tr:hover td{background:var(--surface-2)}table.data tr.clickable{cursor:pointer}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);display:flex;align-items:flex-start;justify-content:center;padding:7vh 20px 20px;z-index:50;overflow-y:auto}.modal{background:var(--popover);border:1px solid var(--border);width:100%;max-width:620px;padding:20px;box-shadow:6px 6px 0 var(--shadow)}.modal-wide{max-width:900px}.modal h2{font-size:16px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between}.modal h2 button{background:none;border:none;color:var(--muted-fg);font-size:18px;cursor:pointer}.md-body{font-size:14px;line-height:1.65}.md-body h1,.md-body h2,.md-body h3{margin:1.2em 0 .5em}.md-body h1{font-size:22px;border-bottom:1px solid var(--border);padding-bottom:6px}.md-body h2{font-size:18px}.md-body h3{font-size:15px}.md-body code{background:var(--surface-2);border:1px solid var(--border);padding:1px 5px;font-size:12.5px}.md-body pre{background:var(--surface-2);border:1px solid var(--border);padding:12px;overflow-x:auto}.md-body pre code{background:none;border:none;padding:0}.md-body a{color:var(--primary)}.md-body blockquote{border-left:2px solid var(--orange);margin:.8em 0;padding:2px 14px;color:var(--muted-fg)}.md-body table{border-collapse:collapse}.md-body th,.md-body td{border:1px solid var(--border);padding:5px 10px}.md-body img{max-width:100%}.toolbar{display:flex;align-items:center;gap:10px;margin-bottom:18px;flex-wrap:wrap}.toolbar input{max-width:300px}.toolbar .spacer{flex:1}.empty{border:1px dashed var(--border);padding:40px;text-align:center;color:var(--muted-fg);font-size:13.5px}.kv{display:grid;grid-template-columns:130px 1fr;gap:4px 14px;font-size:13.5px}.kv dt{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted-fg);padding-top:2px}.kv dd{margin:0;word-break:break-all}.secret-cell{font-family:var(--font-mono);font-size:12.5px;display:flex;align-items:center;gap:8px}.secret-cell button{background:none;border:1px solid var(--border);color:var(--muted-fg);font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;padding:2px 6px;cursor:pointer}.secret-cell button:hover{color:var(--orange);border-color:var(--orange)}.tag-row{display:flex;flex-wrap:wrap;gap:5px}.avatar{width:40px;height:40px;object-fit:cover;border:1px solid var(--border);background:var(--surface-2)}.avatar-placeholder{display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;color:var(--orange);background:var(--accent)}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.gallery img{width:100%;aspect-ratio:1;object-fit:cover;border:1px solid var(--border);cursor:pointer}.login-screen{height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg)}.login-box{width:360px;background:var(--card);border:1px solid var(--border);padding:28px;box-shadow:8px 8px 0 var(--shadow)}.login-box .brand-mark{width:34px;height:34px;margin-bottom:14px}.login-box h1{font-size:20px;margin-bottom:2px}.login-box p.sub{color:var(--muted-fg);font-size:12.5px;margin:0 0 20px;font-family:var(--font-mono)}.login-error{color:var(--destructive);font-size:12.5px;font-family:var(--font-mono);margin-bottom:10px}.sparkline{display:block}.meter{height:6px;background:var(--surface-3);position:relative;overflow:hidden}.meter>span{position:absolute;inset:0 auto 0 0;background:var(--success)}.meter.warn>span{background:var(--warning)}.meter.crit>span{background:var(--destructive)}.copy-flash{color:var(--success)!important;border-color:var(--success)!important}.theme-toggle{background:none;border:1px solid var(--border);color:var(--muted-fg);font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;padding:3px 8px;cursor:pointer}.theme-toggle:hover{color:var(--orange);border-color:var(--orange)}.clockweather{display:flex;align-items:center;gap:16px}.cw-weather{display:flex;align-items:center;gap:8px}.cw-glyph{font-size:20px;line-height:1}.cw-temp{font-family:var(--font-display);font-size:20px;font-weight:700}.cw-wmeta{display:flex;flex-direction:column;line-height:1.2;font-family:var(--font-mono);font-size:10.5px}.cw-clock{text-align:right;border-left:1px solid var(--border);padding-left:16px}.cw-time{font-family:var(--font-mono);font-size:20px;font-weight:600;letter-spacing:.02em;line-height:1;font-variant-numeric:tabular-nums}.cw-sec{font-size:12px;color:var(--muted-fg);margin-left:4px}.cw-date{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted-fg);margin-top:3px}@media(max-width:720px){.cw-wmeta,.cw-weather .muted{display:none}}.seg{display:inline-flex;border:1px solid var(--border)}.seg-btn{background:var(--card);border:none;border-right:1px solid var(--border);color:var(--muted-fg);font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;padding:6px 12px;cursor:pointer}.seg-btn:last-child{border-right:none}.seg-btn.active{background:var(--primary);color:var(--primary-fg)}.cal-month{border:1px solid var(--border);border-bottom:none}.cal-month-head{display:grid;grid-template-columns:repeat(7,1fr);background:var(--surface-2)}.cal-wd{padding:6px 8px;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted-fg);border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.cal-wd:last-child{border-right:none}.cal-month-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(104px,1fr)}.cal-cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:4px;cursor:pointer;overflow:hidden;min-height:104px}.cal-cell:nth-child(7n){border-right:none}.cal-cell:hover{background:var(--surface-2)}.cal-cell.out{background:color-mix(in srgb,var(--surface-2) 55%,transparent)}.cal-cell.out .cal-cell-num{color:var(--muted-fg);opacity:.5}.cal-cell.today{background:var(--accent)}.cal-cell-num{font-family:var(--font-display);font-weight:700;font-size:13px;padding:2px 4px}.cal-cell.today .cal-cell-num{color:var(--primary)}.cal-cell-events{display:flex;flex-direction:column;gap:2px}.cal-chip{display:flex;align-items:center;gap:4px;padding:1px 4px;font-size:11px;cursor:pointer;border-left:2px solid var(--c, var(--primary));background:color-mix(in srgb,var(--c, var(--primary)) 12%,transparent);overflow:hidden;white-space:nowrap}.cal-chip:hover{background:color-mix(in srgb,var(--c, var(--primary)) 24%,transparent)}.cal-chip.allday{background:var(--c, var(--primary));color:#fff;border-left:none;padding:1px 5px}.cal-chip-dot{width:6px;height:6px;background:var(--c);flex-shrink:0}.cal-chip-t{font-family:var(--font-mono);font-size:10px;color:var(--muted-fg);flex-shrink:0}.cal-chip.allday .cal-chip-t{color:#fff}.cal-chip-title{overflow:hidden;text-overflow:ellipsis;font-weight:500}.cal-more{font-family:var(--font-mono);font-size:10px;color:var(--muted-fg);padding:1px 4px}.cal-tg{border:1px solid var(--border);display:flex;flex-direction:column;height:calc(100vh - 168px)}.cal-tg-head{display:grid;border-bottom:1px solid var(--border)}.cal-tg-day{padding:6px;text-align:center;border-left:1px solid var(--border);display:flex;flex-direction:column;gap:1px}.cal-tg-day.today{background:var(--accent)}.cal-tg-wd{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted-fg)}.cal-tg-num{font-family:var(--font-display);font-weight:700;font-size:16px}.cal-tg-day.today .cal-tg-num{color:var(--primary)}.cal-tg-allday{display:grid;border-bottom:1px solid var(--border);min-height:26px}.cal-tg-axis-lbl{font-family:var(--font-mono);font-size:9px;text-transform:uppercase;color:var(--muted-fg);padding:4px;display:flex;align-items:center}.cal-tg-allday-cell{border-left:1px solid var(--border);padding:2px;display:flex;flex-direction:column;gap:2px}.cal-tg-body{flex:1;overflow-y:auto}.cal-tg-grid{display:grid;position:relative}.cal-tg-axis{border-right:1px solid var(--border)}.cal-tg-hour{font-family:var(--font-mono);font-size:10px;color:var(--muted-fg);text-align:right;padding-right:6px;border-bottom:1px solid var(--border);transform:translateY(-6px)}.cal-tg-col{position:relative;border-left:1px solid var(--border);cursor:pointer}.cal-tg-slot{border-bottom:1px solid var(--border)}.cal-tg-col:hover .cal-tg-slot{background:color-mix(in srgb,var(--surface-2) 40%,transparent)}.cal-tg-event{position:absolute;left:2px;right:2px;background:var(--c, var(--primary));color:#fff;padding:2px 5px;overflow:hidden;cursor:pointer;border-left:3px solid rgba(0,0,0,.25);z-index:2}.cal-tg-event:hover{filter:brightness(1.08)}.cal-tg-event-t{display:block;font-family:var(--font-mono);font-size:9.5px;opacity:.9}.cal-tg-event-title{display:block;font-size:12px;font-weight:600;line-height:1.2}.reminders{position:relative}.rem-bell{position:relative;background:none;border:1px solid var(--border);color:var(--muted-fg);font-size:15px;width:30px;height:28px;cursor:pointer;display:flex;align-items:center;justify-content:center}.rem-bell:hover{color:var(--orange);border-color:var(--orange)}.rem-badge{position:absolute;top:-7px;right:-7px;background:var(--primary);color:var(--primary-fg);font-family:var(--font-mono);font-size:9px;font-weight:700;min-width:15px;height:15px;display:flex;align-items:center;justify-content:center;padding:0 3px}.rem-drop{position:absolute;top:36px;right:0;width:320px;background:var(--popover);border:1px solid var(--border);box-shadow:6px 6px 0 var(--shadow);z-index:60}.rem-head{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted-fg);padding:10px 12px;border-bottom:1px solid var(--border)}.rem-empty{padding:18px 12px;color:var(--muted-fg);font-size:13px}.rem-item{display:flex;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border);cursor:pointer}.rem-item:last-child{border-bottom:none}.rem-item:hover{background:var(--surface-2)}.rem-icon{font-size:16px}.rem-title{font-weight:600;font-size:13px}.rem-meta{color:var(--muted-fg);margin-top:1px}.rec-card{display:block;border:1px solid var(--border);background:var(--card)}.rec-card:hover{border-color:var(--input)}.rec-photo{position:relative;aspect-ratio:4 / 3;background:var(--surface-2);overflow:hidden;border-bottom:1px solid var(--border)}.rec-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(.35) contrast(1.05)}.rec-photo-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:42px;color:var(--muted-fg);background:repeating-linear-gradient(45deg,var(--surface-2),var(--surface-2) 8px,var(--surface-3) 8px,var(--surface-3) 16px)}.rec-class{position:absolute;top:0;left:0;font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.1em;padding:2px 6px;background:var(--muted-fg);color:var(--bg)}.rec-class.sec{background:var(--warning);color:#1a1a1a}.rec-class.ts{background:var(--destructive);color:#fff}.rec-body{padding:10px 12px}.rec-name{font-family:var(--font-display);font-weight:700;font-size:15px}.rec-meta{display:flex;align-items:center;gap:8px;margin-top:8px}.rec-status{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.08em;padding:1px 6px;border:1px solid currentColor}.rec-status.ACTIVE{color:var(--success)}.rec-status.MONITORED{color:var(--warning)}.rec-status.INACTIVE,.rec-status.ARCHIVED{color:var(--muted-fg)}.dossier{border:1px solid var(--border);background:var(--card)}.dossier-banner{display:flex;align-items:center;gap:14px;padding:6px 16px;font-family:var(--font-mono);font-weight:700;font-size:13px;letter-spacing:.18em;color:#fff}.dossier-banner .dossier-casefile{font-weight:500;letter-spacing:.1em;font-size:11px;opacity:.85}.dossier-banner .rec-status{margin-left:auto;color:#fff;border-color:#fff9}.dossier-banner.top-secret{background:repeating-linear-gradient(45deg,#b00020,#b00020 14px,#8a0018 14px,#8a0018 28px)}.dossier-banner.secret{background:repeating-linear-gradient(45deg,#c76a0b,#c76a0b 14px,#a85806 14px,#a85806 28px)}.dossier-banner.confidential{background:#3a3d37}.dossier-banner.unclassified{background:var(--muted-fg)}.dossier-top{display:grid;grid-template-columns:220px 1fr;gap:20px;padding:18px}.dossier-photo-col{display:flex;flex-direction:column;gap:8px}.dossier-mug{position:relative;aspect-ratio:3 / 4;background:var(--surface-2);border:1px solid var(--border);overflow:hidden;cursor:pointer}.dossier-mug img{width:100%;height:100%;object-fit:cover;filter:grayscale(.45) contrast(1.08)}.dossier-mug-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--font-mono);font-size:13px;letter-spacing:.15em;color:var(--muted-fg);background:repeating-linear-gradient(45deg,var(--surface-2),var(--surface-2) 8px,var(--surface-3) 8px,var(--surface-3) 16px)}.mug-scale{position:absolute;bottom:0;left:0;right:0;font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;color:#fff;background:#0000008c;padding:2px 6px;display:flex;justify-content:space-between}.mug-strip{display:flex;flex-wrap:wrap;gap:5px}.mug-strip img{width:44px;height:44px;object-fit:cover;border:1px solid var(--border);cursor:pointer;filter:grayscale(.3)}.mug-add{width:44px;height:44px;border:1px dashed var(--input);background:var(--surface-2);color:var(--muted-fg);font-size:18px;cursor:pointer}.mug-add:hover{border-color:var(--primary);color:var(--primary)}.dossier-subject{font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;color:var(--muted-fg)}.dossier-name{font-family:var(--font-display);font-size:30px;font-weight:700;line-height:1.1;margin:2px 0}.dossier-alias{font-family:var(--font-mono);font-size:12px;color:var(--orange);margin-bottom:12px;letter-spacing:.05em}.dossier-fields{display:grid;grid-template-columns:130px 1fr;gap:0;margin-top:10px;border-top:1px solid var(--border)}.dossier-fields dt{font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted-fg);padding:6px 0;border-bottom:1px solid var(--border)}.dossier-fields dd{margin:0;padding:6px 0;border-bottom:1px solid var(--border);font-size:13.5px;font-family:var(--font-mono)}.redacted{background:var(--fg);color:var(--fg);opacity:.25;letter-spacing:.1em}.dossier-sec{margin-bottom:14px}.dossier-line{padding:5px 0;border-bottom:1px solid var(--border)}.console-split{display:grid;grid-template-columns:300px 1fr;gap:14px;align-items:start;height:calc(100vh - 148px)}.console-list{border:1px solid var(--border);background:var(--card);height:100%;overflow-y:auto;padding:8px}.sess-item{display:block;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--border);padding:9px 6px;cursor:pointer;color:var(--fg)}.sess-item:hover{background:var(--surface-2)}.sess-item.active{background:var(--accent);border-left:2px solid var(--primary)}.sess-proj{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--orange)}.sess-title{font-weight:600;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:1px 0}.sess-meta{color:var(--muted-fg)}.console-view{border:1px solid var(--border);background:var(--card);height:100%;overflow-y:auto}.console-view-head{position:sticky;top:0;background:var(--surface-2);border-bottom:1px solid var(--border);padding:12px 16px;display:flex;align-items:center;gap:10px;z-index:1}.chat-log{padding:8px 16px 24px}.chat-turn{padding:12px 0;border-bottom:1px solid var(--border)}.chat-role{font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:5px}.chat-turn.user .chat-role{color:var(--primary)}.chat-turn.assistant .chat-role{color:var(--info)}.chat-turn.user .chat-bubble{border-left:2px solid var(--primary);padding-left:12px}.chat-turn.assistant .chat-bubble{border-left:2px solid var(--border);padding-left:12px}.chat-bubble .md-body{font-size:13.5px}.tool-chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;background:var(--surface-2);border:1px solid var(--border);padding:2px 8px;margin:3px 4px 0 0}.proj-panel{display:flex;flex-direction:column;height:100%}.proj-head{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--surface-2);position:sticky;top:0;z-index:1}.proj-body{flex:1;overflow:hidden}.pane-split{display:grid;grid-template-columns:240px 1fr;height:100%}.pane-list{border-right:1px solid var(--border);overflow-y:auto;padding:6px}.pane-view{overflow-y:auto;padding:16px}.tree-row{display:flex;align-items:center;gap:6px;width:100%;text-align:left;background:none;border:none;color:var(--fg);font-family:var(--font-mono);font-size:12px;padding:3px 6px;cursor:pointer;white-space:nowrap}.tree-row:hover:not(:disabled){background:var(--surface-2)}.tree-row.active{background:var(--accent);color:var(--accent-fg)}.tree-row:disabled{cursor:default}.tree-ic{width:12px;color:var(--muted-fg);flex-shrink:0}.tree-size{margin-left:auto;color:var(--muted-fg);font-size:10px;padding-left:8px}.md-editor{width:100%;min-height:55vh;height:auto;resize:vertical;font-family:var(--font-mono);font-size:12.5px;line-height:1.55}.apr-box{width:100%}.apr-row{display:flex;align-items:center;gap:8px;padding:6px 2px;border-bottom:1px solid var(--border);font-size:13px}.apr-row .apr-name{color:var(--fg);font-weight:600;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px}.apr-row .apr-name:hover{color:var(--primary);text-decoration:underline}.apr-push{cursor:pointer;border:1px solid var(--border);background:var(--surface-2)}.apr-push:hover{border-color:var(--primary);color:var(--primary)}.pl-step.pl-claude .pl-ico,.pl-step.pl-claude .pl-lbl{color:var(--primary)}.pl-step.pl-claude.active{border-color:var(--primary)}.proj-claude-embed{border:1px solid var(--border);background:var(--card);height:72vh;overflow:hidden;margin-bottom:16px}.action-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px}.action-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;background:var(--surface-2);border:1px solid var(--border);cursor:pointer;color:var(--fg)}.action-btn:hover{border-color:var(--primary);background:var(--accent)}.action-btn{position:relative}.action-btn.duration{border-style:dashed}.action-btn.folder{border-color:var(--orange);background:var(--accent)}.action-btn.folder:hover{border-color:var(--orange)}.action-btn.back-btn{border-style:dotted;opacity:.85}.action-ic{font-size:22px;line-height:1}.action-lbl{font-family:var(--font-mono);font-size:10.5px;text-align:center}.action-kind{position:absolute;top:3px;right:4px;font-size:8px;color:var(--primary)}.action-btn.folder .action-kind{color:var(--orange);font-size:9px}.crumbs{display:flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:11px}.crumb{background:none;border:none;color:var(--primary);cursor:pointer;padding:0;font-family:var(--font-mono);font-size:11px}.crumb:hover{text-decoration:underline}.crumb-sep{color:var(--muted-fg);margin:0 3px}.act-tree{border:1px solid var(--border)}.act-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-bottom:1px solid var(--border)}.act-row:last-child{border-bottom:none}.act-row:hover{background:var(--surface-2)}.act-toggle{width:18px;flex-shrink:0;background:none;border:none;color:var(--orange);font-size:12px;cursor:pointer;padding:0}.act-ic{font-size:18px;line-height:1}.act-name{font-weight:600;font-size:13.5px}.bk-server-head{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:var(--surface-2);border:none;border-bottom:1px solid var(--border);padding:12px 14px;cursor:pointer;color:var(--fg);font-size:14px}.bk-server-head:hover{background:var(--card)}.term-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#12121099;display:flex;align-items:center;justify-content:center;z-index:80;padding:24px}.term-window{width:min(1000px,96vw);height:min(640px,88vh);background:#12130f;border:1px solid var(--border);display:flex;flex-direction:column;box-shadow:8px 8px #12121080}.term-bar{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--surface-2);border-bottom:1px solid var(--border)}.term-body{flex:1;padding:6px 8px;overflow:hidden}.term-body .xterm{height:100%}.count-strip{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.count-chip{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;border:1px solid var(--border);background:var(--card);padding:3px 9px}.count-chip strong{color:var(--primary)}.inprog{padding:8px 0;border-bottom:1px solid var(--border);gap:10px}.inprog:last-child{border-bottom:none}.timer-elapsed{font-size:15px;font-weight:600;color:var(--primary);font-variant-numeric:tabular-nums}.crypto-ticker{display:flex;align-items:center;gap:14px;background:none;border:1px solid var(--border);cursor:pointer;padding:4px 10px;margin-left:16px}.crypto-ticker:hover{border-color:var(--input)}.tick{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:11.5px}.tick-sym{color:var(--muted-fg);font-weight:700}.tick-price{color:var(--fg)}.tick-up{color:var(--success)}.tick-down{color:var(--destructive)}@media(max-width:720px){.crypto-ticker .tick:nth-child(n+3){display:none}}@media(max-width:520px){.crypto-ticker{display:none}}.quicklog{display:flex;align-items:center;gap:10px;height:44px;flex-shrink:0;padding:0 16px;background:var(--card);border-bottom:1px solid var(--border);position:relative}.ql-label{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.14em;color:var(--muted-fg);flex-shrink:0}.ql-row{display:flex;align-items:center;gap:6px;overflow-x:auto;overflow-y:visible;flex:1;padding:5px 0;scrollbar-width:thin}.ql-item{position:relative;flex-shrink:0}.ql-btn{display:inline-flex;align-items:center;gap:5px;background:var(--surface-2);border:1px solid var(--border);color:var(--fg);font-size:12.5px;padding:4px 9px;cursor:pointer;white-space:nowrap}.ql-btn:hover{border-color:var(--primary)}.ql-btn.open{border-color:var(--orange);background:var(--accent)}.ql-btn.dur{border-style:dashed}.ql-ic{font-size:15px;line-height:1}.ql-caret{font-size:8px;color:var(--muted-fg)}.ql-menu{position:fixed;min-width:190px;background:var(--popover);border:1px solid var(--border);box-shadow:4px 4px 0 var(--shadow);z-index:2000;display:flex;flex-direction:column;max-height:60vh;overflow-y:auto}.ql-mi{display:flex;align-items:center;gap:8px;background:none;border:none;border-bottom:1px solid var(--border);color:var(--fg);font-size:13px;padding:8px 10px;cursor:pointer;text-align:left}.ql-mi:last-child{border-bottom:none}.ql-mi:hover{background:var(--surface-2)}.ql-mi .ql-caret{margin-left:auto}.ql-back{color:var(--muted-fg);font-family:var(--font-mono);font-size:11px}.ql-toast{position:absolute;right:16px;top:50%;transform:translateY(-50%);background:var(--success);color:#fff;font-size:12.5px;font-weight:600;padding:4px 12px;animation:qlfade 1.6s ease}@keyframes qlfade{0%{opacity:0;transform:translateY(-50%) scale(.9)}12%{opacity:1;transform:translateY(-50%) scale(1)}80%{opacity:1}to{opacity:0}}.news-row{padding:9px 4px;border-bottom:1px solid var(--border);cursor:pointer;gap:10px}.news-row:last-child{border-bottom:none}.news-row:hover{background:var(--surface-2)}.diary-line{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}.diary-ic{font-size:18px;line-height:1.3;flex-shrink:0}.diary-body{flex:1;font-size:13.5px}.timer-live{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0}.timer-clock{font-family:var(--font-mono);font-size:30px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.1;color:var(--primary)}.timer-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);background:none;color:var(--muted-fg);font-family:var(--font-mono);font-size:11px;padding:4px 9px;cursor:pointer}.timer-chip.idle:hover{color:var(--primary);border-color:var(--primary)}.timer-chip.live{color:var(--fg);border-color:var(--primary)}.timer-dot{width:7px;height:7px;background:var(--primary);animation:pulse 1.4s ease-in-out infinite}.timer-task{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted-fg)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.tl-sec{margin-bottom:0}.build-wrap{display:flex;flex-direction:column;height:calc(100vh - 108px)}.build-log{flex:1;overflow-y:auto;border:1px solid var(--border);border-bottom:none;background:var(--card);padding:8px 16px}.build-tool{padding:6px 0;font-size:12.5px;border-bottom:1px solid var(--border)}.build-tool details{margin-top:4px}.build-input{display:flex;gap:8px;border:1px solid var(--border);background:var(--surface-2);padding:10px}.build-input textarea{flex:1;resize:none}pre.cmd{background:var(--surface-2);border:1px solid var(--border);padding:10px 12px;font-size:12.5px;overflow-x:auto;margin:0;white-space:pre-wrap;word-break:break-all}.two-pane{display:grid;grid-template-columns:340px 1fr;gap:18px;align-items:stretch}.two-pane>div:not(.card){display:flex;flex-direction:column;min-width:0}.two-pane>div:not(.card)>.card:last-child{flex:1 1 auto}@media(max-width:900px){.two-pane{grid-template-columns:1fr}.sidebar{width:60px}.sidebar .brand-name,.sidebar .nav-section,.sidebar .nav-link span.lbl,.sidebar .nav-count,.sidebar-footer span,.rail-toggle{display:none}.sidebar .sidebar-brand,.sidebar .nav-link,.sidebar .sidebar-footer{justify-content:center;padding-left:0;padding-right:0}}.row{display:flex;align-items:center;gap:10px}.muted{color:var(--muted-fg)}.mono-sm{font-family:var(--font-mono);font-size:12px}.planner-quick{gap:8px}.planner-quickinput{flex:1;min-width:240px}.ai-pill{font-family:var(--font-mono);font-size:11px;padding:3px 9px;border:1px solid var(--border);white-space:nowrap}.ai-pill.on{color:var(--success);border-color:var(--success)}.ai-pill.off{color:var(--muted-fg)}.planner-hint{color:var(--success);padding:2px 2px 8px}.planner-stats{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap}.pstat{display:flex;flex-direction:column;padding:8px 16px;border:1px solid var(--border);background:var(--card);min-width:92px}.pstat b{font-family:var(--font-display);font-size:22px;line-height:1}.pstat span{font-family:var(--font-mono);font-size:10.5px;color:var(--muted-fg);margin-top:4px;text-transform:uppercase;letter-spacing:.08em}.pstat.danger b{color:#dc2626}.kanban{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;align-items:start}.kcol{background:var(--surface-2);border:1px solid var(--border);min-height:120px;display:flex;flex-direction:column}.kcol.dragover{border-color:var(--primary);background:var(--accent)}.kcol-head{display:flex;align-items:center;justify-content:space-between;padding:9px 11px;border-bottom:1px solid var(--border);font-weight:600;font-size:13px;position:sticky;top:0;background:var(--surface-2)}.kcount{font-family:var(--font-mono);font-size:11px;color:var(--muted-fg)}.kcol-body{padding:8px;display:flex;flex-direction:column;gap:8px}.kempty{text-align:center;color:var(--muted-fg);padding:8px 0}.kcard{background:var(--card);border:1px solid var(--border);padding:9px 10px;cursor:pointer;box-shadow:2px 2px 0 var(--shadow)}.kcard:hover{border-color:var(--primary)}.kcard:active{cursor:grabbing}.kcard-top{display:flex;align-items:flex-start;gap:7px}.kcard-title{font-size:13px;line-height:1.35}.kcard-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px}.prio-dot{width:9px;height:9px;flex-shrink:0;margin-top:4px;border-radius:0;display:inline-block}.due-chip{font-family:var(--font-mono);font-size:10.5px;padding:1px 6px;border:1px solid var(--border);color:var(--muted-fg)}.due-chip.soon{color:var(--orange);border-color:var(--orange)}.due-chip.over{color:#fff;background:#dc2626;border-color:#dc2626}.chip.tag{color:var(--muted-fg)}.avatar.sm{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;font-family:var(--font-display);color:var(--orange);background:var(--accent);border:1px solid var(--border);flex-shrink:0}.ai-suggests{margin-bottom:14px;border-left:3px solid var(--primary)}.suggest-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}.suggest-row:last-child{border-bottom:none}.suggest-title{font-size:13.5px;font-weight:600}.list-row{display:flex;align-items:center;gap:9px;padding:8px 4px;border-bottom:1px solid var(--border);cursor:pointer}.list-row:last-child{border-bottom:none}.list-row:hover{background:var(--surface-2)}.list-title{font-size:13.5px}.list-status{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em;padding:2px 6px;border:1px solid var(--border);color:var(--muted-fg)}.list-status.s-in_progress{color:var(--orange);border-color:var(--orange)}.list-status.s-done{color:var(--success);border-color:var(--success)}.list-status.s-blocked{color:#dc2626;border-color:#dc2626}@media(max-width:900px){.kanban{grid-template-columns:repeat(2,1fr)}}.pic{font-size:15px;line-height:1}.pic.big{font-size:22px}.compose-accts{display:flex;flex-wrap:wrap;gap:8px}.pick-acct{display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);border:1px solid var(--border);color:var(--fg);padding:5px 10px;cursor:pointer;font-size:13px}.pick-acct:hover{border-color:var(--primary)}.pick-acct.on{border-color:var(--primary);background:var(--accent)}.pick-acct .ph{font-weight:600}.chip.warn{color:var(--orange);border-color:var(--orange)}.chip.ok{color:var(--success);border-color:var(--success)}.qpost{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.qpost:last-child{border-bottom:none}.qpost-body{font-size:13.5px;line-height:1.4;white-space:pre-wrap;word-break:break-word}.qpost-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:6px}.pbadge{display:inline-flex;width:20px;height:20px;align-items:center;justify-content:center;border:1px solid var(--border);font-size:11px}.pbadge.s-published{border-color:var(--success)}.pbadge.s-failed{border-color:#dc2626;color:#dc2626}.pbadge.s-manual{border-color:var(--orange)}.cmt{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.cmt:last-child{border-bottom:none}.cmt-text{font-size:13.5px;margin-top:2px}.cmt-reply{color:var(--success);margin-top:4px}.grow-row{display:flex;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid var(--border);flex-wrap:wrap}.grow-row:last-child{border-bottom:none}.grow-num{font-family:var(--font-display);font-size:18px;font-weight:700}.acct-card{background:var(--card);border:1px solid var(--border);padding:14px}.compose-grid{display:grid;grid-template-columns:1fr 340px;gap:18px;align-items:start}.compose-side{position:sticky;top:0}.pv-label{text-transform:uppercase;letter-spacing:.12em;color:var(--muted-fg);margin-bottom:8px}.pv-list{display:flex;flex-direction:column;gap:12px}.pv-empty{padding:20px;border:1px dashed var(--border);text-align:center}.pv-card{border:1px solid var(--border);background:var(--card);font-size:13px}.pv-head{display:flex;align-items:center;gap:8px;padding:10px 12px}.pv-av{width:30px;height:30px;border-radius:50%;background:var(--accent);color:var(--orange);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;flex-shrink:0}.pv-av.ig{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);color:#fff}.pv-id{display:flex;flex-direction:column;line-height:1.2;min-width:0}.pv-id b{font-size:13px}.pv-sub{color:var(--muted-fg);font-size:12px}.pv-logo,.pv-more{margin-left:auto;color:var(--muted-fg)}.pv-body{padding:0 12px 10px;white-space:pre-wrap;word-break:break-word;line-height:1.45}.pv-body.over{color:#dc2626}.pv-link{color:#1d9bf0}.pv-actions{display:flex;gap:26px;padding:8px 12px;border-top:1px solid var(--border);color:var(--muted-fg);font-size:13px}.pv-actions.ig{gap:16px;border-top:none;padding-bottom:4px}.pv-warn{color:#dc2626;padding:0 12px 10px}.pv-ig-h{font-size:13px}.pv-media{height:190px;background:var(--surface-2);display:flex;align-items:center;justify-content:center;color:var(--muted-fg);font-size:12px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.pv-ig-cap{padding:4px 12px 12px;white-space:pre-wrap;word-break:break-word;line-height:1.45}@media(max-width:820px){.compose-grid{grid-template-columns:1fr}.compose-side{position:static}}.doc-item{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--border)}.doc-item:last-of-type{border-bottom:none}.doc-thumb{width:42px;height:42px;object-fit:cover;border:1px solid var(--border);cursor:pointer;flex-shrink:0}.doc-thumb:hover{border-color:var(--primary)}.doc-glyph{font-size:20px;width:42px;text-align:center;flex-shrink:0}.doc-glyph.clickable{cursor:pointer}.doc-info{display:flex;flex-direction:column;min-width:0;flex:1}.doc-info a{word-break:break-all}.compose-media{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.cm-thumb{position:relative;width:64px;height:64px}.cm-thumb img{width:64px;height:64px;object-fit:cover;border:1px solid var(--border)}.cm-thumb button{position:absolute;top:-6px;right:-6px;width:18px;height:18px;line-height:1;padding:0;background:#dc2626;color:#fff;border:none;cursor:pointer;font-size:11px}.pv-img{width:100%;display:block;border-top:1px solid var(--border);border-bottom:1px solid var(--border);max-height:260px;object-fit:cover}.pv-x .pv-img,.pv-fb .pv-img,.pv-generic .pv-img{border:1px solid var(--border);margin:0 12px 10px;width:calc(100% - 24px)}.pv-media img{width:100%;height:100%;object-fit:cover}.pv-tt{position:relative;background:#000;color:#fff;aspect-ratio:9/16;max-height:340px;overflow:hidden}.pv-tt img,.pv-tt .pv-tt-ph{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.pv-tt-ph{display:flex;align-items:center;justify-content:center;color:#888;background:#111}.pv-tt-cap{position:absolute;left:10px;right:44px;bottom:30px;z-index:2;text-shadow:0 1px 3px rgba(0,0,0,.9);font-size:12.5px;line-height:1.4}.pv-tt-h{position:absolute;left:10px;bottom:10px;z-index:2;font-weight:700;font-size:13px;text-shadow:0 1px 3px rgba(0,0,0,.9)}.pv-tt-rail{position:absolute;right:8px;bottom:24px;z-index:2;display:flex;flex-direction:column;gap:14px;font-size:18px}.pv-fb-logo{color:#1877f2}.forensic{--fx-bg: color-mix(in srgb, var(--bg) 86%, #000);--fx-bg2: color-mix(in srgb, var(--bg) 79%, #000);--fx-grid: color-mix(in srgb, var(--fg) 9%, transparent);display:grid;grid-template-columns:1fr 300px;gap:0;background:var(--fx-bg);color:var(--fg);border:1px solid var(--border);font-family:var(--font-mono);margin:-4px}.fx-imgwrap{position:relative;background:linear-gradient(var(--fx-grid) 1px,transparent 1px) 0 0 / 100% 22px,linear-gradient(90deg,var(--fx-grid) 1px,transparent 1px) 0 0 / 22px 100%,var(--fx-bg2);display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:300px;padding:20px}.fx-img{max-width:100%;max-height:66vh;display:block;box-shadow:0 0 0 1px var(--border),0 8px 26px #00000047}.fx-corner{position:absolute;width:22px;height:22px;border:2px solid var(--success)}.fx-corner.tl{top:10px;left:10px;border-right:none;border-bottom:none}.fx-corner.tr{top:10px;right:10px;border-left:none;border-bottom:none}.fx-corner.bl{bottom:10px;left:10px;border-right:none;border-top:none}.fx-corner.br{bottom:10px;right:10px;border-left:none;border-top:none}.fx-reticle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:color-mix(in srgb,var(--success) 45%,transparent);font-size:26px;pointer-events:none}.fx-tag{position:absolute;left:14px;bottom:12px;color:var(--success);letter-spacing:.15em;font-size:10px;font-weight:600}.fx-scan{position:absolute;left:0;right:0;height:3px;top:0;background:linear-gradient(90deg,transparent,var(--success),transparent);box-shadow:0 0 12px 2px color-mix(in srgb,var(--success) 45%,transparent);animation:fxscan 1.4s ease-in-out}@keyframes fxscan{0%{top:0;opacity:0}10%{opacity:1}90%{opacity:1}to{top:100%;opacity:0}}.fx-panel{padding:16px 16px 18px;border-left:1px solid var(--border);overflow-y:auto;max-height:72vh;background:var(--fx-bg)}.fx-title{color:var(--success);font-size:12px;letter-spacing:.16em;margin-bottom:4px;font-weight:700}.fx-status{font-size:10px;color:var(--muted-fg);margin-bottom:12px;letter-spacing:.1em}.fx-status b{color:var(--warning)}.fx-status b.ok{color:var(--success)}.fx-sec{color:var(--info);font-size:10px;letter-spacing:.16em;margin:14px 0 6px;border-bottom:1px solid var(--border);padding-bottom:3px}.fx-line{display:flex;justify-content:space-between;gap:10px;padding:3px 0;font-size:11px;align-items:baseline}.fx-k{color:var(--muted-fg);letter-spacing:.08em;flex-shrink:0}.fx-v{color:var(--fg);text-align:right;word-break:break-word}.fx-null{color:var(--muted-fg);opacity:.7;font-style:italic}.fx-geo{color:var(--warning);font-weight:600}.fx-mono{font-size:10.5px}.fx-maplink{display:inline-block;margin-top:8px;color:var(--info);text-decoration:none;letter-spacing:.1em;font-size:11px;font-weight:600}.fx-maplink:hover{text-decoration:underline}.fx-note{margin-top:14px;color:var(--warning);font-size:10px;line-height:1.5;border:1px dashed color-mix(in srgb,var(--warning) 45%,transparent);padding:8px}.forensic .fx-panel{opacity:0;transform:translate(8px);transition:all .4s ease}.forensic.ready .fx-panel{opacity:1;transform:none}@media(max-width:720px){.forensic{grid-template-columns:1fr}.fx-panel{border-left:none;border-top:1px solid var(--border);max-height:none}}.ring .ring-bg{fill:none;stroke:var(--border);stroke-width:5}.ring .ring-fg{fill:none;stroke:var(--primary);stroke-width:5;stroke-linecap:round;transition:stroke-dashoffset .5s ease}.ring .ring-txt{font-family:var(--font-mono);font-size:13px;font-weight:700;fill:var(--fg)}.proj-header{display:flex;align-items:center;gap:16px;margin-bottom:14px}.proj-icon{font-size:40px;line-height:1;flex-shrink:0}.proj-links{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.chip.link{text-decoration:none;cursor:pointer}.chip.link:hover{border-color:var(--primary)}.chip.stage-planning{color:var(--info);border-color:var(--info)}.chip.stage-development{color:var(--orange);border-color:var(--orange)}.chip.stage-deployment{color:#8b5cf6;border-color:#8b5cf6}.chip.stage-marketing{color:var(--primary);border-color:var(--primary)}.chip.stage-live{color:var(--success);border-color:var(--success)}.pipeline{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:16px}.pl-step{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:10px 12px;background:var(--card);border:1px solid var(--border);cursor:pointer;text-align:left}.pl-step:hover{border-color:var(--input)}.pl-step.active{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.pl-step.reached{background:var(--surface-2)}.pl-ico{font-size:18px}.pl-lbl{font-weight:600;font-size:13px}.pl-bar{width:100%;height:4px;background:var(--border);overflow:hidden}.pl-bar span{display:block;height:100%;background:var(--primary);transition:width .4s ease}.pl-now{position:absolute;top:8px;right:10px;font-family:var(--font-mono);font-size:9px;color:var(--success);letter-spacing:.06em}.proj-grid{display:grid;grid-template-columns:1fr 320px;gap:16px;align-items:start}.proj-main{min-width:0}.proj-side{display:flex;flex-direction:column;gap:14px}.proj-docs{display:flex;flex-direction:column;gap:2px;margin-top:8px}.proj-doc{display:flex;align-items:center;gap:8px;padding:6px 4px;border-bottom:1px solid var(--border);text-decoration:none;color:var(--fg);font-size:13px}.proj-doc:hover{background:var(--surface-2)}.pd-title{font-weight:600}.proj-tree{max-height:320px;overflow:auto;border:1px solid var(--border);background:var(--surface-2);padding:6px;margin-top:6px}.mile-row{display:flex;align-items:center;gap:8px;padding:5px 0;border-bottom:1px solid var(--border);font-size:13.5px}.mile-row:last-of-type{border-bottom:none}.kf-row{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-bottom:1px solid var(--border);font-size:13px}.kf-row:last-child{border-bottom:none}.kf-k{color:var(--muted-fg);font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.kf-v{text-align:right;word-break:break-word}.proj-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.pg-item{position:relative}.pg-item img{width:100%;aspect-ratio:1;object-fit:cover;border:1px solid var(--border);cursor:pointer}.pg-item button{position:absolute;top:-6px;right:-6px;width:18px;height:18px;line-height:1;padding:0;background:#dc2626;color:#fff;border:none;cursor:pointer;font-size:11px}.proj-card{display:block;text-decoration:none;color:var(--fg)}.proj-card:hover{border-color:var(--primary)}.proj-card-icon{font-size:20px}.proj-progress{height:6px;background:var(--border);overflow:hidden}.proj-progress span{display:block;height:100%;background:var(--primary)}.dom-row{display:flex;align-items:center;gap:12px;padding:11px 14px;border-bottom:1px solid var(--border);cursor:pointer}.dom-row:last-child{border-bottom:none}.dom-row:hover{background:var(--surface-2)}.dom-glyph{font-size:18px}.dom-main{min-width:0}.dom-name{font-weight:600;text-decoration:none;color:var(--fg)}.dom-name:hover{color:var(--primary)}@media(max-width:1000px){.proj-grid{grid-template-columns:1fr}.pipeline{grid-template-columns:repeat(2,1fr)}}.chat-wrap{display:flex;flex-direction:column;height:calc(100vh - 152px);min-height:400px}.chat-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.chat-scroll{flex:1;overflow-y:auto;border:1px solid var(--border);background:var(--card);padding:16px;display:flex;flex-direction:column;gap:14px}.chat-empty{margin:auto;text-align:center;color:var(--muted-fg)}.chat-msg{display:flex;flex-direction:column;gap:3px;max-width:82%}.chat-msg.user{align-self:flex-end;align-items:flex-end}.chat-msg.assistant{align-self:flex-start}.chat-role{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-fg)}.chat-bubble{padding:10px 13px;font-size:14px;line-height:1.5;border:1px solid var(--border)}.chat-msg.user .chat-bubble{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.chat-msg.assistant .chat-bubble{background:var(--surface-2)}.chat-bubble .md-body>*:first-child{margin-top:0}.chat-bubble .md-body>*:last-child{margin-bottom:0}.chat-bubble .md-body pre{background:var(--popover);border:1px solid var(--border);padding:10px;overflow-x:auto;font-size:12.5px}.chat-bubble .md-body code{font-family:var(--font-mono);font-size:12.5px}.chat-typing span{animation:blink 1.2s infinite}.chat-typing span:nth-child(2){animation-delay:.2s}.chat-typing span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,to{opacity:.2}50%{opacity:1}}.chat-input{display:flex;gap:8px;margin-top:10px;align-items:flex-end}.chat-input textarea{flex:1;resize:none;max-height:160px;font-family:var(--font-sans);font-size:14px}.chat-layout{display:flex;gap:12px;height:calc(100vh - 152px);min-height:420px}.chat-list{width:220px;flex-shrink:0;display:flex;flex-direction:column;gap:8px}.chat-list-scroll{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.chat-list-item{position:relative;padding:8px 26px 8px 10px;border:1px solid var(--border);background:var(--card);cursor:pointer}.chat-list-item:hover{border-color:var(--input)}.chat-list-item.active{border-color:var(--primary);background:var(--surface-2)}.cli-title{font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cli-meta{color:var(--muted-fg);margin-top:2px}.cli-del{position:absolute;top:6px;right:6px;width:16px;height:16px;line-height:1;padding:0;border:none;background:none;color:var(--muted-fg);cursor:pointer;opacity:0;font-size:11px}.chat-list-item:hover .cli-del{opacity:1}.cli-del:hover{color:#dc2626}.chat-main{flex:1;display:flex;flex-direction:column;min-width:0}.pos{color:var(--success)}.neg{color:var(--destructive)}.btn-success{color:var(--success)}.btn-success:hover{border-color:var(--success)}.fin-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:14px;flex-wrap:wrap}.fin-tab{font-family:var(--font-display);font-size:13px;padding:8px 14px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--muted-fg);cursor:pointer}.fin-tab:hover{color:var(--fg)}.fin-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.fin-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}@media(max-width:900px){.fin-grid-2{grid-template-columns:1fr}}.nw-row{display:flex;gap:12px;flex-wrap:wrap;align-items:stretch}.nw-card{flex:1;min-width:220px;background:var(--card);border:1px solid var(--border);padding:16px 18px}.nw-card.primary{border-color:var(--primary);box-shadow:inset 3px 0 0 var(--primary)}.nw-label{font-family:var(--font-mono);font-size:11px;color:var(--muted-fg);text-transform:uppercase;letter-spacing:.06em}.nw-value{font-family:var(--font-display);font-size:30px;font-weight:700;margin:4px 0 8px}.nw-value.neg{color:var(--destructive)}.nw-break{display:flex;gap:12px;flex-wrap:wrap;font-family:var(--font-mono);font-size:11.5px;color:var(--muted-fg)}.nw-break .pos{color:var(--success)}.nw-break .neg{color:var(--destructive)}.nw-cur{align-self:center}.flow-row{display:flex;gap:10px;margin:6px 0 14px}.flow-cell{flex:1;border:1px solid var(--border);padding:8px 10px;display:flex;flex-direction:column;gap:2px}.flow-cell span{font-family:var(--font-mono);font-size:10.5px;color:var(--muted-fg);text-transform:uppercase}.flow-cell b{font-family:var(--font-display);font-size:17px}.flow-cell.in b{color:var(--success)}.flow-cell.out b{color:var(--destructive)}.flow-cell.net{border-color:var(--primary)}.flow-cell.net.bad b{color:var(--destructive)}.trend{display:flex;gap:8px;align-items:flex-end;height:96px;padding-top:6px}.trend-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%;justify-content:flex-end}.trend-bars{display:flex;gap:2px;align-items:flex-end;height:100%;width:100%;justify-content:center}.trend-bars .tb{width:40%;min-height:2px}.tb.in{background:var(--success)}.tb.out{background:var(--primary);opacity:.85}.trend-lbl{color:var(--muted-fg)}.cat-bars{display:flex;flex-direction:column;gap:10px;margin-top:6px}.cat-bar-top{display:flex;justify-content:space-between;font-size:12.5px}.cat-track{height:6px;background:var(--surface-2);margin-top:4px}.cat-fill{height:100%;background:var(--info)}.cat-fill.over{background:var(--destructive)}.bill-mini,.acc-mini{display:flex;align-items:center;gap:8px;padding:7px 2px;border-bottom:1px solid var(--border);font-size:13px}.bill-mini:last-child,.acc-mini:last-child{border-bottom:none}.acc-mini{cursor:pointer}.acc-mini:hover{color:var(--primary)}.acc-grid,.asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.acc-card{background:var(--card);border:1px solid var(--border);padding:14px;display:flex;flex-direction:column;gap:6px}.acc-card.inactive{opacity:.55}.acc-card-head{display:flex;gap:10px;align-items:center}.acc-ic{font-size:22px}.acc-name{font-family:var(--font-display);font-weight:600}.acc-bal{font-family:var(--font-display);font-size:22px;font-weight:700}.acc-bal.neg{color:var(--destructive)}.acc-card-foot{display:flex;align-items:center;margin-top:4px}.ledger-acc-head{padding:8px 2px 12px;font-size:14px}.tx-row{display:flex;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid var(--border);cursor:pointer}.tx-row:last-child{border-bottom:none}.tx-row:hover{background:var(--surface-2)}.tx-ic{width:26px;text-align:center;font-size:15px}.tx-desc{font-size:13.5px}.tx-amt{font-family:var(--font-mono);font-size:14px;white-space:nowrap}.tx-amt.pos{color:var(--success)}.tx-amt.neg{color:var(--fg)}.bill-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border)}.bill-row:last-child{border-bottom:none}.bill-row.inactive{opacity:.5}.bill-ic{font-size:17px;width:24px;text-align:center}.bill-main{cursor:pointer}.bill-name{font-family:var(--font-display);font-weight:600;display:flex;gap:6px;align-items:center}.debt-col-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--border);font-family:var(--font-display);font-weight:600}.debt-col-head b{font-size:18px}.debt-row{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border)}.debt-row:last-child{border-bottom:none}.debt-row.settled{opacity:.55}.debt-main{flex:1;cursor:pointer}.debt-name{font-weight:600;display:flex;gap:6px;align-items:center}.asset-card{background:var(--card);border:1px solid var(--border);padding:16px 14px;cursor:pointer;display:flex;flex-direction:column;gap:3px}.asset-card:hover{border-color:var(--primary)}.asset-card.inactive{opacity:.55}.asset-ic{font-size:30px}.asset-name{font-family:var(--font-display);font-weight:600;font-size:15px}.asset-val{font-family:var(--font-display);font-size:20px;font-weight:700;margin-top:4px}.inv-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:14px}.inv-stat{background:var(--card);border:1px solid var(--border);padding:12px 14px;display:flex;flex-direction:column}.inv-stat b{font-family:var(--font-display);font-size:20px}.inv-stat span{font-family:var(--font-mono);font-size:10.5px;color:var(--muted-fg);text-transform:uppercase;letter-spacing:.04em}.inv-stat.wish b{color:var(--orange)}.inv-colls{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.inv-chip{font-family:var(--font-mono);font-size:12px;padding:4px 10px;border:1px solid var(--border);background:transparent;color:var(--muted-fg);cursor:pointer}.inv-chip:hover{color:var(--fg)}.inv-chip.active{color:var(--primary);border-color:var(--primary)}.inv-chip-n{opacity:.6;margin-left:3px}.inv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}.inv-card{background:var(--card);border:1px solid var(--border);cursor:pointer;overflow:hidden;display:flex;flex-direction:column}.inv-card:hover{border-color:var(--primary)}.inv-thumb{position:relative;aspect-ratio:4 / 3;background:var(--surface-2);display:flex;align-items:center;justify-content:center;overflow:hidden}.inv-thumb img{width:100%;height:100%;object-fit:cover}.inv-noimg{font-size:34px;opacity:.4}.inv-badge{position:absolute;top:6px;left:6px;background:var(--card)}.inv-qty{position:absolute;top:6px;right:6px;font-family:var(--font-mono);font-size:11px;background:var(--scrim);color:#fff;padding:1px 6px}.inv-body{padding:10px 12px;display:flex;flex-direction:column;gap:2px}.inv-name{font-family:var(--font-display);font-weight:600;font-size:14px}.inv-foot{display:flex;align-items:center;gap:6px;margin-top:6px}.inv-modal{display:flex;gap:16px;flex-wrap:wrap}.inv-modal-img{display:flex;flex-direction:column;gap:8px;align-items:center;width:180px}.inv-modal-fields{flex:1;min-width:280px}.inv-thumb.big{width:180px;aspect-ratio:1;border:1px dashed var(--input);cursor:pointer}.inv-star{cursor:pointer;font-size:17px;color:var(--orange)}@media(max-width:620px){.inv-modal-img,.inv-thumb.big{width:100%}}.bill-ends{border:1px dashed var(--border);padding:10px 12px;margin:6px 0 8px}.fin-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;border-bottom:1px solid var(--border);margin-bottom:14px;flex-wrap:wrap}.fin-head .fin-tabs{border-bottom:none;margin-bottom:0}.fin-lock{display:flex;gap:6px;align-items:center;padding-bottom:6px}.bill-plan{margin-top:3px;color:var(--muted-fg)}.bill-plan .neg,.fin-plan-calc .neg{color:var(--destructive)}.bill-plan .pos{color:var(--success)}.fin-plan-calc{margin-top:6px;padding:6px 10px;background:var(--surface-2);border-left:3px solid var(--info)}@keyframes run-pulse{0%,to{opacity:1}50%{opacity:.35}}.action-btn.running{border-color:var(--primary);border-style:solid;box-shadow:inset 0 -3px 0 var(--primary)}.action-btn.running .action-ic{animation:run-pulse 1.6s ease-in-out infinite}.action-run{color:var(--primary);font-family:var(--font-mono);font-size:10.5px}.run-dot{display:inline-block;width:7px;height:7px;background:var(--primary);margin-left:4px;vertical-align:top;animation:run-pulse 1.6s ease-in-out infinite}.ql-btn.run{border-color:var(--primary);color:var(--primary)}.ql-elapsed{font-family:var(--font-mono);font-size:10.5px;color:var(--primary);margin-left:6px;white-space:nowrap}.ql-mi.run{color:var(--primary)}.bill-sheet{border-collapse:collapse;width:100%;font-size:13px}.bill-sheet th,.bill-sheet td{border:1px solid var(--border);padding:0;text-align:right}.bill-sheet thead th{background:var(--surface-2);font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-fg);font-weight:600;padding:7px 8px;text-align:right;white-space:nowrap}.bill-sheet thead th.bs-name,.bill-sheet tbody th.bs-name,.bill-sheet tfoot th.bs-name{text-align:left}.bill-sheet .bs-name{position:sticky;left:0;z-index:2;background:var(--card);min-width:190px;padding:7px 10px}.bill-sheet thead .bs-name,.bill-sheet tfoot .bs-name{background:var(--surface-2)}.bill-sheet tbody th.bs-name{cursor:pointer;font-weight:600;display:table-cell}.bill-sheet tbody th.bs-name:hover{color:var(--primary)}.bs-ic{margin-right:6px}.bs-lbl{font-family:var(--font-sans)}.bs-cell{width:100%;height:32px!important;border:none!important;background:transparent;text-align:right;font-family:var(--font-mono);font-size:12.5px;padding:4px 8px;color:var(--muted-fg)}.bs-cell.has{color:var(--fg);font-weight:600}.bs-cell:hover{background:var(--surface-2)}.bs-cell:focus{background:var(--card);box-shadow:inset 0 0 0 2px var(--primary);color:var(--fg)}.bs-cell::placeholder{color:var(--input)}.bill-sheet td.bs-now,.bill-sheet th.bs-now{background:color-mix(in srgb,var(--accent) 55%,transparent)}.bill-sheet td.bs-busy{opacity:.5}.bill-sheet .bs-tot{padding:6px 10px;white-space:nowrap;background:var(--surface-2);font-family:var(--font-mono);font-size:12px}.bill-sheet tfoot td,.bill-sheet tfoot th{background:var(--surface-2);padding:8px 10px;white-space:nowrap}.bs-masked{display:block;padding:8px;color:var(--muted-fg);font-family:var(--font-mono)}.bill-rep{width:100%;border-collapse:collapse;font-size:13px}.bill-rep th{text-align:left;font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-fg);padding:6px 8px;border-bottom:1px solid var(--border)}.bill-rep td{padding:7px 8px;border-bottom:1px solid var(--border)}.bill-rep tr:last-child td{border-bottom:none}.qnote form{display:flex;gap:8px;align-items:flex-start}.qnote-input{flex:1;min-width:0;resize:vertical;font-family:inherit;font-size:14px;line-height:1.5}.qnote form .btn{white-space:nowrap}.qnote-hint{margin-top:6px}.qnote-hint b{font-weight:600;color:var(--fg)}.qnote-done{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px;padding:8px 10px;border:1px solid var(--primary);background:var(--surface-2)}.qnote-done-title{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qnote-compact .qnote-input{min-height:38px}.nchips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.nchips.ntags{margin-top:-6px}.nchip{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;padding:4px 9px;border:1px solid var(--border);background:var(--card);color:var(--muted-fg)}.nchip:hover{color:var(--fg);border-color:var(--muted-fg)}.nchip.active{color:var(--primary);border-color:var(--primary);background:transparent}.nchip-n{opacity:.65}.note-list{display:flex;flex-direction:column;gap:8px}.note-card{display:flex;gap:12px;align-items:flex-start;cursor:pointer;background:var(--card);border:1px solid var(--border);border-left:3px solid var(--border);padding:11px 13px}.note-card:hover{border-left-color:var(--primary)}.note-card.pinned{border-left-color:var(--orange)}.note-ic{font-size:17px;line-height:1.35;flex-shrink:0}.note-main{flex:1 1 auto;min-width:0}.note-title{font-weight:600;overflow-wrap:anywhere}.note-body{margin-top:3px;overflow-wrap:anywhere}.note-foot{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:6px}.note-actions{display:flex;gap:6px;flex-shrink:0}.note-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}.note-meta-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px}.note-links{display:flex;flex-wrap:wrap;gap:6px}.note-link-chip button{background:none;border:none;cursor:pointer;color:inherit;padding:0 0 0 4px;font:inherit}.note-rel{cursor:pointer;text-transform:none;letter-spacing:0}.burger,.tabbar,.drawer-scrim,.drawer-extras{display:none}@media(max-width:720px){.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:60;width:250px;transform:translate(-100%);transition:transform .18s ease-out;box-shadow:4px 0 18px #0000002e}.sidebar.open{transform:none}.sidebar .brand-name,.sidebar .nav-section,.sidebar .nav-link span.lbl,.sidebar .nav-count,.sidebar-footer span,.sidebar.rail .brand-name,.sidebar.rail .nav-section,.sidebar.rail .nav-link span.lbl,.sidebar.rail .nav-count,.sidebar.rail .sidebar-footer span{display:revert}.sidebar.rail{width:250px}.sidebar.rail .sidebar-brand{justify-content:flex-start;padding:0 16px}.sidebar.rail .nav-link{justify-content:flex-start;padding:9px 16px}.sidebar.rail .sidebar-footer{justify-content:space-between;padding:12px 16px}.drawer-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);z-index:55}.drawer-extras{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 16px;border-bottom:1px solid var(--border)}.sidebar nav{padding-bottom:8px}.nav-link{padding:9px 16px;font-size:14px}.burger{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin-left:-6px;flex-shrink:0;background:none;border:none;color:var(--fg);font-size:19px;cursor:pointer}.topbar{gap:8px;padding:0 12px}.topbar h1{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar .crypto-ticker,.topbar .clockweather,.topbar .theme-toggle{display:none}.quicklog{padding:0 8px}.quicklog .ql-label{display:none}.ql-row{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch}.ql-row::-webkit-scrollbar{display:none}.ql-btn{flex:0 0 auto}.content{padding:12px;padding-bottom:calc(64px + env(safe-area-inset-bottom))}.fin-tabs,.seg{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.fin-tabs::-webkit-scrollbar,.seg::-webkit-scrollbar{display:none}.fin-tab,.seg-btn{flex:0 0 auto;white-space:nowrap}.toolbar{flex-wrap:wrap;gap:8px}.toolbar select,.toolbar input{flex:1 1 calc(50% - 8px);min-width:130px;max-width:none}.toolbar .spacer{display:none}.tx-row .tx-main,.bill-row .bill-main,.debt-row .debt-main{min-width:0;flex:1 1 auto}.tx-row>.spacer,.bill-row>.spacer{display:none}.tx-row .tx-desc,.bill-name,.tx-row .mono-sm,.bill-row .mono-sm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tx-amt,.bill-row b.mono-sm{flex-shrink:0;margin-left:auto;padding-left:8px}.modal-overlay{padding:0;align-items:stretch}.modal,.modal-wide{max-width:none;width:100%;min-height:100dvh;display:flex;flex-direction:column;border:none;box-shadow:none;padding:12px 12px calc(12px + env(safe-area-inset-bottom))}.modal h2{position:sticky;top:-12px;z-index:2;margin:-12px -12px 12px;padding:14px 12px;background:var(--surface-2);border-bottom:1px solid var(--border)}.modal{padding-bottom:calc(66px + env(safe-area-inset-bottom))}.modal>.row:last-child:has(.btn-primary),.modal form>.row:last-child:has(.btn-primary){position:fixed;left:0;right:0;bottom:0;z-index:60;margin:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--surface-2);border-top:1px solid var(--border)}.modal>.row:last-child:has(.btn-primary) .btn,.modal form>.row:last-child:has(.btn-primary) .btn{flex:1;justify-content:center}.modal .row{flex-wrap:wrap;gap:10px}.modal .row>*{flex:1 1 100%;min-width:0}input:not([type=checkbox]):not([type=radio]):not([type=file]),textarea,select{font-size:16px}.field label,.fld label{font-size:11px}.bill-sheet-wrap,.tw,.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.bill-sheet{min-width:640px}table.data{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}.two-pane,.fin-grid-2,.proj-grid,.kanban{grid-template-columns:1fr}.console-split,.pane-split{grid-template-columns:1fr;height:auto}.action-grid{grid-template-columns:repeat(3,1fr)}.tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--card);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}.tabbar-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 2px 6px;background:none;border:none;cursor:pointer;color:var(--muted-fg);text-decoration:none;font-family:inherit}.tabbar-btn.active{color:var(--primary)}.tabbar-btn .tb-ic{font-size:16px;line-height:1}.tabbar-btn .tb-lbl{font-size:10px;letter-spacing:.02em}body:has(.modal-overlay) .tabbar{display:none}.qnote form{gap:6px}.qnote form .btn{padding-left:12px;padding-right:12px}.qnote-done-title{flex:1 1 100%;white-space:normal}.nchips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.nchip{flex-shrink:0}.note-card{padding:10px;gap:9px}.note-actions{flex-direction:column;gap:4px}.note-grid{grid-template-columns:1fr;gap:8px}}@media(max-width:380px){.content{padding:8px;padding-bottom:calc(64px + env(safe-area-inset-bottom))}.toolbar{grid-template-columns:1fr}}/**
 * Copyright (c) 2014 The xterm.js authors. All rights reserved.
 * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
 * https://github.com/chjj/term.js
 * @license MIT
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * Originally forked from (with the author's permission):
 *   Fabrice Bellard's javascript vt100 for jslinux:
 *   http://bellard.org/jslinux/
 *   Copyright (c) 2011 Fabrice Bellard
 *   The original design remains. The terminal itself
 *   has been extended to include xterm CSI codes, among
 *   other features.
 */.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{font-family:monospace;-webkit-user-select:text;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:fit-content}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{position:absolute;display:none}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}
