.ofis{--rail-w:92px;--panel:#0a101b;--panel-2:#0d1522;--line-soft:#172235;--good:#7fd9d1;--warn:#f6a754;--bad:var(--strike);--radius:6px;background:radial-gradient(circle at 18% -12%,#0a2f73 0,transparent 560px),radial-gradient(circle at 105% 40%,#06204b66,transparent 640px),var(--void);min-height:100dvh;color:var(--ink)}.ofis:before{content:"";pointer-events:none;background-image:linear-gradient(var(--line-soft) 1px,transparent 1px),linear-gradient(90deg,var(--line-soft) 1px,transparent 1px);opacity:.45;background-size:72px 72px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(at 30% 0,#000,#0000 70%);mask-image:radial-gradient(at 30% 0,#000,#0000 70%)}.ofis-shell{grid-template-columns:var(--rail-w) minmax(0,1fr);min-height:100dvh;display:grid;position:relative}.ofis-rail{border-right:1px solid var(--line-soft);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:20;background:#05070bcc;flex-direction:column;align-items:center;gap:6px;height:100dvh;padding:22px 0 18px;display:flex;position:sticky;top:0}.ofis-rail__mark{border-radius:14px;place-items:center;width:52px;height:52px;margin-bottom:18px;transition:transform .2s;display:grid;overflow:hidden;box-shadow:0 0 28px #0756f955}.ofis-rail__mark:hover{transform:scale(1.06)}.ofis-rail__mark img{width:100%;height:100%}.ofis-rail nav{scrollbar-width:none;flex-direction:column;gap:4px;width:100%;min-height:0;padding:0 10px;display:flex;overflow-y:auto}@media (height<=860px) and (width>=761px){.ofis-rail nav{gap:2px}.ofis-rail .ofis-rail__link{gap:4px;padding:8px 4px 7px}}.ofis-rail__link{border-radius:var(--radius);color:var(--muted);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;flex-direction:column;align-items:center;gap:6px;padding:11px 4px 9px;font-size:10px;transition:color .2s,background .2s;display:flex;position:relative}.ofis-rail__link:hover{color:var(--ink);background:#ffffff08}.ofis-rail__link.router-link-active{color:var(--ink);background:#0756f91f}.ofis-rail__link.router-link-active:before{content:"";background:var(--glow);width:3px;box-shadow:0 0 14px var(--glow);border-radius:0 3px 3px 0;position:absolute;top:10px;bottom:10px;left:-10px}.ofis-rail__foot{flex-direction:column;align-items:center;gap:10px;margin-top:auto;display:flex}.ofis-avatar{border:1px solid var(--line);width:36px;height:36px;font-family:var(--font-mono);background:#15213a;border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;display:grid;overflow:hidden}.ofis-avatar img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.ofis-avatar--sm{width:26px;height:26px;font-size:10px}.ofis-avatar--lg{width:64px;height:64px;font-size:18px}.ofis-main{flex-direction:column;min-width:0;display:flex}.ofis-topbar{border-bottom:1px solid var(--line-soft);font-family:var(--font-mono);color:var(--muted);justify-content:space-between;align-items:center;gap:20px;padding:18px calc(clamp(20px,3.4vw,56px));font-size:12px;display:flex}.ofis-topbar__trail{letter-spacing:.12em;text-transform:uppercase;gap:10px;display:flex}.ofis-topbar__trail strong{color:var(--ink);font-weight:400}.ofis-topbar__meta{align-items:center;gap:18px;display:flex}.ofis-pulse{align-items:center;gap:8px;display:inline-flex}.ofis-pulse:before{content:"";background:var(--good);width:7px;height:7px;box-shadow:0 0 10px var(--good);border-radius:50%}.ofis-content{flex:1;padding:calc(clamp(28px,4vw,56px)) calc(clamp(20px,3.4vw,56px)) 80px}.ofis-main:has(.wa){height:100dvh}.ofis-main:has(.wa) .ofis-topbar{display:none}.ofis-main:has(.wa) .ofis-content{min-height:0;padding:0}.ofis-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:36px;display:flex}.ofis-head .eyebrow{color:var(--glow)}.ofis-head h1{font-family:var(--font-display);letter-spacing:-.03em;margin-top:12px;font-size:calc(clamp(30px,3.4vw,50px));font-weight:500;line-height:1.05}.ofis-head p{color:var(--muted);max-width:560px;margin-top:10px}.ofis-head__actions{flex-wrap:wrap;gap:10px;display:flex}.o-btn{border-radius:var(--radius);background:var(--blue);color:#fff;white-space:nowrap;justify-content:center;align-items:center;gap:10px;min-height:42px;padding:10px 18px;font-size:14px;font-weight:600;transition:background .2s,border-color .2s,opacity .2s;display:inline-flex}.o-btn:hover{background:#3069ff}.o-btn:disabled{opacity:.55}.o-btn--ghost{border:1px solid var(--line);color:var(--ink);background:0 0}.o-btn--ghost:hover{background:#ffffff0a;border-color:#3d5d91}.o-btn--danger{color:#ffb4ad;background:0 0;border:1px solid #5a2a2a}.o-btn--danger:hover{background:#ff5a4f1a}.o-btn--sm{min-height:34px;padding:6px 12px;font-size:13px}.o-icon-btn{border-radius:var(--radius);width:36px;height:36px;color:var(--muted);place-items:center;transition:color .2s,background .2s;display:inline-grid}.o-icon-btn:hover{color:var(--ink);background:#ffffff0d}.o-field{flex-direction:column;gap:8px;min-width:0;display:flex}.o-field>span,.o-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:11px}.o-field input,.o-field select,.o-field textarea,.o-input{border-radius:var(--radius);width:100%;min-width:0;color:var(--ink);background:#070c15;border:1px solid #22324d;padding:11px 12px;font-size:15px;line-height:1.4;transition:border-color .2s}.o-field input:hover,.o-field select:hover,.o-field textarea:hover,.o-input:hover{border-color:#3d5d91}.o-field input:focus,.o-field select:focus,.o-field textarea:focus,.o-input:focus{border-color:var(--glow);outline:none;box-shadow:0 0 0 3px #5ab6ff22}.o-field textarea{resize:vertical;min-height:96px}.o-field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 17px) 52%,calc(100% - 12px) 52%;background-repeat:no-repeat;background-size:5px 5px;padding-right:32px}.o-field small{color:var(--muted);font-size:12px}.o-grid{gap:18px;display:grid}.o-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.o-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.o-check{cursor:pointer;align-items:center;gap:10px;font-size:14px;display:inline-flex}.o-check input{width:18px;height:18px;accent-color:var(--blue)}.o-error{color:#ffc2bc;background:#ff5a4f12;border:1px solid #5a2a2a}.o-error,.o-note{border-radius:var(--radius);padding:12px 14px;font-size:14px}.o-note{color:#f4d3ad;background:#f6a7540f;border:1px solid #3b3220;line-height:1.6}.o-tabs{scrollbar-width:none;border:1px solid var(--line-soft);background:#070b13;border-radius:8px;gap:4px;width:fit-content;max-width:100%;padding:4px;display:flex;overflow-x:auto}.o-tabs button{color:var(--muted);white-space:nowrap;border-radius:5px;padding:8px 14px;font-size:13px}.o-tabs button[aria-pressed=true],.o-tabs button[aria-selected=true]{color:var(--ink);background:#15213a}.o-panel{border:1px solid var(--line-soft);background:linear-gradient(#0c1320ee,#080d16ee);border-radius:10px}.o-panel__head{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;display:flex}.o-panel__head h2{font-family:var(--font-body);font-size:15px;font-weight:600}.o-panel__body{padding:20px}.o-pill{border:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.04em;color:var(--muted);white-space:nowrap;border-radius:99px;align-items:center;gap:6px;padding:3px 9px;font-size:11px;display:inline-flex}.o-pill--active,.o-pill--discussing,.o-pill--doing,.o-pill--post-scheduled{color:#9cc8ff;border-color:#1f4f9e}.o-pill--approved,.o-pill--converted,.o-pill--done,.o-pill--income,.o-pill--post-published{color:var(--good);border-color:#2b5856}.o-pill--high,.o-pill--paused,.o-pill--post-review,.o-pill--soon{color:var(--warn);border-color:#5a4426}.o-pill--expense,.o-pill--overdue,.o-pill--rejected,.o-pill--urgent{color:#ff9d95;border-color:#5a2a2a}.o-pill--today{color:var(--glow);border-color:#1f4f9e}.o-bar{background:#16233a;border-radius:4px;height:4px;overflow:hidden}.o-bar>i{background:linear-gradient(90deg,var(--blue),var(--glow));border-radius:inherit;height:100%;display:block}.o-empty{text-align:center;color:var(--muted);place-items:center;gap:12px;padding:48px 20px;display:grid}.o-empty strong{color:var(--ink);font-family:var(--font-display);font-size:18px;font-weight:500}.o-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.o-dialog{border:1px solid var(--line);width:calc(min(620px,100vw - 32px));max-height:calc(100dvh - 48px);color:var(--ink);background:#0a0f19;border-radius:12px;margin:auto;padding:0;box-shadow:0 30px 80px #000c}.o-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#02040899}.o-dialog--wide{width:calc(min(860px,100vw - 32px))}.o-dialog--wide[open]{flex-direction:column;display:flex}.o-dialog--wide>:is(form,fieldset,.o-dialog__body){flex:auto;min-height:0;overflow-y:auto}@media (width<=640px){.o-dialog,.o-dialog--wide{width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}}textarea.o-autogrow{field-sizing:content;resize:none;min-height:40px;max-height:320px;overflow-y:auto}.o-project-badge{white-space:nowrap;text-overflow:ellipsis;background:var(--project,#ffffff14);max-width:100%;color:var(--project-ink,var(--ink));border-radius:999px;align-items:center;gap:5px;padding:2px 9px;font-size:12px;font-weight:500;line-height:1.5;display:inline-flex;overflow:hidden}.o-project-stripe{box-shadow:inset 3px 0 0 var(--project,transparent)}.o-dialog__head{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:12px;padding:20px 22px;display:flex}.o-dialog__head h2{font-family:var(--font-display);letter-spacing:-.02em;font-size:19px;font-weight:500}.o-dialog__body{gap:18px;padding:22px;display:grid}.o-dialog__foot{justify-content:flex-end;gap:10px;padding:16px 22px 22px;display:flex}.o-dialog[open]{animation:o-rise .28s var(--ease-out)}@keyframes o-rise{0%{opacity:0;transform:translateY(14px)}}.gate-step{border-top:1px solid var(--line);gap:22px;padding-top:26px;display:grid}.gate-step__count{font-family:var(--font-mono);letter-spacing:.14em;color:var(--glow);text-transform:uppercase;font-size:11px}.gate-step h1{font-family:var(--font-display);letter-spacing:-.03em;font-size:calc(clamp(26px,2.4vw,34px));font-weight:500;line-height:1.15}.gate-step form>p,.gate-step>p{color:var(--muted);font-size:15px;line-height:1.7}.gate-step form{gap:18px;display:grid}.gate-step .o-btn{width:100%;min-height:50px}.gate-link{color:var(--muted);text-underline-offset:4px;justify-self:start;font-size:14px;text-decoration:underline}.gate-link:hover{color:var(--ink)}.backup-codes{border:1px dashed var(--line);border-radius:var(--radius);font-family:var(--font-mono);letter-spacing:.08em;text-align:center;background:#070c15;grid-template-columns:repeat(2,1fr);gap:8px;padding:16px;font-size:16px;display:grid}.ofis-page-enter-active{transition:opacity .35s var(--ease-out),transform .45s var(--ease-out)}.ofis-page-enter-from{opacity:0;transform:translateY(10px)}.o-toast{z-index:60;border:1px solid var(--line);background:#0d1626;border-radius:8px;padding:12px 16px;font-size:14px;position:fixed;bottom:24px;right:24px;box-shadow:0 16px 40px #000a}@media (width<=900px){.o-grid--2,.o-grid--3{grid-template-columns:1fr}}.ofis-dock{display:none}.ofis-ask{z-index:40;border:1px solid var(--line-soft);background:#0d1522;border-radius:12px;gap:8px;max-width:420px;margin:0 auto;padding:16px;display:grid;position:fixed;bottom:24px;left:12px;right:12px}@media (width<=760px){.ofis-shell{grid-template-columns:minmax(0,1fr);padding-bottom:64px}.ofis-rail{display:none}.ofis-dock{z-index:30;border-top:1px solid var(--line-soft);background:var(--panel);grid-template-columns:repeat(4,minmax(0,1fr));height:64px;display:grid;position:fixed;bottom:0;left:0;right:0}.ofis-dock__btn{min-width:0;color:var(--muted);font-family:var(--font-mono);background:0 0;border:0;place-items:center;gap:2px;font-size:11px;text-decoration:none;display:grid}.ofis-dock__btn.is-on,.ofis-dock__btn.router-link-active{color:var(--ink)}.ofis:has(.wa.is-open) .ofis-dock{display:none}.ofis:has(.wa) .ofis-shell{padding-bottom:0;overflow:hidden}.ofis-sheet{z-index:40;border:1px solid var(--line-soft);background:#0d1522;border-radius:12px;flex-direction:column;gap:8px;max-height:70dvh;padding:16px;display:flex;position:fixed;bottom:76px;left:12px;right:12px}.ofis-sheet nav{overflow:auto}.ofis-sheet a,.ofis-sheet__out{width:100%;min-height:44px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;text-decoration:none;display:flex}.ofis-sheet__out{border-top:1px solid var(--line-soft)}.ofis-topbar__meta .ofis-hide-sm{display:none}.ofis-topbar,.ofis-topbar__meta{flex-wrap:wrap;row-gap:8px}.ofis-topbar__meta{gap:12px}}.ofis-dock__btn,.ofis-rail__link{position:relative}.ofis-badge{background:var(--blue);color:#fff;min-width:18px;height:18px;font:700 11px/18px var(--font-mono,monospace);text-align:center;border-radius:99px;padding:0 5px;position:absolute;top:4px;right:14px}.ofis-dock__btn .ofis-badge{top:2px;right:calc(50% - 22px)}
