@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-B2xhLi22.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-CMZtQduZ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-CGAr0uHJ.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CaVNZxsx.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-CFHvXkgd.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-C2S99t-D.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #ffffff;--surface: #ffffff;--surface-2: #f4f6f9;--hover: #f5f8fc;--line-soft: #eef1f5;--line: #e2e6ec;--line-strong: #cbd2dc;--text: #16202c;--muted: #5b6676;--faint: #98a2b0;--ink: #16202c;--accent: #1d64c4;--accent-strong: #154f9e;--accent-soft: #edf3fc;--accent-line: #c3d7f2;--accent-bright: #1d64c4;--on-accent: #ffffff;--focus: rgba(29, 100, 196, .35);--danger: #b4232a;--danger-soft: #fdf0f0;--warn: #8a5a00;--warn-soft: #fdf6e6;--ok: #1d6b3c;--ok-soft: #eaf6ee;--info-soft: #eef4fb;--radius: 10px;--radius-s: 7px;--shadow: none;--shadow-float: 0 1px 2px rgba(16, 24, 40, .06), 0 12px 32px -8px rgba(16, 24, 40, .18);--touch: 44px;--fast: .12s;--mid: .2s;--ease: cubic-bezier(.2, 0, 0, 1);--font: "Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html{font-size:16px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);line-height:1.45;letter-spacing:-.006em;font-feature-settings:"cv11" 1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1{font-size:1.5rem;margin:0;font-weight:650;letter-spacing:-.02em}h2{font-size:1.1rem;margin:0 0 .75rem;font-weight:600;letter-spacing:-.012em}h3{font-size:.78rem;margin:0 0 .5rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em}a{color:var(--accent)}::selection{background:var(--accent-soft)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}table,.tile-value,.cal,.day-list .time,.mono{font-variant-numeric:tabular-nums}.btn,.module,.tab,.tab a,.ptab,.chip,.cal-day,.tile,.seg button,.date-chip,input,select,textarea,td,.quick-results button{transition:background-color var(--fast) var(--ease),border-color var(--fast) var(--ease),color var(--fast) var(--ease),box-shadow var(--fast) var(--ease)}.btn:active:not(:disabled){transform:translateY(.5px)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.skeleton{padding:.5rem 0;animation:sk-in 1ms .15s both}.skeleton-head{display:flex;gap:1rem;align-items:center;margin-bottom:1.5rem}.sk-col{display:flex;flex-direction:column;gap:.6rem;flex:1}.skeleton-row{display:grid;grid-template-columns:1fr 2fr 1.4fr;gap:1.5rem;padding:.95rem 0;border-bottom:1px solid var(--line-soft)}.sk{display:block;border-radius:999px;background:linear-gradient(90deg,var(--surface-2) 0%,var(--line-soft) 50%,var(--surface-2) 100%);background-size:200% 100%;animation:sk-shimmer 1.4s ease-in-out infinite}.sk-line{height:10px}.sk-line.short{width:60%}.sk-title{height:18px;width:40%}.sk-round{width:64px;height:64px;border-radius:50%;flex:none}.sk-tab{display:inline-block;width:7rem;height:10px;vertical-align:middle}@keyframes sk-in{0%{opacity:0}to{opacity:1}}@keyframes sk-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}dialog[open]{animation:dlg-in var(--mid) var(--ease)}dialog[open]::backdrop{animation:bd-in var(--mid) var(--ease)}@keyframes dlg-in{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:none}}@keyframes bd-in{0%{opacity:0}to{opacity:1}}.app{display:grid;grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);height:100vh}.top{background:var(--surface);color:var(--text);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:1.25rem;padding:0 .9rem;min-height:64px}.top .brand-name{display:none}.top .brand{display:flex;align-items:center;gap:.55rem;font-weight:650;font-size:1.05rem;letter-spacing:.01em}.top .brand .mark{width:30px;height:30px;border-radius:8px;background:var(--accent);color:var(--on-accent);display:grid;place-items:center}.top-right{margin-left:auto;display:flex;align-items:center;gap:.75rem}.top .btn{background:var(--surface);color:var(--text);border-color:var(--line)}.top .btn:hover{background:var(--surface-2)}.top-btn{width:40px;height:40px;border-radius:8px;border:0;background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer;position:relative}.top-btn:hover{background:var(--surface-2);color:var(--text)}.top-btn.alarm{color:var(--warn)}.top-btn .count{position:absolute;top:2px;right:0;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:#d2473f;color:#fff;font-size:.72rem;font-weight:700;display:grid;place-items:center}.side-toggle{display:none}.lang{display:inline-flex;border:1px solid var(--line);border-radius:7px;overflow:hidden}.lang button{border:0;background:transparent;color:var(--muted);font:inherit;font-size:.8rem;font-weight:600;padding:.35rem .55rem;cursor:pointer;min-height:34px}.lang button.on{background:var(--accent);color:var(--on-accent)}.auth .lang{border-color:var(--line)}.auth .lang button{color:var(--muted)}.auth .lang button.on{background:var(--accent);color:#fff}.modules{display:flex;align-self:stretch;flex:1;min-width:0;overflow-x:auto}.module{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;min-width:76px;padding:.35rem .55rem;color:var(--muted);text-decoration:none;font-size:.74rem;font-weight:550;white-space:nowrap;border:0;box-shadow:inset 0 -2px 0 transparent}.module:hover{color:var(--text)}.module.active{color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent)}.module.module-menu{font:inherit;font-size:.78rem;font-weight:550;color:var(--muted);cursor:pointer}.module.module-menu{background:transparent}.module.module-menu:hover{color:var(--text)}.module.module-menu.active{color:var(--accent)}.module-menu span{display:inline-flex;align-items:center;gap:.15rem}.menu-btn{display:flex;align-items:center;gap:.5rem;border:0;background:transparent;font:inherit;color:var(--muted);padding:.25rem .35rem .25rem .5rem;border-radius:999px;cursor:pointer;min-height:40px}.menu-btn:hover,.menu-btn[aria-expanded=true]{background:var(--hover);color:var(--text)}.initials{width:32px;height:32px;border-radius:50%;background:var(--accent-soft);color:var(--accent-strong);display:grid;place-items:center;font-size:.78rem;font-weight:600;letter-spacing:.03em}.menu-pop{position:fixed;z-index:60;min-width:232px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-float);padding:.35rem;animation:dlg-in var(--fast) var(--ease)}.menu-head{display:flex;flex-direction:column;gap:.1rem;padding:.5rem .6rem .6rem;border-bottom:1px solid var(--line-soft);margin-bottom:.3rem}.menu-head span{font-size:.82rem;color:var(--muted)}.menu-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.35rem .6rem;font-size:.88rem;color:var(--muted)}.menu-row .lang button{min-height:28px;padding:.2rem .55rem}.menu-sep{height:1px;background:var(--line-soft);margin:.3rem 0}.menu-item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.5rem .6rem;border:0;border-radius:7px;background:none;color:var(--text);font:inherit;font-size:.9rem;text-align:left;text-decoration:none;cursor:pointer}.menu-item svg{color:var(--muted)}.menu-item:hover{background:var(--hover)}.menu-item.active{background:var(--accent-soft);color:var(--accent-strong)}.menu-item.active svg{color:var(--accent)}.work{display:grid;grid-template-columns:272px minmax(0,1fr);min-height:0}.side{background:var(--surface);border-right:1px solid var(--line);overflow-y:auto;display:flex;flex-direction:column}.side-block{padding:.8rem .85rem;border-bottom:1px solid var(--line)}.side-block.grow{flex:1;border-bottom:0}.side-title{display:block;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--muted);margin-bottom:.45rem}.side-empty,.side-note{font-size:.85rem;margin:.4rem 0}.side-note{margin-top:.9rem;font-style:italic}.side-link{font-size:.88rem;font-weight:600;text-decoration:none}.quick{position:relative}.quick-input{display:flex;align-items:center;gap:.4rem;border:1px solid var(--line-strong);border-radius:var(--radius-s);background:var(--surface);padding-left:.6rem;color:var(--muted)}.quick-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus)}.quick-input input{border:0;min-height:40px;padding-left:.1rem;outline:none;background:transparent}.quick-results{list-style:none;margin:.35rem 0 0;padding:.25rem;position:absolute;left:.6rem;right:.6rem;z-index:5;background:#fff;border:1px solid var(--line);border-radius:var(--radius-s);box-shadow:var(--shadow)}.quick-results li.muted{padding:.5rem;font-size:.88rem}.quick-results button{width:100%;text-align:left;border:0;background:transparent;font:inherit;padding:.45rem .5rem;border-radius:5px;cursor:pointer;display:flex;gap:.35rem;align-items:baseline;flex-wrap:wrap;min-height:40px}.quick-results button:hover,.quick-results button:focus-visible{background:var(--accent-soft)}.quick-results button span{margin-left:auto;font-size:.8rem}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.35rem}.cal-head button{border:0;background:transparent;font:inherit;font-weight:600;cursor:pointer;min-width:34px;min-height:34px;border-radius:6px;color:var(--text)}.cal-head button:hover{background:var(--surface-2)}.cal-head .cal-title{text-transform:capitalize;font-size:.92rem}.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}.cal-wd{font-size:.72rem;color:var(--muted);font-weight:600;padding:.15rem 0;text-transform:uppercase}.cal-day{border:0;background:transparent;font:inherit;font-size:.86rem;aspect-ratio:1;border-radius:50%;cursor:pointer;position:relative;color:var(--text);font-variant-numeric:tabular-nums}.cal-day:hover{background:var(--surface-2)}.cal-day.busy:after{content:"";position:absolute;left:50%;bottom:3px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--accent)}.cal-day.today{background:var(--accent);color:var(--on-accent);font-weight:600}.cal-day.today.busy:after{background:#fff}.day-list{list-style:none;margin:0 0 .6rem;padding:0;display:flex;flex-direction:column;gap:.3rem}.day-list li{display:grid;grid-template-columns:5.6rem 1fr;gap:.4rem;font-size:.88rem;padding:.35rem .5rem;border-left:3px solid var(--accent);background:var(--surface-2);border-radius:0 5px 5px 0}.day-list li.nfz{border-left-color:#4a79b5}.day-list li.away{border-left-color:#c9a23f;color:#5e3d00}.day-list .time{color:var(--muted);font-size:.82rem}.stage{display:flex;flex-direction:column;min-width:0;min-height:0}.tabs{display:flex;gap:2px;padding:.35rem .6rem 0;background:var(--surface);border-bottom:1px solid var(--line);overflow-x:auto;flex:none}.tab{display:inline-flex;align-items:center;background:var(--surface-2);border:1px solid var(--line);border-bottom:0;border-radius:8px 8px 0 0;white-space:nowrap}.tab a{color:var(--muted);text-decoration:none;font-size:.86rem;font-weight:550;padding:.45rem .4rem .45rem .8rem;min-height:36px;display:inline-flex;align-items:center}.tab a:only-child{padding-right:.8rem}.tab button{border:0;background:transparent;cursor:pointer;padding:.3rem;margin-right:.3rem;border-radius:4px;color:var(--muted);display:grid;place-items:center}.tab button:hover{background:var(--line);color:var(--danger)}.tab.active{background:var(--surface);position:relative;top:1px;box-shadow:inset 0 2px 0 var(--accent)}.tab.active a{color:var(--accent-strong)}.main{padding:1.2rem clamp(.9rem,2vw,1.8rem) 2.5rem;overflow-y:auto;flex:1;min-height:0}.main>*{max-width:1240px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.1rem}.page-head .sub,.hello .sub{color:var(--muted);margin-top:.15rem}.hello{margin-bottom:1.1rem}@media (max-width: 1000px){.app{height:auto;min-height:100vh}.side-toggle{display:grid}.work{grid-template-columns:minmax(0,1fr)}.side{display:none}.work{position:relative}.work.side-open .side{display:flex;position:absolute;inset:0 auto 0 0;width:min(300px,86vw);min-height:100%;z-index:20;box-shadow:var(--shadow-float)}.main{overflow:visible}}@media (max-width: 560px){.top{gap:.4rem;padding:0 .5rem}.top .brand{display:none}.module{min-width:72px}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow)}.card+.card{margin-top:1rem}.grid>.card{margin-top:0;min-width:0}.lines>div{display:flex;align-items:center;gap:.5rem .75rem;flex-wrap:wrap;padding:.6rem 0;border-bottom:1px solid var(--surface-2)}.lines>div:last-child{border-bottom:0}.lines .label{flex:1 1 10rem;min-width:0}.lines .actions{display:flex;gap:.4rem;margin-left:auto}.grid{display:grid;gap:1rem}.grid.cols-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid.cols-3{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stack{display:flex;flex-direction:column;gap:.75rem}.row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.muted{color:var(--muted)}.right{margin-left:auto}.mono{font-variant-numeric:tabular-nums}.btn{min-height:var(--touch);padding:0 1rem;border-radius:var(--radius-s);border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit;font-weight:550;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;text-decoration:none}.btn:hover{background:var(--surface-2)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.primary:hover{background:var(--accent-strong)}.btn.danger{color:var(--danger);border-color:var(--line)}.btn.danger:hover{background:var(--danger-soft)}.btn.small{min-height:36px;padding:0 .7rem;font-size:.9rem}.btn:disabled{opacity:.55;cursor:not-allowed}.field{display:flex;flex-direction:column;gap:.3rem}.field label{font-size:.88rem;font-weight:600}.field .hint{font-size:.82rem;color:var(--muted)}.field .err{font-size:.85rem;color:var(--danger)}input,select,textarea{min-height:var(--touch);padding:.5rem .7rem;border:1px solid var(--line-strong);border-radius:var(--radius-s);background:var(--surface);font:inherit;color:var(--text);width:100%}textarea{min-height:96px;resize:vertical}input[type=checkbox]{width:22px;height:22px;min-height:0;accent-color:var(--accent)}input[aria-invalid=true]{border-color:var(--danger)}.check{display:flex;align-items:center;gap:.6rem;min-height:var(--touch)}.alert{border-radius:var(--radius-s);padding:.75rem 1rem;border:1px solid}.alert.error{background:var(--danger-soft);border-color:#e2b9ba;color:#6f1a1d}.alert.warn{background:var(--warn-soft);border-color:#e6cf93;color:#5e3d00}.alert.ok{background:var(--ok-soft);border-color:#b5dcc2;color:#134a27}.alert.info{background:var(--info-soft);border-color:#bfd0e6;color:#1e3a5c}.chip{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .6rem;border-radius:999px;font-size:.82rem;font-weight:600;background:var(--surface-2);border:1px solid var(--line);white-space:nowrap}.chip.ok{background:var(--ok-soft);border-color:#b5dcc2;color:#134a27}.chip.warn{background:var(--warn-soft);border-color:#e6cf93;color:#5e3d00}.chip.danger{background:var(--danger-soft);border-color:#e2b9ba;color:#6f1a1d}.chip.accent{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-strong)}button.chip{cursor:pointer;min-height:36px;font:inherit;font-size:.88rem;font-weight:600}table{width:100%;border-collapse:collapse}th{white-space:nowrap;text-align:left;font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600;padding:.5rem .75rem;border-bottom:1px solid var(--line)}td{padding:.7rem .75rem;border-bottom:1px solid var(--line-soft);vertical-align:middle}tr.link{cursor:pointer}.table-wrap{overflow-x:auto}.empty{text-align:center;color:var(--muted);padding:2.5rem 1rem}dl.facts{display:grid;grid-template-columns:max-content 1fr;gap:.4rem 1.25rem;margin:0}dl.facts dt{color:var(--muted)}dl.facts dd{margin:0}dialog{border:0;border-radius:var(--radius);padding:0;width:min(640px,calc(100vw - 2rem));box-shadow:var(--shadow-float);color:var(--text)}dialog::backdrop{background:#10182852}dialog .head{padding:1rem 1.25rem;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}dialog .body{padding:1.25rem;max-height:70vh;overflow:auto}dialog .foot{padding:.9rem 1.25rem;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:.5rem;background:var(--surface);border-radius:0 0 var(--radius) var(--radius)}.auth{min-height:100vh;display:grid;place-items:center;padding:1rem}.auth .card{width:min(440px,100%)}.auth .brand{display:flex;align-items:center;gap:.6rem;font-weight:650;font-size:1.15rem;margin-bottom:1.25rem}.auth .brand .mark{width:34px;height:34px;border-radius:9px;background:var(--accent);color:var(--on-accent);display:grid;place-items:center}.qr{display:grid;place-items:center;padding:.75rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius-s)}.secret{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;word-break:break-all;background:var(--surface-2);padding:.5rem .7rem;border-radius:var(--radius-s)}.week{display:grid;grid-template-columns:minmax(140px,1.2fr) repeat(7,minmax(96px,1fr));border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface);min-width:860px}.week>div{padding:.5rem;border-bottom:1px solid var(--surface-2);border-right:1px solid var(--surface-2);min-height:64px}.week .h{background:var(--surface-2);font-weight:600;font-size:.85rem;min-height:0}.week .h.today{background:var(--accent-soft);color:var(--accent-strong)}.week .who{font-weight:600}.shift{background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--radius-s);padding:.25rem .4rem;font-size:.85rem;display:flex;justify-content:space-between;align-items:center;gap:.25rem;margin-bottom:.25rem}.shift.nfz{background:var(--info-soft);border-color:#bfd0e6}.shift button{border:0;background:transparent;cursor:pointer;font-size:1rem;line-height:1;padding:.3rem;color:var(--muted);border-radius:4px}.shift button:hover{color:var(--danger);background:var(--surface)}.leave{background:var(--warn-soft);border:1px dashed #e6cf93;border-radius:var(--radius-s);padding:.25rem .4rem;font-size:.85rem;color:#5e3d00}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.9rem;margin-bottom:1rem}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem;text-decoration:none;color:var(--text);display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:.9rem;align-items:center;box-shadow:var(--shadow)}.tile:hover{border-color:var(--accent-line);background:var(--hover)}.tile-icon{grid-row:1 / 3;width:50px;height:50px;border-radius:12px;background:var(--surface-2);color:var(--accent);display:grid;place-items:center}.tile-value{font-size:1.8rem;font-weight:600;letter-spacing:-.02em;line-height:1.1}.tile-label{color:var(--muted);font-size:.88rem}.tile.danger .tile-icon{background:var(--danger-soft);color:var(--danger)}.tile.danger .tile-value{color:var(--danger)}.soon{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.6rem}.soon-item{display:flex;align-items:center;gap:.6rem;padding:.7rem .8rem;border:1px dashed var(--line-strong);border-radius:var(--radius-s);color:var(--muted);font-size:.9rem;font-weight:550}.pcard-head{display:flex;gap:1rem;align-items:flex-start;flex-wrap:wrap;margin-bottom:.9rem}.avatar{width:64px;height:64px;border-radius:50%;background:var(--surface-2);border:2px solid var(--line);display:grid;place-items:center;font-weight:700;font-size:1.25rem;color:var(--muted);text-transform:uppercase;flex:none}.avatar.f,.avatar.m{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-strong)}.pcard-id{flex:1 1 16rem;min-width:0}.pcard-id .sub{color:var(--muted);margin-top:.15rem}.pcard-actions{margin-left:auto}.pcard-tabs{display:flex;gap:.25rem;overflow-x:auto;border-bottom:1px solid var(--line);margin-bottom:1rem}.ptab{border:0;border-bottom:3px solid transparent;background:transparent;font:inherit;cursor:pointer;min-height:var(--touch);display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .8rem;font-size:.88rem;font-weight:550;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px;color:var(--muted)}.ptab.active{color:var(--accent-strong);border-bottom-color:var(--accent)}.ptab.soon{color:var(--faint);cursor:not-allowed}.grid[hidden]{display:none}.card h2{display:flex;align-items:center;gap:.5rem}tr.link:hover td{background:var(--hover)}.seg{display:inline-flex;border:1px solid var(--line);border-radius:var(--radius-s);overflow:hidden;background:var(--surface)}.seg button{border:0;background:transparent;font:inherit;font-weight:600;padding:0 .9rem;min-height:var(--touch);cursor:pointer;color:var(--text)}.seg button.on{background:var(--accent);color:#fff}.dot{width:10px;height:10px;border-radius:50%;display:inline-block}.slots{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.6rem}.picker{position:relative}.quick-results.static{position:static;margin-top:.35rem;box-shadow:none}.picker-new{padding:.75rem;border:1px dashed var(--line);border-radius:var(--radius-s)}.history{list-style:none;margin:0;padding:0;font-size:.88rem;display:flex;flex-direction:column;gap:.25rem}.daygrid-wrap{overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);max-height:calc(100vh - 260px);min-height:360px}.daygrid{display:grid;min-width:520px}.dg-corner,.dg-head{position:sticky;top:0;z-index:3;background:var(--surface-2);border-bottom:1px solid var(--line)}.dg-head{padding:.55rem .6rem;font-weight:700;font-size:.9rem;border-left:1px solid var(--line)}.dg-times{position:relative;border-right:1px solid var(--line)}.dg-times span{position:absolute;right:6px;transform:translateY(-1px);font-size:.74rem;color:var(--muted);font-variant-numeric:tabular-nums}.dg-col{position:relative;border-left:1px solid var(--line);cursor:copy;background-image:linear-gradient(to bottom,var(--line) 1px,transparent 1px),linear-gradient(to bottom,transparent 49.5%,var(--line-soft) 49.5%,var(--line-soft) 50.5%,transparent 50.5%)}.dg-shift{position:absolute;left:0;right:0;background:#1d64c41f;border-left:3px solid var(--accent-bright);pointer-events:none}.dg-shift.nfz{background:#78a0d72e;border-left-color:#7ea3d6}.dg-shift span{position:absolute;top:2px;right:6px;font-size:.7rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.dg-now{position:absolute;left:0;right:0;height:2px;background:#d2473f;z-index:2;pointer-events:none}.dg-now:before{content:"";position:absolute;left:-4px;top:-3px;width:8px;height:8px;border-radius:50%;background:#d2473f}.dg-appt{position:absolute;left:4px;right:6px;z-index:1;text-align:left;font:inherit;font-size:.82rem;line-height:1.25;padding:.2rem .45rem;border:1px solid #cfd8d4;border-left:5px solid #8a94a3;border-radius:6px;background:#fff;cursor:pointer;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 2px #10182814;color:var(--text)}.dg-appt:hover{box-shadow:0 2px 8px #1018282e;z-index:2}.dg-appt.small{flex-direction:row;gap:.4rem;align-items:center;white-space:nowrap}.dg-appt.small .dg-meta{display:none}.dg-time{font-size:.74rem;color:var(--muted)}.dg-meta{font-size:.74rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis}.st-confirmed{background:#f2f8ff}.st-waiting{background:var(--warn-soft);border-color:#e6cf93}.st-in_treatment{background:var(--accent-soft);border-color:var(--accent-line)}.st-done{background:var(--surface-2);color:#6b736e}.st-unreachable{background:#fff6e8;border-color:#e6cf93;border-style:dashed}.st-cancelled_patient,.st-cancelled_practice,.st-no_show{background:#fbf3f3;color:#9a6a6a;text-decoration:line-through}.day-list li.st-waiting{background:var(--warn-soft)}.day-list li.st-done{opacity:.6}.day-list a{color:var(--text);text-decoration:none;font-weight:600}.day-list a:hover{text-decoration:underline}.weekgrid{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:.5rem;min-width:940px}.wg-day{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.4rem;display:flex;flex-direction:column;gap:.3rem;min-height:220px}.wg-day.today{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.wg-head{border:0;background:var(--surface-2);border-radius:6px;font:inherit;font-weight:700;font-size:.86rem;padding:.45rem .5rem;cursor:pointer;text-align:left;min-height:36px;color:var(--text)}.wg-head:hover{background:var(--accent-soft)}.wg-empty{font-size:.82rem;padding:.3rem .4rem}.wg-appt{text-align:left;font:inherit;font-size:.82rem;border:1px solid var(--line);border-left:4px solid #8a94a3;border-radius:5px;background:#fff;padding:.3rem .4rem;cursor:pointer;display:flex;flex-wrap:wrap;gap:.15rem .35rem;align-items:baseline;color:var(--text);min-height:34px}.wg-appt:hover{box-shadow:0 1px 6px #10182826}@media (max-width: 1000px){.daygrid-wrap{max-height:none}}.chart-bar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.chart-dates{display:flex;gap:.4rem;align-items:center;overflow-x:auto;min-width:0;flex:1 1 16rem;padding:2px}.date-chip{border:1px solid var(--line);background:var(--surface);border-radius:999px;font:inherit;font-size:.88rem;font-weight:600;padding:0 .8rem;min-height:36px;white-space:nowrap;cursor:pointer;color:var(--text)}.date-chip.on{background:var(--accent);border-color:var(--accent);color:#fff}.chart-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:1rem;align-items:start}.chart-layout>.card{margin-top:0}.chart-layout>.chart-card:only-child{grid-column:1 / -1}.chart-sides{display:flex;justify-content:space-between;font-size:.8rem;margin-bottom:.25rem}.chart-scroll{overflow-x:auto}.tooth-chart{display:block;width:100%;min-width:620px;max-width:980px;margin:0 auto}.tc-axis{stroke:var(--line);stroke-width:1;stroke-dasharray:3 4}.tc-outline{fill:#fff;stroke:#7a8594;stroke-width:1.2;stroke-linejoin:round}.tc-thread{stroke:#fff;stroke-width:1.2;opacity:.8}.tc-tooth{cursor:pointer;outline:none}.tc-tooth:hover .tc-outline{stroke:var(--accent);stroke-width:1.8}.tc-tooth:focus-visible .tc-num{fill:var(--accent);text-decoration:underline}.tc-num{font-size:12px;font-weight:700;fill:var(--text);text-anchor:middle}.tc-selected{fill:var(--accent-soft);stroke:var(--accent);stroke-width:1.5}.tc-surface{fill:#fff;stroke:#7a8594;stroke-width:1;cursor:pointer;stroke-linejoin:round}.tc-surface:hover{stroke:var(--accent);stroke-width:2}.tc-surface.on{stroke:var(--ink);stroke-width:2.6;fill:var(--accent-bright)}.tc-missing{opacity:.28}.tc-cross{stroke:#5d6660;stroke-width:2;fill:none;pointer-events:none}.palette{display:grid;gap:.6rem}.palette-items{display:flex;flex-wrap:wrap;gap:.35rem}.finding{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-s);font:inherit;font-size:.86rem;padding:0 .6rem;min-height:36px;cursor:pointer;color:var(--text);text-align:left}.finding.on{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent);font-weight:600}.swatch{display:inline-block;width:12px;height:12px;border-radius:3px;flex:none;vertical-align:-1px;border:1px solid rgba(0,0,0,.15)}tr.gone td{color:var(--muted)}tr.gone td strong{text-decoration:line-through}.small{font-size:.82rem}@media (max-width: 1250px){.chart-layout{grid-template-columns:minmax(0,1fr)}}.plan-head{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;align-items:flex-start}.plan-head h2{flex-wrap:wrap}.plan-stage+.plan-stage{margin-top:1rem}.plan-stage-head{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;padding:.5rem .7rem;background:var(--surface-2);border-radius:var(--radius-s);margin-bottom:.25rem}.plan-table td{vertical-align:top}.nowrap{white-space:nowrap}.facts.sums dd{text-align:right;font-variant-numeric:tabular-nums}.teeth-picker{display:grid;gap:.3rem}.teeth-row{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));gap:2px}.teeth-row:has(>:nth-child(10):last-child){grid-template-columns:repeat(10,minmax(0,1fr));width:62.5%;margin:0 auto}.tooth-btn{border:1px solid var(--line);background:var(--surface);border-radius:5px;font:inherit;font-size:.8rem;font-weight:600;min-height:36px;padding:0;cursor:pointer;color:var(--text)}.tooth-btn.mid{margin-left:6px}.tooth-btn.on{background:var(--accent);border-color:var(--accent);color:#fff}.service-list{display:grid;gap:2px;max-height:46vh;overflow:auto}.service{display:flex;align-items:center;gap:.6rem;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;font:inherit;text-align:left;padding:.45rem .4rem;min-height:var(--touch);cursor:pointer;color:var(--text)}.service:hover{background:var(--accent-soft)}.service-name{flex:1 1 auto;min-width:0}th.right{text-align:right}button.side-link{border:0;background:none;padding:0;font:inherit;font-size:.88rem;font-weight:600;color:var(--accent);cursor:pointer;text-decoration:underline}.plan-actions{margin-top:.4rem;gap:.35rem}.plan-table td:first-child{min-width:13rem}.plan-table th,.plan-table td{padding-left:.45rem;padding-right:.45rem}.clin-entry.voided .clin-body{opacity:.55;text-decoration:line-through;text-decoration-color:#00000040}.clin-body{margin-top:.75rem;display:grid;gap:.5rem}.clin-proc{border:1px solid var(--line);border-radius:var(--radius-s);margin-bottom:.35rem;background:var(--surface)}.clin-proc-head{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.4rem .6rem}.clin-proc-head>strong,.clin-proc-head>input:first-child{flex:1 1 14rem;min-width:0}.clin-proc-body{padding:.6rem;border-top:1px solid var(--line);display:grid;gap:.5rem;background:var(--surface)}.clin-price{width:7rem;text-align:right}.clin-discount{width:4rem;text-align:right}.clin-offers{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;margin-top:.5rem}.clin-diag{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.3rem 0}.clin-diag>span:first-child{flex:1 1 14rem}.clin-version+.clin-version{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}tfoot td{padding:.5rem .45rem;border-top:1px solid var(--line)}td.right,p.right,div.right{text-align:right}.perio-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.5rem;margin-top:.75rem}.perio-tile{border:1px solid var(--line);border-radius:var(--radius-s);padding:.5rem .7rem;background:var(--surface)}.perio-value{font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums}.perio-scroll{overflow-x:auto;display:grid;gap:1rem}table.perio{border-collapse:collapse;width:max-content;margin:0 auto}table.perio th{text-transform:none;letter-spacing:0;color:var(--muted);font-weight:600;position:sticky;left:0;z-index:1;background:var(--surface);text-align:right;font-size:.72rem;padding:0 .4rem 0 0;border:0;white-space:nowrap;min-width:4.4rem}table.perio td{padding:1px;text-align:center;border:0;border-left:1px solid var(--line-soft);background:transparent;height:24px;min-width:58px}table.perio td.mid{border-left:2px solid var(--muted)}table.perio td.gone{background:repeating-linear-gradient(135deg,var(--surface-2),var(--surface-2) 4px,var(--line) 4px,var(--line) 8px)}table.perio tbody tr:nth-child(2n) td{background:transparent}table.perio td.gone,table.perio tbody tr:nth-child(2n) td.gone{background:repeating-linear-gradient(135deg,var(--surface-2),var(--surface-2) 4px,var(--line) 4px,var(--line) 8px)}.perio-number td{background:var(--surface-2)!important;height:28px;font-size:.85rem}.perio-number td.gone strong{text-decoration:line-through;color:var(--muted)}.p3{display:grid;grid-template-columns:repeat(3,19px);justify-content:center}.pc{width:19px;min-height:22px;height:22px;padding:0;border:1px solid var(--line-strong);border-radius:3px;text-align:center;font:inherit;font-size:.8rem;font-variant-numeric:tabular-nums;background:#fff;color:var(--text);display:inline-grid;place-items:center}span.pc{border-color:transparent;background:transparent}.pc.ok{background:var(--ok-soft)}.pc.mid{background:var(--warn-soft);font-weight:700}.pc.deep{background:var(--danger-soft);color:var(--danger);font-weight:700}.pf{width:13px;height:13px;margin:3px;padding:0;border:1.5px solid #a3adba;background:#fff;cursor:pointer}.pf:disabled{cursor:default}.pf.plaque{border-radius:3px}.pf.bleeding{border-radius:50%}.pf.plaque.on{background:#3b6fb5;border-color:#3b6fb5}.pf.bleeding.on{background:#d2473f;border-color:#d2473f}.psel{width:19px;min-height:22px;height:22px;padding:0;border:1px solid var(--line-strong);border-radius:3px;font:inherit;font-size:.78rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:center;text-align-last:center;background:#fff}td>.psel{width:36px}table.perio input[type=checkbox]{width:16px;height:16px;min-height:0}.perio-bars td{height:44px;padding:0}.perio-bars svg{display:block;width:57px;height:40px;margin:0 auto}.pg{stroke:var(--line);stroke-width:.6}.pbar{fill:#9aa3b0}.pbar.ok{fill:#5a8f3c}.pbar.mid{fill:#c98a1e}.pbar.deep{fill:#b23b3b}.pnote{border:0;background:none;padding:0 0 0 2px;font-size:.75rem;color:#a3adba;cursor:pointer}.pnote.on{color:var(--accent)}.better{color:var(--ok)}.worse{color:var(--danger)}.q-form{display:grid;gap:.25rem;margin-top:.75rem}.q-item{padding:.6rem .7rem;border-radius:var(--radius-s);border:1px solid transparent;display:grid;gap:.4rem}.q-item+.q-item{border-top-color:var(--line-soft)}.q-item.bad{border-color:var(--danger);background:var(--danger-soft)}.q-text{font-weight:600}.q-req{color:var(--danger)}.q-detail{flex:1 1 14rem;width:auto}.q-list{display:grid;gap:.25rem;max-width:36rem}.q-row{display:flex;justify-content:space-between;align-items:center;gap:1rem}.q-row .seg button,.q-item .seg button{min-height:38px}.q-declaration{margin-top:.9rem;padding:.7rem;border:1px solid var(--line);border-radius:var(--radius-s);align-items:flex-start}.q-answers dt{max-width:26rem}.qt-question{border:1px solid var(--line);border-radius:var(--radius-s);padding:.7rem;display:grid;gap:.5rem;background:var(--surface)}details>summary{cursor:pointer;font-weight:600;font-size:.9rem;color:var(--accent);padding:.25rem 0}.consent-list{display:grid}.consent-row{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;padding:.5rem 0;border-bottom:1px solid var(--line)}.consent-row:last-child{border-bottom:0}.consent-name{flex:1 1 16rem;font-weight:600}.consent-text{white-space:pre-wrap;border:1px solid var(--line);border-radius:var(--radius-s);background:#fff;padding:1rem 1.1rem;line-height:1.55;max-height:60vh;overflow:auto;margin:.5rem 0}.signature{display:grid;gap:.35rem;max-width:640px}.signature-pad{width:100%;height:180px;border:2px dashed var(--line-strong);border-radius:var(--radius-s);background:#fff;touch-action:none;cursor:crosshair}.signature-image{display:block;max-width:360px;width:100%;border:1px solid var(--line);border-radius:var(--radius-s);background:#fff;margin-top:.5rem}.ct-help{display:grid;gap:.5rem}.seg a{display:inline-flex;align-items:center;font-weight:600;padding:0 .9rem;min-height:var(--touch);color:var(--text);text-decoration:none}.seg a.on{background:var(--accent);color:#fff}.stack>.seg{justify-self:start}.role-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.15rem 1rem}.finance-summary{display:grid;gap:.9rem}.summary-heading{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap}.summary-heading h2{margin:0}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));gap:.7rem}.summary-grid>div{display:flex;flex-direction:column;gap:.15rem;padding:.75rem .9rem;border:1px solid var(--line);border-radius:var(--radius-s);background:var(--surface-2)}.summary-grid span{color:var(--muted);font-size:.82rem}.summary-grid strong{font-size:1.15rem;font-variant-numeric:tabular-nums}.payment-summary{display:flex;gap:.5rem 1.2rem;flex-wrap:wrap;align-items:baseline}.payment-summary>span:not(.muted){display:inline-flex;gap:.35rem;font-size:.88rem}.payment-summary strong{font-variant-numeric:tabular-nums}.expense-table td{vertical-align:top}.expense-table td:nth-child(2){min-width:13rem}.expense-table td:nth-child(3){min-width:11rem}.tag-row{margin-top:.35rem;gap:.25rem}.tag-row .chip{font-size:.72rem;padding:.05rem .4rem}.amount-preview{min-height:var(--touch);display:flex;flex-direction:column;justify-content:center;gap:.1rem;padding:.45rem .7rem;border-radius:var(--radius-s);background:var(--accent-soft);font-variant-numeric:tabular-nums}.amount-preview span{color:var(--muted);font-size:.8rem}.paid-check{align-self:end}@media (max-width: 700px){.summary-grid{grid-template-columns:1fr}}.report-filters{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:end;margin-bottom:1rem}.report-filters .field{margin:0;min-width:9rem}.report-bars{display:grid;gap:.45rem}.report-bar-row{display:grid;grid-template-columns:minmax(7rem,12rem) 1fr 3.5rem;gap:.6rem;align-items:center}.report-bar-label{font-size:.9rem}.report-bar-track{height:.7rem;background:var(--surface-2);border-radius:999px;overflow:hidden}.report-bar-fill{height:100%;background:var(--accent);border-radius:999px;min-width:0}.report-bar-value{text-align:right;font-variant-numeric:tabular-nums;font-size:.9rem}.legacy{display:grid;gap:1rem}.legacy-group h3{display:flex;align-items:center;gap:.5rem;margin:.5rem 0}.legacy-list{list-style:none;margin:0;padding:0;display:grid;gap:.25rem}.legacy-head{width:100%;min-height:44px;display:flex;justify-content:space-between;align-items:center;gap:.5rem;text-align:left;padding:.5rem .75rem;border:1px solid var(--line, #dde3e0);border-radius:8px;background:var(--surface, #fff);cursor:pointer}.legacy-head span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legacy-body{padding:.75rem;border:1px solid var(--line, #dde3e0);border-top:0;border-radius:0 0 8px 8px}.legacy-body dl{display:grid;gap:.25rem;margin:.5rem 0}.legacy-body dl>div{display:grid;grid-template-columns:minmax(8rem,12rem) 1fr;gap:.5rem}.legacy-body dt{font-weight:600;color:var(--muted, #5b6662)}.legacy-body dd{margin:0;min-width:0}.legacy-body pre{margin:0;white-space:pre-wrap;word-break:break-word;font:inherit}@media (max-width: 600px){.legacy-body dl>div{grid-template-columns:1fr}}
