@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}.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)}.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)}.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}.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}.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}.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)}.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__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}.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__add{color:var(--fg-3);cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:18px;line-height:1}.kanban-col__add:hover{color:var(--ch-red)}.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)}.quick-add{gap:var(--sp-2);background:var(--ch-cream);border-radius:var(--r-2);padding:var(--sp-2);flex-direction:column;display:flex}.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)}.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-nearby{flex-wrap:wrap;gap:6px;margin:6px 0;display:flex}.lodging-chip{background:var(--bg-2);border-radius:var(--r-pill);font-size:var(--fs-small);align-items:center;gap:6px;padding:2px 8px;display:inline-flex}.lodging-chip button{cursor:pointer;color:var(--fg-3);background:0 0;border:none;font-size:15px;line-height:1}.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__channel{color:var(--fg-3)}.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__author{font-size:var(--fs-meta);color:var(--fg-2);font-weight:600}.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}.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}.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}
