@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2)format("woff2"),url(/build/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/inter-cyrillic-400-normal-obahsSVq.woff2)format("woff2"),url(/build/assets/inter-cyrillic-400-normal-HOLc17fK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2)format("woff2"),url(/build/assets/inter-greek-ext-400-normal-KugGGMne.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/inter-greek-400-normal-B4URO6DV.woff2)format("woff2"),url(/build/assets/inter-greek-400-normal-q2sYcFCs.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/inter-vietnamese-400-normal-DMkecbls.woff2)format("woff2"),url(/build/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/inter-latin-ext-400-normal-C1nco2VV.woff2)format("woff2"),url(/build/assets/inter-latin-ext-400-normal-77YHD8bZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/build/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2)format("woff2"),url(/build/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/inter-cyrillic-500-normal-BasfLYem.woff2)format("woff2"),url(/build/assets/inter-cyrillic-500-normal-CxZf_p3X.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/inter-greek-ext-500-normal-C4iEst2y.woff2)format("woff2"),url(/build/assets/inter-greek-ext-500-normal-2j5mBUwD.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/inter-greek-500-normal-BIZE56-Y.woff2)format("woff2"),url(/build/assets/inter-greek-500-normal-Xzm54t5V.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/inter-vietnamese-500-normal-DOriooB6.woff2)format("woff2"),url(/build/assets/inter-vietnamese-500-normal-mJboJaSs.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2)format("woff2"),url(/build/assets/inter-latin-ext-500-normal-BxGbmqWO.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/build/assets/inter-latin-500-normal-BL9OpVg8.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2)format("woff2"),url(/build/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/inter-cyrillic-600-normal-CWCymEST.woff2)format("woff2"),url(/build/assets/inter-cyrillic-600-normal-4D_pXhcN.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2)format("woff2"),url(/build/assets/inter-greek-ext-600-normal-B8X0CLgF.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/inter-greek-600-normal-plRanbMR.woff2)format("woff2"),url(/build/assets/inter-greek-600-normal-BZpKdvQh.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2)format("woff2"),url(/build/assets/inter-vietnamese-600-normal-BuLX-rYi.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2)format("woff2"),url(/build/assets/inter-latin-ext-600-normal-CIVaiw4L.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/build/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--white:#fff;--ink-900:#14201f;--ink-300:#b7c1c0;--brand-50:#eaf5f4;--brand-100:#cde8e5;--brand-300:#7cc2bb;--brand-500:#1f7f78;--brand-600:#176b65;--brand-700:#115551;--brand-900:#0a302e;--bg:#fff;--surface:#f7f9f9;--surface-2:#eef1f1;--border:#dde3e2;--text:#14201f;--text-muted:#3d4b4a;--text-subtle:#667473;--primary:var(--brand-600);--primary-hover:var(--brand-700);--on-primary:#fff;--accent-soft-bg:var(--brand-50);--accent-soft-text:var(--brand-700);--overlay:#0a141473;--success:#1e7b4a;--warning:#b26a00;--danger:#b3261e;--info:#1f5fbf;--danger-text:var(--danger);--success-bg:#e3f3ea;--warning-bg:#fff1dc;--danger-bg:#fbe7e5;--info-bg:#e5eefb;--status-filter:none;--focus:0 0 0 3px color-mix(in srgb, var(--brand-500) 35%, transparent);--recipient-1:#cfe8ff;--recipient-2:#ffe3b8;--recipient-3:#d8f3dc;--recipient-4:#f8d7e8;--recipient-5:#e5dbff;--recipient-6:#d3f0ee;--recipient-7:#fff2b3;--recipient-8:#f3d9c9;--font-sans:Inter, system-ui, sans-serif;--font-mono:ui-monospace, Consolas, monospace;--fs-2xs:10px;--fs-field:11px;--fs-xs:12px;--fs-sm:13px;--fs-md:15px;--fs-lg:18px;--fs-xl:22px;--fs-2xl:28px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--radius-2xs:3px;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-pill:999px;--shadow-page:0 1px 3px #00000026;--shadow-thumb:0 1px 2px #00000026;--shadow-float:0 4px 12px #14201f1f;--shadow-modal:0 16px 40px #14201f33;--motion-fast:.12s;--header-h:60px;--sidebar-w:248px;--editor-palette:280px;--editor-panel:240px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ink-300:#4a5857;--bg:#101716;--surface:#171f1e;--surface-2:#202a29;--border:#2f3b3a;--text:#eaf0ef;--text-muted:#bac6c5;--text-subtle:#8c9a99;--primary:var(--brand-300);--primary-hover:var(--brand-100);--on-primary:#0a302e;--accent-soft-bg:var(--surface-2);--accent-soft-text:var(--brand-300);--success-bg:#173327;--warning-bg:#3a2a10;--danger-bg:#3d1a18;--info-bg:#172741;--danger-text:#e56962;--status-filter:brightness(1.6)}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink-300:#4a5857;--bg:#101716;--surface:#171f1e;--surface-2:#202a29;--border:#2f3b3a;--text:#eaf0ef;--text-muted:#bac6c5;--text-subtle:#8c9a99;--primary:var(--brand-300);--primary-hover:var(--brand-100);--on-primary:#0a302e;--accent-soft-bg:var(--surface-2);--accent-soft-text:var(--brand-300);--success-bg:#173327;--warning-bg:#3a2a10;--danger-bg:#3d1a18;--info-bg:#172741;--danger-text:#e56962;--status-filter:brightness(1.6)}@media (prefers-reduced-motion:reduce){:root{--motion-fast:0s}}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);font-size:var(--fs-md);color:var(--text);background:var(--surface);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;line-height:1.55}h1,h2,h3,h4{margin:0;font-weight:600;line-height:1.25}h1{font-size:var(--fs-2xl)}h2{font-size:var(--fs-xl)}h3{font-size:var(--fs-lg)}h4{font-size:var(--fs-md)}p,dl,dd{margin:0}a{color:var(--primary);text-underline-offset:2px}a:hover{color:var(--primary-hover)}button,input,select,textarea{font:inherit;color:inherit}img,svg{max-width:100%}code,.mono{font-family:var(--font-mono);font-size:.92em}:focus-visible{box-shadow:var(--focus);border-radius:var(--radius-sm);outline:none}.sr-only{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--bg);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);position:absolute;top:-60px;left:8px}.skip-link:focus{top:8px}.stack{gap:var(--sp-4);flex-direction:column;display:flex}.stack-sm{gap:var(--sp-2);flex-direction:column;display:flex}.stack-lg{gap:var(--sp-6);flex-direction:column;display:flex}.row{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.row-between{justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.grow{flex:auto;min-width:0}.muted{color:var(--text-muted)}.subtle{color:var(--text-subtle)}.small{font-size:var(--fs-sm)}.xs{font-size:var(--fs-xs)}.strong{font-weight:600}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.grid-2{gap:var(--sp-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.grid-3{gap:var(--sp-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.grid-4{gap:var(--sp-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.grid-main-aside{gap:var(--sp-4);grid-template-columns:2fr 1fr;display:grid}@media (max-width:960px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.grid-2,.grid-3,.grid-4,.grid-main-aside{grid-template-columns:1fr}}.divider{background:var(--border);height:1px;margin:var(--sp-4) 0;border:0}@media (max-width:640px){.hide-sm{display:none!important}}.btn{justify-content:center;align-items:center;gap:var(--sp-2);height:36px;padding:0 var(--sp-4);border-radius:var(--radius-sm);font-weight:500;font-size:var(--fs-md);cursor:pointer;white-space:nowrap;transition:background var(--motion-fast), border-color var(--motion-fast), color var(--motion-fast);border:1px solid #0000;text-decoration:none;display:inline-flex}.btn-sm{height:30px;padding:0 var(--sp-3);font-size:var(--fs-sm)}.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-primary:hover{background:var(--primary-hover);color:var(--on-primary)}.btn-secondary{background:var(--bg);color:var(--text);border-color:var(--border)}.btn-secondary:hover{background:var(--surface-2);color:var(--text)}.btn-ghost{color:var(--text);background:0 0}.btn-ghost:hover{background:var(--surface-2);color:var(--text)}.btn-danger{background:var(--danger);color:var(--white)}.btn-danger:hover{filter:brightness(.92);color:var(--white)}.btn[disabled],.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-icon{width:36px;padding:0}.btn-icon.btn-sm{width:30px}.btn-toggle[aria-pressed=true]{background:var(--surface-2)}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.label{font-size:var(--fs-sm);color:var(--text);font-weight:500}.label .req{color:var(--danger-text);margin-left:2px}.hint{font-size:var(--fs-xs);color:var(--text-subtle)}.error-text{font-size:var(--fs-xs);color:var(--danger-text)}.input,.select,.textarea{width:100%;height:38px;padding:0 var(--sp-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);transition:border-color var(--motion-fast)}.textarea{height:auto;min-height:88px;padding:var(--sp-2) var(--sp-3);resize:vertical}.input:focus,.select:focus,.textarea:focus{border-color:var(--brand-500);box-shadow:var(--focus);outline:none}.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--danger)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--surface-2);color:var(--text-subtle);cursor:not-allowed}.input[readonly]{background:var(--surface)}.input-file{padding-top:6px}.check{gap:var(--sp-2);cursor:pointer;align-items:flex-start;display:inline-flex}.check input{width:16px;height:16px;accent-color:var(--primary);margin:3px 0 0}.switch{align-items:center;gap:var(--sp-2);cursor:pointer;display:inline-flex;position:relative}.switch input{appearance:none;border-radius:var(--radius-pill);background:var(--ink-300);cursor:pointer;width:34px;height:20px;transition:background var(--motion-fast);margin:0;position:relative}.switch input:after{content:"";background:var(--white);width:16px;height:16px;transition:transform var(--motion-fast);border-radius:50%;position:absolute;top:2px;left:2px}.switch input:checked{background:var(--primary)}.switch input:checked:after{transform:translate(14px)}.switch input:disabled{opacity:.5;cursor:not-allowed}.switch:has(input:disabled){cursor:not-allowed}.card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md)}.card-body{padding:var(--sp-6)}.card-header{padding:var(--sp-4) var(--sp-6);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.card-footer{padding:var(--sp-4) var(--sp-6);border-top:1px solid var(--border);justify-content:flex-end;gap:var(--sp-3);display:flex}.stat{padding:var(--sp-4) var(--sp-5)}.stat-value{font-size:var(--fs-2xl);font-weight:600;line-height:1.1}.stat-label{font-size:var(--fs-sm);color:var(--text-muted)}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:var(--fs-md)}.table th{text-align:left;font-size:var(--fs-sm);color:var(--text-muted);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);white-space:nowrap;font-weight:500}.table td{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tbody tr:hover{background:var(--surface)}.table .actions{text-align:right;white-space:nowrap}@media (max-width:640px){.table-stack thead{display:none}.table-stack tr{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);display:block}.table-stack td{border:0;padding:2px 0;display:block}.table-stack .actions{text-align:left;margin-top:var(--sp-2)}}.badge{height:22px;padding:0 var(--sp-2);border-radius:var(--radius-pill);font-size:var(--fs-xs);white-space:nowrap;align-items:center;gap:6px;font-weight:600;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.badge-neutral{background:var(--surface-2);color:var(--text-muted)}.badge-info{background:var(--info-bg);color:var(--info)}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-info,.badge-success,.badge-warning,.badge-danger{filter:var(--status-filter)}.banner{gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-sm);font-size:var(--fs-md);border:1px solid #0000;align-items:flex-start;display:flex}.banner-info{background:var(--info-bg);border-color:color-mix(in srgb, var(--info) 30%, transparent)}.banner-success{background:var(--success-bg);border-color:color-mix(in srgb, var(--success) 30%, transparent)}.banner-warning{background:var(--warning-bg);border-color:color-mix(in srgb, var(--warning) 30%, transparent)}.banner-danger{background:var(--danger-bg);border-color:color-mix(in srgb, var(--danger) 30%, transparent)}.banner .banner-close{margin-left:auto}.banner-icon{flex:none;margin-top:2px}.toasts{right:var(--sp-4);bottom:var(--sp-4);z-index:80;gap:var(--sp-2);flex-direction:column;max-width:min(420px,100vw - 32px);display:flex;position:fixed}.toast{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-float);padding:var(--sp-3) var(--sp-4);gap:var(--sp-3);align-items:flex-start;display:flex}.toast-success{border-left:4px solid var(--success)}.toast-danger{border-left:4px solid var(--danger)}.toast-info{border-left:4px solid var(--info)}.toast-warning{border-left:4px solid var(--warning)}.modal-backdrop{background:var(--overlay);z-index:70;padding:var(--sp-4);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--bg);border-radius:var(--radius-md);box-shadow:var(--shadow-modal);width:100%;max-height:calc(100vh - 32px);flex-direction:column;max-height:calc(100dvh - 32px);display:flex}.modal-sm{max-width:420px}.modal-md{max-width:560px}.modal-lg{max-width:760px}.modal-header{padding:var(--sp-4) var(--sp-6);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.modal-body{padding:var(--sp-6);overflow:auto}.modal-footer{padding:var(--sp-4) var(--sp-6);border-top:1px solid var(--border);justify-content:flex-end;gap:var(--sp-3);flex-wrap:wrap;display:flex}.menu-wrap{display:inline-block;position:relative}.menu{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:200px;box-shadow:var(--shadow-float);padding:var(--sp-1);z-index:60;position:absolute;top:calc(100% + 4px);right:0}.menu-left{left:0;right:auto}.menu-item{align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-2) 10px;border-radius:var(--radius-xs);text-align:left;cursor:pointer;color:var(--text);font-size:var(--fs-md);background:0 0;border:0;text-decoration:none;display:flex}.menu-item:hover:not([disabled]),.menu-item:focus-visible{background:var(--surface-2);color:var(--text)}.menu-item.active{background:var(--surface-2)}.menu-item.danger{color:var(--danger-text)}.menu-item[disabled]{opacity:.5;cursor:not-allowed}.menu-static{cursor:default}.menu-static:hover:not([disabled]){background:0 0}.menu-user{flex-direction:column;align-items:flex-start;gap:0}.menu-sep{background:var(--border);height:1px;margin:var(--sp-1) 0}.popover{z-index:60;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-float);padding:var(--sp-4);min-width:240px;position:absolute;top:calc(100% + 6px);left:0}.tabs{gap:var(--sp-1);border-bottom:1px solid var(--border);display:flex;overflow-x:auto}.tab{padding:var(--sp-3) var(--sp-3);cursor:pointer;color:var(--text-muted);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;font-weight:500;text-decoration:none}.tab[aria-selected=true],.tab.active{color:var(--text);border-bottom-color:var(--primary)}.chip{height:30px;padding:0 var(--sp-3);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg);cursor:pointer;font-size:var(--fs-sm);color:var(--text);align-items:center;gap:6px;display:inline-flex}.chip.applied{border-color:var(--brand-500);background:var(--accent-soft-bg);color:var(--accent-soft-text)}.search-field{max-width:360px;position:relative}.search-field-icon{color:var(--text-subtle);position:absolute;top:11px;left:10px}.search-field .input{padding-left:var(--sp-8)}.search-field.compact{max-width:none}.search-field.compact .search-field-icon{top:var(--sp-3)}.search-field.compact .input{padding-left:30px}.empty{text-align:center;padding:var(--sp-8) var(--sp-6);align-items:center;gap:var(--sp-3);flex-direction:column;display:flex}.empty-icon{background:var(--brand-50);width:48px;height:48px;color:var(--brand-600);border-radius:50%;justify-content:center;align-items:center;display:flex}.empty p{color:var(--text-muted);max-width:420px}.avatar{width:32px;height:32px;font-size:var(--fs-xs);background:var(--brand-100);color:var(--brand-900);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.recipient-chip{padding:2px var(--sp-2) 2px 2px;border-radius:var(--radius-pill);font-size:var(--fs-sm);color:var(--ink-900);align-items:center;gap:6px;display:inline-flex}.recipient-dot{width:20px;height:20px;font-size:var(--fs-2xs);color:var(--ink-900);border:1px solid #14201f40;border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.uploader{border:2px dashed var(--border);border-radius:var(--radius-md);padding:var(--sp-8);text-align:center;background:var(--bg);transition:border-color var(--motion-fast), background var(--motion-fast);cursor:pointer}.uploader.dragging{border-color:var(--brand-500);background:var(--brand-50)}.pagination{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--border);font-size:var(--fs-sm);display:flex}.progress{background:var(--surface-2);border-radius:var(--radius-pill);height:6px;overflow:hidden}.progress>span{background:var(--primary);border-radius:var(--radius-pill);height:100%;display:block}.app-header{height:var(--header-h);background:var(--bg);border-bottom:1px solid var(--border);align-items:center;gap:var(--sp-4);padding:0 var(--sp-4);z-index:40;display:flex;position:sticky;top:0}.brand{color:var(--text);border-radius:var(--radius-sm);align-items:center;text-decoration:none;display:inline-flex}.brand-logo{flex:none;width:auto;display:block}.topnav{gap:var(--sp-1);height:100%;display:flex}.topnav a{padding:0 var(--sp-3);color:var(--text-muted);border-bottom:2px solid #0000;align-items:center;font-weight:500;text-decoration:none;display:inline-flex}.topnav a:hover{color:var(--text)}.topnav a.active{color:var(--text);border-bottom-color:var(--primary)}@media (max-width:960px){.topnav{display:none}}.app-shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);min-height:calc(100vh - var(--header-h));display:grid}.app-shell.no-sidebar{grid-template-columns:minmax(0,1fr)}.sidebar{border-right:1px solid var(--border);background:var(--bg);padding:var(--sp-4) var(--sp-3);flex-direction:column;gap:2px;display:flex}.sidebar a,.sidebar button.side-link{align-items:center;gap:var(--sp-2);padding:var(--sp-2) 10px;border-radius:var(--radius-sm);color:var(--text-muted);text-align:left;cursor:pointer;background:0 0;border:0;width:100%;font-weight:500;text-decoration:none;display:flex}.sidebar a:hover,.sidebar button.side-link:hover{background:var(--surface-2);color:var(--text)}.sidebar a.active,.sidebar button.side-link.active{background:var(--accent-soft-bg);color:var(--accent-soft-text)}.sidebar-title{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-subtle);padding:var(--sp-4) 10px var(--sp-1)}.sidebar .count{font-size:var(--fs-xs);color:var(--text-subtle);margin-left:auto}.main{padding:var(--sp-6);min-width:0}.main-narrow{max-width:880px}.main-prepare{max-width:960px;margin:0 auto}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--sp-4);margin-bottom:var(--sp-6);flex-wrap:wrap;display:flex}.page-header p{color:var(--text-muted);margin-top:var(--sp-1)}@media (max-width:960px){.app-shell{grid-template-columns:minmax(0,1fr)}.sidebar{display:none}.sidebar.open{top:var(--header-h);width:var(--sidebar-w);z-index:45;box-shadow:var(--shadow-modal);display:flex;position:fixed;bottom:0;left:0}.main{padding:var(--sp-4)}}.mobile-only{display:none}@media (max-width:960px){.mobile-only{display:inline-flex}}.hero{background:var(--brand-900);color:var(--white);border-radius:var(--radius-md);padding:var(--sp-8);justify-content:space-between;gap:var(--sp-6);flex-wrap:wrap;align-items:center;display:flex}.hero h1{color:var(--white);font-weight:500;font-size:var(--fs-xl)}.hero p{color:var(--brand-100)}.hero .btn-secondary{color:var(--white);background:0 0;border-color:#ffffff73}.hero .btn-secondary:hover{background:#ffffff1a}.hero .btn-primary{background:var(--white);color:var(--brand-900)}.auth-page{min-height:100vh;padding:var(--sp-6) var(--sp-4);background:var(--surface);justify-content:center;align-items:center;display:flex}.auth-card{width:100%;max-width:400px}.install-card{width:100%;max-width:640px}.signup-page{gap:var(--sp-8);min-height:100vh;padding-bottom:var(--sp-8);background:var(--surface);flex-direction:column;display:flex}.signup-top{padding:var(--sp-4) var(--sp-6);background:var(--bg);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.signup-shell{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);width:calc(100% - 32px);max-width:980px;min-height:520px;box-shadow:var(--shadow-float);grid-template-columns:1fr 1fr;margin:auto;display:grid;overflow:hidden}.signup-form{gap:var(--sp-5);flex-direction:column;min-width:0;padding:40px 44px;display:flex}.signup-title{font-size:var(--fs-2xl);line-height:1.2}.signup-art{background:linear-gradient(160deg, var(--brand-50), var(--surface-2));padding:var(--sp-8);justify-content:center;align-items:center;display:flex}.signup-svg{width:100%;max-width:320px;height:auto}.signup-steps{flex-direction:column;gap:6px;display:flex}.signup-progress{grid-template-columns:repeat(3,1fr);gap:6px;max-width:160px;display:grid}.signup-progress span{background:var(--surface-2);border-radius:2px;height:4px}.signup-progress span.done{background:var(--primary)}.signup-footer:empty{display:none}.signup-legal{font-size:var(--fs-xs);color:var(--text-subtle);line-height:1.5}.signup-hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.phone-input{gap:0;display:flex}.phone-input .phone-country{border:1px solid var(--border);border-radius:var(--radius-sm) 0 0 var(--radius-sm);background:var(--surface);width:auto;max-width:150px;height:38px;color:var(--text);font-size:var(--fs-sm);border-right:0;padding:0 6px}.phone-input .input{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.phone-input.invalid .input,.phone-input.invalid .phone-country{border-color:var(--danger)}.legal-page{max-width:760px;padding:40px var(--sp-5) 64px;margin:0 auto}.legal-page h2{font-size:var(--fs-lg);margin-top:var(--sp-6)}.legal-page p,.legal-page li{color:var(--text-muted)}@media (max-width:820px){.signup-shell{border-left:0;border-right:0;border-radius:0;grid-template-columns:1fr;margin:0}.signup-art{display:none}.signup-form{padding:28px var(--sp-5)}}.steps{gap:var(--sp-2);margin-bottom:var(--sp-6);flex-wrap:wrap;display:flex}.step{font-size:var(--fs-sm);color:var(--text-subtle);align-items:center;gap:6px;display:inline-flex}.step .n{border:1px solid var(--border);width:22px;height:22px;font-size:var(--fs-xs);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.step.current{color:var(--text);font-weight:600}.step.current .n{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.step.done .n{background:var(--success-bg);color:var(--success);border-color:var(--success)}.check-list{gap:var(--sp-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.check-list li{gap:var(--sp-3);padding:var(--sp-2) 0;border-bottom:1px solid var(--border);align-items:flex-start;display:flex}.editor{grid-template-rows:var(--header-h) minmax(0, 1fr);background:var(--surface);height:100vh;display:grid}.editor-top{background:var(--bg);border-bottom:1px solid var(--border);align-items:center;gap:var(--sp-3);padding:0 var(--sp-4);display:flex}.editor-body{grid-template-columns:var(--editor-palette) minmax(0, 1fr) var(--editor-panel);min-height:0;display:grid}.editor-side{background:var(--bg);border-right:1px solid var(--border);padding:var(--sp-4);overflow-y:auto}.editor-side.right{border-right:0;border-left:1px solid var(--border)}.editor-canvas{padding:var(--sp-6);position:relative;overflow:auto}.editor-toolbar{z-index:5;gap:var(--sp-2);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--sp-1);margin:0 auto var(--sp-4);width:max-content;box-shadow:var(--shadow-float);align-items:center;display:flex;position:sticky;top:0}.palette-group{margin-bottom:var(--sp-4)}.palette-group h4{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-subtle);margin-bottom:var(--sp-2)}.palette-item{align-items:center;gap:var(--sp-2);width:100%;margin-bottom:var(--sp-1);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);cursor:grab;font-size:var(--fs-sm);color:var(--text);text-align:left;padding:7px 10px;display:flex}.palette-item:hover{border-color:var(--brand-300)}.page-wrap{margin:0 auto var(--sp-6);background:var(--white);box-shadow:var(--shadow-page);position:relative}.page-wrap canvas,.page-wrap img.page-img{-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;display:block}.page-label{font-size:var(--fs-xs);color:var(--text-subtle);position:absolute;top:-20px;left:0}.field-layer{position:absolute;inset:0}.field-box{border-radius:var(--radius-2xs);font-size:var(--fs-field);color:var(--ink-900);cursor:move;-webkit-user-select:none;user-select:none;text-align:center;border:1.5px solid #14201f8c;justify-content:center;align-items:center;padding:0 3px;line-height:1.1;display:flex;position:absolute;overflow:hidden}.field-box.selected{outline:2px solid var(--brand-600);outline-offset:1px;z-index:3}.field-box .req-mark{color:var(--danger);font-weight:700;position:absolute;top:0;right:2px}.handle{background:var(--white);border:1.5px solid var(--brand-600);border-radius:2px;width:9px;height:9px;position:absolute}.handle.nw{cursor:nwse-resize;top:-5px;left:-5px}.handle.ne{cursor:nesw-resize;top:-5px;right:-5px}.handle.sw{cursor:nesw-resize;bottom:-5px;left:-5px}.handle.se{cursor:nwse-resize;bottom:-5px;right:-5px}.field-toolbar{z-index:10;gap:var(--sp-1);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-float);padding:var(--sp-1);white-space:nowrap;align-items:center;display:flex;position:absolute}.thumb-rail{gap:var(--sp-3);flex-direction:column;display:flex}.thumb{border-radius:var(--radius-xs);cursor:pointer;background:var(--white);border:2px solid #0000;padding:0;position:relative}.thumb.active{border-color:var(--brand-500)}.thumb img{width:100%;display:block}.thumb .thumb-n{font-size:var(--fs-2xs);color:var(--ink-900);padding:0 var(--sp-1);border-radius:var(--radius-2xs);background:#ffffffd9;position:absolute;bottom:2px;right:4px}.thumb .thumb-dot{background:var(--brand-600);border-radius:50%;width:8px;height:8px;position:absolute;top:4px;right:4px}.editor-narrow-warning{display:none}@media (max-width:959px){.editor-body{display:none}.editor-narrow-warning{padding:var(--sp-6);display:flex}}.signing{background:var(--surface);flex-direction:column;min-height:100vh;display:flex}.signing-header{z-index:30;background:var(--bg);border-bottom:1px solid var(--border);padding:var(--sp-3) var(--sp-4);align-items:center;gap:var(--sp-3);display:flex;position:sticky;top:0}.signing-doc{padding:var(--sp-4);flex:1;overflow-x:auto}.signing-footer{display:none}@media (max-width:640px){.signing-footer{background:var(--bg);border-top:1px solid var(--border);padding:var(--sp-3) var(--sp-4);gap:var(--sp-2);z-index:30;display:flex;position:sticky;bottom:0}.signing-header .header-actions{display:none}}.sign-field{z-index:2;border-radius:var(--radius-2xs);font-size:var(--fs-field);color:var(--ink-900);border:1.5px dashed #14201f99;justify-content:center;align-items:center;display:flex;position:absolute;overflow:hidden}.sign-field.todo{animation:2s ease-in-out infinite pulse}.sign-field.invalid{border-color:var(--danger);border-style:solid}.sign-field.filled{border-style:solid;background:#ffffff8c!important}.sign-field.readonly{opacity:.85;pointer-events:none;z-index:1;border-style:dotted}.sign-field.focus{outline:2px solid var(--brand-600);outline-offset:2px}.sign-field input,.sign-field select,.sign-field textarea{width:100%;height:100%;font-size:var(--fs-xs);color:var(--ink-900);background:0 0;border:0;padding:0 3px}.sign-field button.sign-btn{cursor:pointer;width:100%;height:100%;font-size:var(--fs-field);color:var(--ink-900);background:0 0;border:0;font-weight:600}.sign-field img{max-width:100%;max-height:100%}@keyframes pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--brand-500) 0%, transparent)}50%{box-shadow:0 0 0 4px color-mix(in srgb, var(--brand-500) 25%, transparent)}}.sig-pad{border:1px dashed var(--border);border-radius:var(--radius-sm);background:var(--white);touch-action:none;width:100%;height:180px}.style-option{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--white);color:var(--ink-900);padding:var(--sp-3);cursor:pointer;font-size:var(--fs-2xl);text-align:left}.style-option[aria-checked=true]{border-color:var(--brand-600);box-shadow:var(--focus)}.bars{height:160px;padding-top:var(--sp-2);align-items:flex-end;gap:6px;display:flex}.bars .bar{background:var(--brand-300);border-radius:var(--radius-xs) var(--radius-xs) 0 0;flex:1;min-height:2px;position:relative}.bars .bar span{font-size:var(--fs-2xs);color:var(--text-subtle);white-space:nowrap;position:absolute;bottom:-20px;left:50%;transform:translate(-50%)}.fs-lg{font-size:var(--fs-lg)}.fs-xl{font-size:var(--fs-xl)}.text-right{text-align:right}.text-center{text-align:center}.text-success{color:var(--success)}.text-danger{color:var(--danger-text)}.text-warning{color:var(--warning)}.text-info{color:var(--info)}.text-body{color:var(--text)}.break-all{word-break:break-all}.pre-line{white-space:pre-line}.block{display:block}.relative{position:relative}.w-full{width:100%}.cursor-pointer{cursor:pointer}.justify-end{justify-content:flex-end}.items-end{align-items:flex-end}.gap-0{gap:0}.gap-1{gap:var(--sp-1)}.gap-2xs{gap:2px}.m-0{margin:0}.mb-0{margin-bottom:0}.mb-2{margin-bottom:var(--sp-2)}.mb-4{margin-bottom:var(--sp-4)}.mt-2{margin-top:var(--sp-2)}.mt-3{margin-top:var(--sp-3)}.ml-auto{margin-left:auto}.pb-8{padding-bottom:var(--sp-8)}.link-plain{color:inherit;text-decoration:none}.fieldset{border:0;margin:0;padding:0}.legend{margin-bottom:6px}.btn-flush-left{align-self:flex-start;padding-left:0}.card-body-sm{padding:14px var(--sp-4)}.col-role{min-width:190px}.doc-thumb{max-height:150px;box-shadow:var(--shadow-thumb)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:0s!important;animation-duration:0s!important}}@media print{.app-header,.sidebar{display:none!important}.app-shell{display:block}}
