@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2)format("woff2-variations");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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2)format("woff2-variations");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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2)format("woff2-variations");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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-cyrillic-wght-normal-Dvxsihut.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-greek-wght-normal-DL7QRZyv.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-vietnamese-wght-normal-usUDDRr7.woff2)format("woff2-variations");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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-ext-wght-normal-Ch3YOpNY.woff2)format("woff2-variations");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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-wght-normal-DHIcAJRg.woff2)format("woff2-variations");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.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;--ink:#16232b;--ink-soft:#4b5a61;--ink-faint:#7c8a8f;--bg:#f5f7f6;--surface:#fff;--surface-2:#eef2f1;--surface-raised:#fff;--border:#b7c3c0;--border-soft:#cfd9d6;--copper:#c1622d;--copper-ink:#8f4720;--copper-soft:#f4e2d5;--teal:#1f6f78;--teal-ink:#144e55;--teal-soft:#dcebec;--gold:#e3a73b;--gold-soft:#f8e8c8;--garnet:#8c2f3b;--garnet-soft:#f3dfe1;--success:#2e7d5b;--success-soft:#dcefe4;--warning:#e3a73b;--warning-soft:#f8e8c8;--danger:#b23a48;--danger-soft:#f6dde0;--info:#1f6f78;--info-soft:#dcebec;--font-display:"Fraunces Variable", "Fraunces", ui-serif, Georgia, serif;--font-body:"Manrope Variable", "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--radius-sm:6px;--radius:10px;--radius-lg:16px;--shadow-sm:0 1px 2px #16232b0f;--shadow:0 2px 10px #16232b14;--shadow-lg:0 12px 32px #16232b24;--ring:0 0 0 3px #1f6f7840;--topbar-h:64px;--ridge-h:22px;--content-max:1360px;--transition:.16s cubic-bezier(.4, 0, .2, 1)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#e9eeee;--ink-soft:#b7c3c4;--ink-faint:#849699;--bg:#0f1a20;--surface:#172428;--surface-2:#1d2c31;--surface-raised:#1f2f34;--border:#2b3c41;--border-soft:#24343a;--copper:#e2834f;--copper-ink:#f3ac7c;--copper-soft:#3a2a20;--teal:#59aeb6;--teal-ink:#8fd0d6;--teal-soft:#1c3538;--gold:#f0bb5e;--gold-soft:#3a2f18;--garnet:#e3818c;--garnet-soft:#3a2024;--success:#57b98a;--success-soft:#1b3327;--warning:#f0bb5e;--warning-soft:#3a2f18;--danger:#e06273;--danger-soft:#3a2024;--info:#59aeb6;--info-soft:#1c3538;--shadow-sm:0 1px 2px #0000003d;--shadow:0 2px 12px #00000052;--shadow-lg:0 16px 40px #00000070;--ring:0 0 0 3px #59aeb64d}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#e9eeee;--ink-soft:#b7c3c4;--ink-faint:#849699;--bg:#0f1a20;--surface:#172428;--surface-2:#1d2c31;--surface-raised:#1f2f34;--border:#2b3c41;--border-soft:#24343a;--copper:#e2834f;--copper-ink:#f3ac7c;--copper-soft:#3a2a20;--teal:#59aeb6;--teal-ink:#8fd0d6;--teal-soft:#1c3538;--gold:#f0bb5e;--gold-soft:#3a2f18;--garnet:#e3818c;--garnet-soft:#3a2024;--success:#57b98a;--success-soft:#1b3327;--warning:#f0bb5e;--warning-soft:#3a2f18;--danger:#e06273;--danger-soft:#3a2024;--info:#59aeb6;--info-soft:#1c3538;--shadow-sm:0 1px 2px #0000003d;--shadow:0 2px 12px #00000052;--shadow-lg:0 16px 40px #00000070;--ring:0 0 0 3px #59aeb64d}}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;transition:background var(--transition), color var(--transition);margin:0;font-size:15px;line-height:1.5}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);margin:0 0 .4em;font-weight:600}h1{font-size:1.9rem;font-weight:560}h2{font-size:1.3rem}h3{font-size:1.08rem}p{margin:0 0 .8em}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}.mono,.tabular{font-family:var(--font-mono);font-variant-numeric:tabular-nums}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}::selection{background:var(--gold-soft);color:var(--ink)}:focus-visible{outline:2px solid var(--teal);outline-offset:2px;border-radius:4px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--ink-faint)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.ridge-strip{width:100%;height:var(--ridge-h);color:var(--surface-2);display:block}.ridge-hero{border-radius:inherit;position:absolute;inset:0;overflow:hidden}.ridge-hero-sky{background:linear-gradient(#0f2635 0%,#1c4a55 32%,#b3703a 68%,#e8b34f 100%);position:absolute;inset:0}:root[data-theme=light] .ridge-hero-sky,:root:not([data-theme=dark]) .ridge-hero-sky{background:linear-gradient(#12303f 0%,#1f5860 30%,#c1793f 66%,#eec06a 100%)}.ridge-hero-sun{filter:blur(1px);background:radial-gradient(circle,#ffe0a8f2 0%,#e8b34f8c 55%,#e8b34f00 75%);border-radius:50%;width:130px;height:130px;position:absolute;bottom:28%;left:50%;transform:translate(-50%)}.ridge-hero-layer{width:140%;height:62%;position:absolute;bottom:0;left:0}.ridge-hero-far{color:#142c33;opacity:.85;animation:90s linear infinite alternate driftFar}.ridge-hero-near{color:#0d1e23;animation:60s linear infinite alternate driftNear}@keyframes driftFar{0%{transform:translate(-6%)}to{transform:translate(0%)}}@keyframes driftNear{0%{transform:translate(-2%)}to{transform:translate(-10%)}}.app-shell{flex-direction:column;min-height:100%;display:flex}.topbar{z-index:40;background:var(--surface);border-bottom:1px solid var(--border-soft);position:sticky;top:0}.topbar-inner{height:var(--topbar-h);max-width:var(--content-max);align-items:center;gap:14px;margin:0 auto;padding:0 20px;display:flex}.brand{font-family:var(--font-display);color:var(--ink);flex-shrink:0;align-items:center;gap:9px;font-size:1.2rem;font-weight:600;display:flex}.brand-mark{background:linear-gradient(155deg, var(--copper) 0%, var(--gold) 100%);border-radius:8px;flex-shrink:0;width:30px;height:30px;position:relative;overflow:hidden}.brand-mark svg{color:#16232b59;width:100%;height:60%;position:absolute;bottom:-2px;left:0}.main-nav{scrollbar-width:thin;scrollbar-color:var(--border-strong,var(--border-soft)) transparent;flex:1;align-items:center;gap:1px;min-width:0;display:flex;overflow-x:auto}.main-nav::-webkit-scrollbar{height:4px}.main-nav::-webkit-scrollbar-track{background:0 0}.main-nav::-webkit-scrollbar-thumb{background:var(--border-strong,var(--border-soft));border-radius:999px}.nav-link{white-space:nowrap;color:var(--ink-soft);transition:background var(--transition), color var(--transition);border-radius:999px;padding:8px 10px;font-size:.82rem;font-weight:600;position:relative}.nav-link:hover{background:var(--surface-2);color:var(--ink);text-decoration:none}.nav-link.active{color:var(--copper-ink);background:var(--copper-soft)}.topbar-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.icon-btn{width:36px;height:36px;color:var(--ink-soft);cursor:pointer;transition:background var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition), transform var(--transition);background:0 0;border:1px solid #0000;border-radius:50%;justify-content:center;align-items:center;font-size:1rem;display:inline-flex;position:relative}.icon-btn:hover{background:var(--surface-2);color:var(--ink);box-shadow:0 0 0 3px color-mix(in srgb, var(--ink-faint) 18%, transparent);transform:translateY(-1px)}.icon-btn.is-active{background:var(--teal-soft);color:var(--teal-ink)}.badge-dot{background:var(--danger);color:#fff;text-align:center;border-radius:999px;min-width:8px;height:8px;padding:0 2px;font-size:9px;line-height:8px;position:absolute;top:4px;right:4px}.ridge-under-topbar{color:var(--surface-2);background:var(--bg)}.menu-panel{z-index:60;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);box-shadow:var(--shadow-lg);min-width:170px;padding:6px;position:absolute;top:calc(100% + 8px);left:0}.menu-item{text-align:left;border-radius:var(--radius-sm);width:100%;color:var(--ink);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:8px 10px;font-size:.86rem;font-weight:500;display:flex}.menu-item:hover{background:var(--surface-2)}.menu-item.active{color:var(--copper-ink);font-weight:700}.menu-caption{color:var(--ink-faint);padding:6px 10px;font-size:.76rem}.menu-divider{background:var(--border-soft);height:1px;margin:4px 0}.notif-badge{background:var(--danger);color:#fff;text-align:center;min-width:16px;height:16px;box-shadow:0 0 0 2px var(--surface);border-radius:999px;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:2px;right:2px}.notif-panel{width:360px;max-width:calc(100vw - 32px);padding:0;overflow:hidden}.notif-panel-header{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.notif-list{max-height:420px;overflow-y:auto}.notif-item{text-align:left;border:none;border-bottom:1px solid var(--border-soft);cursor:pointer;background:0 0;align-items:flex-start;gap:10px;width:100%;padding:12px 14px;display:flex}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:var(--surface-2)}.notif-item.unread{background:color-mix(in srgb, var(--teal-soft) 45%, transparent)}.notif-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.notif-item-body{flex-direction:column;gap:2px;min-width:0;display:flex}.notif-item-title{color:var(--ink);font-size:.86rem;font-weight:600}.notif-item-text{color:var(--ink-soft);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.8rem;display:-webkit-box;overflow:hidden}.notif-item-time{color:var(--ink-faint);margin-top:2px;font-size:.72rem}.main-content{width:100%;max-width:var(--content-max);flex:1;margin:0 auto;padding:28px 20px 64px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.page-header h1{margin:0}.page-subtitle{color:var(--ink-faint);margin-top:2px;font-size:.92rem}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--copper-ink);font-size:.72rem;font-weight:700}.btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--ink);cursor:pointer;transition:background var(--transition), border-color var(--transition), transform var(--transition), box-shadow var(--transition);white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:9px 16px;font-size:.87rem;font-weight:600;line-height:1.2;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--ink-faint);box-shadow:0 0 0 3px color-mix(in srgb, var(--ink-faint) 20%, transparent), 0 6px 14px color-mix(in srgb, var(--ink) 10%, transparent);transform:translateY(-1px)}.btn:active:not(:disabled){box-shadow:none;transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:6px 11px;font-size:.8rem}.btn-lg{padding:12px 22px;font-size:.95rem}.btn-primary{background:var(--copper);border-color:var(--copper);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--copper-ink);border-color:var(--copper-ink);box-shadow:0 0 0 4px color-mix(in srgb, var(--copper) 30%, transparent), 0 6px 16px color-mix(in srgb, var(--copper) 35%, transparent)}.btn-secondary{background:var(--teal);border-color:var(--teal);color:#fff}.btn-secondary:hover:not(:disabled){background:var(--teal-ink);border-color:var(--teal-ink);box-shadow:0 0 0 4px color-mix(in srgb, var(--teal) 30%, transparent), 0 6px 16px color-mix(in srgb, var(--teal) 35%, transparent)}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--surface-2);box-shadow:none;transform:none}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){filter:brightness(.94);box-shadow:0 0 0 4px color-mix(in srgb, var(--danger) 32%, transparent), 0 6px 16px color-mix(in srgb, var(--danger) 38%, transparent)}.btn-block{width:100%}.btn-icon{border-radius:50%;width:34px;height:34px;padding:0}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field label{color:var(--ink-soft);font-size:.83rem;font-weight:600}.field-hint{color:var(--ink-faint);font-size:.78rem}.input,select.input,textarea.input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--ink);transition:border-color var(--transition), box-shadow var(--transition);padding:10px 12px}.input:focus{border-color:var(--teal);box-shadow:var(--ring);outline:none}.input-row{flex-wrap:wrap;gap:10px;display:flex}.input-row>*{flex:1;min-width:160px}.checkbox-row{align-items:center;gap:8px;font-size:.87rem;display:flex}.price-panel-subhead{color:var(--ink-soft);margin:0 0 8px;font-size:.83rem;font-weight:600}.price-override-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px 14px;margin-bottom:10px;display:grid}.price-override-grid .field{margin-bottom:0}.price-override-dates{gap:8px;display:flex}.price-override-dates .input{min-width:0}.price-overrides-table th,.price-overrides-table td{padding:10px 14px}.rte{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.rte-toolbar{background:var(--surface-alt,var(--surface-2));border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;padding:6px;display:flex}.rte-editable{background:var(--surface);width:100%;min-height:160px;color:var(--ink);border:none;border-radius:0;padding:10px 12px;overflow-y:auto}.rte-editable:focus{outline:none}.rte-editable:empty:before{content:attr(data-placeholder);color:var(--ink-faint)}.rte-editable h2{margin:.6em 0 .3em;font-size:1.25rem}.rte-editable h3{margin:.6em 0 .3em;font-size:1.1rem}.rte-editable p{margin:0 0 .6em}.rte-editable ul,.rte-editable ol{margin:0 0 .6em;padding-left:1.4em}.rte-editable table{border-collapse:collapse;margin:.6em 0}.rte-editable table td,.rte-editable table th{border:1px solid var(--border);padding:4px 8px}.rte-editable a{color:var(--teal)}.alert{border-radius:var(--radius-sm);border:1px solid #0000;margin-bottom:14px;padding:11px 14px;font-size:.87rem}.alert-error{background:var(--danger-soft);color:var(--danger);border-color:color-mix(in srgb, var(--danger) 30%, transparent)}.alert-success{background:var(--success-soft);color:var(--success)}.alert-warning{background:var(--warning-soft);color:var(--copper-ink);border-color:color-mix(in srgb, var(--warning) 35%, transparent)}.alert-info{background:var(--info-soft);color:var(--info)}.card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.card-pad{padding:20px}.card-header{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.card-header h2,.card-header h3{margin:0}.help-hint{vertical-align:middle;margin-left:6px;display:inline-flex;position:relative}.help-hint-btn{background:var(--surface-2);border:1px solid var(--border-soft);width:18px;height:18px;color:var(--ink-faint);cursor:help;transition:background var(--transition), color var(--transition), border-color var(--transition);border-radius:50%;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.help-hint-btn:hover,.help-hint-btn:focus-visible{background:var(--teal-soft);color:var(--teal-ink);border-color:var(--teal)}.help-hint-btn:focus-visible{box-shadow:var(--ring);outline:none}.help-hint-popover{z-index:60;background:var(--surface-raised);width:max-content;max-width:280px;color:var(--ink);border:1px solid var(--border-soft);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);white-space:normal;text-align:left;opacity:0;visibility:hidden;transition:opacity var(--transition), transform var(--transition), visibility 0s linear var(--transition);pointer-events:none;padding:9px 12px;font-size:.8rem;font-weight:400;line-height:1.45;position:absolute;top:calc(100% + 8px);left:0;transform:translateY(-4px)}.help-hint-popover-end{left:auto;right:0}.help-hint.is-open .help-hint-popover,.help-hint:hover .help-hint-popover,.help-hint:focus-within .help-hint-popover{opacity:1;visibility:visible;pointer-events:auto;transition:opacity var(--transition), transform var(--transition);transform:translateY(0)}h1 .help-hint,h2 .help-hint,h3 .help-hint{font-weight:400}.auth-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:2;width:100%;max-width:420px;padding:40px 36px;position:relative}.auth-screen{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative;overflow:hidden}.auth-screen-inner{z-index:1;justify-content:center;width:100%;display:flex;position:relative}.auth-card-top{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.auth-brand-mark{border-radius:10px;width:40px;height:40px}.auth-title{margin-bottom:2px;font-size:1.7rem}.lang-switch{flex-shrink:0;display:inline-block;position:relative}.lang-switch-trigger{border:1px solid var(--border);background:var(--surface);color:var(--ink);cursor:pointer;transition:background var(--transition), border-color var(--transition);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.78rem;font-weight:700;line-height:1;display:inline-flex}.lang-switch-trigger:hover{background:var(--surface-2)}.lang-switch-code{letter-spacing:.02em}.lang-switch-menu{z-index:60;min-width:160px;position:absolute;top:calc(100% + 8px);right:0}.lang-switch-menu .menu-item{gap:8px}.lang-switch-hero .lang-switch-trigger{color:#fff;background:#ffffff29;border-color:#ffffff52}.lang-switch-hero .lang-switch-trigger:hover{background:#ffffff42}.tabs-nav{border-bottom:1px solid var(--border);gap:4px;margin-bottom:20px;display:flex;overflow-x:auto}.tab-link{color:var(--ink-faint);white-space:nowrap;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-right:20px;padding:10px 4px;font-size:.88rem;font-weight:600}.tab-link:hover{color:var(--ink);text-decoration:none}.tab-link.active{color:var(--copper-ink);border-bottom-color:var(--copper)}.badge{letter-spacing:.01em;border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-size:.74rem;font-weight:700;display:inline-flex}.badge-green{background:var(--success-soft);color:var(--success)}.badge-orange{background:var(--warning-soft);color:#9a6a15}:root[data-theme=dark] .badge-orange{color:var(--warning)}.badge-gray{background:var(--surface-2);color:var(--ink-faint)}.badge-red{background:var(--danger-soft);color:var(--danger)}.badge-teal{background:var(--info-soft);color:var(--teal-ink)}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:24px;display:grid}.kpi{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);box-shadow:var(--shadow-sm);border-left:3px solid var(--border);padding:16px 18px}.kpi-label{color:var(--ink-faint);margin-bottom:6px;font-size:.78rem;font-weight:600}.kpi-value{font-family:var(--font-display);color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.7rem;font-weight:600}.kpi--good{border-left-color:var(--success)}.kpi--good .kpi-value{color:var(--success)}.kpi--bad{border-left-color:var(--danger)}.kpi--bad .kpi-value{color:var(--danger)}.kpi--accent{border-left-color:var(--copper)}.kpi--info{border-left-color:var(--teal)}.table-wrap{border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--surface);overflow-x:auto}table.data-table{border-collapse:collapse;width:100%;font-size:.87rem}table.data-table th{text-align:left;background:var(--surface-2);color:var(--ink-soft);letter-spacing:.03em;text-transform:uppercase;border-bottom:1px solid var(--border);padding:11px 14px;font-size:.74rem;font-weight:700;position:sticky;top:0}table.data-table td{border-bottom:1px solid var(--border-soft);vertical-align:middle;padding:11px 14px}table.data-table tbody tr:hover{background:var(--surface-2)}table.data-table td.num,table.data-table th.num{text-align:right;font-variant-numeric:tabular-nums}table.data-table.small td,table.data-table.small th{padding:8px 11px;font-size:.83rem}.empty-state{text-align:center;color:var(--ink-faint);padding:40px 20px}.empty-state .ridge-strip{opacity:.7;width:140px;height:24px;margin:0 auto 14px}.skeleton-line{background:linear-gradient(90deg, var(--surface-2) 25%, var(--border-soft) 37%, var(--surface-2) 63%);background-size:400% 100%;border-radius:4px;height:14px;margin-bottom:8px;animation:1.4s infinite shimmer}.skeleton-line.short{width:60%}.skeleton-line.tall{border-radius:var(--radius-sm);height:38px}.skeleton-list{padding:4px}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.search-palette-overlay{align-items:flex-start;padding-top:12vh}.search-palette{background:var(--surface);border-radius:var(--radius-lg);width:560px;max-width:100%;max-height:70vh;box-shadow:var(--shadow-lg);flex-direction:column;display:flex;overflow:hidden}.search-palette #search-palette-input{border:none;border-bottom:1px solid var(--border);font-size:16px;font:inherit;color:var(--ink);background:0 0;outline:none;padding:16px 18px}.search-palette #search-palette-input:focus-visible{border-bottom-color:var(--copper);border-bottom-width:2px;padding-bottom:15px}.search-palette-results{padding:6px;overflow-y:auto}.search-result-item{border-radius:var(--radius);color:inherit;cursor:pointer;align-items:center;gap:10px;padding:9px 10px;text-decoration:none;display:flex}.search-result-item.active,.search-result-item:hover{background:var(--surface-2)}.search-result-type{text-transform:uppercase;letter-spacing:.03em;color:var(--ink-faint);background:var(--surface-2);border-radius:6px;flex-shrink:0;padding:2px 6px;font-size:10px}.search-result-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.search-result-sub{color:var(--ink-faint);flex-shrink:0;font-size:12px}.empty-state.small{padding:16px;font-size:13px}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;background:#0f1a2080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:520px;max-height:88vh;padding:26px;overflow-y:auto}.modal.modal-lg{max-width:860px}.modal-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.toast-stack{z-index:200;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.toast-item{background:var(--ink);color:var(--bg);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);justify-content:space-between;align-items:center;gap:14px;min-width:220px;padding:11px 16px;font-size:.86rem;display:flex}.toast-item.error{background:var(--danger);color:#fff}.toast-item.success{background:var(--success);color:#fff}.toast-action{color:inherit;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid;padding:3px 10px;font-size:.82rem;font-weight:600}.toast-action:hover{background:#ffffff26}.muted{color:var(--ink-faint)}.small{font-size:.82rem}.row-actions{flex-wrap:wrap;gap:8px;display:flex}.chip{background:var(--surface-2);color:var(--ink-soft);border-radius:999px;align-items:center;padding:3px 10px;font-size:.78rem;font-weight:600;display:inline-flex}hr.divider{border:none;border-top:1px solid var(--border-soft);margin:20px 0}.seat-map{background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--radius);margin:10px 0 16px;padding:14px 16px}.seat-map-grid{flex-direction:column;gap:8px;display:inline-flex}.seat-row{align-items:center;gap:8px;display:flex}.seat-aisle{flex-shrink:0;width:18px}.seat-cell{border:1.5px dashed var(--border);background:var(--surface);width:46px;height:46px;color:var(--ink-faint);cursor:default;-webkit-user-select:none;user-select:none;border-radius:10px 10px 4px 4px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:1px;display:flex}.seat-cell .seat-num{font-size:.68rem;font-weight:700;line-height:1}.seat-cell.occupied{border-style:solid;border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--surface));color:var(--ink);cursor:grab}.seat-cell.occupied .seat-occupant{color:var(--accent);font-size:.78rem;font-weight:700}.seat-cell.drag-over{outline:2px solid var(--accent);outline-offset:1px}.seat-cell.is-selected{outline:2px solid var(--accent);outline-offset:1px;box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 25%, transparent)}.seat-unassigned{border-top:1px dashed var(--border-soft);margin-top:12px;padding-top:10px}.seat-chip{cursor:grab;background:var(--warning-soft)}.seat-chip.is-selected{background:var(--accent);color:var(--surface);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 40%, transparent)}.cal-scroll-outer{border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--surface);overflow-x:auto}table.calendar-table{border-collapse:collapse;width:max-content;min-width:100%;font-size:.8rem}table.calendar-table th,table.calendar-table td{border-bottom:1px solid var(--border-soft);border-right:1px solid var(--border-soft)}.sticky-col{z-index:5;background:var(--surface);text-align:left;white-space:nowrap;text-overflow:ellipsis;border-right:1px solid var(--border);min-width:180px;max-width:220px;padding:8px 12px;font-size:.83rem;font-weight:600;position:sticky;left:0;overflow:hidden}.corner{z-index:6;background:var(--surface-2)}.day-col{text-align:center;width:34px;min-width:34px;padding:4px 2px}.day-col.weekend{background:var(--surface-2)}.day-col.today-col{background:var(--copper-soft)}th.day-col .dow{color:var(--ink-faint);text-transform:uppercase;font-size:.63rem}th.day-col .dnum{font-size:.82rem;font-weight:700}td.empty-cell{transition:background var(--transition), box-shadow var(--transition);background:0 0}td.empty-cell.clickable{cursor:pointer}td.empty-cell.clickable:hover{background:color-mix(in srgb, var(--teal) 12%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--teal) 45%, transparent)}td.bar-cell{color:var(--bar-ink,#fff);transition:transform var(--transition), box-shadow var(--transition), filter var(--transition);background-clip:padding-box;border-radius:4px;padding:3px 6px;font-size:.76rem;font-weight:600}td.bar-cell.clickable:hover{filter:brightness(1.06);transform:translateY(-1px)scale(1.015);box-shadow:0 3px 10px #00000038}td.empty-cell.drop-target{background:color-mix(in srgb, var(--teal) 22%, transparent);box-shadow:inset 0 0 0 2px var(--teal)}td.bar-cell .bar-label{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:3px;display:flex;overflow:hidden}td.bar-cell .bar-flag{color:var(--bar-ink,#fff);opacity:.85;flex:none}.cal-group-row .cal-group-label{border-left:4px solid var(--border);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);background:var(--surface-2);font-size:.72rem;font-weight:700}.legend-panel{flex-wrap:wrap;gap:14px;margin-bottom:14px;display:flex}.legend-item{color:var(--ink-soft);align-items:center;gap:6px;font-size:.8rem;display:flex}.legend-item .swatch{border-radius:3px;width:12px;height:12px;display:inline-block}.month-nav{align-items:center;gap:12px;display:flex}.taxonomy-section{border-top:1px solid var(--border);margin-top:26px;padding-top:20px}.taxonomy-section-head{max-width:640px;margin-bottom:14px}.taxonomy-section-head .eyebrow{margin-bottom:4px;display:block}.taxonomy-section-head p{color:var(--ink-faint);margin:0;font-size:.86rem}.taxonomy-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;display:grid}.taxonomy-tag{background:var(--surface);border:1px solid var(--border-soft);border-top:3px solid var(--tag-accent);border-radius:var(--radius);transition:transform var(--transition), box-shadow var(--transition);position:relative;overflow:hidden}.taxonomy-tag:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.taxonomy-tag-punch{background:var(--bg);width:7px;height:7px;box-shadow:inset 0 0 0 1px var(--border-soft);border-radius:50%;position:absolute;top:13px;right:14px}.taxonomy-tag-head{background:var(--tag-accent-soft);border-bottom:1px dashed var(--border-soft);align-items:center;gap:8px;padding:12px 30px 11px 12px;display:flex}.taxonomy-tag-icon{background:var(--surface);width:27px;height:27px;color:var(--tag-accent-ink);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--tag-accent) 38%, transparent);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.taxonomy-tag-title{min-width:0;font-family:var(--font-display);color:var(--ink);flex:1;font-size:.87rem;font-weight:600}.taxonomy-tag-count{color:var(--ink-faint);font-size:.72rem}.taxonomy-tag-body{flex-direction:column;gap:10px;padding:13px 14px 14px;display:flex}.taxonomy-tag-chips{flex-wrap:wrap;gap:6px;display:flex}.taxonomy-chip{background:var(--tag-accent-soft);color:var(--ink);border:1px solid color-mix(in srgb, var(--tag-accent) 32%, transparent);border-radius:999px;align-items:center;gap:4px;padding:4px 5px 4px 10px;font-size:.78rem;font-weight:600;display:inline-flex}.taxonomy-chip-remove{width:16px;height:16px;color:var(--ink-faint);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.taxonomy-chip-remove:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 16%, transparent);color:var(--danger)}.taxonomy-tag-empty{color:var(--ink-faint);font-size:.8rem;font-style:italic}.taxonomy-tag-add{border-radius:var(--radius-sm);border:1px dashed var(--border);color:var(--ink-soft);cursor:pointer;transition:border-color var(--transition), color var(--transition), background var(--transition);background:0 0;align-self:flex-start;align-items:center;gap:5px;padding:5px 10px;font-size:.78rem;font-weight:600;display:inline-flex}.taxonomy-tag-add:hover{border-color:var(--tag-accent);color:var(--tag-accent-ink);background:var(--tag-accent-soft)}.taxonomy-tag-form{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.taxonomy-tag-form-actions{gap:6px;display:flex}.geo-tree .card{box-shadow:none;border:1px solid var(--border)}.profile-meta-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px 24px;font-size:.9rem;display:grid}.profile-meta-grid strong{color:var(--ink-soft);margin-right:4px;font-weight:600}.detail-two-col{grid-template-columns:1.6fr 1fr;align-items:start;gap:24px;display:grid}@media (width<=900px){.detail-two-col{grid-template-columns:1fr}}.detail-two-col.pickup-fields{grid-template-columns:1fr 1.4fr}@media (width<=640px){.detail-two-col.pickup-fields{grid-template-columns:1fr}}.detail-gallery-main{aspect-ratio:16/9;border-radius:var(--radius-lg);background:var(--surface-2);justify-content:center;align-items:center;width:100%;margin-bottom:16px;font-size:3rem;display:flex}.settings-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:16px;padding:20px}.settings-section h2{margin-top:0;margin-bottom:12px;font-size:1rem}.detail-dl{grid-template-columns:auto 1fr;gap:8px 14px;margin:0;display:grid}.detail-dl dt{color:var(--ink-soft);font-size:.85rem;font-weight:600}.detail-dl dd{margin:0}.chip-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.chip-list .chip{display:inline-flex}.month-label{font-weight:700;font-family:var(--font-display);text-align:center;min-width:160px;font-size:1.05rem}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.segmented{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:2px;display:inline-flex}.segmented button{color:var(--ink-faint);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:6px 14px;font-size:.8rem;font-weight:600}.segmented button.active{background:var(--copper);color:#fff}.spinner{border:2px solid var(--border);border-top-color:var(--copper);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.chat-layout{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);grid-template-columns:300px 1fr;height:calc(100vh - 170px);min-height:480px;display:grid;overflow:hidden}@media (width<=800px){.chat-layout{grid-template-columns:1fr;height:auto}}.chat-sidebar{border-right:1px solid var(--border);flex-direction:column;min-height:0;display:flex}.chat-sidebar-header{border-bottom:1px solid var(--border);gap:8px;padding:12px;display:flex}.chat-thread-list{flex:1;overflow-y:auto}.chat-thread-item{text-align:left;cursor:pointer;border:none;border-bottom:1px solid var(--border-soft);background:0 0;align-items:center;gap:10px;width:100%;padding:12px 14px;display:flex}.chat-thread-item:hover{background:var(--surface-2)}.chat-thread-item.active{background:var(--copper-soft)}.chat-thread-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.chat-thread-title{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:600;overflow:hidden}.chat-thread-preview{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.chat-status-dot{background:var(--ink-faint);border-radius:50%;flex:none;width:9px;height:9px}.chat-status-dot.online{background:var(--success)}.chat-unread-badge{background:var(--copper);color:#fff;border-radius:999px;flex:none;padding:2px 7px;font-size:.7rem;font-weight:700}.chat-main{flex-direction:column;min-height:0;display:flex}.chat-empty-main{flex:1;justify-content:center;align-items:center;display:flex}.chat-messages{flex-direction:column;flex:1;gap:10px;padding:16px;display:flex;overflow-y:auto}.chat-message{align-self:flex-start;max-width:60%}.chat-message.mine{align-self:flex-end}.chat-message-sender{color:var(--ink-faint);margin-bottom:2px;font-size:.72rem}.chat-message-bubble{background:var(--surface-2);border-radius:var(--radius);white-space:pre-wrap;word-break:break-word;padding:8px 12px;font-size:.88rem}.chat-message.mine .chat-message-bubble{background:var(--chat-bubble-color,var(--copper));color:#fff}.chat-message-time{color:var(--ink-faint);text-align:right;margin-top:2px;font-size:.68rem}.chat-composer{border-top:1px solid var(--border);align-items:center;gap:8px;padding:12px;display:flex}.chat-composer .input{flex:1}.chat-composer label.icon-btn{justify-content:center;align-items:center;display:inline-flex}.emoji-picker-panel{z-index:30;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);grid-template-columns:repeat(8,1fr);gap:2px;width:260px;padding:8px;display:grid;position:absolute;bottom:calc(100% + 8px);left:0}.emoji-picker-item{cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px;font-size:1.15rem;line-height:1}.emoji-picker-item:hover{background:var(--surface-2)}.chat-user-picker{border:1px solid var(--border);border-radius:var(--radius-sm);max-height:240px;overflow-y:auto}.chat-user-picker-row{border-bottom:1px solid var(--border-soft);cursor:pointer;align-items:center;gap:8px;padding:8px 12px;font-size:.86rem;display:flex}.chat-user-picker-row:last-child{border-bottom:none}.chat-layout{font-family:var(--chat-font,inherit)}.chat-thread-pinned{background:var(--surface-2)}.chat-thread-pinned .chat-thread-title{align-items:center;gap:4px;display:flex}.chat-system-avatar{background:var(--teal-soft);width:28px;height:28px;color:var(--teal-ink);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.chat-system-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.chat-message-system{align-self:flex-start;max-width:80%}.chat-message-system .chat-message-bubble{background:var(--teal-soft);color:var(--teal-ink)}.chat-message-system.unread .chat-message-sender{color:var(--ink);font-weight:700}.chat-bg-dots .chat-messages{background-image:radial-gradient(var(--border-soft) 1px, transparent 1px);background-size:16px 16px}.chat-bg-stripes .chat-messages{background-image:repeating-linear-gradient(135deg, var(--surface-2) 0 12px, transparent 12px 24px)}.chat-bg-waves .chat-messages{background-image:radial-gradient(ellipse at top left, var(--surface-2) 0%, transparent 60%), radial-gradient(ellipse at bottom right, var(--surface-2) 0%, transparent 60%);background-size:100% 100%}.dash-info{flex-direction:column;gap:6px;margin-bottom:20px;font-size:.9rem;display:flex}.dash-info.detail-dl-inline{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);padding:14px 18px}.booking-block{border-top:1px dashed var(--border);border-left:3px solid #0000;margin-top:12px;padding:12px 0 0 10px}.booking-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;font-size:.85rem;display:flex}.booking-color-dot{vertical-align:middle;border-radius:50%;width:9px;height:9px;margin-right:2px;display:inline-block}.booking-totals{margin-top:6px}.tourist-filter-bar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;display:flex}.gd-panel{grid-template-columns:1fr 1fr;gap:12px;margin:14px 0;display:grid}@media (width<=720px){.gd-panel{grid-template-columns:1fr}}.gd-card{border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--surface-2);padding:12px 14px}.gd-label{text-transform:uppercase;letter-spacing:.03em;border:1.5px solid;border-radius:999px;margin-bottom:8px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}.gd-label-guide{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.gd-label-driver{color:#b8720b;background:#b8720b1f}.gd-body{font-size:.9rem}.sale-status-toggle{cursor:pointer;border:1.5px solid;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-family:inherit;font-size:12px;font-weight:600;display:inline-flex}.sale-status-toggle.is-open{color:#1a8f5a;background:#1a8f5a1f;border-color:#1a8f5a}.sale-status-toggle.is-stop{color:var(--danger);border-color:var(--danger);background:var(--danger-soft)}.sale-status-dot{background:currentColor;border-radius:50%;width:7px;height:7px}.modal-wide{max-width:760px}.schedule-card-list{flex-direction:column;gap:10px;display:flex}.schedule-card{margin:0}.schedule-card-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.schedule-card-dates{color:var(--ink-faint);font-size:.78rem}.schedule-card-title{margin-top:2px;font-weight:700}.schedule-card-meta{flex-direction:column;gap:2px;margin-top:8px;display:flex}.schedule-card-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.schedule-confirm-badge.is-available{background:var(--warning-soft);color:#9a6a15}:root[data-theme=dark] .schedule-confirm-badge.is-available{color:var(--warning)}.schedule-confirm-badge.is-confirmed{background:var(--success-soft);color:var(--success)}.dp-departure{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);margin-bottom:20px;padding:18px 22px}.dp-departure h2{margin:0 0 8px;font-size:1.1rem}.dp-meta{color:var(--ink-soft);flex-wrap:wrap;gap:20px;margin-bottom:12px;font-size:.86rem;display:flex}.dp-group{border-top:1px dashed var(--border);margin-top:14px;padding-top:12px}.dp-group-head{flex-wrap:wrap;gap:24px;margin-bottom:8px;font-size:.86rem;display:flex}.dp-warn{color:var(--danger);align-items:center;gap:4px;display:inline-flex}.dp-table{border-collapse:collapse;width:100%;font-size:.82rem}.dp-table th,.dp-table td{border:1px solid var(--border-soft);text-align:left;padding:6px 8px}.dp-table th{background:var(--surface-2)}.dp-empty{color:var(--ink-faint);font-style:italic}@media print{.topbar,.main-nav,.no-print{display:none!important}.main-content{max-width:none;padding:0}.dp-departure{page-break-inside:avoid;border-color:#999}}.finance-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:18px;display:grid}.stacked-cards{flex-direction:column;gap:18px;margin-top:18px;display:flex}.mini-bar-chart{align-items:flex-end;gap:6px;height:140px;padding-top:8px;display:flex}.mini-bar-col{flex-direction:column;flex:1;align-items:center;min-width:0;height:100%;display:flex}.mini-bar-track{background:var(--surface-2);border-radius:3px 3px 0 0;flex:1;align-items:flex-end;width:100%;max-width:22px;display:flex;overflow:hidden}.mini-bar-fill{border-radius:3px 3px 0 0;width:100%;min-height:2px;transition:height .2s}.mini-bar-label{color:var(--ink-faint);text-transform:uppercase;white-space:nowrap;margin-top:6px;font-size:.65rem}.page-loading{color:var(--ink-faint);justify-content:center;align-items:center;gap:10px;padding:80px 0;display:flex}.card-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.tab-pills{flex-wrap:wrap;gap:6px;display:flex}.tab-pill{border:1px solid var(--border);background:var(--surface);color:var(--ink-soft);cursor:pointer;border-radius:999px;padding:6px 14px;font-size:.82rem;font-weight:600}.tab-pill.active{background:var(--copper);border-color:var(--copper);color:#fff}.stepper{align-items:center;gap:8px;display:inline-flex}.stepper input{text-align:center;width:48px}.lead-totals{background:var(--surface-2);border-radius:var(--radius-sm);flex-direction:column;gap:4px;margin:12px 0;padding:10px 14px;font-size:.86rem;display:flex}.checkbox-list-scroll{border:1px solid var(--border-soft);border-radius:var(--radius-sm);flex-direction:column;gap:6px;max-height:220px;padding:8px 12px;display:flex;overflow-y:auto}fieldset.form-fieldset{border:1px solid var(--border-soft);border-radius:var(--radius);margin:0 0 18px;padding:16px 18px}fieldset.form-fieldset legend{color:var(--ink-soft);padding:0 6px;font-size:.85rem;font-weight:700}.partner-cabinet-shell{min-height:100%}.partner-topbar-inner{height:var(--topbar-h);max-width:var(--content-max);align-items:center;gap:16px;margin:0 auto;padding:0 20px;display:flex}.partner-topbar-inner .brand{flex:1;min-width:0}.partner-topbar-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.partner-cabinet-content{max-width:var(--content-max);margin:0 auto;padding:28px 20px 64px}.pin-input{text-align:center;letter-spacing:.5em;font-size:1.6rem;font-family:var(--font-mono)}.partner-site{background:var(--bg);min-height:100%}#catalog,#catalog-calendar{scroll-behavior:smooth;scroll-margin-top:24px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.partner-section-eyebrow{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--copper-ink);margin-bottom:6px;font-size:.72rem;font-weight:600;display:block}:root[data-theme=dark] .partner-section-eyebrow{color:var(--copper)}.partner-hero{color:#fff;background-position:50%;background-size:cover;background-color:var(--ink);padding:88px 24px 110px;position:relative;overflow:hidden}.partner-hero-ridge{z-index:0;position:absolute;inset:0}.partner-hero-inner{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:14px;max-width:740px;margin:0 auto;display:flex;position:relative}.partner-hero-lang{top:18px;right:max(20px, env(safe-area-inset-right,0px) + 20px);z-index:2;flex-wrap:wrap;justify-content:flex-end;max-width:calc(100% - 48px);position:absolute}@media (width<=560px){.partner-hero-lang{max-width:calc(100% - 28px);top:14px;right:14px}}.currency-switch{flex-shrink:0;display:inline-block;position:relative}.currency-switch-trigger{border:1px solid var(--border);background:var(--surface);color:inherit;cursor:pointer;transition:background var(--transition);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-family:inherit;font-size:.78rem;font-weight:600;display:flex}.currency-switch-trigger:hover{background:var(--surface-2)}.currency-switch-code{letter-spacing:.02em}.currency-switch-menu{z-index:60;min-width:150px;position:absolute;top:calc(100% + 8px);right:0}.currency-switch-menu .menu-item{gap:8px}.currency-switch-hero .currency-switch-trigger{color:#fff;background:#ffffff29;border-color:#ffffff52}.currency-switch-hero .currency-switch-trigger:hover{background:#ffffff42}.currency-flag-generic{background:var(--surface-2);text-transform:uppercase;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:14px;font-size:9px;font-weight:700;display:inline-flex}.partner-hero-eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;opacity:.85;font-size:.76rem;font-weight:600}.partner-hero-title{font-family:var(--font-display);color:#fff;margin:0;font-size:clamp(2rem,4vw,3rem);font-weight:600;line-height:1.08}.partner-hero-subtitle{opacity:.92;max-width:580px;font-size:1.08rem}.partner-hero-meta{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.partner-hero-social{opacity:.85;font-size:.86rem}.partner-hero-urgency{background:#ffffff29;border:1px solid #ffffff4d;border-radius:999px;padding:6px 14px;font-size:.82rem;font-weight:600}.partner-hero-ctas{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:6px;display:flex}.partner-trust{background:var(--surface-2);border-top:1px dashed var(--border);border-bottom:1px dashed var(--border)}.partner-trust-inner{max-width:var(--content-max);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px;margin:0 auto;padding:34px 20px;display:flex}.partner-trust-about h2{font-family:var(--font-display);margin-bottom:4px}.partner-trust-about{flex:1;min-width:260px}.partner-trust-contacts{flex-wrap:wrap;gap:10px;display:flex}.partner-catalog{max-width:var(--content-max);margin:0 auto;padding:48px 20px 64px}.partner-catalog-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.partner-catalog-head h2{font-family:var(--font-display);margin:0 0 4px}.partner-site-footer{text-align:center;color:var(--ink-faint);border-top:1px solid var(--border-soft);padding:28px;font-size:.85rem}.partner-hero-image-preview{border-radius:var(--radius);max-width:240px;margin-top:8px;display:block}.ticket-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px;display:grid}.ticket-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);color:inherit;box-shadow:var(--shadow-sm);transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.ticket-card:hover{box-shadow:var(--shadow-lg);border-color:var(--border);color:inherit;text-decoration:none;transform:translateY(-3px)}.ticket-card-photo-wrap{position:relative}.ticket-card-photo{aspect-ratio:16/10;object-fit:cover;background:var(--surface-2);width:100%;display:block}.ticket-card-photo-placeholder{background:linear-gradient(150deg, var(--teal-soft) 0%, var(--surface-2) 60%, var(--copper-soft) 130%);justify-content:center;align-items:center;font-size:2.4rem;display:flex}.ticket-card-kind{color:#fff;letter-spacing:.04em;text-transform:uppercase;background:#16232bb8;border-radius:999px;padding:4px 10px;font-size:.7rem;font-weight:700;position:absolute;top:12px;left:12px}.ticket-card-perf{border-top:2px dashed var(--border);height:0;position:relative}.ticket-card-notch{background:var(--bg);border-radius:50%;width:18px;height:18px;position:absolute;top:-9px}.ticket-card-notch-left{left:-9px}.ticket-card-notch-right{right:-9px}.ticket-card-body{flex-direction:column;flex:1;gap:6px;padding:16px 18px 18px;display:flex}.ticket-card-route{font-family:var(--font-mono);letter-spacing:.08em;color:var(--teal-ink);text-transform:uppercase;font-size:.7rem;font-weight:600}:root[data-theme=dark] .ticket-card-route{color:var(--teal)}.ticket-card-title{font-family:var(--font-display);font-size:1.1rem;font-weight:600;line-height:1.25}.ticket-card-date{color:var(--ink-faint);font-size:.82rem}.ticket-card-foot{justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:10px;display:flex}.ticket-card-price{font-family:var(--font-display);color:var(--copper-ink);font-size:1.05rem;font-weight:600}:root[data-theme=dark] .ticket-card-price{color:var(--copper)}.ticket-card-cta{color:var(--ink-soft);font-size:.82rem;font-weight:700}.ticket-card:hover .ticket-card-cta{color:var(--copper-ink)}.ticket-card-rating{position:absolute;top:12px;right:12px}.rating-badge{color:var(--gold);background:#16232bb8;border-radius:999px;align-items:center;gap:4px;padding:4px 9px;font-size:.75rem;font-weight:700;display:inline-flex}.rating-badge span{color:#fff}.rating-badge-count{opacity:.85;font-weight:500}.tour-detail-rating .rating-badge{background:var(--surface-2);border:1px solid var(--border-soft)}.tour-detail-rating .rating-badge span{color:var(--ink)}.review-list{flex-direction:column;gap:14px;margin:14px 0 20px;display:flex}.review-list-item{border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--surface);padding:12px 16px}.review-list-item .rating-badge{background:var(--surface-2);border:1px solid var(--border-soft);margin-bottom:6px}.review-list-item .rating-badge span{color:var(--ink)}.review-form{max-width:480px}.tour-detail-page{max-width:var(--content-max);margin:0 auto;padding:0 20px 64px}.tour-detail-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:18px 0;display:flex}.partner-back-link{color:var(--ink);background:var(--surface);border:1px solid var(--border-soft);box-shadow:var(--shadow-sm);transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition), color var(--transition);border-radius:999px;align-items:center;gap:8px;padding:8px 16px 8px 12px;font-size:.86rem;font-weight:700;display:inline-flex}.partner-back-link:hover{color:var(--copper-ink);border-color:var(--copper);box-shadow:var(--shadow);text-decoration:none;transform:translate(-2px)}.partner-back-link-arrow{font-size:1rem;line-height:1}.tour-detail-hero{margin-bottom:28px;position:relative}.tour-detail-hero-photo-placeholder{background:linear-gradient(150deg, var(--teal-soft) 0%, var(--surface-2) 55%, var(--copper-soft) 140%);justify-content:center;align-items:center;width:100%;height:100%;font-size:4rem;display:flex}.tour-detail-hero-scrim{pointer-events:none;background:linear-gradient(#0f161a00 45%,#0f161ac7 100%);position:absolute;inset:0}.tour-detail-hero-badge{position:absolute;top:18px;left:18px}.tour-gallery{border-radius:var(--radius-lg);aspect-ratio:16/7;background:var(--surface-2);gap:2px;display:flex;overflow:hidden}.tour-gallery-main{flex:1;min-width:0;position:relative;overflow:hidden}.tour-gallery-main-img{object-fit:cover;width:100%;height:100%;display:block}.tour-gallery-rail{background:var(--surface-2);scrollbar-width:thin;flex-direction:column;flex-shrink:0;gap:4px;width:118px;display:flex;overflow-y:auto}.tour-gallery-thumb{aspect-ratio:4/3;cursor:pointer;opacity:.62;width:100%;transition:opacity var(--transition), border-color var(--transition);background:0 0;border:2px solid #0000;border-radius:0;flex-shrink:0;padding:0;overflow:hidden}.tour-gallery-thumb:hover{opacity:.9}.tour-gallery-thumb.is-active{opacity:1;border-color:var(--copper)}.tour-gallery-thumb-img{object-fit:cover;width:100%;height:100%;display:block}.tour-gallery-thumb-placeholder{background:var(--surface-2);justify-content:center;align-items:center;width:100%;height:100%;font-size:1.4rem;display:flex}@media (width<=680px){.tour-gallery{aspect-ratio:4/3}.tour-gallery-rail{width:72px}}.tour-detail-hero-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:480px;margin:-64px 24px 0;padding:22px 26px 26px;position:relative}.tour-detail-hero-route{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--teal-ink);margin-bottom:6px;font-size:.72rem;font-weight:600}:root[data-theme=dark] .tour-detail-hero-route{color:var(--teal)}.tour-detail-hero-card h1{font-family:var(--font-display);margin:0 0 8px;font-size:1.7rem;line-height:1.15}.tour-detail-hero-badge-text{color:var(--ink-soft);margin-bottom:14px;font-size:.9rem}.tour-detail-hero-price{border-top:1px dashed var(--border);flex-direction:column;gap:2px;margin-bottom:16px;padding-top:12px;display:flex}.tour-detail-hero-price-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);font-size:.7rem}.tour-detail-hero-price-value{font-family:var(--font-display);color:var(--copper-ink);font-size:1.6rem;font-weight:600}:root[data-theme=dark] .tour-detail-hero-price-value{color:var(--copper)}@media (width<=680px){.tour-detail-hero-card{max-width:none;margin:-48px 12px 0}}.tour-detail-stats{max-width:var(--content-max);grid-template-columns:repeat(4,1fr);gap:14px;margin:36px 0;display:grid}@media (width<=820px){.tour-detail-stats{grid-template-columns:repeat(2,1fr)}}.stat-chip{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);flex-direction:column;gap:3px;padding:14px 16px;display:flex}.stat-chip-eyebrow{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);font-size:.68rem;font-weight:600}.stat-chip-value{font-family:var(--font-display);font-size:1.2rem;font-weight:600}.stat-chip-hint{color:var(--ink-faint);font-size:.78rem}.tour-detail-section{margin:44px 0}.tour-detail-section h2{font-family:var(--font-display);margin:0 0 14px}.tour-detail-prose{color:var(--ink-soft);max-width:760px;line-height:1.65}.tour-detail-days{flex-direction:column;gap:0;max-width:760px;margin:0;padding:0;list-style:none;display:flex}.tour-detail-day{border-top:1px dashed var(--border-soft);gap:16px;padding:14px 0;display:flex}.tour-detail-day:first-child{border-top:none}.tour-detail-day-num{font-family:var(--font-mono);color:var(--teal-ink);flex-shrink:0;font-weight:700}:root[data-theme=dark] .tour-detail-day-num{color:var(--teal)}.tour-detail-day p{color:var(--ink-soft);margin:0;line-height:1.6}.departure-strip{scroll-snap-type:x proximity;gap:12px;padding-bottom:8px;display:flex;overflow-x:auto}.departure-chip{scroll-snap-align:start;background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);flex-direction:column;flex-shrink:0;gap:4px;min-width:150px;padding:12px 16px;display:flex}.departure-chip-eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);font-size:.65rem}.departure-chip-date{font-family:var(--font-display);font-size:1.05rem;font-weight:600}.departure-chip-seats{color:var(--teal-ink);font-size:.8rem;font-weight:600}.departure-chip.is-stop{border-color:var(--danger);background:var(--danger-soft)}.departure-chip.is-stop .departure-chip-seats{color:var(--danger)}.pickup-chip-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.pickup-chip{background:var(--surface);border:1px solid var(--border-soft);border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:.85rem;display:flex}.pickup-chip-dot{background:var(--gold);border-radius:50%;flex-shrink:0;width:7px;height:7px}.tour-detail-ctaband{background:linear-gradient(120deg, var(--copper) 0%, var(--copper-ink) 100%);color:#fff;border-radius:var(--radius-lg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin:48px 0;padding:30px 32px;display:flex}.tour-detail-ctaband h2{font-family:var(--font-display);color:#fff;margin:0 0 4px}.tour-detail-ctaband p{opacity:.92;margin:0}.tour-detail-ctaband .btn-primary{color:var(--copper-ink);background:#fff;border-color:#fff}.tour-detail-ctaband .btn-primary:hover{box-shadow:none;background:#ffffffe0;border-color:#ffffffe0}.modal-booking{max-width:860px;padding:0;position:relative}.modal-booking-close{z-index:2;background:var(--surface-2);width:32px;height:32px;color:var(--ink-soft);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:14px;right:14px}.modal-booking-close:hover{background:var(--border-soft);color:var(--ink)}.modal-booking-done{padding:28px}.modal-booking-grid{grid-template-columns:1.5fr 1fr;max-height:88vh;display:grid}@media (width<=760px){.modal-booking-grid{grid-template-columns:1fr}}.modal-booking-form{padding:30px 30px 26px;overflow-y:auto}.modal-booking-route{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--teal-ink);margin-bottom:4px;font-size:.72rem;font-weight:600}:root[data-theme=dark] .modal-booking-route{color:var(--teal)}.modal-booking-form h2{font-family:var(--font-display);margin:0 0 6px;font-size:1.35rem}.modal-booking-aside{background:var(--surface-2);border-left:1px dashed var(--border);flex-direction:column;gap:16px;padding:30px 26px;display:flex;position:relative}@media (width<=760px){.modal-booking-aside{border-left:none;border-top:1px dashed var(--border)}}.modal-booking-aside h3{font-family:var(--font-display);margin:0}.whatnext-steps{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.whatnext-steps li{align-items:flex-start;gap:12px;display:flex}.whatnext-num{background:var(--copper);color:#fff;width:26px;height:26px;font-family:var(--font-mono);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.82rem;font-weight:700;display:flex}.whatnext-steps strong{margin-bottom:2px;font-size:.9rem;display:block}.whatnext-steps p{color:var(--ink-soft);margin:0;font-size:.83rem;line-height:1.4}.whatnext-note{color:var(--ink-faint);border-top:1px dashed var(--border);margin:auto 0 0;padding-top:14px;font-size:.78rem}.tourists-editor-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.tourist-row{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;display:flex}.tourist-row-badge{flex-shrink:0}.tourist-count-summary{color:var(--ink-soft);gap:16px;margin:-4px 0 14px;font-size:.85rem;display:flex}.consent-check{color:var(--ink-soft);cursor:pointer;align-items:flex-start;gap:8px;margin-bottom:14px;font-size:.83rem;display:flex}.consent-check input{margin-top:2px}.partner-calendar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:left;width:100%;margin:16px 0;padding:18px 20px}.partner-calendar-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.partner-calendar-eyebrow{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:2px;font-size:11px;font-weight:600;display:block}.partner-calendar-title{font-size:18px;font-family:var(--font-display);margin:0}.partner-calendar-reset{color:var(--copper-ink);cursor:pointer;background:0 0;border:none;padding:4px 0;font-family:inherit;font-size:13px}.partner-calendar-hint{color:var(--ink-faint);margin:6px 0 14px;font-size:12px}.partner-calendar-months{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:14px;display:grid}.partner-calendar-month{position:relative}.partner-calendar-month-label{text-align:center;text-transform:uppercase;letter-spacing:.04em;margin:4px 0 8px;padding:0 28px;font-size:14px;font-weight:700}.partner-calendar-nav{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;width:28px;height:28px;color:var(--ink-faint);background:0 0;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:20px;line-height:1;display:flex;position:absolute;top:0}.partner-calendar-nav:hover{color:var(--copper-ink);border-color:var(--copper)}.partner-calendar-nav-prev{left:0}.partner-calendar-nav-next{right:0}.partner-calendar-dow-row{grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px;display:grid}.partner-calendar-dow{text-align:center;text-transform:uppercase;color:var(--ink-faint);padding:2px 0;font-size:10px;font-weight:600}.partner-calendar-day-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.partner-calendar-cell-empty{height:34px}.partner-calendar-day{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;height:34px;color:var(--ink);justify-content:center;align-items:center;padding:0;font-family:inherit;display:flex;position:relative}.partner-calendar-day-num{font-size:13px;font-weight:600}.partner-calendar-day.is-today{outline:2px solid var(--copper);outline-offset:-2px}.partner-calendar-day.is-past{opacity:.45}.partner-calendar-day.has-program{border-color:var(--copper)}.partner-calendar-day.has-program .partner-calendar-day-num{color:var(--copper-ink)}.partner-calendar-day.is-stop{border-color:var(--danger);background:var(--danger-soft);cursor:not-allowed}.partner-calendar-day.is-stop .partner-calendar-day-num{color:var(--danger)}.partner-calendar-day:disabled{pointer-events:none}.partner-calendar-day-stop-icon{color:var(--danger);font-size:8px;font-weight:700;line-height:1;position:absolute;top:1px;right:2px}.partner-calendar-day.in-range{background:var(--border)}.partner-calendar-day.in-range-preview{background:color-mix(in srgb, var(--border) 60%, transparent)}.partner-calendar-day.is-start,.partner-calendar-day.is-end{background:var(--copper);border-color:var(--copper)}.partner-calendar-day.is-start .partner-calendar-day-num,.partner-calendar-day.is-end .partner-calendar-day-num{color:#fff}.partner-calendar-apply{margin-top:12px}.partner-calendar-shortcuts{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.partner-hero .partner-calendar{background:#ffffff1f;border-color:#ffffff47}.partner-hero .partner-calendar-eyebrow,.partner-hero .partner-calendar-hint{color:#ffffffbf}.partner-hero .partner-calendar-title{color:#fff}.partner-hero .partner-calendar-reset{color:#fff;text-decoration:underline}.partner-hero .partner-calendar-day{color:#fff;background:#ffffff1a;border-color:#ffffff40}.partner-hero .partner-calendar-dow{color:#ffffffb3}.partner-hero .partner-calendar-month-label{color:#fff}.partner-hero .partner-calendar-nav{color:#fffc;border-color:#ffffff4d}.partner-hero .partner-calendar-nav:hover{color:#fff;border-color:#fff}.partner-hero .partner-calendar-day.has-program{border-color:#fff}.partner-hero .partner-calendar-day.is-stop{background:#ff3c3c38;border-color:#ff8a8a}.partner-hero .partner-calendar-day.is-stop .partner-calendar-day-num,.partner-hero .partner-calendar-day.is-stop .partner-calendar-day-stop-icon{color:#ffd7d7}.partner-hero .partner-calendar-day.in-range{background:#ffffff38}.partner-hero .partner-calendar-day.is-today{outline-color:#ffffffe6}.partner-hero .partner-calendar-day.is-start,.partner-hero .partner-calendar-day.is-end{background:#ffffff59;border-color:#fff}.partner-hero .partner-calendar-shortcuts .btn{color:#fff;background:#ffffff24;border-color:#ffffff4d}.cabinet-calendar-panel{border-radius:var(--radius-lg);margin-bottom:24px;padding:32px 24px}.cabinet-calendar-panel-inner{z-index:1;max-width:640px;margin:0 auto;position:relative}.cabinet-calendar-panel .partner-calendar{max-width:100%}.cabinet-ticket-card{cursor:default}.cabinet-ticket-card-toggle{cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit}.cabinet-ticket-card-expand{margin:2px 0 4px}.cabinet-ticket-card-choose{margin-top:10px}@media (width<=680px){.partner-calendar-months{grid-template-columns:1fr}.partner-calendar-nav-prev,.partner-calendar-nav-next{display:none}}.chatty-widget{z-index:1000;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;transition:top .28s,left .28s;position:fixed}.chatty-widget.is-dragging{transition:none}.chatty-widget.is-dragging .chatty-toggle-btn{cursor:grabbing;box-shadow:0 8px 32px #667eea99}.chatty-toggle-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;font-size:28px;transition:transform .2s,box-shadow .2s;display:flex;position:relative;box-shadow:0 4px 20px #667eea66}.chatty-toggle-btn:hover{transform:scale(1.08);box-shadow:0 6px 28px #667eea8c}.chatty-toggle-btn:active{transform:scale(.95)}.chatty-icon{z-index:2;position:relative}.chatty-pulse{z-index:1;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:50%;width:100%;height:100%;animation:2s ease-in-out infinite chattyPulse;position:absolute;top:0;left:0}@keyframes chattyPulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:0;transform:scale(1.15)}}.chatty-panel{background:var(--surface,#fff);border:1px solid var(--border-soft);border-radius:16px;flex-direction:column;width:380px;max-width:calc(100vw - 40px);height:560px;max-height:calc(100vh - 120px);animation:.3s ease-out chattySlideUp;display:flex;position:absolute;bottom:80px;right:0;overflow:hidden;box-shadow:0 8px 40px #00000026}@keyframes chattySlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.chatty-corner-tl .chatty-panel,.chatty-corner-tr .chatty-panel{top:148px;bottom:auto}.chatty-corner-bl .chatty-panel,.chatty-corner-tl .chatty-panel{left:0;right:auto}.chatty-header{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px;display:flex}.chatty-header-info{align-items:center;gap:12px;display:flex}.chatty-avatar{font-size:32px;line-height:1}.chatty-name{margin-bottom:2px;font-size:16px;font-weight:600}.chatty-status{opacity:.9;font-size:12px}.chatty-close-btn{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;transition:background .2s;display:flex}.chatty-close-btn:hover{background:#ffffff4d}.chatty-messages{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.chatty-messages::-webkit-scrollbar{width:6px}.chatty-messages::-webkit-scrollbar-track{background:0 0}.chatty-messages::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}.chatty-message{max-width:85%;animation:.3s ease-out chattyFadeIn}@keyframes chattyFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chatty-message-bot{align-self:flex-start}.chatty-message-user{align-self:flex-end}.chatty-message-content{word-wrap:break-word;border-radius:16px;padding:12px 16px;font-size:14px;line-height:1.5}.chatty-message-bot .chatty-message-content{background:var(--surface-2,#f0f2f5);color:var(--ink,#1a1a1a);border-bottom-left-radius:4px}.chatty-message-user .chatty-message-content{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-bottom-right-radius:4px}.chatty-message-timestamp{opacity:.6;margin-top:4px;font-size:11px}.chatty-message-bot .chatty-message-timestamp{text-align:left}.chatty-message-user .chatty-message-timestamp{text-align:right}.chatty-suggestions{border-top:1px solid var(--border-soft);flex-wrap:wrap;flex-shrink:0;gap:8px;padding:12px 16px;display:flex}.chatty-suggestion-chip{background:var(--surface-2,#f0f2f5);border:1px solid var(--border-soft);color:var(--ink,#1a1a1a);cursor:pointer;border-radius:16px;padding:6px 12px;font-size:13px;transition:all .2s}.chatty-suggestion-chip:hover{background:var(--surface-raised,#e5e7eb)}.chatty-input-area{border-top:1px solid var(--border-soft);background:var(--surface,#fff);flex-shrink:0;align-items:center;gap:8px;padding:12px 16px;display:flex}.chatty-input{border:1px solid var(--border-soft);background:var(--surface,#fff);color:var(--ink,#1a1a1a);border-radius:20px;outline:none;flex:1;padding:10px 14px;font-size:14px;transition:border-color .2s}.chatty-input:focus{border-color:#667eea}.chatty-send-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;transition:transform .2s,opacity .2s;display:flex}.chatty-send-btn:hover{transform:scale(1.05)}.chatty-send-btn:active{transform:scale(.95)}.chatty-send-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.chatty-footer{text-align:center;color:var(--ink-faint);border-top:1px solid var(--border-soft);flex-shrink:0;padding:8px 16px;font-size:11px}.chatty-typing .chatty-message-content{letter-spacing:2px;font-size:20px}@media (width<=480px){.chatty-panel{width:calc(100vw - 32px);height:calc(100vh - 100px);max-height:600px}.chatty-toggle-btn{width:56px;height:56px;font-size:24px}}
