:root{--paper: #FFFFFF;--ink: #1B1B1F;--graphite: #5C5C66;--rule: #E4E2DC;--accent: #C2410C;--working: #15803D;--break: #B45309;--pending: #1D4ED8;--alert: #B91C1C;--kiva-eye: #9CC7FF;--wash: #F7F6F2;--on-accent: #FFFFFF;--scrim: rgba(27, 27, 31, .35);--sans: "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--hard: 3px 3px 0 var(--ink);--hard-sm: 2px 2px 0 var(--ink);--r-sm: 4px;--r: 6px;--r-lg: 10px;color-scheme:light}:root[data-theme=dark]{--paper: #17171B;--ink: #ECEAE4;--graphite: #A4A4AE;--rule: #34343C;--accent: #F27A3D;--working: #4ADE80;--break: #FBBF24;--pending: #8AB4FF;--alert: #F87171;--wash: #222228;--on-accent: #17171B;--scrim: rgba(0, 0, 0, .6);color-scheme:dark}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper: #17171B;--ink: #ECEAE4;--graphite: #A4A4AE;--rule: #34343C;--accent: #F27A3D;--working: #4ADE80;--break: #FBBF24;--pending: #8AB4FF;--alert: #F87171;--wash: #222228;--on-accent: #17171B;--scrim: rgba(0, 0, 0, .6);color-scheme:dark}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0;text-wrap:balance;font-weight:600;line-height:1.25}h1{font-size:24px}h2{font-size:19px}h3{font-size:16px}p{margin:0}a{color:inherit}svg{display:block}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--pending);outline-offset:2px}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.label{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--graphite);font-weight:500}.muted{color:var(--graphite)}.small{font-size:13px}.note{font-size:13px;color:var(--graphite)}.alert-text{color:var(--alert)}.ok-text{color:var(--working)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.stack{display:grid;gap:16px;align-content:start;min-width:0}.stack.tight{gap:8px}.stack.loose{gap:24px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;min-width:0}.row.between{justify-content:space-between}.row.end{justify-content:flex-end}.row.nowrap{flex-wrap:nowrap}.grow{flex:1;min-width:0}.cols{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));align-items:start}.cols.two{grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr))}.lockup{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}.lockup .mk{width:28px;height:28px;flex:none}.wordmark{font-weight:700;letter-spacing:.06em;font-size:18px;line-height:1}.lockup.lg{flex-direction:column;gap:12px}.lockup.lg .mk{width:72px;height:72px}.lockup.lg .wordmark{font-size:32px}.kv-svg{display:block}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 13px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border:1.5px solid var(--ink);background:var(--paper);color:var(--ink);border-radius:var(--r);padding:11px 14px;box-shadow:var(--hard);cursor:pointer;transition:transform .12s,box-shadow .12s;white-space:nowrap}.btn:active:not(:disabled){transform:translate(3px,3px);box-shadow:0 0 0 var(--ink)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn.primary{background:var(--accent);color:var(--on-accent)}.btn.danger{color:var(--alert);border-color:var(--alert);box-shadow:3px 3px 0 var(--alert)}.btn.block{width:100%;padding:20px;font-size:16px}.btn.sm{padding:7px 10px;font-size:11.5px;box-shadow:var(--hard-sm)}.btn.sm:active:not(:disabled){transform:translate(2px,2px)}.btn.ghost{border-color:transparent;box-shadow:none;padding-inline:8px}.btn.ghost:hover{border-color:var(--rule)}.link{background:none;border:0;padding:0;color:var(--pending);text-decoration:underline;text-underline-offset:2px;cursor:pointer;font:inherit}.chip{display:inline-flex;align-items:center;gap:6px;font:500 11.5px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid currentColor;border-radius:999px;padding:5px 10px;white-space:nowrap}.chip:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}.chip.working,.chip.ok{color:var(--working)}.chip.break,.chip.warn{color:var(--break)}.chip.out,.chip.neutral{color:var(--graphite)}.chip.pending{color:var(--pending)}.chip.alert{color:var(--alert)}.chip.accent{color:var(--accent)}.badge{font:600 11px/1 var(--mono);background:var(--accent);color:var(--on-accent);border-radius:999px;padding:3px 7px;min-width:20px;text-align:center}.stamp{display:inline-grid;gap:2px;justify-items:center;transform:rotate(-2deg);border:3px double var(--accent);color:var(--accent);border-radius:var(--r-sm);padding:6px 14px;font-family:var(--mono)}.stamp b{font-size:12px;letter-spacing:.14em;font-weight:600;white-space:nowrap}.stamp span{font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}.stamp.pend{border:2px dashed var(--pending);color:var(--pending)}.stamp.err{border:2px solid var(--alert);color:var(--alert)}@media(prefers-reduced-motion:no-preference){.stamp.anim{animation:stamp .24s ease-out both}@keyframes stamp{0%{transform:rotate(-2deg) scale(1.25);opacity:.2}to{transform:rotate(-2deg) scale(1);opacity:1}}.pop{animation:pop .3s ease-out both}@keyframes pop{0%{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}}.confirm{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;text-align:center}.confirm .kv-svg{width:54px;height:70px;flex:none}.panel{border:1px solid var(--rule);border-radius:var(--r);padding:16px;display:grid;gap:12px;align-content:start;min-width:0;background:var(--paper)}.panel.ink{border-color:var(--ink)}.panel.hard{border:1.5px solid var(--ink);box-shadow:4px 4px 0 var(--ink)}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.panel-head h2,.panel-head h3{font-size:16px}.ticket{position:relative;border:1px solid var(--ink);border-radius:var(--r);padding:14px 16px;display:grid;gap:8px;background:var(--paper)}.ticket .line{display:flex;justify-content:space-between;gap:8px;font-size:14px}.perf{position:relative;border-top:1.5px dashed var(--ink);margin:6px -16px}.perf:before,.perf:after{content:"";position:absolute;top:-9px;width:16px;height:16px;border-radius:50%;background:var(--paper);border:1px solid var(--ink)}.perf:before{left:-9px;clip-path:inset(0 0 0 50%)}.perf:after{right:-9px;clip-path:inset(0 50% 0 0)}.ticket .total{display:flex;justify-content:space-between;align-items:baseline}.ticket .total .mono{font-size:20px;font-weight:600}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:10px}.kpi{border:1px solid var(--rule);border-radius:var(--r);padding:10px 12px;display:grid;gap:2px;min-width:0}.kpi .v{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:24px;font-weight:600;line-height:1.2}.kpi .v.alert{color:var(--alert)}.kpi small{color:var(--graphite);font-size:12.5px}.bar{height:10px;border:1px solid var(--ink);border-radius:3px;background:repeating-linear-gradient(90deg,var(--rule) 0 1px,transparent 1px 10%);position:relative;overflow:hidden}.bar i{position:absolute;inset:0 auto 0 0;background:var(--ink)}.bar i.accent{background:var(--accent)}.bar b{position:absolute;top:-1px;bottom:-1px;width:2px;background:var(--accent)}.meta{display:flex;justify-content:space-between;gap:8px;font-size:12.5px;color:var(--graphite);flex-wrap:wrap}.kv{display:grid;gap:6px}.kv>div{display:flex;justify-content:space-between;gap:12px;font-size:14px}.kv>div>span:last-child{text-align:right}.kv.ruled{border-top:1px solid var(--rule);padding-top:12px}.field{display:grid;gap:5px;min-width:0}.field>span{font-size:13px;font-weight:500}.field small{color:var(--graphite);font-size:12.5px}.field .err{color:var(--alert);font-size:12.5px}.input,select.input,textarea.input{width:100%;border:1px solid var(--ink);border-radius:var(--r);padding:9px 11px;background:var(--paper);min-height:40px}textarea.input{min-height:80px;resize:vertical}.input:disabled{background:var(--wash);color:var(--graphite)}.input.invalid{border-color:var(--alert)}.check{display:flex;gap:8px;align-items:center;font-size:14px;cursor:pointer}.check input{width:18px;height:18px;accent-color:var(--ink)}.form-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}.seg{display:inline-flex;border:1px solid var(--ink);border-radius:var(--r);overflow:hidden;flex-wrap:wrap}.seg button{border:0;background:var(--paper);padding:7px 12px;font:500 12px var(--mono);letter-spacing:.05em;text-transform:uppercase;cursor:pointer}.seg button+button{border-left:1px solid var(--ink)}.seg button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.callout{border:1px solid var(--rule);border-left:3px solid var(--pending);border-radius:var(--r);padding:10px 12px;font-size:14px;background:var(--paper)}.callout.alert{border-left-color:var(--alert)}.callout.warn{border-left-color:var(--break)}.callout.ok{border-left-color:var(--working)}.callout.reminder{display:grid;gap:2px}.callout.reminder .link{justify-self:start}.hint{display:grid;grid-template-columns:48px 1fr;gap:10px;align-items:center}.hint .kv-svg{width:48px;height:62px}.table-wrap{overflow-x:auto;border:1px solid var(--rule);border-radius:var(--r)}table.t{border-collapse:collapse;width:100%;font-size:13.5px}table.t th,table.t td{border-bottom:1px solid var(--rule);padding:8px 10px;text-align:left;vertical-align:top}table.t th{font:500 11px var(--mono);color:var(--graphite);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;background:var(--paper);position:sticky;top:0}table.t tr:last-child td{border-bottom:0}table.t td.num,table.t th.num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}table.t tbody tr.clickable{cursor:pointer}table.t tbody tr.clickable:hover td{background:var(--wash)}table.t td.nowrap{white-space:nowrap}.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;font-family:var(--mono);font-size:12.5px}.cal .h{color:var(--graphite);font-size:11px;text-align:center;padding-bottom:2px}.cal .d{border:1px solid var(--rule);border-radius:var(--r-sm);padding:5px 6px;min-height:58px;display:grid;align-content:space-between;gap:2px;background:var(--paper);text-align:left;cursor:pointer;font:inherit;color:inherit}.cal .d:hover{border-color:var(--ink)}.cal .d .n{font-weight:600}.cal .d .w{font-size:11px;color:var(--graphite)}.cal .d.empty{border-color:transparent;background:none;cursor:default}.cal .d.today{box-shadow:inset 0 0 0 1.5px var(--ink)}.cal .d.sel{background:var(--ink);color:var(--paper);border-color:var(--ink)}.cal .d.sel .w{color:var(--rule)}.cal .d.st-OK{border-left:3px solid var(--ink)}.cal .d.st-OPEN{border-left:3px solid var(--pending)}.cal .d.st-REVIEW,.cal .d.st-MISSING{border-color:var(--alert)}.cal .d.st-REVIEW .w,.cal .d.st-MISSING .w{color:var(--alert)}.cal .d.st-VACATION{background:repeating-linear-gradient(135deg,rgba(194,65,12,.14) 0 2px,transparent 2px 6px);border-color:var(--accent)}.cal .d.st-ABSENCE{border-color:var(--break);background:repeating-linear-gradient(135deg,rgba(180,83,9,.12) 0 2px,transparent 2px 6px)}.cal .d.st-HOLIDAY{border-color:var(--accent);color:var(--accent)}.cal .d.st-NO_SCHEDULE,.cal .d.st-FUTURE.off{color:var(--graphite);background:repeating-linear-gradient(135deg,transparent 0 4px,var(--rule) 4px 5px)}.cal.pick .d{min-height:40px;align-content:center;text-align:center}.cal.pick .d.in{background:var(--ink);color:var(--paper);border-color:var(--ink)}.cal.pick .d.off{color:var(--graphite);background:repeating-linear-gradient(135deg,transparent 0 4px,var(--rule) 4px 5px)}.cal.pick .d.hol{border-color:var(--accent);color:var(--accent)}.cal.pick .d.in.off,.cal.pick .d.in.hol{background:var(--graphite);color:var(--paper)}.cal.pick .d:disabled{opacity:.4;cursor:not-allowed}table.pres{border-collapse:collapse;font-size:12.5px;width:100%}table.pres th,table.pres td{border-bottom:1px solid var(--rule);padding:5px 2px;text-align:center}table.pres th{font:500 10.5px var(--mono);color:var(--graphite);white-space:nowrap;position:sticky;top:0;background:var(--paper)}table.pres td:first-child,table.pres th:first-child{text-align:left;padding-left:10px;white-space:nowrap;font-family:var(--sans);font-size:13px;position:sticky;left:0;background:var(--paper);z-index:1}table.pres td.c{font-family:var(--mono);white-space:nowrap;padding-inline:8px}.cell{display:inline-block;width:20px;height:18px;border-radius:3px;border:1px solid var(--rule);vertical-align:middle;position:relative}.cell.OK{background:var(--ink);border-color:var(--ink)}.cell.OPEN{border:1.5px solid var(--pending)}.cell.REVIEW,.cell.MISSING{background:var(--paper);border:1.5px solid var(--alert)}.cell.REVIEW:after,.cell.MISSING:after{content:"!";position:absolute;inset:0;display:grid;place-items:center;font:700 11px var(--mono);color:var(--alert)}.cell.VACATION{background:repeating-linear-gradient(135deg,var(--accent) 0 2px,transparent 2px 5px);border-color:var(--accent)}.cell.ABSENCE{background:repeating-linear-gradient(135deg,var(--break) 0 2px,transparent 2px 5px);border-color:var(--break)}.cell.HOLIDAY{border-color:var(--accent)}.cell.HOLIDAY:after{content:"F";position:absolute;inset:0;display:grid;place-items:center;font:600 9.5px var(--mono);color:var(--accent)}.cell.NO_SCHEDULE{background:repeating-linear-gradient(135deg,transparent 0 3px,var(--rule) 3px 4px)}.cell.FUTURE{border-style:dotted}.cell.PENDING{border:1.5px dashed var(--pending)}.cell.AWAY{background:repeating-linear-gradient(135deg,var(--graphite) 0 2px,transparent 2px 5px);border-color:var(--graphite)}table.pres th.today{color:var(--accent)}table.pres tfoot td{position:sticky;bottom:0;background:var(--paper);border-top:1px solid var(--ink)}.cell.corr{box-shadow:0 0 0 1.5px var(--paper),0 0 0 3px var(--pending)}.legend{display:flex;flex-wrap:wrap;gap:14px;font-size:12.5px;color:var(--graphite)}.legend span{display:inline-flex;gap:6px;align-items:center}.list{display:grid;gap:8px}.item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid var(--rule);border-radius:var(--r);padding:10px 12px;background:var(--paper)}.item b{font-weight:500}.item small{display:block;color:var(--graphite);font-size:12.5px}.item .acts{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.item.unread{border-left:3px solid var(--accent)}.item.clickable{cursor:pointer;text-align:left;font:inherit;width:100%}.item.clickable:hover{border-color:var(--ink)}.steps{display:flex;gap:6px;flex-wrap:wrap;font-size:12px}.steps span{border:1px solid var(--rule);border-radius:var(--r-sm);padding:2px 7px;font-family:var(--mono)}.steps span.APPROVED{border-color:var(--working);color:var(--working)}.steps span.DENIED{border-color:var(--alert);color:var(--alert)}.steps span.SKIPPED{color:var(--graphite);text-decoration:line-through}.empty{display:grid;justify-items:center;gap:8px;text-align:center;padding:24px 12px;color:var(--graphite)}.empty .kv-svg{width:120px;height:100px}.demo-banner{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;padding:6px 16px;background:var(--ink);color:var(--paper);font:500 12px var(--mono);letter-spacing:.03em;text-align:center}.demo-banner button{background:none;border:1px solid var(--paper);color:var(--paper);border-radius:var(--r-sm);padding:2px 8px;font:inherit;cursor:pointer}.update-banner{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:10px 16px;background:var(--paper);border-bottom:1px solid var(--ink);font-size:14px;font-weight:500}.shell{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh;min-height:100dvh}.side{border-right:1px solid var(--rule);padding:18px 12px;display:flex;flex-direction:column;gap:2px;position:sticky;top:0;height:100vh;height:100dvh;overflow-y:auto}.side-top{display:flex;justify-content:space-between;align-items:center;gap:6px;margin:0 0 16px 8px}.side .lockup{margin:0}.group{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--graphite);padding:14px 10px 4px}.navlink{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;border-radius:var(--r);color:var(--ink);text-decoration:none;font-size:14px;border:1px solid transparent}.navlink:hover{border-color:var(--rule)}.navlink.active{border-color:var(--ink);box-shadow:var(--hard-sm);font-weight:500}.side .me{margin-top:auto;padding:14px 8px 0;border-top:1px solid var(--rule);display:grid;gap:8px}.avatar{width:32px;height:32px;border-radius:50%;border:1px solid var(--ink);display:grid;place-items:center;font:600 12px var(--mono);flex:none;background:var(--paper)}.main{padding:24px clamp(16px,3vw,36px) 64px;display:grid;gap:20px;align-content:start;min-width:0;max-width:1240px;width:100%}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--ink);padding-bottom:14px}.page-head p{color:var(--graphite);margin-top:4px;max-width:70ch}.appbar,.tabbar{display:none}@media(max-width:899px){.shell{grid-template-columns:1fr;grid-template-rows:auto 1fr;align-content:start;padding-bottom:calc(60px + env(safe-area-inset-bottom,0px))}.side{display:none}.appbar{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-bottom:1px solid var(--rule);position:sticky;top:env(safe-area-inset-top,0px);background:var(--paper);z-index:20}.appbar .lockup .mk{width:22px;height:22px}.appbar .wordmark{font-size:15px}.tabbar{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;border-top:1px solid var(--ink);position:fixed;bottom:0;left:0;right:0;background:var(--paper);z-index:20;padding-bottom:env(safe-area-inset-bottom,0px)}.tabbar a,.tabbar button{padding:10px 0 12px;text-align:center;font:500 10.5px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--graphite);text-decoration:none;background:none;border:0;cursor:pointer;position:relative}.tabbar .active{color:var(--ink);box-shadow:inset 0 2px 0 var(--accent)}.tabbar .dot{position:absolute;top:6px;left:calc(50% + 14px);width:8px;height:8px;border-radius:50%;background:var(--accent)}.main{padding:16px 16px 40px;gap:16px}.page-head{padding-bottom:10px}h1{font-size:21px}.item{grid-template-columns:1fr}.item .acts{justify-content:flex-start}.cal .d{min-height:46px;padding:3px 4px}.cal .d .w{font-size:10px}}.overlay{position:fixed;inset:0;background:var(--scrim);z-index:50;display:grid;place-items:center;padding:16px}.sheet{background:var(--paper);border:1.5px solid var(--ink);border-radius:var(--r-lg);box-shadow:6px 6px 0 var(--ink);width:min(640px,100%);max-height:calc(100dvh - 32px);overflow:auto;display:grid;grid-template-rows:auto 1fr auto}.sheet.wide{width:min(980px,100%)}.sheet>header{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--ink);position:sticky;top:0;background:var(--paper);z-index:1}.sheet>header h2{font-size:17px}.sheet>.body{padding:16px;display:grid;gap:14px;align-content:start;min-width:0}.sheet>footer{padding:12px 16px;border-top:1px solid var(--rule);display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;position:sticky;bottom:0;background:var(--paper)}@media(max-width:640px){.overlay{place-items:end stretch;padding:0}.sheet,.sheet.wide{width:100%;border-radius:var(--r-lg) var(--r-lg) 0 0;max-height:92dvh;box-shadow:none;border-bottom:0}}.menu-list{display:grid;gap:4px}.sheet .menu-list .navlink{padding:11px 10px}.toasts{position:fixed;right:16px;bottom:16px;z-index:60;display:grid;gap:8px;width:min(380px,calc(100vw - 32px))}.toast{border:1.5px solid var(--ink);border-radius:var(--r);background:var(--paper);box-shadow:var(--hard);padding:10px 12px;font-size:14px;display:flex;gap:10px;align-items:flex-start}.toast.error{border-color:var(--alert);box-shadow:3px 3px 0 var(--alert)}.toast .x{margin-left:auto;background:none;border:0;cursor:pointer;font-size:16px;line-height:1;padding:0 2px;color:var(--graphite)}@media(max-width:899px){.toasts{bottom:calc(72px + env(safe-area-inset-bottom,0px));right:16px;left:16px;width:auto}}.clock-page{max-width:560px;width:100%;margin:0 auto;display:grid;gap:18px}.clock{display:grid;gap:4px;justify-items:center;text-align:center;padding-block:8px}.clock .time{font-family:var(--mono);font-size:clamp(52px,14vw,76px);font-weight:500;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.clock .date{color:var(--graphite);font-size:14px}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.login-theme{position:fixed;top:calc(12px + env(safe-area-inset-top,0px));right:12px}.login{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:32px 16px}.login-card{width:min(420px,100%);display:grid;gap:22px}.login-card form{border:1.5px solid var(--ink);border-radius:var(--r-lg);box-shadow:5px 5px 0 var(--ink);padding:20px;display:grid;gap:14px}.accounts{display:grid;gap:6px}.account{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;border:1px solid var(--rule);border-radius:var(--r);padding:8px 10px;background:var(--paper);cursor:pointer;text-align:left;font:inherit}.account:hover{border-color:var(--ink)}.account b{font-weight:500;font-size:14px;display:block}.account small{color:var(--graphite);font-size:12.5px;display:block}.boot{min-height:100vh;display:grid;place-items:center;gap:12px;text-align:center;padding:16px}.boot .mk{width:64px;height:64px;margin:0 auto}@media(prefers-reduced-motion:no-preference){.boot .mk{animation:spin 1.6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}}.chart{width:100%}.chart text{font-family:var(--mono);font-size:11px;fill:var(--graphite)}.chart .axis{stroke:var(--ink);stroke-width:1}.chart .grid{stroke:var(--rule);stroke-width:1}.chart .bar-mark{fill:var(--ink)}.chart .bar-mark.accent{fill:var(--accent)}.chart .val{fill:var(--ink);font-weight:500}.hbar{display:grid;grid-template-columns:minmax(90px,38%) 1fr auto;gap:8px;align-items:center;font-size:13px}.hbar .track{height:12px;position:relative}.hbar .track i{position:absolute;inset:0 auto 0 0;background:var(--ink);border-radius:0 2px 2px 0;min-width:2px}.hbar .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hbar .v{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:12.5px}pre.json{font:12px/1.45 var(--mono);background:var(--wash);border:1px solid var(--rule);border-radius:var(--r-sm);padding:8px;overflow:auto;max-height:220px;white-space:pre-wrap;word-break:break-word;margin:0}.theme-toggle{padding:6px;color:var(--graphite)}.theme-toggle:hover{color:var(--ink)}.plus-tag{font:600 9.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--accent);color:var(--accent);border-radius:999px;padding:3px 6px;margin-left:auto}.navlink .plus-tag+.badge{margin-left:6px}.kiva-fab{position:fixed;right:20px;bottom:20px;z-index:40;display:flex;align-items:center;gap:6px;padding:6px 14px 6px 8px;border:1.5px solid var(--ink);border-radius:999px;background:var(--paper);color:var(--ink);box-shadow:var(--hard);cursor:pointer;font:600 12px var(--mono);letter-spacing:.08em;text-transform:uppercase}.kiva-fab .kv-svg{width:34px;height:40px}.kiva-fab:active{transform:translate(3px,3px);box-shadow:none}.kiva-panel{position:fixed;right:20px;bottom:20px;z-index:45;width:min(420px,calc(100vw - 32px));height:min(640px,calc(100dvh - 40px));display:grid;grid-template-rows:auto 1fr auto;background:var(--paper);border:1.5px solid var(--ink);border-radius:var(--r-lg);box-shadow:6px 6px 0 var(--ink);overflow:hidden}.kiva-panel>header{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--ink)}.kiva-panel>header b{font-weight:600}.kiva-head{width:32px;height:38px;flex:none}.kiva-log{overflow-y:auto;padding:12px;display:grid;gap:10px;align-content:start}.kiva-suggest{display:grid;gap:6px}.kiva-suggest button{text-align:left;border:1px solid var(--rule);border-radius:var(--r);background:var(--paper);padding:8px 10px;cursor:pointer;font-size:14px}.kiva-suggest button:hover{border-color:var(--ink)}.msg{border-radius:var(--r);padding:8px 11px;font-size:14px;max-width:92%;display:grid;gap:6px}.msg.user{justify-self:end;background:var(--ink);color:var(--paper)}.msg.user .note{color:var(--rule)}.msg.assistant{justify-self:start;border:1px solid var(--rule);background:var(--wash)}.msg.error{border-color:var(--alert)}.msg-meta{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap;font-size:12.5px}.msg-meta details{color:var(--graphite)}.msg-meta summary{cursor:pointer}.msg-meta ul{margin:4px 0 0;padding-left:18px}.rich,.md{display:grid;gap:6px}.rich ul,.md ul{margin:0;padding-left:20px;display:grid;gap:3px}.md h2{font-size:18px;margin-top:10px}.md h3{font-size:16px;margin-top:8px}.md h4{font-size:14.5px}.md{gap:8px;max-width:80ch}.kiva-input{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px;border-top:1px solid var(--rule);align-items:end}.kiva-input textarea{min-height:44px;max-height:120px;resize:none}@media(max-width:899px){.kiva-fab{bottom:calc(72px + env(safe-area-inset-bottom,0px));right:12px;padding:4px 10px 4px 6px}.kiva-fab .kv-svg{width:28px;height:34px}.kiva-panel{inset:env(safe-area-inset-top,0px) 0 0 0;width:100%;height:auto;border-radius:0;box-shadow:none;border:0;z-index:55}}@media print{.kiva-fab,.kiva-panel{display:none!important}}.semaforo-head{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.semaforo{display:grid;gap:6px;padding:8px;border:1.5px solid var(--ink);border-radius:14px;background:var(--wash)}.semaforo i{width:22px;height:22px;border-radius:50%;border:1px solid var(--rule);background:var(--paper);opacity:.35}.semaforo .r{background:var(--alert)}.semaforo .a{background:var(--break)}.semaforo .g{background:var(--working)}.semaforo.RED .r,.semaforo.AMBER .a,.semaforo.GREEN .g{opacity:1;box-shadow:0 0 10px currentColor}.semaforo.RED .r{color:var(--alert)}.semaforo.AMBER .a{color:var(--break)}.semaforo.GREEN .g{color:var(--working)}.score{font-size:40px;font-weight:600;line-height:1}.semaforo-kiva{width:64px;height:78px}.check-card{border:1px solid var(--rule);border-left:4px solid var(--rule);border-radius:var(--r);background:var(--paper)}.check-card.RED{border-left-color:var(--alert)}.check-card.AMBER{border-left-color:var(--break)}.check-card.GREEN{border-left-color:var(--working)}.check-row{width:100%;display:flex;gap:12px;align-items:center;text-align:left;background:none;border:0;padding:10px 12px;cursor:pointer;font:inherit;color:inherit}.check-row b{font-weight:500;display:block}.check-row small{color:var(--graphite);font-size:12px;font-family:var(--mono)}.check-row .val{font-size:13px;text-align:right;max-width:40%}.check-body{padding:0 12px 12px 36px;display:grid;gap:8px;justify-items:start}.check-body ul{margin:0;padding-left:18px}.dot{width:12px;height:12px;border-radius:50%;flex:none;background:currentColor}.dot.ok{color:var(--working)}.dot.warn{color:var(--break)}.dot.alert{color:var(--alert)}.source-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}.source{border:1px solid var(--rule);border-radius:var(--r);padding:10px 12px;display:grid;gap:6px;align-content:start}.source small{color:var(--graphite);font-size:13px}.mail-preview{width:100%;height:60vh;border:1px solid var(--rule);border-radius:var(--r);background:#fff}.plan-price .mono{font-size:28px;font-weight:600}.plan-features{margin:0;padding-left:18px;display:grid;gap:6px}.plan-features small{display:block;color:var(--graphite);font-size:12.5px}.doc{max-width:900px}details>summary{cursor:pointer}.print-doc{display:none}@media print{@page{size:A4;margin:14mm 12mm}body:has(>.print-doc)>*:not(.print-doc){display:none!important}body:has(>.print-doc){background:#fff;overflow:visible!important}.print-doc{display:block;color:#000;font:9.5pt/1.35 var(--sans)}.print-doc header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1.5pt solid #000;padding-bottom:6pt;margin-bottom:8pt}.print-doc h1{font-size:15pt;margin:0}.print-doc header p{margin:2pt 0 0}.print-doc dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8pt;margin:0 0 8pt}.print-doc dt{font-size:7.5pt;text-transform:uppercase;letter-spacing:.04em;color:#444}.print-doc dd{margin:0;font-weight:600}.print-doc table{width:100%;border-collapse:collapse;font-size:8.5pt}.print-doc th,.print-doc td{border-bottom:.5pt solid #999;padding:1.6pt 4pt;text-align:left;vertical-align:top}.print-doc th{font-size:7.5pt;border-bottom:1pt solid #000}.print-doc td.n{font-family:var(--mono);white-space:nowrap}.print-doc td.nw{white-space:nowrap}.print-doc tfoot{display:table-row-group}.print-doc thead{display:table-header-group}.print-doc tr{break-inside:avoid}.print-doc tfoot td{font-weight:600;border-top:1pt solid #000;border-bottom:0}.print-doc .legal{font-size:7.5pt;color:#333;margin:6pt 0 0;overflow-wrap:anywhere}.print-doc .signatures{display:flex;gap:24pt;margin-top:12pt}.print-doc .signatures div{flex:1;padding-top:38pt;break-inside:avoid}.print-doc .signatures span{display:block;border-top:.75pt solid #000;padding-top:3pt;font-weight:600}.print-doc .signatures small{display:block}.print-doc .signatures small{font-size:7.5pt;color:#444}}
