@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.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-DqGufNeO.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-DlzME5K_.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-CkhJZR-_.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-DO1Apj_S.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-Dx4kXJAl.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}@font-face{font-family:Material Icons;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/material-icons-latin-400-normal-kAwBdRge.woff2) format("woff2"),url(/assets/material-icons-latin-400-normal-B5tbEuci.woff) format("woff")}:root{--sv-primary: #37474f;--sv-primary-dark: #263238;--sv-primary-light: #546e7a;--sv-accent: #00796b;--sv-accent-dark: #00695c;--sv-accent-light: #e0f2f1;--sv-accent-on-dark: #26a69a;--sv-surface: #ffffff;--sv-background: #f0f2f5;--sv-sidebar-bg: #1c2b33;--sv-sidebar-active: rgba(255, 255, 255, .1);--sv-sidebar-width: 248px;--sv-toolbar-height: 60px;--sv-border: rgba(0, 0, 0, .08);--sv-shadow-sm: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .06);--sv-shadow-md: 0 4px 12px rgba(0, 0, 0, .1), 0 2px 4px rgba(0, 0, 0, .06);--sv-shadow-lg: 0 10px 30px rgba(0, 0, 0, .12), 0 4px 10px rgba(0, 0, 0, .08);--sv-radius: 12px;--sv-radius-sm: 8px;--sv-ink: #1a2332;--sv-ink-2: #475569;--sv-muted: #5b6676;--sv-faint: #94a3b8;--sv-line: #e8edf2;--sv-line-soft: #f1f5f9;--sv-fill: #f8fafc;--sv-field-border: #cbd5e1;--sv-danger: #b91c1c;--sv-danger-solid: #dc2626;--sv-text-xs: 12px;--sv-text-sm: 13px;--sv-text-md: 14px;--sv-text-base: 15px;--sv-text-lg: 17px;--sv-text-xl: 20px;--sv-text-2xl: 24px;--sv-space-1: 4px;--sv-space-2: 8px;--sv-space-3: 12px;--sv-space-4: 16px;--sv-space-5: 20px;--sv-space-6: 24px;--sv-space-8: 32px;--sv-status-neutral-bg: #f1f5f9;--sv-status-neutral-ink: #64748b;--sv-status-info-bg: #dbeafe;--sv-status-info-ink: #1e40af;--sv-status-progress-bg: #e0f2f1;--sv-status-progress-ink: #00695c;--sv-status-attention-bg: #fff3cd;--sv-status-attention-ink: #856404;--sv-status-review-bg: #ede9fe;--sv-status-review-ink: #6d28d9;--sv-status-success-bg: #d1e7dd;--sv-status-success-ink: #0a3622;--sv-status-danger-bg: #fee2e2;--sv-status-danger-ink: #b91c1c}html,body{height:100%;margin:0}body{font-family:Inter Variable,Inter,Roboto,Helvetica Neue,sans-serif;font-size:var(--sv-text-base);line-height:1.5;background:var(--sv-background);color:var(--sv-ink);-webkit-font-smoothing:antialiased}#root{min-height:100%}*{box-sizing:border-box}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin:0}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--sv-accent);outline-offset:2px}.icon{flex-shrink:0;display:inline-block;width:1em;height:1em;overflow:hidden;font-family:Material Icons;font-size:24px;font-style:normal;font-weight:400;line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:"liga";-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.spinner{width:48px;height:48px;border:4px solid var(--sv-accent-light);border-top-color:var(--sv-accent);border-radius:50%;animation:sv-spin .8s linear infinite}.spinner--sm{width:18px;height:18px;border-width:2px}@keyframes sv-spin{to{transform:rotate(360deg)}}.skeleton{background:var(--sv-line);border-radius:var(--sv-radius-sm);animation:sv-pulse 1.4s ease-in-out infinite}@keyframes sv-pulse{50%{opacity:.55}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}.skeleton{animation:none}}body:has(dialog[open]){overflow:hidden}.app-shell{min-height:100vh}.sidenav{position:fixed;inset:0 auto 0 0;z-index:200;width:var(--sv-sidebar-width);display:flex;flex-direction:column;background:var(--sv-sidebar-bg);transition:transform .2s ease}.sidenav--closed{transform:translate(-100%);visibility:hidden;transition:transform .2s ease,visibility 0s linear .2s}.sidenav-backdrop{display:none}.sidenav-logo{display:flex;align-items:center;gap:12px;padding:20px 20px 16px;border-bottom:1px solid rgba(255,255,255,.07)}.sidenav-logo .logo-icon{width:36px;height:36px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--sv-accent);border-radius:9px;color:#fff}.sidenav-logo .logo-icon .icon{font-size:20px}.sidenav-logo .logo-text{font-size:.95rem;font-weight:700;letter-spacing:.2px;line-height:1.2;color:#fff}.sidenav-nav{flex:1;display:flex;flex-direction:column;gap:2px;padding:12px 10px;overflow-y:auto}.nav-item,.nav-group-header{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:0;border-radius:8px;background:none;font:inherit;font-size:.875rem;font-weight:500;text-align:left;color:#ffffff8c;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s,color .15s}.nav-item:hover,.nav-group-header:hover{background:#ffffff12;color:#ffffffe6}.nav-item:hover .nav-icon,.nav-group-header:hover .nav-icon{color:#ffffffbf}.nav-item:hover .nav-chevron,.nav-group-header:hover .nav-chevron{color:#ffffff80}.nav-item--active{background:var(--sv-sidebar-active);color:var(--sv-accent-on-dark);font-weight:600}.nav-item--active .nav-icon{color:var(--sv-accent-on-dark)}.nav-item--active:hover{background:var(--sv-sidebar-active);color:var(--sv-accent-on-dark)}.nav-item--active:hover .nav-icon{color:var(--sv-accent-on-dark)}.nav-group-header--active{color:#ffffffe6}.nav-group-header--active .nav-icon{color:var(--sv-accent-on-dark)}.nav-icon{font-size:20px;color:#ffffff8c;transition:color .15s}.nav-label{flex:1}.nav-chevron{margin-left:auto;font-size:18px;color:#fff6;transition:transform .22s ease,color .15s}.nav-chevron--open{transform:rotate(180deg)}.nav-group-children{max-height:0;overflow:hidden;visibility:hidden;transition:max-height .25s ease-out,visibility 0s linear .25s}.nav-group-children--expanded{max-height:800px;visibility:visible;transition:max-height .35s ease-in,visibility 0s}.nav-leaf-item{display:flex;align-items:center;gap:10px;padding:8px 12px 8px 22px;border-radius:6px;font-size:.84rem;font-weight:500;color:#ffffff8c;transition:background .15s,color .15s}.nav-leaf-item:hover{background:#ffffff12;color:#ffffffe6}.nav-leaf-item:hover .nav-leaf-icon{color:#ffffffb3}.nav-leaf-item--active,.nav-leaf-item--active:hover{background:var(--sv-sidebar-active);color:var(--sv-accent-on-dark);font-weight:600}.nav-leaf-item--active .nav-leaf-icon,.nav-leaf-item--active:hover .nav-leaf-icon{color:var(--sv-accent-on-dark)}.nav-leaf-icon{font-size:16px;color:#fff6;transition:color .15s}.nav-leaf-label{flex:1}.nav-group-header:focus-visible,.nav-item:focus-visible,.nav-leaf-item:focus-visible{outline:2px solid var(--sv-accent-on-dark);outline-offset:-2px}.sidenav-user{display:flex;align-items:center;gap:10px;margin-top:auto;padding:14px;border-top:1px solid rgba(255,255,255,.07)}.user-avatar{width:34px;height:34px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--sv-accent);font-size:.875rem;font-weight:700;color:#fff}.user-info{flex:1;min-width:0}.user-info .user-name,.user-info .user-role{margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.user-info .user-name{font-size:.82rem;font-weight:600;color:#ffffffe6}.user-info .user-role{font-size:var(--sv-text-xs);color:#fff9}.user-logout-btn{width:36px;height:36px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:none;color:#ffffff8c;cursor:pointer;transition:background .15s,color .15s}.user-logout-btn:hover{background:#ffffff12;color:#fff}.user-logout-btn .icon{font-size:20px}.app-main{min-width:0;margin-left:var(--sv-sidebar-width);transition:margin-left .2s ease}.app-main--full{margin-left:0}.top-bar{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:8px;height:var(--sv-toolbar-height);padding:0 24px;background:#fff;border-bottom:1px solid var(--sv-line)}.menu-toggle,.avatar-btn{width:40px;height:40px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:none;color:var(--sv-muted);cursor:pointer;transition:color .15s}.menu-toggle:hover,.avatar-btn:hover{color:var(--sv-accent)}.top-bar-title{margin-left:4px;font-size:1rem;font-weight:600;color:var(--sv-ink)}.top-bar-spacer{flex:1}.top-avatar{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--sv-sidebar-bg);font-size:.8rem;font-weight:700;color:#fff;pointer-events:none}.menu-wrap{position:relative}.menu-panel{position:absolute;top:calc(100% + 6px);right:0;z-index:300;min-width:220px;padding:6px 0;background:#fff;border:1px solid var(--sv-line);border-radius:var(--sv-radius-sm);box-shadow:var(--sv-shadow-lg)}.menu-user-info{padding:8px 16px 10px;border-bottom:1px solid var(--sv-line-soft)}.menu-user-info .menu-name{font-size:.875rem;font-weight:600;color:var(--sv-ink)}.menu-user-info .menu-role{margin-top:2px;font-size:var(--sv-text-xs);color:var(--sv-muted)}.menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 16px;border:0;background:none;font:inherit;font-size:.875rem;text-align:left;color:var(--sv-ink);cursor:pointer}.menu-item:hover{background:var(--sv-fill)}.menu-item .icon{font-size:20px;color:var(--sv-muted)}.page-content{max-width:1440px;min-height:calc(100vh - var(--sv-toolbar-height));margin:0 auto;padding:28px 32px}@media(max-width:640px){.page-content{padding:20px 16px}}@media(max-width:959px){.app-main{margin-left:0}.sidenav{box-shadow:var(--sv-shadow-lg)}.sidenav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:190;background:#0f172073}.top-bar{padding:0 12px}}.list-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.page-title{margin:0 0 4px;font-size:var(--sv-text-2xl);font-weight:700;color:var(--sv-ink)}.page-subtitle{display:flex;align-items:center;gap:8px;margin:0;font-size:var(--sv-text-base);color:var(--sv-muted)}.header-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;flex-shrink:0}.loading-state{display:flex;justify-content:center;padding:80px}.loading-state--compact{padding:28px}.empty-state{display:flex;flex-direction:column;align-items:center;padding:80px 20px;text-align:center;color:var(--sv-muted)}.empty-state .icon{margin-bottom:4px;font-size:44px;opacity:.4}.empty-state h3{margin:12px 0 8px;font-size:var(--sv-text-lg);color:var(--sv-ink-2)}.empty-state p{margin:0 0 20px;font-size:var(--sv-text-base)}.empty-state--compact{padding:32px 20px}.hint{font-size:var(--sv-text-sm);color:var(--sv-muted)}.inline-empty{display:flex;align-items:center;justify-content:center;gap:8px;margin:0;padding:20px 12px;background:var(--sv-fill);border:1px dashed var(--sv-field-border);border-radius:var(--sv-radius-sm);font-size:var(--sv-text-sm);color:var(--sv-muted)}.inline-empty .icon{font-size:18px}.page-header-bar{position:sticky;top:var(--sv-toolbar-height);z-index:90;display:flex;align-items:center;gap:8px 12px;margin-bottom:12px;padding:10px 0;background:var(--sv-background);border-bottom:1px solid var(--sv-line)}.page-header-bar .page-title{margin:0;font-size:var(--sv-text-xl);line-height:1.3}.page-header-bar .page-subtitle{margin-top:2px;font-size:var(--sv-text-sm)}.page-header-bar .form-breadcrumb{margin-bottom:2px}@media(max-width:640px){.page-header-bar{flex-wrap:wrap}.page-header-bar .header-actions{flex-basis:100%}}.page-header-main{flex:1;min-width:0}.page-header-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px}.back-btn{width:40px;height:40px;flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-left:-8px;border-radius:50%;color:var(--sv-muted);transition:color .15s}.back-btn:hover{color:var(--sv-accent)}.form-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:4px;font-size:var(--sv-text-sm);color:var(--sv-muted)}.form-breadcrumb .breadcrumb-link{color:var(--sv-muted)}.form-breadcrumb .breadcrumb-link:hover{color:var(--sv-accent);text-decoration:underline}.form-breadcrumb .icon{font-size:14px}.form-tabs{background:#fff;border:1px solid var(--sv-line);border-radius:var(--sv-radius);box-shadow:var(--sv-shadow-sm)}.tab-list{display:flex;gap:4px;padding:0 12px;overflow-x:auto;border-bottom:1px solid var(--sv-line)}.tab{display:inline-flex;align-items:center;gap:8px;height:48px;margin-bottom:-1px;padding:0 16px;border:0;border-bottom:2px solid transparent;background:none;font-size:var(--sv-text-md);font-weight:600;white-space:nowrap;color:var(--sv-muted);cursor:pointer}.tab:hover{color:var(--sv-ink)}.tab[aria-selected=true]{border-bottom-color:var(--sv-accent);color:var(--sv-accent)}.tab-count{min-width:22px;padding:1px 7px;border-radius:999px;background:var(--sv-line-soft);font-size:var(--sv-text-xs);font-weight:700;text-align:center;color:var(--sv-muted)}.tab[aria-selected=true] .tab-count{background:var(--sv-accent-light);color:var(--sv-accent)}.tab-panel{display:flex;flex-direction:column;gap:16px;padding:16px 20px 20px}.tab-panel .table-card{box-shadow:none}.tab-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.summary-strip{display:flex;flex-wrap:wrap;gap:16px 32px;margin-bottom:16px}.summary-figure{display:flex;flex-direction:column;gap:2px;min-width:0;max-width:20rem}.summary-figure .summary-label{font-size:var(--sv-text-xs);font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--sv-muted)}.summary-figure .summary-value{font-size:var(--sv-text-xl);font-weight:700;color:var(--sv-ink);font-variant-numeric:tabular-nums}.summary-figure .summary-note{font-size:var(--sv-text-xs);color:var(--sv-muted)}.auth-page{display:flex;min-height:100vh}@media(max-width:768px){.auth-page{flex-direction:column}}.auth-brand{position:relative;overflow:hidden;flex:0 0 46%;display:flex;flex-direction:column;justify-content:center;padding:56px 64px;background:linear-gradient(145deg,#0b1f2a,#0f3d44 48%,#312e81);color:#fff}.auth-brand:before,.auth-brand:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.auth-brand:before{top:-140px;right:-120px;width:440px;height:440px;background:radial-gradient(circle,#2dd4bf61,#2dd4bf00 70%)}.auth-brand:after{bottom:-220px;left:-160px;width:520px;height:520px;background:radial-gradient(circle,#818cf86b,#818cf800 70%)}.auth-brand>*{position:relative;z-index:1}@media(max-width:768px){.auth-brand{flex:0 0 auto;padding:28px 24px}}.auth-brand .auth-brand-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;margin-bottom:22px;border-radius:14px;background:linear-gradient(135deg,#2dd4bf,#0891b2);box-shadow:0 8px 20px #0891b259}.auth-brand .auth-brand-icon .icon{font-size:28px;color:#fff}.auth-brand h1{margin:0 0 12px;font-size:2rem;font-weight:800;letter-spacing:-.4px}.auth-brand p{max-width:400px;margin:0;font-size:.95rem;line-height:1.55;color:#ffffffc7}.auth-form-panel{flex:1;display:flex;align-items:center;justify-content:center;padding:32px;background:radial-gradient(circle at 100% 0%,#2dd4bf29,#2dd4bf00 45%),radial-gradient(circle at 0% 100%,#818cf829,#818cf800 45%),var(--sv-background)}.auth-card{position:relative;overflow:hidden;width:100%;max-width:420px;padding:40px 36px 36px;background:var(--sv-surface);border-radius:16px;box-shadow:var(--sv-shadow-lg)}.auth-card:before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,#14b8a6,#6366f1 55%,#ec4899)}.auth-card h2{margin:0 0 6px;font-size:1.5rem;font-weight:800;letter-spacing:-.2px;color:var(--sv-ink)}.auth-card>p{margin:0 0 24px;font-size:.9rem;color:var(--sv-muted)}.auth-card .create-btn{width:100%;height:48px;background:linear-gradient(90deg,#0f766e,#4338ca);box-shadow:0 6px 16px #4338ca47;transition:box-shadow .15s,transform .15s}.auth-card .create-btn:hover:not(:disabled){background:linear-gradient(90deg,#0f766e,#4338ca);box-shadow:0 8px 20px #4338ca61;transform:translateY(-1px)}.auth-card .create-btn:disabled{opacity:.55}.auth-form{display:flex;flex-direction:column;gap:14px}.table-card{overflow-x:auto;overflow-y:hidden;background:#fff;border:1px solid var(--sv-line);border-radius:var(--sv-radius);box-shadow:var(--sv-shadow-sm);-webkit-overflow-scrolling:touch}.simple-table{width:100%;border-collapse:collapse;font-size:var(--sv-text-sm)}.simple-table th,.simple-table td{padding:8px 12px;text-align:left;vertical-align:middle}.simple-table th{border-bottom:1px solid var(--sv-line);font-size:var(--sv-text-xs);font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--sv-faint);white-space:nowrap}.simple-table td{border-bottom:1px solid var(--sv-line-soft)}.simple-table tbody tr:last-child td{border-bottom:0}tr.data-row:hover{background:var(--sv-fill)}tr.row-link{cursor:pointer}tr.row-link:hover{background:var(--sv-fill)}th.num,td.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}td.num{font-weight:600;color:var(--sv-ink)}.entity-name{font-size:var(--sv-text-base);font-weight:600;color:var(--sv-ink)}a.entity-name:hover{color:var(--sv-accent);text-decoration:underline}.action-cell__inner{display:flex;align-items:center;justify-content:flex-end;gap:4px}.cell-primary{display:block;font-weight:600;color:var(--sv-ink)}.cell-secondary{display:block;font-size:var(--sv-text-xs);color:var(--sv-muted)}.cell-muted{color:var(--sv-muted)}.paginator{display:flex;align-items:center;justify-content:center;gap:16px;padding:12px;border-top:1px solid var(--sv-line-soft);font-size:var(--sv-text-sm);color:var(--sv-muted)}.form-body{display:flex;flex-direction:column;gap:16px}.section-card{margin-bottom:16px;padding:20px;background:#fff;border:1px solid var(--sv-line);border-radius:var(--sv-radius);box-shadow:var(--sv-shadow-sm)}.form-body .section-card{margin-bottom:0}.section-card h3{margin:0 0 12px;font-size:1rem;font-weight:600;color:var(--sv-ink)}.section-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.section-header h3{margin:0}.form-fieldset{min-width:0;margin:0;padding:0;border:0}.form-section-label,.section-card .form-section-label{margin:var(--sv-space-5) 0 var(--sv-space-2);font-size:var(--sv-text-xs);font-weight:700;line-height:1.4;letter-spacing:.6px;text-transform:uppercase;color:var(--sv-muted)}.form-section-label:first-child,.section-card .form-section-label:first-child{margin-top:0}.form-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sv-space-1) var(--sv-space-4);align-items:start}.form-row .span-2{grid-column:span 2}.form-row .full-row{grid-column:1/-1}@media(max-width:1024px){.form-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:768px){.form-row{grid-template-columns:1fr}.form-row .span-2{grid-column:1}}.sv-field{--field-bg: #fff;--field-height: 48px;position:relative;display:flex;flex-direction:column;min-width:0;margin-top:7px}.sv-field__label{position:absolute;top:-7px;left:10px;z-index:1;max-width:calc(100% - 28px);padding:0 4px;overflow:hidden;background:linear-gradient(to bottom,var(--sv-surface) 50%,var(--field-bg) 50%);font-size:var(--sv-text-xs);font-weight:500;line-height:14px;white-space:nowrap;text-overflow:ellipsis;color:var(--sv-muted);pointer-events:none}.sv-field__box{position:relative;display:flex;align-items:center;gap:8px;height:var(--field-height);padding:0 12px;background:var(--field-bg);border:1px solid var(--sv-field-border);border-radius:var(--sv-radius-sm);transition:border-color .15s,box-shadow .15s}.sv-field__box:hover{border-color:var(--sv-muted)}.sv-field__box:focus-within{border-color:var(--sv-accent);box-shadow:0 0 0 1px var(--sv-accent)}.sv-field__control{flex:1;min-width:0;height:100%;padding:0;border:0;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;font:inherit;font-size:var(--sv-text-base);color:var(--sv-ink)}.sv-field__control::placeholder{color:var(--sv-muted);opacity:.8}select.sv-field__control{padding-right:22px;cursor:pointer}.sv-field__prefix{font-size:20px}.sv-field__suffix{font-size:18px;color:var(--sv-muted);pointer-events:none}select.sv-field__control+.sv-field__suffix{position:absolute;right:10px}.sv-field--multiline .sv-field__box{height:auto;align-items:flex-start;padding:10px 12px}.sv-field--multiline .sv-field__control{min-height:56px;resize:vertical;line-height:1.5}.sv-field--multiline .sv-field__prefix{margin-top:2px}.sv-field__error,.sv-field__hint{margin:4px 12px 0;font-size:var(--sv-text-xs);line-height:1.4}.sv-field__error{color:var(--sv-danger)}.sv-field__hint{color:var(--sv-muted)}.sv-field--invalid .sv-field__box,.sv-field--invalid .sv-field__box:focus-within{border-color:var(--sv-danger-solid);box-shadow:0 0 0 1px var(--sv-danger-solid)}.sv-view .sv-field,.sv-field--locked{--field-bg: var(--sv-fill)}.sv-view .sv-field .sv-field__box,.sv-field--locked .sv-field__box{border-color:var(--sv-border);box-shadow:none}.sv-view .sv-field .sv-field__control,.sv-field--locked .sv-field__control{cursor:default;opacity:1;color:var(--sv-ink);-webkit-text-fill-color:var(--sv-ink)}.sv-view .sv-field .sv-field__control::placeholder,.sv-field--locked .sv-field__control::placeholder{color:transparent}.sv-view .sv-field .sv-field__box:hover,.sv-field--locked .sv-field__box:hover{border-color:var(--sv-border)}.sv-view .sv-field select.sv-field__control,.sv-field--locked select.sv-field__control{padding-right:0}.sv-view .sv-field select.sv-field__control+.sv-field__suffix,.sv-field--locked select.sv-field__control+.sv-field__suffix{display:none}.sv-check{display:flex;align-items:center;gap:10px;min-height:36px;font-size:var(--sv-text-base);cursor:pointer}.sv-check input{width:18px;height:18px;margin:0;accent-color:var(--sv-accent)}.sv-switch{position:relative;flex-shrink:0;width:36px;height:20px;margin:0;border:0;border-radius:999px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#6b7a8d;cursor:pointer;transition:background .15s}.sv-switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0000004d;transition:transform .15s}.sv-switch:checked{background:var(--sv-accent)}.sv-switch:checked:after{transform:translate(16px)}.sv-switch:disabled{cursor:default}.sv-switch-text{font-size:var(--sv-text-base);color:var(--sv-ink)}.icon-person,.icon-badge{color:#3b82f6}.icon-phone,.icon-call{color:#10b981}.icon-email,.icon-mail{color:#f59e0b}.icon-location,.icon-place{color:#ef4444}.icon-code,.icon-tag{color:#8b5cf6}.icon-date,.icon-calendar{color:var(--sv-accent)}.icon-note{color:#f97316}.icon-company,.icon-business{color:#0d9488}.icon-category,.icon-folder{color:#6366f1}.icon-payment,.icon-wallet{color:#16a34a}.icon-lock{color:var(--sv-muted)}.status-pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;background:var(--sv-status-neutral-bg);font-size:.75rem;font-weight:600;white-space:nowrap;color:var(--sv-status-neutral-ink)}.status-pill--neutral{background:var(--sv-status-neutral-bg);color:var(--sv-status-neutral-ink)}.status-pill--info{background:var(--sv-status-info-bg);color:var(--sv-status-info-ink)}.status-pill--progress{background:var(--sv-status-progress-bg);color:var(--sv-status-progress-ink)}.status-pill--attention{background:var(--sv-status-attention-bg);color:var(--sv-status-attention-ink)}.status-pill--review{background:var(--sv-status-review-bg);color:var(--sv-status-review-ink)}.status-pill--success{background:var(--sv-status-success-bg);color:var(--sv-status-success-ink)}.status-pill--danger{background:var(--sv-status-danger-bg);color:var(--sv-status-danger-ink)}.code-pill{display:inline-block;padding:2px 8px;border-radius:4px;background:var(--sv-line-soft);font-family:JetBrains Mono,Fira Code,Consolas,ui-monospace,monospace;font-size:.78rem;font-weight:600;color:var(--sv-ink-2)}.create-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid transparent;font:inherit;white-space:nowrap;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s}.create-btn .icon{font-size:18px}.create-btn:disabled,.create-btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.create-btn{height:44px;padding:0 20px;border-radius:var(--sv-radius-sm);background:var(--sv-accent);box-shadow:var(--sv-shadow-sm);font-size:.9rem;font-weight:600;letter-spacing:.2px;color:#fff}.create-btn:hover:not(:disabled){background:var(--sv-accent-dark)}.page-btn,.save-btn,.cancel-btn,.danger-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid transparent;font:inherit;white-space:nowrap;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s}.page-btn .icon,.save-btn .icon,.cancel-btn .icon,.danger-btn .icon{font-size:18px}.page-btn:disabled,.page-btn[aria-disabled=true],.save-btn:disabled,.save-btn[aria-disabled=true],.cancel-btn:disabled,.cancel-btn[aria-disabled=true],.danger-btn:disabled,.danger-btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.page-btn,.save-btn,.cancel-btn,.danger-btn{height:36px;padding:0 16px;border-radius:var(--sv-radius-sm);font-size:.85rem;font-weight:600}.save-btn,.page-btn--primary{background:var(--sv-accent);color:#fff}.save-btn:hover:not(:disabled):not([aria-disabled=true]),.page-btn--primary:hover:not(:disabled):not([aria-disabled=true]){background:var(--sv-accent-dark)}.cancel-btn,.page-btn--neutral,.page-btn--accent,.page-btn--warn,.page-btn--danger{background:#fff}.cancel-btn:hover:not(:disabled),.page-btn--neutral:hover:not(:disabled),.page-btn--accent:hover:not(:disabled),.page-btn--warn:hover:not(:disabled),.page-btn--danger:hover:not(:disabled){background:var(--sv-fill)}.cancel-btn,.page-btn--neutral{border-color:var(--sv-field-border);color:var(--sv-ink-2)}.page-btn--accent{border-color:var(--sv-accent);color:var(--sv-accent)}.page-btn--warn{border-color:#fcd34d;color:#b45309}.page-btn--danger{border-color:#fca5a5;color:var(--sv-danger)}.danger-btn{background:var(--sv-danger-solid);color:#fff}.danger-btn:hover:not(:disabled){background:var(--sv-danger)}.page-icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid transparent;font:inherit;white-space:nowrap;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s}.page-icon-btn .icon{font-size:18px}.page-icon-btn{width:36px;height:36px;padding:0;border-radius:var(--sv-radius-sm);background:none;color:var(--sv-muted)}.page-icon-btn:hover{background:var(--sv-line-soft)}.page-icon-btn--danger{color:var(--sv-danger)}.action-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:0;border-radius:6px;background:transparent;font:inherit;font-size:.78rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:background .15s}.action-btn .icon{font-size:15px}.action-btn:disabled{opacity:.5;cursor:not-allowed}.action-btn--edit{background:#e0f2fe;color:#0369a1}.action-btn--edit:hover:not(:disabled){background:#bae6fd}.action-btn--view{background:var(--sv-line-soft);color:var(--sv-ink-2)}.action-btn--view:hover:not(:disabled){background:#e2e8f0}.action-btn--activate{background:#dcfce7;color:#15803d}.action-btn--activate:hover:not(:disabled){background:#bbf7d0}.action-btn--deactivate{padding:4px 8px;color:var(--sv-danger-solid)}.action-btn--deactivate:hover:not(:disabled){background:#fee2e2}.error-alert,.warn-alert,.info-alert,.readonly-banner{display:flex;align-items:flex-start;gap:8px;margin-bottom:12px;padding:10px 14px;border:1px solid transparent}.error-alert .icon,.warn-alert .icon,.info-alert .icon,.readonly-banner .icon{font-size:18px}.error-alert{align-items:center;flex-wrap:wrap;background:#fee2e2;border-color:#fecaca;border-radius:6px;font-size:.85rem;color:var(--sv-danger)}.error-alert .error-alert__text{flex:1;min-width:0}.warn-alert{background:#fffbeb;border-color:#fde68a;border-left:4px solid #f59e0b;border-radius:8px;font-size:.82rem;color:#92400e}.warn-alert .icon{color:#b45309}.info-alert{background:var(--sv-accent-light);border-color:#99d8d1;border-radius:6px;font-size:.85rem;color:#00695c}.readonly-banner{align-items:center;background:var(--sv-line-soft);border-color:#e2e8f0;border-radius:8px;font-size:.85rem;font-weight:500;color:var(--sv-ink-2)}.readonly-banner .icon{color:var(--sv-muted)}.sv-dialog{width:min(var(--dialog-width, 640px),100vw - 32px);max-height:calc(100vh - 24px);padding:0;overflow:hidden;border:0;border-radius:16px;background:#fff;box-shadow:var(--sv-shadow-lg);color:var(--sv-ink)}.sv-dialog[open]{display:flex;flex-direction:column}.sv-dialog[data-covered]{visibility:hidden}.sv-dialog::backdrop{background:#0f172080}.sv-dialog .sv-field{--field-height: 36px}.sv-dialog .sv-field__box{padding:0 10px}.sv-dialog .sv-field__control{font-size:var(--sv-text-md)}.sv-dialog .sv-field--multiline .sv-field__box{padding:8px 10px}.sv-dialog .empty-state{padding:24px 12px}.dialog-header{display:flex;align-items:center;gap:12px;padding:16px 20px 4px}.dialog-header h2{margin:0;font-size:1.1rem;font-weight:700;color:var(--sv-ink)}.dialog-header .header-text{flex:1;min-width:0}.dialog-header .header-text p{margin:3px 0 0;font-size:var(--sv-text-xs);color:var(--sv-muted)}.dialog-close-btn{width:36px;height:36px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:none;color:var(--sv-muted);cursor:pointer}.dialog-close-btn:hover{background:var(--sv-line-soft);color:var(--sv-ink)}.dialog-close-btn .icon{font-size:20px}.dialog-icon-tile{width:40px;height:40px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:var(--sv-radius-sm);background:var(--sv-accent-light);color:var(--sv-accent)}.dialog-icon-tile .icon{font-size:22px}.dialog-icon-tile--edit{background:#e0f2fe;color:#0369a1}.dialog-icon-tile--danger{background:#fee2e2;color:var(--sv-danger-solid)}.dialog-body{flex:1 1 auto;min-height:0;padding:12px 20px 6px;overflow-y:auto}.dialog-form{display:flex;flex-direction:column;gap:8px}.dialog-text{font-size:.9rem;line-height:1.5;color:var(--sv-ink-2)}.dialog-fieldset{min-width:0;margin:4px 0 0;padding:0;border:0}.dialog-fieldset legend{margin-bottom:4px;padding:0;font-size:var(--sv-text-xs);font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--sv-muted)}.dialog-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;padding:8px 20px 14px;border-top:1px solid var(--sv-line-soft)}.danger-zone{display:flex;flex-direction:column;gap:8px;margin-top:16px;padding:12px;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--sv-radius-sm)}.danger-zone h4{margin:0;font-size:var(--sv-text-xs);font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--sv-danger)}.danger-zone .sv-field{--field-bg: #fff}.danger-zone .sv-field__label{background:linear-gradient(to bottom,#fef2f2 50%,#fff 50%)}.danger-zone .danger-zone__action{display:flex;justify-content:flex-start}.dash-tone-teal{--tone: #0f766e;--tone-soft: #ccfbf1}.dash-tone-blue{--tone: #1d4ed8;--tone-soft: #dbeafe}.dash-tone-indigo{--tone: #4338ca;--tone-soft: #e0e7ff}.dash-tone-violet{--tone: #6d28d9;--tone-soft: #ede9fe}.dash-tone-amber{--tone: #b45309;--tone-soft: #fef3c7}.dash-tone-orange{--tone: #c2410c;--tone-soft: #ffedd5}.dash-tone-rose{--tone: #be123c;--tone-soft: #ffe4e6}.dash-tone-green{--tone: #15803d;--tone-soft: #dcfce7}.dash-tone-cyan{--tone: #0e7490;--tone-soft: #cffafe}.dash-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px 24px;margin-bottom:24px;padding:24px 28px;border-radius:16px;background:linear-gradient(120deg,#0b1f2a,#0f3d44 45%,#3730a3);box-shadow:var(--sv-shadow-md);color:#fff}.dash-hero:before,.dash-hero:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.dash-hero:before{top:-140px;right:8%;width:320px;height:320px;background:radial-gradient(circle,#2dd4bf66,#2dd4bf00 70%)}.dash-hero:after{right:-60px;bottom:-150px;width:280px;height:280px;background:radial-gradient(circle,#f472b659,#f472b600 70%)}.dash-hero>*{position:relative;z-index:1}.dash-hero .dash-hero-date{margin:0 0 4px;font-size:var(--sv-text-xs);font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:#ffffffb3}.dash-hero h1{margin:0 0 4px;font-size:var(--sv-text-2xl);font-weight:800;letter-spacing:-.3px}.dash-hero .dash-hero-sub{margin:0;font-size:var(--sv-text-md);color:#ffffffc7}.dash-hero-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:#ffffff24;border:1px solid rgba(255,255,255,.22);border-radius:999px;font-size:var(--sv-text-sm);font-weight:600}.dash-hero-pill .icon{font-size:18px;color:#5eead4}.dash-group-title{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:var(--sv-text-xs);font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--sv-ink-2)}.dash-group-title:before{content:"";width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#14b8a6,#6366f1)}.dash-tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;margin-bottom:24px}.dash-tile-grid--feature{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr))}.dash-tile{position:relative;display:flex;align-items:center;gap:14px;padding:16px 18px;background:#fff;border:1px solid var(--sv-line);border-top:3px solid var(--tone);border-radius:var(--sv-radius);box-shadow:var(--sv-shadow-sm);color:inherit;transition:box-shadow .15s,transform .15s}.dash-tile:hover{box-shadow:var(--sv-shadow-md);transform:translateY(-2px)}.dash-tile:hover .dash-tile-go{opacity:1;transform:translate(0)}.dash-tile:focus-visible{outline:2px solid var(--tone);outline-offset:2px}.dash-tile-icon{width:46px;height:46px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:12px;background:var(--tone-soft);color:var(--tone)}.dash-tile-icon .icon{font-size:24px}.dash-tile-body{display:flex;flex-direction:column;min-width:0}.dash-tile-count{font-size:1.6rem;font-weight:800;line-height:1.15;color:var(--sv-ink);font-variant-numeric:tabular-nums}.dash-tile-label{font-size:var(--sv-text-sm);color:var(--sv-muted)}.dash-tile-subline{margin-top:2px;font-size:var(--sv-text-xs);font-weight:600;color:var(--tone)}.dash-tile-go{position:absolute;top:12px;right:12px;font-size:18px;color:var(--tone);opacity:0;transform:translate(-4px);transition:opacity .15s,transform .15s}.dash-tile--feature{padding:20px 22px;border:0;color:#fff}.dash-tile--feature .dash-tile-icon{width:52px;height:52px;background:#fff3;color:#fff}.dash-tile--feature .dash-tile-count{font-size:1.9rem;white-space:nowrap;color:#fff}.dash-tile--feature .dash-tile-label{color:#ffffffe0}.dash-tile--feature .dash-tile-subline,.dash-tile--feature .dash-tile-go{color:#fff}.dash-tile--feature.dash-feature-blue{background:linear-gradient(135deg,#1d4ed8,#4338ca)}.dash-tile--feature.dash-feature-green{background:linear-gradient(135deg,#15803d,#0f766e)}.dash-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}.dash-card-grid>:last-child:nth-child(odd){grid-column:1/-1}@media(max-width:1100px){.dash-card-grid{grid-template-columns:minmax(0,1fr)}}.section-card.dash-card{margin-bottom:0;padding:0;overflow:hidden;border-top:3px solid var(--tone)}.dash-card-head{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--sv-line-soft)}.dash-card-head .dash-card-icon{width:32px;height:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:9px;background:var(--tone-soft);color:var(--tone)}.dash-card-head .dash-card-icon .icon{font-size:18px}.section-card.dash-card .dash-card-head h3{flex:1;min-width:0;margin:0;font-size:var(--sv-text-base)}.dash-card-count{min-width:26px;padding:2px 9px;border-radius:999px;background:var(--tone-soft);font-size:var(--sv-text-xs);font-weight:700;text-align:center;color:var(--tone)}.dash-card-link{font-size:var(--sv-text-xs);font-weight:600;color:var(--tone)}.dash-card-link:hover{text-decoration:underline}.dash-card-body{padding:6px 10px 12px}.dash-card .simple-table th,.dash-card .simple-table td{padding:8px}.dash-card .simple-table th{border-bottom-color:var(--sv-line-soft)}.dash-card .simple-table tbody tr:last-child td{border-bottom:0}.dash-empty{display:flex;align-items:center;justify-content:center;gap:8px;margin:0;padding:24px 12px;font-size:var(--sv-text-sm);color:var(--sv-muted)}.dash-empty .icon{font-size:20px}.dash-stage-list{display:flex;flex-direction:column;gap:2px;padding:6px 0}.dash-stage{display:grid;grid-template-columns:9.5rem 1fr 2rem;align-items:center;gap:12px;padding:7px 8px;border-radius:var(--sv-radius-sm);font-size:var(--sv-text-sm);color:inherit}a.dash-stage:hover{background:var(--sv-fill)}.dash-stage-bar{height:8px;overflow:hidden;border-radius:999px;background:#eef2f6}.dash-stage-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#14b8a6,#6366f1)}.dash-stage-count{text-align:right;font-weight:700;color:var(--sv-ink);font-variant-numeric:tabular-nums}@media(max-width:640px){.dash-hero{padding:20px}.dash-tile-grid,.dash-tile-grid--feature{grid-template-columns:1fr}.dash-card-body{overflow-x:auto}}.menu-category{margin-top:20px}.menu-category:first-of-type{margin-top:4px}.menu-category__head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;margin-bottom:8px}.menu-category__head h4{display:flex;align-items:center;gap:8px;font-size:var(--sv-text-base);font-weight:700;color:var(--sv-ink)}.item-thumbnail,.item-thumbnail-placeholder{display:block;width:40px;height:40px;border-radius:6px;background:var(--sv-fill);object-fit:cover}.item-thumbnail-placeholder{border:1px dashed var(--sv-field-border)}.options-panel{margin:4px 0 8px;padding:12px 16px;background:var(--sv-fill);border:1px solid var(--sv-line);border-radius:var(--sv-radius-sm)}.options-panel h4{font-size:var(--sv-text-md);font-weight:700;color:var(--sv-ink)}.options-panel .section-header{flex-wrap:wrap}.option-group+.option-group{margin-top:12px}.option-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;border-top:1px solid var(--sv-line);font-size:var(--sv-text-sm)}.option-price{font-variant-numeric:tabular-nums;color:var(--sv-muted)}.item-images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:12px;margin:0;padding:0;list-style:none}.item-image-tile{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px;background:var(--sv-fill);border:1px solid var(--sv-line);border-radius:var(--sv-radius-sm)}.item-image-tile img{width:100%;aspect-ratio:4/3;border-radius:6px;object-fit:cover}.item-image-move{display:flex;gap:4px}.preview-list{margin-top:16px}.preview-category+.preview-category{margin-top:16px}.preview-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--sv-line-soft);font-size:var(--sv-text-md)}.preview-row:last-child{border-bottom:0}.preview-row--unavailable .preview-name{text-decoration:line-through;color:var(--sv-muted)}.preview-price{font-variant-numeric:tabular-nums;white-space:nowrap}.report-filters{display:flex;align-items:flex-start;flex-wrap:wrap;gap:4px 16px}.report-filters .sv-field{flex:1 1 180px;max-width:260px}.report-filters .page-btn{margin-top:13px}.report-section{margin-top:8px}@media print{.sidenav,.sidenav-backdrop,.top-bar,dialog{display:none!important}.app-main{margin-left:0!important}.page-header-bar{position:static}}
