@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/_next/static/media/plus-jakarta-sans-cyrillic-ext.4c28e6c8.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/_next/static/media/plus-jakarta-sans-vietnamese.9ba5d91f.woff2) format("woff2");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:Plus Jakarta Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/_next/static/media/plus-jakarta-sans-latin-ext.a048183b.woff2) format("woff2");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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/_next/static/media/plus-jakarta-sans-latin.be6419ff.woff2) format("woff2");unicode-range:u+00??,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}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 500;font-display:swap;src:url(/_next/static/media/jetbrains-mono-latin-ext.8e2e0001.woff2) format("woff2");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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 500;font-display:swap;src:url(/_next/static/media/jetbrains-mono-latin.d4d543e2.woff2) format("woff2");unicode-range:u+00??,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:#cdb99e;--bg-decor:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.35 0 0 0 0 0.27 0 0 0 0 0.2 0 0 0 0.09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),radial-gradient(120% 90% at 100% 100%,rgba(74,52,34,0.7) 0%,rgba(74,52,34,0) 60%),radial-gradient(80% 60% at 0% 0%,rgba(255,246,232,0.85) 0%,rgba(255,246,232,0) 60%),linear-gradient(180deg,#e7dccb,#cdb99e 48%,#8d7357);--surface:#ffffff;--surface-2:rgba(18,18,18,0.05);--surface-3:rgba(255,255,255,0.45);--surface-panel:linear-gradient(165deg,rgba(255,255,255,0.32),rgba(255,255,255,0.14));--surface-panel-border:rgba(255,255,255,0.5);--panel-blur:blur(36px) saturate(1.5);--surface-shell:linear-gradient(165deg,rgba(255,255,255,0.34),rgba(255,255,255,0.16));--surface-shell-border:rgba(255,255,255,0.55);--shell-blur:blur(44px) saturate(1.5);--border:rgba(0,0,0,0.06);--border-field:rgba(0,0,0,0.09);--border-hover:rgba(0,0,0,0.16);--border-strong:rgba(20,22,26,0.12);--ink:#121212;--body:#5c5f66;--body-strong:#44474d;--muted:#8a8d94;--disabled:#b5b8be;--accent-50:#eaf1f8;--accent-200:#c9dbec;--accent-600:#2f6a9e;--accent-800:#1f4f7d;--focus-ring:rgba(47,106,158,0.4);--highlight:#c8f26d;--success:oklch(0.55 0.11 150);--success-bg:oklch(0.55 0.11 150/0.12);--success-text:oklch(0.42 0.11 150);--warning:oklch(0.55 0.11 70);--warning-bg:oklch(0.55 0.11 70/0.14);--warning-text:oklch(0.42 0.11 70);--danger:oklch(0.55 0.11 25);--danger-bg:oklch(0.55 0.11 25/0.12);--danger-text:oklch(0.42 0.12 25);--treatment:oklch(0.55 0.11 290);--treatment-bg:oklch(0.55 0.11 290/0.1);--treatment-text:oklch(0.4 0.11 290);--glass-bg:var(--surface-shell);--glass-border:var(--surface-shell-border);--glass-blur:44px;--text-body:var(--ink);--text-secondary:var(--body);--text-muted:var(--muted);--surface-card:var(--surface-panel);--surface-page:var(--bg);--action-primary:#121212;--action-primary-hover:#121212;--record-original:var(--accent-800);--record-original-bg:var(--accent-50);--record-original-border:var(--accent-200);--font-ui:"Plus Jakarta Sans",system-ui,sans-serif;--font-data:"JetBrains Mono",ui-monospace,monospace;--fs-display:48px;--fs-title:32px;--fs-section:24px;--fs-subtitle:20px;--fs-body:16px;--fs-ui:14px;--fs-aux:13px;--fs-label:12px;--fs-clock:56px;--lh-tight:1.05;--lh-heading:1.2;--lh-ui:1.5;--lh-body:1.6;--ls-display:-0.03em;--ls-heading:-0.02em;--ls-label:0.06em;--ls-mono-label:0.1em;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-6:24px;--sp-8:32px;--sp-12:48px;--sp-16:64px;--h-control:40px;--h-control-sm:32px;--h-control-kiosk:56px;--h-row:48px;--w-sidebar:240px;--w-content-max:1180px;--r-chip:10px;--r-field:14px;--r-card:22px;--r-panel:28px;--r-shell:32px;--r-pill:999px;--sh-sm:0 1px 2px rgba(0,0,0,0.06);--sh-md:0 4px 12px rgba(0,0,0,0.06);--sh-lg:0 12px 32px rgba(0,0,0,0.06);--sh-panel:inset 0 1px 0 rgba(255,255,255,0.8),0 10px 36px rgba(20,22,26,0.08);--sh-shell:0 24px 60px rgba(20,22,26,0.10),inset 0 1px 0 rgba(255,255,255,0.9);--sh-float:0 24px 64px rgba(0,0,0,0.4);--sh-dark-hover:0 8px 20px rgba(0,0,0,0.14);--sh-primary-hover:0 12px 28px rgba(0,0,0,0.22);--ease:cubic-bezier(0.2,0,0,1);--dur-fast:250ms;--dur-base:300ms;--dur-confirm:400ms;--dur-recognize:600ms;--hover-lift:translateY(-3px) scale(1.02);--press-scale:scale(0.98)}@media (prefers-reduced-motion:reduce){:root{--dur-fast:0ms;--dur-base:0ms;--dur-confirm:0ms;--dur-recognize:0ms;--hover-lift:none;--press-scale:none}}body,html{margin:0;padding:0;background-color:var(--bg);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased}body{background-image:var(--bg-decor);background-attachment:fixed;background-size:180px 180px,100% 100%,100% 100%,100% 100%;min-height:100vh}.admin-sidebar,.card,.hier__item,.kpi,.portal-tabs,.receipt{background:var(--surface-panel);border:1px solid var(--surface-panel-border);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur);box-shadow:var(--sh-panel)}a{color:var(--accent-600);text-decoration:none}a:hover{color:var(--ink)}*{box-sizing:border-box}button{font:inherit}@keyframes spin{to{transform:rotate(1turn)}}@keyframes scanline{0%{top:12%}50%{top:88%}to{top:12%}}@keyframes popIn{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.12);opacity:1}to{transform:scale(1)}}@keyframes ripple{0%{transform:scale(.9);opacity:.6}to{transform:scale(1.6);opacity:0}}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}@keyframes breathe{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.06);opacity:1}}@keyframes skeleton-shine{0%{background-position:100% 50%}to{background-position:0 50%}}.t-display{font-size:var(--fs-display);font-weight:600;letter-spacing:var(--ls-display);line-height:1}.t-title{font-size:var(--fs-title);line-height:1.1}.t-section,.t-title{font-weight:600;letter-spacing:var(--ls-heading)}.t-section{font-size:var(--fs-section);line-height:1.2}.t-subtitle{font-size:var(--fs-subtitle);font-weight:500;line-height:1.3}.t-body{font-size:var(--fs-body);line-height:1.6;color:var(--ink)}.t-ui{font-size:var(--fs-ui)}.t-aux,.t-ui{line-height:1.5;color:var(--body)}.t-aux{font-size:var(--fs-aux)}.t-label{font-size:var(--fs-label);line-height:1.4;color:var(--muted);text-transform:uppercase;letter-spacing:var(--ls-label);font-weight:500}.t-mono{font-family:var(--font-data)}.t-mono-label{font-size:11px;color:var(--muted)}.t-mono-label,.t-mono-num{font-family:var(--font-data);letter-spacing:var(--ls-mono-label)}.t-mono-num{font-size:12px;color:var(--accent-600)}.t-clock{font-family:var(--font-data);font-size:var(--fs-clock);font-weight:500;letter-spacing:-.02em;line-height:1}.t-muted{color:var(--muted)}.t-secondary{color:var(--body)}.page{max-width:var(--w-content-max);margin:0 auto;padding:56px 28px 120px;display:flex;flex-direction:column;gap:72px}.page--tight{gap:32px;padding:32px 28px 80px}.page-header{display:flex;flex-direction:column;gap:20px}.page-header h1{margin:0;font-size:clamp(34px,5vw,58px);font-weight:600;line-height:1.05;letter-spacing:-.03em}.page-header p{margin:0;max-width:720px;font-size:17px;line-height:1.6;color:var(--body)}.page-title{margin:0;font-size:30px;font-weight:600;letter-spacing:-.02em}.page-lead{margin:0;color:var(--body);max-width:680px;line-height:1.6}.section{gap:24px}.section,.section-head{display:flex;flex-direction:column}.section-head{gap:8px}.section-head h2{margin:0;font-size:30px;font-weight:600;letter-spacing:-.02em}.toolbar{justify-content:space-between;gap:12px}.meta-pills,.toolbar{display:flex;flex-wrap:wrap;align-items:center}.meta-pills{gap:10px;font-family:var(--font-data);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.meta-pill{padding:6px 12px;border-radius:var(--r-pill);border:1px solid var(--border-field);background:var(--surface)}.meta-pill--accent{border-color:oklch(.55 .1 230/.35);background:oklch(.55 .1 230/.07);color:var(--accent-600)}.card{padding:24px;border-radius:var(--r-panel);display:flex;flex-direction:column;gap:14px}.card--sm{padding:16px;border-radius:var(--r-card)}.card--soft{background:var(--surface-3)}.card--hover{transition:transform var(--dur-base) var(--ease),box-shadow var(--dur-base) var(--ease),border-color var(--dur-base) var(--ease)}.card--hover:hover{transform:var(--hover-lift);box-shadow:var(--sh-lg);border-color:var(--border-hover)}.card--elevated{border-color:var(--border-strong);box-shadow:var(--sh-shell)}.divider{height:1px;background:var(--border)}.grid-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:16px;gap:16px}.grid-auto--sm{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.stack{flex-direction:column}.row,.stack{display:flex;gap:8px}.row{align-items:center}.row--between{justify-content:space-between}.row--wrap{flex-wrap:wrap}.row--end{justify-content:flex-end}.glass{padding:20px;border-radius:var(--r-panel);background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:blur(var(--glass-blur)) saturate(1.5);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.5);box-shadow:var(--sh-shell);display:flex;flex-direction:column;gap:6px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border-radius:var(--r-field);border:1px solid transparent;font-size:var(--fs-ui);font-weight:500;line-height:1.1;cursor:pointer;transition:all var(--dur-fast) var(--ease);text-decoration:none;white-space:nowrap}.btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.btn:active:not(:disabled){transform:var(--press-scale);transition-duration:.1s}.btn--primary{background:var(--action-primary);color:#ffffff}.btn--primary:hover:not(:disabled){background:var(--action-primary-hover);transform:var(--hover-lift);box-shadow:var(--sh-primary-hover)}.btn--secondary{background:var(--surface);color:var(--ink);border-color:var(--border-field)}.btn--secondary:hover:not(:disabled){border-color:var(--border-hover);transform:var(--hover-lift);box-shadow:var(--sh-md);color:var(--ink)}.btn--ghost{background:transparent;color:var(--accent-600)}.btn--ghost:hover:not(:disabled){background:var(--accent-50);color:var(--accent-600)}.btn--danger{background:oklch(.55 .11 25/.1);color:oklch(.45 .12 25)}.btn--danger:hover:not(:disabled){background:var(--danger);color:#ffffff;transform:var(--hover-lift)}.btn--dark{background:var(--ink);color:#ffffff}.btn--dark:hover:not(:disabled){transform:var(--hover-lift);box-shadow:var(--sh-dark-hover);color:#ffffff}.btn--disabled,.btn:disabled{background:var(--surface-2)!important;color:var(--disabled)!important;cursor:not-allowed;border-color:transparent!important;transform:none!important;box-shadow:none!important}.btn--loading{opacity:.85;pointer-events:none}.btn--sm{padding:8px 14px;border-radius:var(--r-chip);font-size:var(--fs-aux)}.btn--kiosk{padding:16px 28px;border-radius:var(--r-card);font-size:var(--fs-body);min-height:var(--h-control-kiosk)}.btn--block{width:100%}.spinner{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#ffffff;animation:spin .8s linear infinite;display:inline-block;flex:none}.field{display:flex;flex-direction:column;gap:6px;font-size:var(--fs-aux);color:var(--body)}.field__label .hint{color:var(--muted)}.field__control{height:var(--h-control);border-radius:var(--r-field);border:1px solid var(--border-field);background:var(--surface);padding:0 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:var(--fs-ui);color:var(--ink);width:100%;outline:none;font-family:var(--font-ui);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.field__control:hover{border-color:var(--border-hover)}.field__control--focus,.field__control:focus-within{border-color:var(--accent-600);box-shadow:0 0 0 3px rgba(47,106,158,.2)}.field__control input,.field__control select{border:0;outline:0;background:transparent;font:inherit;color:inherit;width:100%;height:100%;padding:0}.field__control--mono{font-family:var(--font-data)}.field__action{font-family:var(--font-ui);font-size:var(--fs-label);color:var(--accent-600);cursor:pointer;background:none;border:0;padding:0}.field__caret{color:var(--muted)}.field--error{color:oklch(.45 .12 25)}.field--error .field__control{border-color:var(--danger)}.field__message{font-size:var(--fs-label)}.field--disabled .field__control{background:var(--surface-2);color:var(--disabled)}.check{gap:8px;font-size:var(--fs-ui);cursor:pointer}.check,.check__box{display:inline-flex;align-items:center}.check__box{width:18px;height:18px;border-radius:5px;border:1px solid var(--border-hover);justify-content:center;font-size:12px;background:var(--surface);flex:none}.check__box--on{background:var(--accent-600);border-color:var(--accent-600);color:#ffffff}.toggle{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-ui);cursor:pointer}.toggle__track{width:36px;height:20px;border-radius:var(--r-pill);background:var(--disabled);position:relative;display:inline-block;transition:background var(--dur-fast) var(--ease);flex:none}.toggle__track--on{background:var(--accent-600)}.toggle__knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#ffffff;transition:left var(--dur-fast) var(--ease)}.toggle__track--on .toggle__knob{left:18px}.badge{display:inline-flex;align-items:center;padding:5px 10px;border-radius:var(--r-pill);font-size:var(--fs-label);font-weight:500;white-space:nowrap}.badge--success{background:var(--success-bg);color:var(--success-text)}.badge--neutral{background:var(--surface-2);color:var(--body)}.badge--warning{background:var(--warning-bg);color:var(--warning-text)}.badge--danger{background:var(--danger-bg);color:var(--danger-text)}.badge--count{margin-left:6px;padding:1px 7px;font-size:11px;font-weight:600}.nature{display:inline-flex;align-items:center;padding:5px 10px;border-radius:var(--r-chip);font-size:var(--fs-label);font-weight:500;font-family:var(--font-data);white-space:nowrap}.nature--sm{padding:3px 8px;font-size:11px}.nature--original{background:var(--record-original-bg);color:var(--record-original);border:1px solid var(--record-original-border)}.nature--treatment{background:var(--treatment-bg);color:var(--treatment-text);border:1px dashed oklch(.55 .11 290/.5)}.nature--sync{background:var(--surface-2);color:var(--body);border:1px solid var(--border)}.kpi{padding:16px;border-radius:var(--r-card);display:flex;flex-direction:column;gap:6px;transition:all var(--dur-base) var(--ease)}.kpi--hover:hover{transform:var(--hover-lift);box-shadow:var(--sh-lg)}.kpi__label{font-size:var(--fs-label);color:var(--muted)}.kpi__value{font-family:var(--font-data);font-size:28px;font-weight:500;line-height:1;color:var(--ink)}.kpi__value .dim{color:var(--disabled)}.kpi__hint{font-size:var(--fs-label);color:var(--muted)}.kpi__hint--success{color:var(--success-text)}.kpi__hint--warning{color:var(--warning-text)}.kpi__hint--danger{color:var(--danger-text)}.table-wrap{overflow-x:auto}.table{min-width:720px;display:grid;font-size:var(--fs-aux)}.table__th{padding:10px 12px;color:var(--muted);font-size:var(--fs-label);border-bottom:1px solid var(--border);font-weight:400}.table__tr{display:contents}.table__td{padding:14px 12px;display:flex;align-items:center;gap:10px;min-height:var(--h-row);border-top:1px solid var(--border);color:var(--ink)}.table__tr:first-of-type .table__td{border-top:0}.table__tr--zebra .table__td{background:var(--surface-3)}.table__tr--link .table__td{cursor:pointer;transition:background var(--dur-fast) var(--ease)}.table__tr--link:hover .table__td{background:var(--surface-2)}.table__td--mono{font-family:var(--font-data)}.table__td--muted{color:var(--body)}.table__td--dim{color:var(--disabled)}.avatar{width:28px;height:28px;border-radius:50%;background:var(--accent-200);color:var(--accent-800);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;flex:none}.avatar--neutral{background:linear-gradient(135deg,#e9e3d6,#c3cbc0);color:var(--body)}.avatar--lg{width:44px;height:44px;font-size:14px}.company{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--r-field);border:1px solid var(--border-field);cursor:pointer;background:var(--surface);transition:all var(--dur-fast) var(--ease);width:100%;text-align:left;color:var(--ink)}.company:hover{border-color:var(--border-hover);box-shadow:var(--sh-md)}.company__logo{width:28px;height:28px;border-radius:8px;background:var(--ink);color:#ffffff;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;flex:none}.company__text{display:flex;flex-direction:column;flex:1 1;min-width:0}.company__name{font-size:var(--fs-aux);font-weight:500}.company__sub{font-size:11px}.company__caret,.company__sub{color:var(--muted)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);font-size:var(--fs-ui);overflow-x:auto}.tab{padding:10px 14px;color:var(--body);cursor:pointer;transition:color var(--dur-fast);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center}.tab:hover{color:var(--ink)}.tab--active{border-bottom-color:var(--accent-600)}.nav-item,.tab--active{color:var(--ink);font-weight:500}.nav-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--r-pill);cursor:pointer;transition:all var(--dur-base) var(--ease);font-size:var(--fs-ui);text-decoration:none}.nav-item:hover{background:rgba(255,255,255,.8);color:var(--ink)}.nav-item--active{font-weight:600;box-shadow:0 14px 30px rgba(18,18,18,.28)}.nav-item--active,.nav-item--active:hover{background:var(--ink);color:#ffffff}.nav-item--sub{padding-left:24px;font-size:var(--fs-aux)}.nav-group{font-family:var(--font-data);font-size:11px;letter-spacing:var(--ls-mono-label);color:var(--muted);padding:14px 16px 6px;text-transform:uppercase}.toast{padding:12px 14px;border-radius:var(--r-field);background:var(--ink);color:#ffffff;display:flex;align-items:center;gap:12px;font-size:var(--fs-aux);box-shadow:var(--sh-primary-hover)}.toast__icon{width:20px;height:20px;border-radius:50%;background:var(--success);display:inline-flex;align-items:center;justify-content:center;font-size:12px;flex:none}.toast__text{flex:1 1}.toast__action{color:var(--disabled);cursor:pointer;background:none;border:0;font:inherit}.alert{padding:12px 14px;border-radius:var(--r-field);font-size:var(--fs-aux);line-height:1.5}.alert--warning{background:var(--warning-bg);border:1px solid oklch(.55 .11 70/.3);color:oklch(.35 .1 70)}.alert--danger{background:var(--danger-bg);border:1px solid oklch(.55 .11 25/.3);color:oklch(.35 .1 25)}.alert--info{background:var(--accent-50);border:1px solid var(--accent-200);color:var(--accent-800)}.alert strong{font-weight:600}.empty{padding:28px 20px;border-radius:var(--r-card);border:1px dashed rgba(0,0,0,.12);display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.empty__icon{width:40px;height:40px;border-radius:var(--r-field);background:var(--surface-2)}.empty__title{font-size:var(--fs-ui);font-weight:600}.empty__text{font-size:var(--fs-aux);color:var(--muted);max-width:260px;line-height:1.5}.skeleton{height:14px;border-radius:6px;background:linear-gradient(90deg,var(--surface-2) 25%,var(--bg) 50%,var(--surface-2) 75%);background-size:400% 100%;animation:skeleton-shine 1.4s ease infinite}.dialog-backdrop{padding:24px;border-radius:var(--r-panel);background:rgba(18,18,18,.06);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;min-height:300px}.dialog-backdrop--fixed{position:fixed;inset:0;border-radius:0;border:0;background:rgba(20,22,26,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:50}.dialog{width:100%;max-width:380px;padding:24px;border-radius:var(--r-panel);background:var(--surface);box-shadow:var(--sh-float);display:flex;flex-direction:column;gap:14px}.dialog__title{font-size:18px;font-weight:600;letter-spacing:-.01em}.dialog__text{margin:0;font-size:var(--fs-ui);color:var(--body);line-height:1.55}.dialog__detail{padding:12px;border-radius:var(--r-field);background:var(--surface-3);border:1px solid var(--border);font-family:var(--font-data);font-size:var(--fs-label);color:var(--body);display:flex;flex-direction:column;gap:4px}.dialog__detail span{display:flex;justify-content:space-between;gap:12px}.dialog__actions{display:flex;justify-content:flex-end;gap:8px}.flow{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:var(--fs-aux)}.flow__step{padding:9px 14px;border-radius:var(--r-pill);border:1px solid var(--border-field);background:var(--surface)}.flow__step--accent{border-color:oklch(.55 .1 230/.45);background:oklch(.55 .1 230/.1);color:var(--accent-800)}.flow__arrow{color:var(--disabled)}.chip{display:inline-flex;align-items:center;font-size:11px;padding:4px 10px;border-radius:var(--r-pill);background:var(--surface-2);color:var(--body-strong);white-space:nowrap}.chip--button{cursor:pointer;border:1px solid var(--border-field);background:var(--surface);font-size:var(--fs-label);padding:5px 10px;transition:all var(--dur-fast) var(--ease)}.chip--button:hover{border-color:var(--border-hover)}.chip--active{background:var(--surface-2);color:var(--ink);border-color:var(--ink)}.matrix{display:grid;grid-template-columns:minmax(200px,1.6fr) repeat(5,minmax(78px,1fr));grid-gap:2px;gap:2px;font-size:var(--fs-aux);min-width:640px}.matrix__head{padding:10px 6px;text-align:center;color:var(--accent-600);font-size:var(--fs-label)}.matrix__action{padding:10px 12px}.matrix__cell{padding:10px;text-align:center}.matrix__cell--none{color:var(--disabled)}.matrix__row--zebra>*{background:var(--surface-3)}.matrix__row--zebra>:first-child{border-radius:8px 0 0 8px}.matrix__row--zebra>:last-child{border-radius:0 8px 8px 0}.hier{display:flex;flex-direction:column;gap:6px;font-size:var(--fs-ui)}.hier__item{padding:12px 16px;border-radius:var(--r-field)}.hier__item--root{background:oklch(.55 .1 230/.1);border-color:oklch(.55 .1 230/.35)}.hier__item span{color:var(--muted)}.scanner{display:flex;flex-direction:column;align-items:center;gap:18px}.scanner__stage{position:relative;width:180px;height:180px}.scanner__stage--lg{width:240px;height:240px}.scanner__face{inset:14px;background:linear-gradient(180deg,#c9ccd2,#a9adb5);overflow:hidden}.scanner__face,.scanner__ring{position:absolute;border-radius:50%}.scanner__ring{inset:0;border:3px solid;transition:border-color .4s var(--ease)}.scanner__ring--idle{border-color:var(--border-hover);animation:breathe 3s ease-in-out infinite}.scanner__ring--track{border-color:var(--border-field)}.scanner__ring--arc{border-color:transparent;border-top-color:var(--accent-600);border-right-color:var(--accent-600);animation:spin 1.2s cubic-bezier(.4,0,.6,1) infinite}.scanner__line{position:absolute;left:18%;right:18%;height:2px;background:linear-gradient(90deg,transparent,var(--accent-600),transparent);top:12%;animation:scanline 1.6s ease-in-out infinite;opacity:.8}.scanner__ring--wave{border-color:var(--success);animation:ripple .7s var(--ease) forwards}.scanner__ring--success{border-color:var(--success);background:oklch(.55 .11 150/.1)}.scanner__check{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--success);font-size:56px;font-weight:600;animation:popIn .4s var(--ease) both}.scanner__ring--error{border-color:var(--warning);animation:shake .3s ease-in-out 2}.scanner__bang{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--warning);font-size:40px;font-weight:600}.scanner__text{text-align:center;min-height:44px}.scanner__label{font-family:var(--font-data);font-size:var(--fs-ui);color:var(--ink);font-weight:500}.scanner__name{font-size:var(--fs-aux);color:var(--body);margin-top:4px}.segment{display:flex;gap:4px;padding:3px;border-radius:var(--r-field);background:var(--surface-2);flex-wrap:wrap}.segment__item{height:30px;padding:0 12px;border-radius:12px;border:0;background:transparent;color:var(--body);font-size:12.5px;font-weight:500;cursor:pointer;font-family:var(--font-ui);transition:all var(--dur-fast) var(--ease)}.segment__item--on{background:var(--surface);color:var(--ink);box-shadow:var(--sh-sm)}.progress{display:block;background:var(--surface-2);overflow:hidden}.progress__fill{display:block;height:100%;background:var(--ink);transition:width .4s var(--ease)}.admin-shell{display:grid;grid-template-columns:var(--w-sidebar) 1fr;min-height:100vh}.admin-sidebar{padding:16px 12px;display:flex;flex-direction:column;gap:4px;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto;border-radius:0;border-width:0 1px 0 0;scrollbar-width:none}.admin-sidebar::-webkit-scrollbar{display:none}.admin-sidebar__brand{font-weight:600;font-size:var(--fs-ui);padding:4px 12px 12px;letter-spacing:-.01em}.admin-sidebar__footer{margin-top:auto;padding:12px;font-size:var(--fs-label);color:var(--muted);border-top:1px solid var(--border)}.admin-main{min-width:0}.admin-content{max-width:var(--w-content-max);margin:0 auto;padding:32px 28px 80px;display:flex;flex-direction:column;gap:32px}@media (max-width:900px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:static;height:auto;border-width:0 0 1px}}.portal-shell{max-width:430px;margin:0 auto;min-height:100vh;background:transparent;display:flex;flex-direction:column;position:relative}.portal-content{flex:1 1;padding:20px 16px 96px;display:flex;flex-direction:column;gap:16px}.portal-tabs{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:430px;display:flex;justify-content:space-around;border-width:1px 0 0;border-radius:0;padding:10px 8px 14px;z-index:10}.portal-tab{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:var(--fs-label);color:var(--muted);text-decoration:none;padding:4px 10px;border-radius:var(--r-chip)}.portal-tab--active{color:var(--ink);font-weight:600}.portal-tab__dot{width:20px;height:20px;border-radius:6px;background:var(--surface-2)}.portal-tab--active .portal-tab__dot{background:var(--ink)}@media (min-width:900px){.portal-shell{border-left:1px solid var(--border);border-right:1px solid var(--border)}}.kiosk{position:fixed;inset:0;background-color:var(--bg);background-image:var(--bg-decor);background-size:180px 180px,100% 100%,100% 100%,100% 100%;overflow:hidden;font-family:var(--font-ui);color:var(--ink)}.kiosk__camera{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.kiosk__camera--placeholder{display:flex;align-items:center;justify-content:center;color:var(--body);font-size:var(--fs-aux);background:repeating-linear-gradient(135deg,rgba(255,255,255,.35) 0 14px,rgba(255,255,255,.15) 14px 28px)}.kiosk__top{position:absolute;top:20px;left:24px;right:24px;display:flex;justify-content:space-between;align-items:flex-start}.kiosk__unit{font-size:var(--fs-aux);color:var(--body-strong)}.kiosk__clock{font-family:var(--font-data);font-size:var(--fs-clock);font-weight:500;letter-spacing:-.02em;line-height:1}.kiosk__center{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%)}.kiosk__panel{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);width:min(560px,calc(100% - 48px))}.kiosk__types{display:flex;gap:8px}.kiosk__type{flex:1 1;padding:14px 10px;text-align:center;border-radius:var(--r-field);border:1px solid var(--border-field);background:var(--surface);font-size:var(--fs-ui);font-weight:500;cursor:pointer;min-height:var(--h-control-kiosk);display:flex;align-items:center;justify-content:center;transition:all var(--dur-fast) var(--ease)}.kiosk__type--active{background:var(--ink);border-color:var(--ink);color:#ffffff}.kiosk__banner{position:absolute;top:0;left:0;right:0;padding:8px 16px;text-align:center;font-size:var(--fs-aux);background:var(--warning-bg);color:oklch(.35 .1 70);border-bottom:1px solid oklch(.55 .11 70/.3);z-index:2}.kiosk__demo{position:absolute;top:20px;left:50%;transform:translateX(-50%);font-family:var(--font-data);font-size:11px;letter-spacing:.1em;padding:6px 12px;border-radius:var(--r-pill);background:var(--ink);color:#ffffff}.timeline{display:flex;flex-direction:column;gap:6px}.timeline__item{display:flex;align-items:center;gap:10px;font-size:var(--fs-ui)}.timeline__dot{width:10px;height:10px;border-radius:50%;border:1.5px solid var(--border-hover);background:var(--surface);flex:none}.timeline__dot--done{background:var(--ink);border-color:var(--ink)}.timeline__meta{margin-left:auto;font-size:var(--fs-label);font-family:var(--font-data)}.timeline__item--planned,.timeline__meta{color:var(--muted)}.day{padding:8px 12px;border-radius:var(--r-field);border:1px solid var(--border-field);background:var(--surface);display:flex;flex-direction:column;gap:4px}.day--treatment{border-style:dashed;border-color:oklch(.55 .11 290/.5);background:var(--treatment-bg)}.day--absence{border-color:var(--danger)}.day__head{display:flex;justify-content:space-between;align-items:baseline;font-weight:600;font-size:var(--fs-ui)}.day__hours{font-weight:400;font-size:var(--fs-aux)}.day__hours,.day__marks{font-family:var(--font-data);color:var(--body)}.day__marks,.day__note{font-size:var(--fs-label)}.day__note{color:var(--treatment-text);font-family:var(--font-data)}.day__absence{color:var(--danger-text);font-weight:600;font-size:var(--fs-aux)}.receipt{padding:20px 16px;border-radius:var(--r-panel);display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}.receipt__time{font-family:var(--font-data);font-size:40px;font-weight:500;letter-spacing:-.02em;line-height:1}.receipt__qr{width:72px;height:72px;border-radius:8px;background:repeating-linear-gradient(135deg,#eee 0 6px,#f8f8f8 6px 12px);border:1px solid var(--border-field);display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--muted);margin-top:6px}.queue{display:grid;grid-template-columns:300px 1fr;grid-gap:16px;gap:16px;align-items:start}@media (max-width:900px){.queue{grid-template-columns:1fr}}.queue__item{padding:12px;border-radius:var(--r-field);border:1px solid var(--border-field);background:var(--surface);display:flex;flex-direction:column;gap:2px;cursor:pointer;transition:all var(--dur-fast) var(--ease);text-align:left;width:100%;color:var(--ink)}.queue__item:hover{border-color:var(--border-hover)}.queue__item--active{background:var(--surface-2);border-color:var(--ink)}.queue__item strong{font-weight:600;font-size:var(--fs-ui)}.queue__item small{font-size:var(--fs-label);color:var(--muted)}.record-box{padding:12px 14px;border-radius:var(--r-field);display:flex;flex-direction:column;gap:4px}.record-box--original{background:var(--record-original-bg);border:1px solid var(--record-original-border)}.record-box--treatment{background:var(--treatment-bg);border:1px dashed oklch(.55 .11 290/.5)}.record-box__label{font-family:var(--font-data);font-size:11px;letter-spacing:var(--ls-mono-label);color:var(--muted)}.record-box__value{font-family:var(--font-data);font-size:var(--fs-ui);font-weight:500;color:var(--ink)}.record-box--original .record-box__value{color:var(--record-original)}.record-box--treatment .record-box__value{color:var(--treatment-text)}.record-box__meta{font-size:var(--fs-label);color:var(--body)}.dl{display:grid;grid-template-columns:160px 1fr;grid-gap:10px 16px;gap:10px 16px;font-size:var(--fs-ui)}.dl dt{color:var(--muted);font-size:var(--fs-aux)}.dl dd{margin:0;color:var(--ink)}.dl dd.mono{font-family:var(--font-data)}@media (max-width:600px){.dl{grid-template-columns:1fr}}