@font-face{font-family:Rubik;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/rubik-300-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Rubik;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/rubik-300-hebrew.woff2) format("woff2");unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Rubik;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/rubik-300-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Rubik;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/rubik-400-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Rubik;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/rubik-400-hebrew.woff2) format("woff2");unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Rubik;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/rubik-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Rubik;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/rubik-500-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Rubik;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/rubik-500-hebrew.woff2) format("woff2");unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Rubik;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/rubik-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Rubik;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/rubik-600-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Rubik;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/rubik-600-hebrew.woff2) format("woff2");unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Rubik;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/rubik-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Rubik;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/rubik-700-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Rubik;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/rubik-700-hebrew.woff2) format("woff2");unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Rubik;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/rubik-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ivory-50: #FBF8F3;--ivory-100: #F7F2EA;--ivory-200: #F1E9DD;--sand-100: #EFE4D2;--sand-200: #E4D3B8;--taupe-300: #CBBBA6;--taupe-400: #A99C8D;--taupe-500: #8A7E6F;--warm-white: #FDFBF8;--white: #FFFFFF;--ink-900: #2E2A24;--ink-800: #3A342E;--ink-600: #6B6259;--ink-400: #938A7E;--ink-300: #B4AB9E;--line-100: #F0E9DE;--line-200: #E7DFD4;--line-300: #D9CFC0;--sage-50: #EEF3EC;--sage-100: #DCE6D8;--sage-200: #BFD0B8;--sage-300: #9CAF98;--sage-400: #7E9479;--sage-500: #647B60;--sage-600: #4F624C;--terra-50: #F8EDE5;--terra-100: #F0DACB;--terra-200: #E4BCA1;--terra-300: #D89B7A;--terra-400: #C67E5C;--terra-500: #A9663F;--rose-100: #EFD8D3;--rose-300: #D8A7A0;--rose-400: #C98F87;--success-bg: #E4EFE6;--success-line: #BFD9C4;--success-fg: #4E7A5C;--success-solid:#6FA07C;--warning-bg: #F7EDD8;--warning-line: #E9D3A6;--warning-fg: #9A7636;--warning-solid:#D6A25C;--error-bg: #F5E2DF;--error-line: #E5BEB8;--error-fg: #A85A52;--error-solid: #C7817A;--info-bg: #E6EDEF;--info-line: #C3D5D9;--info-fg: #4A6B72;--bg-app: var(--ivory-100);--bg-sunken: var(--ivory-200);--surface-card: var(--warm-white);--surface-raised:var(--white);--surface-tint: var(--sage-50);--text-strong: var(--ink-900);--text-body: var(--ink-800);--text-muted: var(--ink-600);--text-subtle: var(--ink-400);--text-disabled: var(--ink-300);--text-on-accent:#FFFFFF;--border-subtle: var(--line-100);--border-default:var(--line-200);--border-strong: var(--line-300);--accent: var(--sage-400);--accent-hover: var(--sage-300);--accent-press: var(--sage-500);--accent-soft: var(--sage-100);--accent-tint: var(--sage-50);--accent-2: var(--terra-400);--accent-2-soft: var(--terra-100);--focus-ring: var(--sage-400);--font-sans: "Rubik", "Segoe UI", system-ui, -apple-system, sans-serif;--fw-light: 300;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fs-display: 40px;--fs-h1: 30px;--fs-h2: 24px;--fs-h3: 20px;--fs-lg: 19px;--fs-body: 17px;--fs-sm: 15px;--fs-xs: 13px;--lh-tight: 1.15;--lh-snug: 1.3;--lh-normal: 1.5;--lh-relaxed: 1.65;--ls-tight: -.02em;--ls-caps: .08em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--radius-xs: 6px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--radius-pill: 999px;--shadow-xs: 0 1px 2px rgba(58, 52, 46, .05);--shadow-sm: 0 2px 8px rgba(58, 52, 46, .06);--shadow-md: 0 6px 20px rgba(58, 52, 46, .08);--shadow-lg: 0 16px 40px rgba(58, 52, 46, .1);--shadow-focus: 0 0 0 3px var(--sage-100);--tap-min: 44px;--tap-lg: 56px;--content-max: 1200px;--app-max: 480px;--ease-out: cubic-bezier(.22, .61, .36, 1);--dur-fast: .14s;--dur-base: .22s;--dur-slow: .36s}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body{max-width:100%;overflow-x:hidden}body{margin:0;font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-normal);font-weight:var(--fw-regular);color:var(--text-body);background:var(--bg-app);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4{margin:0;color:var(--text-strong);font-weight:var(--fw-semibold);line-height:var(--lh-snug);letter-spacing:var(--ls-tight)}h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h3)}h3{font-size:18px}p{margin:0}a{color:var(--sage-500);text-decoration:none;transition:color var(--dur-fast) var(--ease-out)}a:hover{color:var(--terra-400)}img,svg{max-width:100%}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-xs)}.eyebrow{font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--text-subtle)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}button{font-family:var(--font-sans);font-size:var(--fs-body);font-weight:var(--fw-medium);line-height:1.2;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--tap-min);padding:0 20px;background:var(--surface-raised);color:var(--text-body);border:1px solid var(--border-strong);border-radius:var(--radius-md);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}button:hover{background:var(--accent-tint)}button:active{transform:scale(.98)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent);box-shadow:var(--shadow-sm)}button.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}button.big{min-height:var(--tap-lg);font-size:var(--fs-lg);padding:0 28px;border-radius:var(--radius-md)}button.soft{background:var(--accent-soft);border-color:transparent;color:var(--sage-600)}button.soft:hover{background:var(--sage-200)}button.ghost{background:transparent;border-color:transparent;color:var(--sage-600)}button.ghost:hover{background:var(--accent-tint)}button.danger{background:var(--surface-raised);color:var(--error-fg);border-color:var(--error-line)}button.danger:hover{background:var(--error-bg)}button.danger.solid{background:var(--error-solid);border-color:var(--error-solid);color:#fff}button.small{min-height:36px;padding:0 14px;font-size:var(--fs-sm);border-radius:var(--radius-sm)}input,select,textarea{font-family:var(--font-sans);font-size:var(--fs-body);width:100%;min-height:var(--tap-min);padding:10px 16px;color:var(--text-body);background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--radius-md);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}input::placeholder,textarea::placeholder{color:var(--text-subtle)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--shadow-focus)}textarea{min-height:72px;resize:vertical;line-height:var(--lh-normal)}input[type=checkbox]{width:22px;height:22px;min-height:0;accent-color:var(--sage-400)}label.field{display:block;margin-bottom:var(--space-4)}label.field>span{display:block;margin-bottom:6px;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-body)}.helper{font-size:var(--fs-sm);color:var(--text-subtle);margin-top:6px}.card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-6);margin-bottom:var(--space-4)}.card.tint{background:var(--surface-tint)}.card h2{margin-bottom:4px}.hint{color:var(--text-subtle);font-size:var(--fs-sm);margin:4px 0 var(--space-4);line-height:var(--lh-normal)}.msg{padding:12px 16px;border-radius:var(--radius-md);margin:10px 0;font-size:var(--fs-sm);line-height:var(--lh-normal);border:1px solid transparent}.msg.ok{background:var(--success-bg);color:var(--success-fg);border-color:var(--success-line)}.msg.warn{background:var(--warning-bg);color:var(--warning-fg);border-color:var(--warning-line)}.msg.bad{background:var(--error-bg);color:var(--error-fg);border-color:var(--error-line)}.msg.info{background:var(--info-bg);color:var(--info-fg);border-color:var(--info-line)}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 12px;border-radius:var(--radius-pill);font-size:var(--fs-xs);font-weight:var(--fw-medium);white-space:nowrap;border:1px solid var(--border-strong);background:var(--ivory-200);color:var(--text-muted)}.badge.ok{background:var(--success-bg);color:var(--success-fg);border-color:var(--success-line)}.badge.warn{background:var(--warning-bg);color:var(--warning-fg);border-color:var(--warning-line)}.badge.bad{background:var(--error-bg);color:var(--error-fg);border-color:var(--error-line)}.badge.info{background:var(--info-bg);color:var(--info-fg);border-color:var(--info-line)}.badge.muted{background:var(--ivory-200);color:var(--text-muted);border-color:var(--border-strong)}.chip{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 16px;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-muted);background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-pill);cursor:pointer;transition:all var(--dur-fast) var(--ease-out)}.chip:hover{background:var(--ivory-200)}.chip.on{background:var(--accent-soft);border-color:var(--sage-200);color:var(--sage-600)}.radio-card{display:flex;align-items:center;gap:12px;width:100%;padding:var(--space-4);min-height:var(--tap-lg);text-align:start;background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;font-size:var(--fs-body);font-weight:var(--fw-medium);color:var(--text-body);transition:all var(--dur-fast) var(--ease-out)}.radio-card:hover{background:var(--accent-tint)}.radio-card.on{background:var(--accent-tint);border-color:var(--accent)}.radio-card.on.bad{background:var(--error-bg);border-color:var(--error-line);color:var(--error-fg)}.radio-card .rc-dot{flex-shrink:0;width:24px;height:24px;border-radius:var(--radius-pill);border:2px solid var(--border-strong);background:var(--surface-raised);display:inline-flex;align-items:center;justify-content:center;transition:all var(--dur-fast) var(--ease-out)}.radio-card.on .rc-dot{border-color:var(--accent)}.radio-card.on.bad .rc-dot{border-color:var(--error-fg)}.radio-card .rc-dot:after{content:"";width:12px;height:12px;border-radius:var(--radius-pill);background:transparent;transition:background var(--dur-fast) var(--ease-out)}.radio-card.on .rc-dot:after{background:var(--accent)}.radio-card.on.bad .rc-dot:after{background:var(--error-fg)}.radio-card .rc-desc{display:block;font-size:var(--fs-sm);font-weight:var(--fw-regular);color:var(--text-subtle);margin-top:2px}.dest-card{position:relative;overflow:hidden;border-radius:var(--radius-xl);padding:var(--space-6);background:linear-gradient(135deg,var(--sage-200),var(--sage-100) 60%,var(--sand-100));border:1px solid var(--sage-200);margin-bottom:var(--space-4)}.dest-card.terra{background:linear-gradient(135deg,var(--terra-200),var(--sand-200) 70%,var(--sand-100));border-color:var(--terra-200)}.dest-card .contours{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:.18}.dest-card .inner{position:relative}.dest-card .pin-row{display:inline-flex;align-items:center;gap:8px;color:var(--sage-600);font-weight:var(--fw-medium);font-size:var(--fs-sm)}.dest-card.terra .pin-row{color:var(--terra-500)}.dest-card .city{font-size:30px;font-weight:var(--fw-semibold);color:var(--ink-900);margin-top:6px;letter-spacing:var(--ls-tight)}.dest-card .meta{font-size:var(--fs-sm);color:var(--ink-800);margin-top:4px}.dest-card .meta-label{font-size:var(--fs-xs);color:var(--sage-600)}.dest-card.terra .meta-label{color:var(--terra-500)}.countdown{margin-top:var(--space-4);position:relative}.countdown-title{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--sage-600);margin-bottom:8px}.dest-card.terra .countdown-title{color:var(--terra-500)}.countdown-units{display:flex;gap:8px}.cd-box{flex:1;background:#ffffff8c;border:1px solid rgba(255,255,255,.65);border-radius:var(--radius-md);padding:8px 4px;text-align:center}.cd-num{font-size:26px;font-weight:var(--fw-semibold);color:var(--ink-900);line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:var(--ls-tight)}.cd-label{font-size:var(--fs-xs);color:var(--ink-600);margin-top:2px}.countdown-msg{margin-top:var(--space-4);background:#ffffff8c;border-radius:var(--radius-md);padding:10px;text-align:center;font-weight:var(--fw-medium);color:var(--ink-800);position:relative}.info-row{display:flex;align-items:center;gap:14px}.info-row .tile{width:44px;height:44px;flex-shrink:0;border-radius:var(--radius-md);background:var(--accent-tint);color:var(--sage-600);display:inline-flex;align-items:center;justify-content:center}.info-row .lbl{font-size:var(--fs-xs);color:var(--text-subtle)}.info-row .val{font-size:var(--fs-body);font-weight:var(--fw-medium);color:var(--text-body);margin-top:1px;white-space:pre-wrap;line-height:var(--lh-normal)}.divider{height:1px;background:var(--border-subtle);margin:var(--space-4) 0}.vg-topbar{display:flex;align-items:center;gap:12px;padding:12px 18px;background:var(--surface-card);border-bottom:1px solid var(--border-default);position:sticky;top:0;z-index:20}.vg-topbar .brand{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.vg-topbar .brand .name{font-size:18px;font-weight:var(--fw-semibold);color:var(--ink-900);letter-spacing:var(--ls-tight);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-dot{width:28px;height:28px;flex-shrink:0;border-radius:var(--radius-pill);background:var(--sage-400);position:relative}.brand-dot:after{content:"";position:absolute;top:7px;right:7px;bottom:7px;left:7px;border-radius:var(--radius-pill);border:2px solid var(--warm-white)}.vg-nav{display:flex;gap:8px;padding:10px 18px;overflow-x:auto;scrollbar-width:none;background:var(--surface-card);border-bottom:1px solid var(--border-subtle)}.vg-nav::-webkit-scrollbar{display:none}.vg-nav button{min-height:40px;padding:0 16px;font-size:var(--fs-sm);border-radius:var(--radius-pill);border-color:var(--border-default);background:var(--surface-raised);color:var(--text-muted);flex-shrink:0}.vg-nav button.on{background:var(--accent-soft);border-color:var(--sage-200);color:var(--sage-600);font-weight:var(--fw-semibold)}.lang-seg{display:inline-flex;padding:4px;gap:4px;background:var(--ivory-200);border-radius:var(--radius-pill)}.lang-seg button{min-height:40px;padding:0 18px;border:none;border-radius:var(--radius-pill);background:transparent;color:var(--text-muted);font-size:var(--fs-sm);font-weight:var(--fw-medium);box-shadow:none}.lang-seg button:hover{background:#ffffff80}.lang-seg button.on{background:var(--surface-raised);color:var(--text-strong);box-shadow:var(--shadow-sm)}.lang-menu{position:relative}.lang-menu .menu{position:absolute;inset-inline-end:0;top:calc(100% + 6px);z-index:40;margin:0;padding:6px;list-style:none;min-width:150px;background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.lang-menu .menu li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--fs-sm)}.lang-menu .menu li:hover{background:var(--accent-tint)}.lang-menu .menu li.on{background:var(--accent-tint);color:var(--sage-600);font-weight:var(--fw-medium)}.container{width:100%;max-width:var(--content-max);margin:0 auto;padding:var(--space-5);flex:1}.container.narrow{max-width:var(--app-max);padding:var(--space-5) var(--space-4)}.admin-shell{display:flex;flex:1;min-height:0}.admin-side{width:250px;flex-shrink:0;background:var(--surface-card);border-inline-end:1px solid var(--border-default);padding:20px 14px;display:flex;flex-direction:column;gap:4px;position:sticky;top:0;height:100vh;overflow-y:auto}.admin-side .brand{display:flex;align-items:center;gap:10px;padding:4px 8px 16px}.admin-side .brand .name{font-size:19px;font-weight:var(--fw-semibold);color:var(--ink-900)}.admin-side .section{font-size:11px;font-weight:var(--fw-semibold);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--text-subtle);padding:14px 12px 6px}.side-btn{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;min-height:var(--tap-min);border:none;background:transparent;cursor:pointer;text-align:start;border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--fs-sm);font-weight:var(--fw-regular);color:var(--text-muted);justify-content:flex-start}.side-btn:hover{background:var(--ivory-200)}.side-btn.on{background:var(--accent-soft);color:var(--sage-600);font-weight:var(--fw-semibold)}.admin-main{flex:1;min-width:0;display:flex;flex-direction:column}.admin-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 28px;background:var(--surface-card);border-bottom:1px solid var(--border-default);position:sticky;top:0;z-index:15}.admin-head .title{font-size:21px;font-weight:var(--fw-semibold);color:var(--ink-900);letter-spacing:var(--ls-tight)}.admin-head .sub{font-size:var(--fs-xs);color:var(--text-subtle)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4);margin-bottom:var(--space-4)}.stat-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5);display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.stat-card .lbl{font-size:var(--fs-sm);color:var(--text-muted);font-weight:var(--fw-medium)}.stat-card .num{font-size:34px;font-weight:var(--fw-semibold);color:var(--text-strong);line-height:1.1;margin-top:6px;letter-spacing:var(--ls-tight)}.stat-card .tile{width:44px;height:44px;flex-shrink:0;border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center}.stat-card .tile.sage{background:var(--sage-100);color:var(--sage-600)}.stat-card .tile.terra{background:var(--terra-100);color:var(--terra-500)}.stat-card .tile.rose{background:var(--rose-100);color:var(--rose-400)}.stat-card .tile.info{background:var(--info-bg);color:var(--info-fg)}.stat-card .tile.warn{background:var(--warning-bg);color:var(--warning-fg)}.table-wrap{overflow-x:auto;border:1px solid var(--border-default);border-radius:var(--radius-md)}table{width:100%;border-collapse:collapse;font-size:var(--fs-sm);background:var(--surface-raised)}th,td{padding:12px 14px;border-bottom:1px solid var(--border-subtle);text-align:start;white-space:nowrap}tr:last-child td{border-bottom:none}th{color:var(--text-subtle);font-size:var(--fs-xs);font-weight:var(--fw-medium);letter-spacing:.03em;background:var(--ivory-50);position:sticky;top:0}tr:hover td{background:var(--ivory-50)}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.row>*{flex:1;min-width:140px}.row.tight{gap:8px}.row.tight>*{flex:0 0 auto;min-width:0}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-3) var(--space-4)}.step-footer{display:flex;gap:12px;padding:var(--space-4) 0 0;border-top:1px solid var(--border-subtle);margin-top:var(--space-5)}.step-footer .grow{flex:1}.att-row{display:flex;align-items:center;gap:14px;padding:14px 6px;border-bottom:1px solid var(--border-subtle);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--dur-fast) var(--ease-out)}.att-row:hover{background:var(--ivory-50)}.att-row .check{width:32px;height:32px;flex-shrink:0;border-radius:var(--radius-pill);border:2px solid var(--border-strong);background:var(--surface-raised);display:flex;align-items:center;justify-content:center;color:#fff;transition:all var(--dur-fast) var(--ease-out)}.att-row.present .check{background:var(--success-solid);border-color:var(--success-solid)}.att-row.present .name{color:var(--success-fg);font-weight:var(--fw-medium)}.att-row .dept{color:var(--text-subtle);font-size:var(--fs-xs);margin-inline-start:auto}.dept-chips{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 var(--space-4)}.rooms-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-4)}.room-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-4)}.room-card h4{margin:0 0 10px;display:flex;align-items:center;gap:8px;font-size:var(--fs-body);color:var(--text-strong)}.person{border:1px solid var(--border-default);border-radius:var(--radius-md);padding:10px 12px;margin-bottom:8px;font-size:var(--fs-sm);background:var(--surface-raised)}.person .meta{color:var(--text-subtle);font-size:var(--fs-xs);margin-top:2px}.person.mutual{border-color:var(--success-line);background:var(--success-bg)}.person .row-actions{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap}.album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.album-grid .ph{position:relative;aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden;cursor:pointer;background:var(--ivory-200);border:1px solid var(--border-default)}.album-grid .ph img{width:100%;height:100%;object-fit:cover;display:block}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#2e2a2499;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px}.lightbox img{max-width:100%;max-height:78vh;border-radius:var(--radius-md)}.lightbox .cap{color:var(--ivory-100);font-size:var(--fs-sm)}.lightbox button{border-color:transparent}.upload-empty{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;padding:28px 20px;cursor:pointer;background:var(--surface-raised);border:2px dashed var(--border-strong);border-radius:var(--radius-lg);transition:all var(--dur-fast) var(--ease-out);min-height:0}.upload-empty:hover{background:var(--accent-tint);border-color:var(--accent)}.upload-empty .cam{width:52px;height:52px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--sage-600);display:inline-flex;align-items:center;justify-content:center}.upload-empty .t{font-weight:var(--fw-medium);color:var(--text-body)}.upload-empty .h{font-size:var(--fs-sm);color:var(--text-subtle);text-align:center;max-width:320px;font-weight:var(--fw-regular)}.upload-done{display:flex;align-items:center;gap:14px;padding:var(--space-4);background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-lg)}.upload-done .thumb{width:60px;height:60px;flex-shrink:0;border-radius:var(--radius-md);background:var(--ivory-200);overflow:hidden;display:inline-flex;align-items:center;justify-content:center;color:var(--text-subtle)}.upload-done .thumb img{width:100%;height:100%;object-fit:cover}.contact-row{display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid var(--border-subtle)}.contact-row:last-child{border-bottom:none}.contact-info{flex:1;min-width:0}.contact-name{font-weight:var(--fw-medium);color:var(--text-body)}.contact-meta{color:var(--text-subtle);font-size:var(--fs-xs);margin-top:1px}.contact-actions{display:flex;gap:8px;flex:0 0 auto}.icon-btn{display:flex;align-items:center;justify-content:center;width:var(--tap-min);height:var(--tap-min);border-radius:var(--radius-pill);border:1px solid var(--border-default);background:var(--surface-raised);color:var(--sage-600);transition:background var(--dur-fast) var(--ease-out)}.icon-btn:hover,.icon-btn.call{background:var(--accent-tint)}.icon-btn.wa{background:var(--success-bg);color:var(--success-fg);border-color:var(--success-line)}.timeline-item{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid var(--border-subtle)}.timeline-item:last-child{border-bottom:none}.timeline-when{flex:0 0 84px;text-align:center}.timeline-when .tl-day{font-size:var(--fs-xs);color:var(--text-subtle)}.timeline-when .tl-time{font-weight:var(--fw-semibold);color:var(--sage-600);font-size:var(--fs-body);font-variant-numeric:tabular-nums}.timeline-body .tl-title{font-weight:var(--fw-medium);color:var(--text-body)}.timeline-body .tl-desc{color:var(--text-subtle);font-size:var(--fs-sm);margin-top:2px;white-space:pre-wrap}.mode-banner{background:var(--warning-bg);color:var(--warning-fg);border-bottom:1px solid var(--warning-line);text-align:center;padding:8px 12px;font-size:var(--fs-xs);font-weight:var(--fw-medium)}.welcome-wrap{flex:1;display:flex;flex-direction:column;align-items:center;padding:var(--space-6) var(--space-4)}.welcome-col{width:100%;max-width:var(--app-max);display:flex;flex-direction:column;gap:var(--space-5)}.welcome-col h1{font-size:var(--fs-h1)}.welcome-lead{font-size:var(--fs-lg);color:var(--text-muted);line-height:var(--lh-relaxed);margin-top:10px}@media print{.vg-topbar,.vg-nav,.admin-side,.admin-head,.dept-chips,button,.mode-banner,.no-print{display:none!important}body{background:#fff}.card{box-shadow:none;border:none;padding:0}.att-row{padding:8px 4px}.att-row .check{border:2px solid #000;background:#fff!important}}@media (max-width: 900px){.admin-side{display:none}.admin-head{padding:12px 18px}.desk-only{display:none!important}}@media (min-width: 901px){.desk-hide{display:none!important}}@media (max-width: 640px){.container{padding:var(--space-4) var(--space-3)}.card{padding:var(--space-4)}.grid2{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.stat-card .num{font-size:28px}th,td{padding:10px}.cd-num{font-size:22px}}
