@font-face{font-family:Reza Zulmi Sans;font-style:normal;font-weight:400 900;font-display:swap;src:url(/assets/fonts/reza-zulmi-sans-400-900.ttf)format("truetype")}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/inter-400-cyrillic-ext.woff2)format("woff2");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-weight:400;font-display:swap;src:url(/assets/fonts/inter-400-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/inter-400-greek-ext.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/inter-400-greek.woff2)format("woff2");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-weight:400;font-display:swap;src:url(/assets/fonts/inter-400-vietnamese.woff2)format("woff2");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-weight:400;font-display:swap;src:url(/assets/fonts/inter-400-latin-ext.woff2)format("woff2");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-weight:400;font-display:swap;src:url(/assets/fonts/inter-400-latin.woff2)format("woff2");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-weight:500;font-display:swap;src:url(/assets/fonts/inter-500-cyrillic-ext.woff2)format("woff2");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-weight:500;font-display:swap;src:url(/assets/fonts/inter-500-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/inter-500-greek-ext.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/inter-500-greek.woff2)format("woff2");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-weight:500;font-display:swap;src:url(/assets/fonts/inter-500-vietnamese.woff2)format("woff2");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-weight:500;font-display:swap;src:url(/assets/fonts/inter-500-latin-ext.woff2)format("woff2");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-weight:500;font-display:swap;src:url(/assets/fonts/inter-500-latin.woff2)format("woff2");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-weight:600;font-display:swap;src:url(/assets/fonts/inter-600-cyrillic-ext.woff2)format("woff2");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-weight:600;font-display:swap;src:url(/assets/fonts/inter-600-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/inter-600-greek-ext.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/inter-600-greek.woff2)format("woff2");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-weight:600;font-display:swap;src:url(/assets/fonts/inter-600-vietnamese.woff2)format("woff2");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-weight:600;font-display:swap;src:url(/assets/fonts/inter-600-latin-ext.woff2)format("woff2");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-weight:600;font-display:swap;src:url(/assets/fonts/inter-600-latin.woff2)format("woff2");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-weight:700;font-display:swap;src:url(/assets/fonts/inter-700-cyrillic-ext.woff2)format("woff2");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-weight:700;font-display:swap;src:url(/assets/fonts/inter-700-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/inter-700-greek-ext.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/inter-700-greek.woff2)format("woff2");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-weight:700;font-display:swap;src:url(/assets/fonts/inter-700-vietnamese.woff2)format("woff2");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-weight:700;font-display:swap;src:url(/assets/fonts/inter-700-latin-ext.woff2)format("woff2");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-weight:700;font-display:swap;src:url(/assets/fonts/inter-700-latin.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/jetbrains-mono-400-cyrillic-ext.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/jetbrains-mono-400-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/jetbrains-mono-400-greek.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/jetbrains-mono-400-vietnamese.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/jetbrains-mono-400-latin-ext.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/jetbrains-mono-400-latin.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/jetbrains-mono-500-cyrillic-ext.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/jetbrains-mono-500-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/jetbrains-mono-500-greek.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/jetbrains-mono-500-vietnamese.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/jetbrains-mono-500-latin-ext.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/jetbrains-mono-500-latin.woff2)format("woff2");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{--ch-red:#e60023;--ch-red-deep:#b8001c;--ch-red-soft:#ffe5e8;--ch-black:#0a0a0a;--ch-ink:#1a1a1a;--ch-white:#fff;--ch-paper:#fafaf7;--ch-cream:#f2efe6;--ch-gray-50:#f5f5f5;--ch-gray-100:#e8e8e8;--ch-gray-200:#d1d1d1;--ch-gray-300:#a8a8a8;--ch-gray-400:#6e6e6e;--ch-gray-500:#3d3d3d;--fg-1:var(--ch-ink);--fg-2:var(--ch-gray-500);--fg-3:var(--ch-gray-400);--fg-on-dark:var(--ch-paper);--fg-on-red:var(--ch-white);--fg-accent:var(--ch-red);--fg-link:var(--ch-red);--bg-1:var(--ch-paper);--bg-2:var(--ch-cream);--bg-3:var(--ch-gray-100);--bg-inverse:var(--ch-black);--bg-accent:var(--ch-red);--border-1:var(--ch-black);--border-2:var(--ch-gray-200);--border-dotted:2px dashed var(--ch-black);--font-display:"Reza Zulmi Sans", "Bebas Neue", "Impact", system-ui, sans-serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--fs-display-xl:clamp(72px, 11vw, 168px);--fs-display-l:clamp(56px, 8vw, 112px);--fs-display-m:clamp(44px, 6vw, 80px);--fs-h1:48px;--fs-h2:36px;--fs-h3:24px;--fs-h4:18px;--fs-body:16px;--fs-small:14px;--fs-meta:12px;--lh-display:.92;--lh-tight:1.1;--lh-body:1.5;--lh-loose:1.7;--tracking-display:-.02em;--tracking-caps:.14em;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--sp-9:96px;--sp-10:128px;--r-0:0px;--r-1:2px;--r-2:6px;--r-3:12px;--r-pill:999px;--shadow-stamp:4px 4px 0 0 var(--ch-black);--shadow-stamp-red:4px 4px 0 0 var(--ch-red);--shadow-soft:0 1px 2px #0000000f, 0 4px 12px #0000000f;--shadow-pop:0 6px 24px #e600232e;--ease-out:cubic-bezier(.2, .7, .2, 1);--ease-snap:cubic-bezier(.4, 1.6, .6, 1);--dur-1:.12s;--dur-2:.2s;--dur-3:.32s;--status-ok:#14833b;--status-ok-soft:#e3f4e8;--status-warn:#e8862d;--status-warn-soft:#fdf0e3;--status-danger:var(--ch-red);--status-danger-soft:var(--ch-red-soft);--focus-ring:0 0 0 3px #e6002340;--control-h:40px;--sidebar-w:248px;--topbar-h:68px}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg-1);color:var(--fg-1);font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,h4{line-height:var(--lh-tight);margin:0}a{color:var(--fg-link);text-decoration:none}a:hover{color:var(--ch-red-deep)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{box-shadow:var(--focus-ring);outline:none}::selection{background:var(--ch-red);color:var(--ch-white)}.display{font-family:var(--font-display);line-height:var(--lh-display);letter-spacing:var(--tracking-display);text-transform:uppercase}.caps-label{font-size:var(--fs-meta);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--fg-3);font-weight:600}.btn{justify-content:center;align-items:center;gap:var(--sp-2);height:var(--control-h);padding:0 var(--sp-5);border-radius:var(--r-2);font-size:var(--fs-body);cursor:pointer;transition:background var(--dur-1) var(--ease-out), transform var(--dur-1) var(--ease-out), box-shadow var(--dur-1) var(--ease-out);border:1px solid #0000;font-weight:600;display:inline-flex}.btn:disabled{opacity:.55;cursor:default}.btn--icon{width:var(--control-h);gap:0;padding:0}.btn--icon-sm{gap:0;width:32px;height:32px;padding:0}.icon-btn{color:var(--fg-3);cursor:pointer;font-size:var(--fs-small);border-radius:var(--r-1);background:0 0;border:0;justify-content:center;align-items:center;padding:4px;display:inline-flex}.icon-btn:hover{color:var(--fg-1);background:var(--ch-cream)}.icon-btn--danger:hover{color:var(--ch-red);background:var(--ch-red-soft)}.icon-btn--ok,.icon-btn--ok:hover{color:var(--status-ok)}.btn--primary{background:var(--bg-accent);color:var(--fg-on-red)}.btn--primary:hover:not(:disabled){background:var(--ch-red-deep)}.btn--primary:active:not(:disabled){transform:translate(1px,1px)}.btn--stamp{box-shadow:var(--shadow-stamp)}.btn--stamp:active:not(:disabled){box-shadow:1px 1px 0 0 var(--ch-black);transform:translate(3px,3px)}.btn--ghost{border-color:var(--border-2);color:var(--fg-1);background:0 0}.btn--ghost:hover:not(:disabled){border-color:var(--ch-black)}.btn--danger-ghost{border-color:var(--border-2);color:var(--ch-red);background:0 0}.btn--danger-ghost:hover:not(:disabled){border-color:var(--ch-red);background:var(--ch-red-soft)}.btn--danger{background:var(--ch-red);border-color:var(--ch-red);color:var(--fg-on-red)}.btn--danger:hover:not(:disabled){background:var(--ch-red-deep);border-color:var(--ch-red-deep)}.btn--danger:active:not(:disabled){transform:translate(1px,1px)}.field{gap:var(--sp-1);flex-direction:column;display:flex}.field__label{font-size:var(--fs-small);color:var(--fg-2);font-weight:500}.input{height:var(--control-h);padding:0 var(--sp-3);border:1px solid var(--border-2);border-radius:var(--r-2);background:var(--ch-white);font-size:var(--fs-body);transition:border-color var(--dur-1) var(--ease-out)}.input:focus{border-color:var(--ch-red)}.input::placeholder{color:var(--fg-3)}.messenger-link{align-items:center;gap:var(--sp-1);display:inline-flex}.messenger-link__sep{color:var(--fg-3)}.messenger-link__dot{background:var(--ch-red);vertical-align:middle;border-radius:50%;width:7px;height:7px;margin-left:4px;display:inline-block}.checkbox{align-items:center;gap:var(--sp-2);font-size:var(--fs-small);color:var(--fg-2);cursor:pointer;display:flex}.checkbox input{accent-color:var(--ch-red);width:16px;height:16px}.card{background:var(--ch-white);border:1px solid var(--border-2);border-radius:var(--r-3);padding:var(--sp-5)}.badge{padding:2px var(--sp-2);border-radius:var(--r-pill);font-size:var(--fs-meta);font-weight:600;display:inline-block}.badge--ok{background:var(--status-ok-soft);color:var(--status-ok)}.badge--warn{background:var(--status-warn-soft);color:var(--status-warn)}.badge--muted{background:var(--ch-gray-100);color:var(--fg-3)}.form-error{color:var(--ch-red);font-size:var(--fs-small)}.form-success{color:var(--status-ok);font-size:var(--fs-small)}.linklike{color:var(--fg-1);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.linklike:hover{color:var(--ch-red);text-decoration:underline}.due-at-input{gap:var(--sp-2);flex:1;display:flex}.due-at-input input[type=date]{flex:auto;min-width:0}.due-at-input input[type=time]{flex:none;width:auto}.global-search{flex:1;max-width:560px;position:relative}.global-search .topbar__search{width:100%}.global-search__dropdown{z-index:90;background:var(--ch-white);border:1px solid var(--border-2);border-radius:var(--r-2);box-shadow:var(--shadow-soft);max-height:60vh;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.global-search__group{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-meta);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--fg-3);background:var(--ch-paper);font-weight:600}.global-search__item{justify-content:space-between;gap:var(--sp-3);text-align:left;width:100%;padding:var(--sp-2) var(--sp-3);font-size:var(--fs-small);cursor:pointer;background:0 0;border:0;display:flex}.global-search__item:hover{background:var(--ch-red-soft)}.global-search__sub{color:var(--fg-3);font-size:var(--fs-meta);white-space:nowrap}.modal-overlay{z-index:100;padding:10vh var(--sp-4) var(--sp-4);background:#0a0a0a73;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0}.modal{gap:var(--sp-4);background:var(--ch-white);border-radius:var(--r-3);width:100%;max-width:440px;box-shadow:var(--shadow-stamp);padding:var(--sp-5);flex-direction:column;display:flex}.modal--wide{max-width:620px;max-height:85vh;overflow-y:auto}.modal__header{justify-content:space-between;align-items:center;display:flex}.modal__title{font-size:var(--fs-h3);font-weight:700}.modal__close{color:var(--fg-3);cursor:pointer;background:0 0;border:0;font-size:24px;line-height:1}.modal__close:hover{color:var(--ch-red)}.modal__actions{justify-content:flex-end;gap:var(--sp-3);display:flex}.shell{grid-template-columns:var(--sidebar-w) 1fr;grid-template-rows:var(--topbar-h) 1fr;grid-template-areas:"sidebar topbar""sidebar content";height:100%;display:grid}.sidebar{background:var(--bg-2);color:var(--fg-1);border-right:1px solid var(--border-2);flex-direction:column;grid-area:sidebar;display:flex}.sidebar__logo{height:var(--topbar-h);padding:0 var(--sp-5);border-bottom:1px solid var(--border-2);align-items:center;display:flex}.sidebar__logo img{height:60px;display:block}.sidebar__nav{gap:var(--sp-2);padding:var(--sp-5) var(--sp-4);flex-direction:column;display:flex}.sidebar__item{align-items:center;gap:var(--sp-3);padding:var(--sp-3);border-radius:var(--r-2);color:var(--fg-1);font-size:var(--fs-body);text-align:left;cursor:pointer;transition:background var(--dur-1) var(--ease-out), box-shadow var(--dur-1) var(--ease-out), transform var(--dur-1) var(--ease-out);background:0 0;border:2px solid #0000;font-weight:600;display:flex}.sidebar__item svg{stroke:currentColor;flex-shrink:0;width:20px;height:20px}.sidebar__item:hover{background:var(--ch-white)}.sidebar__item.is-active{background:var(--ch-white);color:var(--ch-black);border-color:var(--ch-black);box-shadow:3px 3px 0 0 var(--ch-black)}.sidebar__item.is-active svg{stroke:var(--ch-red)}a.sidebar__item{color:var(--fg-1);text-decoration:none}.sidebar__item.is-disabled{opacity:.45;cursor:default}.sidebar__item.is-disabled:hover{background:0 0}.sidebar__footer{padding:var(--sp-5);font-size:var(--fs-small);color:var(--fg-3);border-top:1px solid var(--border-2);margin-top:auto;font-weight:600}.sidebar__tenant{justify-content:space-between;align-items:center;gap:var(--sp-2);border:0;border-top:1px solid var(--border-2);text-align:left;width:100%;font:inherit;cursor:pointer;background:0 0;display:flex}.sidebar__tenant:hover,.sidebar__tenant:focus-visible{background:var(--ch-cream);color:var(--fg-1)}.sidebar__tenant-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar__tenant-caret{opacity:.5;flex-shrink:0}.tenant-list{gap:var(--sp-2);flex-direction:column;display:flex}.tenant-row{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-3);border:1px solid var(--border-2);border-radius:var(--r-2);display:flex}.tenant-row.is-current{border-color:var(--ch-red);background:var(--ch-cream)}.tenant-row__main{flex-direction:column;gap:2px;min-width:0;display:flex}.tenant-row__name{font-weight:600}.tenant-row__meta{font-size:var(--fs-meta);color:var(--fg-3)}.tenant-row__actions{gap:var(--sp-2);flex-shrink:0;display:flex}.tenant-list__hint{font-size:var(--fs-meta);color:var(--fg-3);line-height:var(--lh-body);margin:0}.tenant-delete__warning{padding:var(--sp-3);border-radius:var(--r-2);background:var(--ch-red-soft);color:var(--fg-1);font-size:var(--fs-small);line-height:var(--lh-body);margin:0}.topbar{align-items:center;gap:var(--sp-4);padding:0 var(--sp-6);background:var(--ch-white);border-bottom:1px solid var(--border-2);grid-area:topbar;display:flex}.topbar__search{max-width:620px;height:var(--control-h);padding:0 var(--sp-4);border:1px solid var(--border-2);border-radius:var(--r-2);background:var(--bg-1);font-size:var(--fs-body);flex:1}.topbar__search::placeholder{color:var(--fg-3)}.topbar__search:focus{border-color:var(--ch-red)}.topbar__user{align-items:center;gap:var(--sp-2);font-size:var(--fs-body);color:var(--fg-2);margin-left:auto;display:flex}.topbar__role{cursor:default;font-size:18px;line-height:1}.content{padding:var(--sp-6);background:var(--bg-1);grid-area:content;overflow:auto}.empty-state{justify-content:center;align-items:center;gap:var(--sp-4);border:var(--border-dotted);border-radius:var(--r-3);text-align:center;flex-direction:column;height:100%;display:flex}.empty-state__title{font-size:var(--fs-display-m);color:var(--ch-black)}.empty-state__title em{color:var(--ch-red);font-style:normal}.empty-state__hint{max-width:480px;color:var(--fg-2)}.sidebar__badge{border-radius:var(--r-pill);background:var(--ch-red);min-width:18px;height:18px;color:var(--ch-white);text-align:center;margin-left:auto;padding:0 5px;font-size:11px;font-weight:700;line-height:18px}.auth{justify-content:center;align-items:center;gap:var(--sp-6);min-height:100vh;padding:var(--sp-5);background:var(--bg-2);flex-direction:column;display:flex}.auth__brand{font-size:var(--fs-display-m);color:var(--ch-black)}.auth__brand em{color:var(--ch-red);font-style:normal}.auth__card{gap:var(--sp-4);background:var(--ch-white);border:1px solid var(--border-2);border-radius:var(--r-3);width:100%;max-width:400px;box-shadow:var(--shadow-stamp);padding:var(--sp-6);flex-direction:column;display:flex}.auth__title{font-size:var(--fs-h3);font-weight:700}.auth__hint{color:var(--fg-2);font-size:var(--fs-small);margin:0}.auth__switch{font-size:var(--fs-small);color:var(--fg-2);text-align:center}.auth__sent{gap:var(--sp-3);text-align:center;flex-direction:column;display:flex}.auth__sent-icon{font-size:40px}.user-picker{position:relative}.user-picker__control{justify-content:space-between;align-items:center;gap:var(--sp-2);text-align:left;cursor:pointer;background:var(--ch-white);width:100%;display:flex}.user-picker__value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-picker__control:disabled{opacity:.55;cursor:default}.user-picker__placeholder{color:var(--fg-3)}.user-picker__chev{color:var(--fg-3);font-size:var(--fs-meta)}.user-picker__menu{width:max-content;min-width:100%;max-width:min(420px, calc(100vw - 2 * var(--sp-4)));z-index:60;background:var(--ch-white);border:1px solid var(--border-2);border-radius:var(--r-2);box-shadow:var(--shadow-soft);max-height:280px;padding:var(--sp-1);position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto}.user-picker__search{width:100%;margin-bottom:var(--sp-1)}.user-picker__opt{text-align:left;border-radius:var(--r-1);width:100%;padding:var(--sp-2) var(--sp-3);font-size:var(--fs-small);cursor:pointer;white-space:normal;overflow-wrap:anywhere;background:0 0;border:0;display:block}.user-picker__opt:hover{background:var(--ch-cream)}.user-picker__opt.is-active{background:var(--ch-red-soft);color:var(--ch-red-deep)}.user-picker__pos{color:var(--fg-3);font-size:var(--fs-meta)}.user-picker__empty{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-meta);color:var(--fg-3)}.timeline{gap:var(--sp-4);flex-direction:column;display:flex}.composer{gap:var(--sp-2);flex-direction:column;display:flex}.composer__tabs{gap:var(--sp-2);display:flex}.composer__tabs button{font-size:var(--fs-small);color:var(--fg-3);padding:var(--sp-1) 0;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;font-weight:600}.composer__tabs button.is-active{color:var(--ch-red);border-bottom-color:var(--ch-red)}.composer__text{min-height:64px;padding:var(--sp-2);resize:vertical}.composer__task-row{gap:var(--sp-2);display:flex}.composer__task-row .input{flex:1}.timeline__tasks{gap:var(--sp-2);flex-direction:column;display:flex}.open-task{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3);border:1px solid var(--border-2);border-radius:var(--r-2);background:var(--ch-paper);display:flex}.open-task__body{font-size:var(--fs-small);flex-direction:column;flex:1;gap:4px;display:flex}.open-task__meta{font-size:var(--fs-meta);color:var(--fg-3)}.open-task__overdue{color:var(--ch-red);font-weight:600}.task-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:4px}.task-dot--overdue{background:var(--status-danger);box-shadow:0 0 0 3px var(--status-danger-soft)}.task-dot--today{background:var(--status-warn);box-shadow:0 0 0 3px var(--status-warn-soft)}.task-dot--future{background:var(--status-ok)}.task-dot--none{background:var(--ch-gray-200)}.timeline__feed{gap:var(--sp-3);border-top:1px solid var(--border-2);padding-top:var(--sp-3);flex-direction:column;display:flex}.timeline__empty{color:var(--fg-3);font-size:var(--fs-small)}.feed-entry{font-size:var(--fs-small);flex-direction:column;gap:2px;display:flex}.feed-entry__header{align-items:center;gap:var(--sp-2);display:flex}.feed-entry__meta{font-size:var(--fs-meta);color:var(--fg-3);flex:1}.feed-entry__header .icon-btn{opacity:0;flex-shrink:0}.feed-entry:hover .icon-btn,.feed-entry__header .icon-btn:focus-visible{opacity:1}.feed-note{background:var(--ch-cream);border-radius:var(--r-2);padding:var(--sp-2) var(--sp-3);white-space:pre-wrap}.feed--won{color:var(--status-ok);font-weight:600}.feed--lost{color:var(--ch-red-deep);font-weight:600}.deals-table tr.has-overdue td:first-child{box-shadow:inset 3px 0 0 var(--status-danger)}.deal-card--overdue{border-color:var(--status-danger)}.deals-page{gap:var(--sp-4);flex-direction:column;height:100%;display:flex}.deals-page--kanban-full{box-sizing:border-box;width:calc(100% + 2 * var(--sp-6));min-height:calc(100% + var(--sp-6));margin:calc(-1 * var(--sp-6));padding:var(--sp-6)}.deals-page--kanban-full .deals-toolbar{width:100%}.deals-page--kanban-full .kanban{width:100%;min-width:0}.deals-toolbar{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.deals-toolbar .input,.deals-toolbar select.input{min-width:0}.deals-toolbar__spacer{flex:1}.funnel-select{font-weight:700;font-size:var(--fs-h4);cursor:pointer;background:0 0;border:0}.view-toggle{border:1px solid var(--border-2);border-radius:var(--r-2);display:inline-flex;overflow:hidden}.view-toggle button{background:var(--ch-white);padding:0 var(--sp-3);height:calc(var(--control-h) - 2px);font-size:var(--fs-small);cursor:pointer;border:0}.view-toggle button.is-active{background:var(--ch-black);color:var(--ch-paper)}.kanban{gap:var(--sp-3);padding-bottom:var(--sp-3);flex:1;align-items:flex-start;display:flex;overflow-x:auto}.kanban-col{gap:var(--sp-2);flex-direction:column;flex:1 1 0;min-width:220px;max-height:100%;display:flex}.kanban-col__header{border-top:3px solid var(--stage-color,var(--ch-gray-200));padding:var(--sp-2) var(--sp-2) 0}.kanban-col__name{font-size:var(--fs-small);justify-content:space-between;align-items:center;gap:var(--sp-2);font-weight:600;display:flex}.kanban-col__meta{font-size:var(--fs-meta);color:var(--fg-3)}.kanban-col__body{gap:var(--sp-2);min-height:80px;padding:var(--sp-1);border-radius:var(--r-2);transition:background var(--dur-1) var(--ease-out);flex-direction:column;display:flex;overflow-y:auto}.kanban-col__body.is-over{background:var(--ch-red-soft);outline:2px dashed var(--ch-red)}.deal-card{background:var(--ch-white);border:1px solid var(--border-2);border-radius:var(--r-2);padding:var(--sp-3);cursor:grab;box-shadow:var(--shadow-soft);flex-direction:column;gap:4px;display:flex}.deal-card:hover{border-color:var(--ch-gray-300)}.deal-card.is-dragging{opacity:.4}.deal-card__title{font-size:var(--fs-small);color:var(--fg-1);font-weight:600}.deal-card__contact{font-size:var(--fs-meta);color:var(--fg-2)}.deal-card__price{font-size:var(--fs-meta);color:var(--fg-3);font-family:var(--font-mono)}.deal-card__footer{align-items:center;gap:var(--sp-2);border-top:1px solid var(--ch-gray-100);font-size:var(--fs-meta);color:var(--fg-3);margin-top:2px;padding-top:6px;display:flex}.deal-card__date{font-family:var(--font-mono);white-space:nowrap}.deal-card__task{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.deal-card__footer>:last-child{margin-left:auto}.deal-card__noresp{color:var(--ch-gray-300)}.deals-table{border-collapse:collapse;background:var(--ch-white);border:1px solid var(--border-2);border-radius:var(--r-3);width:100%;overflow:hidden}.deals-table th{text-align:left;padding:var(--sp-3) var(--sp-4);font-size:var(--fs-meta);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--fg-3);border-bottom:1px solid var(--border-2);font-weight:600}.deals-table td{padding:var(--sp-4);border-bottom:1px solid var(--ch-gray-100);font-size:var(--fs-body)}.deals-table tbody tr{cursor:pointer}.deals-table tbody tr:hover{background:var(--ch-paper)}.stage-chip{font-size:var(--fs-meta);align-items:center;gap:6px;display:inline-flex}.stage-chip:before{content:"";background:var(--stage-color,var(--ch-gray-300));border-radius:50%;width:8px;height:8px}.pager{align-items:center;gap:var(--sp-3);font-size:var(--fs-small);color:var(--fg-2);display:flex}.deal-page{gap:var(--sp-5);grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:start;display:grid}.deal-page__header{align-items:center;gap:var(--sp-3);flex-wrap:wrap;grid-column:1/-1;display:flex}.deal-page__title-input{min-width:240px;font-size:var(--fs-h3);border-radius:var(--r-2);padding:var(--sp-1) var(--sp-2);background:0 0;border:1px solid #0000;flex:1;font-weight:700}.deal-page__title-input:hover,.deal-page__title-input:focus{border-color:var(--border-2);background:var(--ch-white)}.stage-bar{grid-column:1/-1;gap:4px;display:flex}.stage-bar__item{height:28px;font-size:var(--fs-meta);color:var(--ch-white);background:var(--ch-gray-200);cursor:pointer;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,0 100%,10px 50%);white-space:nowrap;text-overflow:ellipsis;padding:0 var(--sp-3);border:0;flex:1;font-weight:600;overflow:hidden}.stage-bar__item.is-passed{background:var(--stage-color);opacity:.55}.stage-bar__item.is-current{background:var(--stage-color)}.deal-panel{gap:var(--sp-4);flex-direction:column;display:flex}.deal-aside-block{gap:var(--sp-3);flex-direction:column;display:flex}.deal-aside-block h4{font-size:var(--fs-meta);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--fg-3);font-weight:600}.linked-contact{justify-content:space-between;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border:1px solid var(--border-2);border-radius:var(--r-2);font-size:var(--fs-small);display:flex}.linked-contact__actions{gap:var(--sp-1);display:flex}.linked-contact__actions button{color:var(--fg-3);cursor:pointer;font-size:var(--fs-meta);background:0 0;border:0}.linked-contact__actions button:hover{color:var(--ch-red)}.close-banner{padding:var(--sp-3) var(--sp-4);border-radius:var(--r-2);font-size:var(--fs-small);grid-column:1/-1;font-weight:600}.close-banner--won{background:var(--status-ok-soft);color:var(--status-ok)}.close-banner--lost{background:var(--status-danger-soft);color:var(--ch-red-deep)}.search-dropdown{position:relative}.search-dropdown__list{z-index:50;background:var(--ch-white);border:1px solid var(--border-2);border-radius:var(--r-2);box-shadow:var(--shadow-soft);max-height:260px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.search-dropdown__item{text-align:left;width:100%;padding:var(--sp-2) var(--sp-3);font-size:var(--fs-small);cursor:pointer;background:0 0;border:0;display:block}.search-dropdown__item:hover{background:var(--ch-cream)}.search-dropdown__hint{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-meta);color:var(--fg-3)}.item-row{gap:var(--sp-1);align-items:center;display:flex}.item-row__name{flex:1;min-width:0}.item-row__num{width:90px}.item-row__qty{width:56px}.items-total{justify-content:space-between;align-items:center;gap:var(--sp-2);font-weight:600;font-size:var(--fs-small);display:flex}.paid-total{color:var(--status-ok);font-weight:700;font-size:var(--fs-small)}.payment-link-row{gap:var(--sp-1);padding:var(--sp-2) var(--sp-3);border:1px solid var(--border-2);border-radius:var(--r-2);font-size:var(--fs-small);flex-direction:column;display:flex}.payment-link-row__body{justify-content:space-between;align-items:center;gap:var(--sp-2);display:flex}.payment-link-row__actions{align-items:center;gap:var(--sp-1);display:flex}.utm-block{border:1px dashed var(--border-2);border-radius:var(--r-2);padding:var(--sp-2) var(--sp-3)}.utm-block__toggle{font-size:var(--fs-meta);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--fg-3);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.utm-block__grid{gap:var(--sp-2);margin-top:var(--sp-2);flex-direction:column;display:flex}.tag-input{gap:var(--sp-2);flex-direction:column;display:flex}.tag-chips{gap:var(--sp-1);flex-wrap:wrap;display:flex}.tag-chip{background:var(--ch-cream);border:1px solid var(--border-2);border-radius:var(--r-pill);padding:2px var(--sp-2);font-size:var(--fs-meta);align-items:center;gap:4px;display:inline-flex}.tag-chip button{color:var(--fg-3);cursor:pointer;font-size:var(--fs-small);background:0 0;border:0;line-height:1}.tag-chip button:hover{color:var(--ch-red)}.entity-picker__control{display:flex;position:relative}.entity-picker__control .input{width:100%;padding-right:var(--sp-6)}.entity-picker__clear{height:100%;padding:0 var(--sp-3);color:var(--fg-3);cursor:pointer;background:0 0;border:0;font-size:18px;line-height:1;position:absolute;top:0;right:0}.entity-picker__clear:hover{color:var(--ch-red)}.entity-picker__dropdown{z-index:10;background:var(--ch-white);border:1px solid var(--border-2);border-radius:var(--r-2);box-shadow:var(--shadow-soft);max-height:240px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.entity-picker__item{justify-content:space-between;align-items:baseline;gap:var(--sp-3);text-align:left;width:100%;padding:var(--sp-2) var(--sp-3);font-size:var(--fs-small);cursor:pointer;background:0 0;border:0;display:flex}.entity-picker__item--active{background:var(--ch-red-soft)}.entity-picker__title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.entity-picker__sub{color:var(--fg-3);font-size:var(--fs-meta);white-space:nowrap;flex:none}.entity-picker__empty{padding:var(--sp-2) var(--sp-3);color:var(--fg-3);font-size:var(--fs-small)}.entity-picker__hint{color:var(--fg-3);font-size:var(--fs-meta);margin-top:4px}.lodging-hint{color:var(--fg-3);font-size:var(--fs-small);margin:4px 0}.lodging-muted{color:var(--fg-3);font-size:var(--fs-small)}.lodging-family__caption{font-weight:600;font-size:var(--fs-small);color:var(--fg-2);margin:8px 0 4px}.lodging-member{border:1px solid var(--border-1);border-radius:var(--r-1);flex-direction:column;gap:6px;margin-bottom:8px;padding:8px;display:flex}.lodging-member__main{align-items:center;gap:6px;display:flex}.lodging-member__main .input:first-child{flex:1}.lodging-age{flex:none;width:84px}.lodging-member__row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.lodging-needsbed{font-size:var(--fs-small)}.lodging-date{font-size:var(--fs-meta);color:var(--fg-3);flex-direction:column;gap:2px;display:flex}.lodging-room-select{flex:1;min-width:180px}.lodging-family__actions{align-items:center;gap:8px;margin-top:4px;display:flex}.lodging-cost{border:1px dashed var(--border-2);border-radius:var(--r-1);font-size:var(--fs-small);justify-content:space-between;align-items:center;gap:10px;margin:10px 0;padding:8px 10px;display:flex}.lodging-wishes{margin-top:10px}.lodging-wishes textarea{width:100%}.lodging-venue-tabs{flex-wrap:wrap;gap:8px;margin:16px 0;display:flex}.lodging-venue-tab{border:1px solid var(--border-1);background:var(--bg-1);border-radius:var(--r-pill);cursor:pointer;font-size:var(--fs-small);color:var(--fg-2);padding:6px 14px}.lodging-venue-tab.is-active{background:var(--bg-inverse);color:var(--fg-on-dark);border-color:var(--bg-inverse)}.lodging-fund__toolbar{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:16px;display:flex}.lodging-blocking{flex-direction:column;gap:12px;display:flex}.lodging-blocking__list{flex-direction:column;gap:4px;margin:0;padding-left:18px;display:flex}.lodging-copy{font-size:var(--fs-small);color:var(--fg-2);align-items:center;gap:8px;display:flex}.lodging-room-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.lodging-room-card{border:1px solid var(--border-1);border-radius:var(--r-2);background:var(--bg-1);flex-direction:column;display:flex;overflow:hidden}.lodging-room-card__photo{object-fit:cover;width:100%;height:130px}.lodging-room-card__body{flex-direction:column;flex:1;gap:3px;padding:10px;display:flex}.lodging-room-card__title{font-weight:600}.lodging-room-card__actions{border-top:1px solid var(--border-1);justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.lodging-status{font-size:var(--fs-meta);border-radius:var(--r-pill);background:var(--bg-2);width:fit-content;color:var(--fg-2);padding:1px 8px;display:inline-block}.lodging-status--Free{background:var(--ch-gray-100);color:var(--fg-2)}.lodging-status--Booked{color:#7a5b00;background:#fff2cc}.lodging-status--Occupied{color:#1f6b2e;background:#d9efd9}.lodging-status--OutOfService{background:var(--ch-gray-200);color:var(--fg-3);text-decoration:line-through}.modal:has(.lodging-room-form){max-width:620px}.lodging-room-form{flex-direction:column;gap:12px;display:flex}.lodging-room-form__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.lodging-room-form__grid .field,.lodging-room-form__grid .input{min-width:0}@media (width<=560px){.lodging-room-form__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.lodging-room-form__checks{gap:20px;display:flex}.lodging-photos{flex-wrap:wrap;gap:8px;display:flex}.lodging-photo{width:84px;height:84px;position:relative}.lodging-photo img{object-fit:cover;border-radius:var(--r-1);width:100%;height:100%}.lodging-photo button{background:var(--ch-red);color:#fff;cursor:pointer;border:none;border-radius:50%;width:20px;height:20px;line-height:1;position:absolute;top:-6px;right:-6px}.lodging-photo-add{border:1px dashed var(--border-2);border-radius:var(--r-1);width:84px;height:84px;color:var(--fg-3);cursor:pointer;justify-content:center;align-items:center;font-size:24px;display:flex}.lodging-summary{flex-direction:column;gap:16px;display:flex}.lodging-summary__header{align-items:center;gap:12px;display:flex}.lodging-totals{gap:24px;display:flex}.lodging-total__num{font-size:var(--fs-h2);font-weight:700}.lodging-table{border-collapse:collapse;width:100%;font-size:var(--fs-small)}.lodging-table th,.lodging-table td{text-align:left;border-bottom:1px solid var(--border-1);vertical-align:top;padding:8px 10px}.lodging-table th{color:var(--fg-3);font-weight:600;font-size:var(--fs-meta);text-transform:uppercase;letter-spacing:.03em}.lodging-table tr.is-over td{background:var(--ch-red-soft,#fbeaea)}.lodging-cell-note{max-width:220px}.lodging-occupants{flex-direction:column;gap:2px;margin:0;padding-left:16px;display:flex}.lodging-warn{font-size:var(--fs-meta);color:var(--ch-red);margin-left:6px;font-weight:600;display:inline-block}.lodging-warn--soft{color:#7a5b00}.lightbox{z-index:200;padding:var(--sp-5);cursor:zoom-out;background:#000000d9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox__img{object-fit:contain;border-radius:var(--r-2);cursor:default;max-width:95vw;max-height:92vh;box-shadow:0 8px 40px #00000080}.lightbox__close{color:#fff;cursor:pointer;background:0 0;border:0;font-size:34px;line-height:1;position:fixed;top:12px;right:20px}.chats-page{gap:var(--sp-4);grid-template-columns:320px 1fr;height:100%;min-height:0;display:grid}.chats-list{gap:var(--sp-2);flex-direction:column;min-height:0;display:flex;overflow-y:auto}.chats-list__filters{gap:var(--sp-2);display:flex}.conversation-item{text-align:left;border:1px solid var(--border-2);border-radius:var(--r-2);background:var(--ch-white);padding:var(--sp-2) var(--sp-3);cursor:pointer;font-size:var(--fs-small);flex-direction:column;gap:2px;display:flex}.conversation-item:hover{border-color:var(--ch-gray-300)}.conversation-item.is-active{border-color:var(--ch-red);box-shadow:var(--focus-ring)}.conversation-item.is-closed{opacity:.6}.conversation-item__top{justify-content:space-between;gap:var(--sp-2);font-weight:600;display:flex}.conversation-item__preview{color:var(--fg-3);font-size:var(--fs-meta);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.conversation-item__meta{font-size:var(--fs-meta);color:var(--fg-3)}.chat-window{background:var(--ch-white);border:1px solid var(--border-2);border-radius:var(--r-3);flex-direction:column;height:100%;min-height:0;max-height:72vh;display:flex;overflow:hidden}.chat-window__header{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border-2);font-size:var(--fs-small);display:flex}.chat-window__title{align-items:center;gap:var(--sp-2);min-width:0;display:flex}.chat-window__channel{color:var(--fg-3)}.chat-window__channel-select{height:30px;padding:0 var(--sp-2);font-size:var(--fs-meta);color:var(--fg-2);background:var(--ch-white);border:1px solid var(--border-2);border-radius:var(--r-2);max-width:260px}.chat-window__messages{gap:var(--sp-2);padding:var(--sp-4);background:var(--bg-1);flex-direction:column;flex:1;min-height:200px;display:flex;overflow-y:auto}.chat-window__composer{align-items:flex-end;gap:var(--sp-2);padding:var(--sp-3);border-top:1px solid var(--border-2);display:flex}.chat-window__input{min-height:38px;max-height:200px;padding:var(--sp-2);resize:none;white-space:pre-wrap;word-break:break-word;flex:1;line-height:1.45;overflow-y:auto}.bubble-row{display:flex}.bubble-row--mine{justify-content:flex-end}.bubble{max-width:70%;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-3);font-size:var(--fs-small);flex-direction:column;gap:4px;display:flex}.bubble--inbound{background:var(--ch-white);border:1px solid var(--border-2);border-bottom-left-radius:var(--r-1)}.bubble--outbound{background:var(--ch-red-soft);border-bottom-right-radius:var(--r-1)}.bubble--internal{background:var(--ch-cream);border:var(--border-dotted);border-bottom-right-radius:var(--r-1);border-width:1px}.bubble--bot{background:var(--ch-cream);border:1px dashed var(--ch-gray-300);border-bottom-right-radius:var(--r-1)}.bubble__author{font-size:var(--fs-meta);color:var(--fg-2);font-weight:600}.bubble__author--bot{color:var(--fg-3);letter-spacing:.02em}.bot-badge{padding:2px var(--sp-2);border-radius:var(--r-2);font-size:var(--fs-meta);white-space:nowrap;cursor:help;flex-shrink:0;align-items:center;gap:4px;font-weight:600;display:inline-flex}.bot-badge--thinking{background:var(--ch-cream);color:var(--fg-2)}.bot-badge--stuck{background:var(--ch-red-soft);color:var(--ch-red)}.bot-badge--handoff{background:var(--ch-red);color:var(--ch-white)}.bot-badge__dots:after{content:"";animation:1.2s steps(4,end) infinite bot-thinking}@keyframes bot-thinking{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}@media (prefers-reduced-motion:reduce){.bot-badge__dots:after{content:"…";animation:none}}.bot-toggle{align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-2);border:1px solid var(--border-2);border-radius:var(--r-pill);background:var(--ch-white);font-size:var(--fs-meta);color:var(--fg-3);cursor:pointer;flex-shrink:0;margin-left:auto;font-weight:600;display:inline-flex}.bot-toggle:hover:not(:disabled){border-color:var(--ch-gray-300)}.bot-toggle:disabled{opacity:.6;cursor:progress}.bot-toggle.is-on{color:var(--fg-1)}.bot-toggle__track{border-radius:var(--r-pill);background:var(--ch-gray-300);width:28px;height:16px;padding:2px;transition:background .15s}.bot-toggle.is-on .bot-toggle__track{background:var(--ch-red)}.bot-toggle__thumb{background:var(--ch-white);border-radius:50%;width:12px;height:12px;transition:transform .15s;display:block}.bot-toggle.is-on .bot-toggle__thumb{transform:translate(12px)}@media (prefers-reduced-motion:reduce){.bot-toggle__track,.bot-toggle__thumb{transition:none}}.conversation-item__bot{font-weight:600}.conversation-item__bot--thinking{color:var(--fg-3)}.conversation-item__bot--stuck{color:var(--ch-red)}.conversation-item__bot--handoff{color:var(--ch-red);text-underline-offset:2px;text-decoration:underline}.bubble__text{white-space:pre-wrap;word-break:break-word}.bubble__time{color:var(--fg-3);align-self:flex-end;font-size:10px}.bubble__image-btn{cursor:zoom-in;background:0 0;border:0;padding:0;line-height:0;display:block}.bubble__image{border-radius:var(--r-2);max-width:260px;max-height:220px;display:block}.bubble__file{font-size:var(--fs-small)}.deal-tabs{gap:var(--sp-2);border-bottom:1px solid var(--border-2);margin-bottom:var(--sp-3);display:flex}.deal-tabs button{font-size:var(--fs-small);color:var(--fg-3);padding:var(--sp-1) var(--sp-2);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;font-weight:600;display:inline-flex}.deal-tabs button.is-active{color:var(--ch-red);border-bottom-color:var(--ch-red)}.deal-tabs__dot{background:var(--ch-red);border-radius:50%;flex-shrink:0;width:8px;height:8px}.attach-input{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.attach-input .icon-btn{font-size:16px}.attach-input__chips{gap:var(--sp-1);flex-wrap:wrap;display:flex}.attach-input__chip{background:var(--ch-cream);border:1px solid var(--border-2);border-radius:var(--r-pill);max-width:200px;padding:2px var(--sp-2);font-size:var(--fs-meta);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;display:inline-flex;overflow:hidden}.attach-input__chip button{color:var(--fg-3);cursor:pointer;background:0 0;border:0;line-height:1}.attach-input__chip button:hover{color:var(--ch-red)}.attachments{gap:var(--sp-2);margin-top:var(--sp-1);flex-direction:column;display:flex}.attachments__images{gap:var(--sp-2);flex-wrap:wrap;display:flex}.attachments__thumb{border:1px solid var(--border-2);border-radius:var(--r-2);cursor:zoom-in;background:var(--ch-cream);padding:0;line-height:0;overflow:hidden}.attachments__thumb img{object-fit:cover;width:120px;height:120px;display:block}.attachments__thumb:hover{border-color:var(--ch-black)}.attachments__file{align-items:center;gap:var(--sp-2);max-width:320px;padding:var(--sp-2) var(--sp-3);border:1px solid var(--border-2);border-radius:var(--r-2);background:var(--ch-white);font-size:var(--fs-small);color:var(--fg-1);text-decoration:none;display:inline-flex}.attachments__file:hover{border-color:var(--ch-black)}.attachments__file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attachments__size{color:var(--fg-3);font-size:var(--fs-meta);white-space:nowrap;margin-left:auto}.contacts-page{gap:var(--sp-4);flex-direction:column;display:flex}.contact-card{gap:var(--sp-5);grid-template-columns:380px 1fr;align-items:start;max-width:1100px;display:grid}.contact-card__header{align-items:center;gap:var(--sp-3);grid-column:1/-1;display:flex}.contact-card__name{font-size:var(--fs-h2);flex:1;font-weight:700}.contact-meta{gap:var(--sp-2);font-size:var(--fs-small);flex-direction:column;display:flex}.contact-meta dt{font-size:var(--fs-meta);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--fg-3);margin-top:var(--sp-2)}.contact-meta dd{margin:0}.contact-card__name-input{font-size:var(--fs-h2);border-radius:var(--r-2);padding:var(--sp-1) var(--sp-2);background:0 0;border:1px solid #0000;flex:1;font-weight:700}.contact-card__name-input:hover,.contact-card__name-input:focus{border-color:var(--border-2);background:var(--ch-white)}.contact-form{gap:var(--sp-3);flex-direction:column;display:flex}.messenger-row-group{--messenger-channel-w:76px;flex-direction:column;gap:2px;display:flex}.messenger-row{align-items:center;gap:var(--sp-2);display:flex}.messenger-row__channel{width:var(--messenger-channel-w);padding:0 var(--sp-2);flex:none}.messenger-row>.input:not(.messenger-row__channel){flex:1;min-width:0}.messenger-row__name{margin-left:calc(var(--messenger-channel-w) + var(--sp-2));font-size:var(--fs-meta);color:var(--fg-3)}.messenger-row__add{margin-top:var(--sp-1);align-self:flex-start}.saving-hint{color:var(--fg-3);text-transform:none;letter-spacing:0;font-weight:400}.task-comments{gap:var(--sp-2);border-top:1px solid var(--border-2);padding-top:var(--sp-3);flex-direction:column;display:flex}.task-comment{background:var(--ch-cream);border-radius:var(--r-2);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-small)}.task-comment__meta{font-size:var(--fs-meta);color:var(--fg-3);margin-bottom:2px}.tasks-table tbody tr{cursor:pointer}.task-page{gap:var(--sp-4);flex-direction:column;display:flex}.task-page__grid{gap:var(--sp-5);grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:start;display:grid}.task-panel{gap:var(--sp-3);flex-direction:column;display:flex}@media (width<=900px){.task-page__grid{grid-template-columns:1fr}}.admin-page{gap:var(--sp-5);flex-direction:column;display:flex}.admin-page .card:not(.users-table),.admin-page>form.card{max-width:720px}.admin-page__header{align-items:baseline;gap:var(--sp-3);display:flex}.admin-page__title{font-size:var(--fs-h2);font-weight:700}.users-table{border-collapse:collapse;background:var(--ch-white);border:1px solid var(--border-2);border-radius:var(--r-3);width:100%;overflow:hidden}.users-table th{text-align:left;padding:var(--sp-3) var(--sp-4);font-size:var(--fs-meta);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--fg-3);border-bottom:1px solid var(--border-2);font-weight:600}.users-table td{padding:var(--sp-4);border-bottom:1px solid var(--ch-gray-100);font-size:var(--fs-body)}.users-table tr:last-child td{border-bottom:none}.users-table .is-deactivated td{color:var(--fg-3)}.invite-form{align-items:flex-end;gap:var(--sp-4);flex-wrap:wrap;display:flex}.invite-form .field{flex:1;min-width:180px}.invite-link{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--ch-cream);border:var(--border-dotted);border-radius:var(--r-2);display:flex}.invite-link code{font-family:var(--font-mono);font-size:var(--fs-meta);word-break:break-all;flex:1}.invite-link--permanent{border:1px solid var(--ch-red);background:var(--ch-red-soft);align-items:flex-start}.invite-link--permanent>span{max-width:42ch;font-size:var(--fs-meta);line-height:var(--lh-body)}.admin-tabs{gap:var(--sp-2);border-bottom:1px solid var(--border-2);display:flex}.admin-tabs__tab{padding:var(--sp-2) var(--sp-4);font-size:var(--fs-small);color:var(--fg-2);border-bottom:2px solid #0000;margin-bottom:-1px;font-weight:600}.admin-tabs__tab:hover{color:var(--fg-1)}.admin-tabs__tab.is-active{color:var(--ch-red);border-bottom-color:var(--ch-red)}.stage-row{align-items:center;gap:var(--sp-2);display:flex}.stage-row__dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.stage-row__name{font-size:var(--fs-small);flex:1}.stage-row__name--system{color:var(--fg-2)}.stage-row__color{border:1px solid var(--border-2);border-radius:var(--r-1);background:var(--ch-white);cursor:pointer;width:32px;height:32px;padding:2px}.channel-help{background:var(--ch-cream);border:var(--border-dotted);border-radius:var(--r-2);padding:var(--sp-4);font-size:var(--fs-small);line-height:var(--lh-body);color:var(--fg-1)}.channel-help__title{margin:0 0 var(--sp-1);font-weight:700}.channel-help__lead{margin:0 0 var(--sp-3);color:var(--fg-2)}.channel-help__steps{gap:var(--sp-2);flex-direction:column;margin:0;padding-left:1.4em;display:flex}.channel-help__steps li{padding-left:var(--sp-1)}.channel-help .field-ref{white-space:nowrap;border-bottom:1px dotted var(--ch-gray-300);font-weight:600}.channel-bot{gap:var(--sp-2);border:1px solid var(--border-2);border-radius:var(--r-2);padding:var(--sp-3) var(--sp-4) var(--sp-4);flex-direction:column;margin:0;display:flex}.channel-bot__legend{padding:0 var(--sp-2);font-size:var(--fs-small);font-weight:700}.channel-bot__hint{color:var(--fg-3);font-size:var(--fs-meta);line-height:var(--lh-body);margin:0}.meetups-subtabs{border:1px solid var(--border-2);border-radius:var(--r-2);display:inline-flex;overflow:hidden}.meetups-subtabs button{background:var(--ch-white);padding:0 var(--sp-3);height:calc(var(--control-h) - 2px);font-size:var(--fs-small);cursor:pointer;border:0}.meetups-subtabs button.is-active{background:var(--ch-black);color:var(--ch-paper)}.guest{background:var(--bg-2);min-height:100vh;padding:var(--sp-6) var(--sp-4) var(--sp-7);align-items:center;gap:var(--sp-5);flex-direction:column;display:flex}.guest--center{color:var(--fg-2);justify-content:center}.guest__card{background:var(--ch-white);border:1px solid var(--border-2);border-radius:var(--r-3);width:100%;max-width:640px;box-shadow:var(--shadow-stamp);overflow:hidden}.guest__card--message{padding:var(--sp-6);text-align:center}.guest__cover{aspect-ratio:16/9;object-fit:cover;border-bottom:1px solid var(--border-2);width:100%;display:block}.guest__body{padding:var(--sp-6);gap:var(--sp-4);flex-direction:column;display:flex}.guest__title{font-size:var(--fs-h2);line-height:var(--lh-tight);color:var(--ch-black);margin:0}.guest__facts{gap:var(--sp-3) var(--sp-6);padding:var(--sp-4) 0;border-top:var(--border-dotted);border-bottom:var(--border-dotted);flex-wrap:wrap;margin:0;display:flex}.guest__fact dt{font-size:var(--fs-meta);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--fg-3);margin-bottom:var(--sp-1)}.guest__fact dd{margin:0;font-weight:600}.guest__description{line-height:var(--lh-loose);color:var(--fg-1);white-space:pre-wrap;margin:0}.guest__seats{color:var(--ch-red);margin:0;font-weight:600}.guest__muted{color:var(--fg-2);font-size:var(--fs-small);margin:0}.guest__closed{padding:var(--sp-5);text-align:center;background:var(--bg-2);border-radius:var(--r-2);color:var(--fg-2);margin:0}.guest__form{gap:var(--sp-4);padding-top:var(--sp-2);flex-direction:column;display:flex}.guest__form-title{font-size:var(--fs-h4);margin:0;font-weight:700}.guest__prefill{margin-top:calc(-1 * var(--sp-2))}.guest__textarea{resize:vertical;min-height:84px;padding-top:var(--sp-2)}.guest__submit{align-self:flex-start}.guest__done{align-items:center;gap:var(--sp-3);text-align:center;padding:var(--sp-5) 0 var(--sp-2);flex-direction:column;display:flex}.guest__done-icon{border-radius:var(--r-pill);background:var(--status-ok-soft);width:48px;height:48px;color:var(--status-ok);place-items:center;font-size:24px;display:grid}.guest__done-title{font-size:var(--fs-h3);margin:0}.guest__done .guest__submit{align-self:center}.guest__done-icon.is-waiting{background:var(--bg-2);color:var(--fg-3)}.guest__pay-hint,.guest__again{margin:0}.receipt{padding:var(--sp-4) 0;border-top:var(--border-dotted);border-bottom:var(--border-dotted);gap:var(--sp-3);flex-direction:column;margin:0;display:flex}.receipt__row{align-items:baseline;gap:var(--sp-2) var(--sp-4);flex-wrap:wrap;display:flex}.receipt__row dt{width:150px;font-size:var(--fs-meta);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--fg-3);flex:none}.receipt__row dd{flex:1;min-width:180px;margin:0;font-weight:600}.receipt__sub{margin-top:var(--sp-1);font-weight:400;font-size:var(--fs-small);color:var(--fg-2);display:block}.receipt__amount{font-size:var(--fs-h4)}.receipt__code{font-family:var(--font-mono);letter-spacing:var(--tracking-caps)}.receipt__actions{align-items:center;gap:var(--sp-3);flex-direction:column;display:flex}@media (width<=560px){.receipt__row dt{width:100%}.receipt__row dd{min-width:0}}.guest__promo{justify-content:space-between;align-items:center;gap:var(--sp-4);width:100%;max-width:640px;padding:var(--sp-5);background:var(--bg-inverse);color:var(--fg-on-dark);border-radius:var(--r-3);box-shadow:var(--shadow-stamp-red);flex-wrap:wrap;display:flex}.guest__promo-text{gap:var(--sp-2);flex-direction:column;flex:1;min-width:220px;display:flex}.guest__promo-title{font-size:var(--fs-h3);color:var(--ch-white)}.guest__promo-sub{font-size:var(--fs-small);color:var(--ch-gray-200);line-height:var(--lh-body)}.guest__promo-cta{flex:none}.guest__promo-cta,.guest__promo-cta:hover{color:var(--fg-on-red)}@media (width<=560px){.guest{padding:0 0 var(--sp-6)}.guest__card{box-shadow:none;border:none;border-radius:0}.guest__body{padding:var(--sp-5) var(--sp-4)}.guest__promo{width:auto;margin:0 var(--sp-4);text-align:center;align-self:stretch}.guest__promo-cta{width:100%}}.meetups-intro{justify-content:space-between;align-items:center;gap:var(--sp-5);display:flex}.meetups-intro__text{color:var(--fg-2);font-size:var(--fs-small);max-width:70ch;margin:0}.meetups-intro .btn{flex:none}.meetups-empty{color:var(--fg-3);padding:var(--sp-4) 0}.meetups-list{gap:var(--sp-3);margin-top:var(--sp-4);flex-direction:column;display:flex}.meetup-row{gap:var(--sp-4);grid-template-columns:1fr auto;align-items:start;display:grid}.meetup-row__main{gap:var(--sp-2);flex-direction:column;min-width:0;display:flex}.meetup-row__head{align-items:center;gap:var(--sp-3);display:flex}.meetup-row__title{font:inherit;font-size:var(--fs-h4);color:var(--fg-1);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-weight:700}.meetup-row__title:hover{color:var(--ch-red)}.meetup-row__meta{gap:var(--sp-1) var(--sp-4);color:var(--fg-2);font-size:var(--fs-small);flex-wrap:wrap;display:flex}.meetup-row__tags .tag-chip{color:inherit;text-decoration:none}.meetup-row__tags .tag-chip:hover{border-color:var(--fg-3)}.meetup-row__actions{gap:var(--sp-2);display:flex}.meetup-link{align-items:center;gap:var(--sp-2);min-width:0;display:flex}.meetup-link__url{font-family:var(--font-mono);font-size:var(--fs-meta);color:var(--fg-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.meetup-link__copy{height:28px;padding:0 var(--sp-3);font-size:var(--fs-meta);flex:none}.meetup-registrations{margin-top:var(--sp-3);grid-column:1/-1;overflow-x:auto}.meetup-registrations .users-table th{padding:var(--sp-2) var(--sp-3);font-size:11px}.meetup-registrations .users-table td{font-size:var(--fs-meta);padding:var(--sp-2) var(--sp-3)}.meetup-registrations__comment{max-width:220px;color:var(--fg-2)}.meetup-registrations__actions{text-align:right;white-space:nowrap}.meetup-registrations__actions .icon-btn{vertical-align:middle}.meetup-registrations__actions .icon-btn+.icon-btn{margin-left:var(--sp-1)}.meetup-registrations__actions .icon-btn svg{width:16px;height:16px}.meetup-form{gap:var(--sp-4);flex-direction:column;display:flex}.meetup-form__row{gap:var(--sp-4);grid-template-columns:1fr 1fr;display:grid}.meetup-form__textarea{resize:vertical;min-height:120px;padding-top:var(--sp-2)}.meetup-form__drop-cover{margin-top:var(--sp-2);font-size:var(--fs-small);align-self:flex-start}.meetup-form__warn{color:var(--status-warn);text-transform:none;letter-spacing:normal;margin-top:var(--sp-2)}.meetup-form__hint{text-transform:none;letter-spacing:normal;margin-top:var(--sp-2);line-height:1.4}.meetup-form__actions{justify-content:flex-end;gap:var(--sp-3);padding-top:var(--sp-2);display:flex}
