:root{color-scheme:light;--bg: #F4EDE0;--surface: #FDFAF3;--surface-2: #F9F3E7;--surface-3: #EFE4D0;--text: #3B2E22;--text-soft: #6B5847;--text-muted: #9A8874;--primary: #8B6F47;--primary-dark: #6B4E2E;--primary-soft: #E8DBC5;--success: #7A8B4A;--success-soft: #E8ECD5;--danger: #B4553E;--danger-soft: #F5DDD3;--warning: #C4A047;--warning-soft: #F5ECC8;--border: #D8CBB5;--border-strong: #B8A88F;--radius: 16px;--radius-sm: 10px;--radius-lg: 20px;--shadow: 0 4px 18px rgba(90, 60, 30, .06);--shadow-soft: 0 2px 8px rgba(90, 60, 30, .04);--safe-bottom: env(safe-area-inset-bottom, 0)}[data-theme=dark]{color-scheme:dark;--bg: #2A1F16;--surface: #3B2E22;--surface-2: #4A3826;--surface-3: #5A4732;--text: #F4EDE0;--text-soft: #C4B4A0;--text-muted: #9A8874;--primary: #C4A47C;--primary-dark: #B8946A;--primary-soft: #4A3826;--success: #B0C480;--success-soft: #4A5A2E;--danger: #D4816B;--danger-soft: #5A3226;--warning: #DDBE72;--warning-soft: #5A4A26;--border: #4A3826;--border-strong: #6B5847;--shadow: 0 4px 18px rgba(0, 0, 0, .3);--shadow-soft: 0 2px 8px rgba(0, 0, 0, .2)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg);color:var(--text);font-size:15px;line-height:1.5;transition:background .25s ease,color .25s ease}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-dark)}img{max-width:100%;display:block}button,input,textarea,select{font-family:inherit;font-size:inherit}h1,h2,h3,h4{font-family:Fraunces,Playfair Display,Georgia,Times New Roman,serif;font-weight:500;letter-spacing:-.01em;color:var(--text);margin:0}.app{max-width:560px;margin:0 auto;min-height:100%;position:relative;background:var(--bg);padding-bottom:calc(72px + var(--safe-bottom))}.app--noNav{padding-bottom:var(--safe-bottom)}.container{padding:16px}.page-title{font-family:Fraunces,Georgia,serif;font-size:26px;font-weight:500;letter-spacing:-.01em;margin:6px 0 16px;color:var(--text)}.section-title{font-size:12px;font-weight:600;color:var(--text-soft);text-transform:uppercase;letter-spacing:.12em;margin:20px 0 12px;display:flex;align-items:center;gap:10px}.section-title:before,.section-title:after{content:"";flex:1;height:1px;background:var(--border)}.app-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--bg);border-bottom:1px solid var(--border)}.app-header__back{width:38px;height:38px;border-radius:50%;background:var(--surface);border:1px solid var(--border);display:grid;place-items:center;cursor:pointer;color:var(--text);transition:background .15s}.app-header__back:hover{background:var(--surface-2)}.app-header__title{font-family:Fraunces,Georgia,serif;font-weight:500;font-size:18px;flex:1;color:var(--text)}.theme-toggle{width:38px;height:38px;border-radius:50%;background:var(--surface);border:1px solid var(--border);display:grid;place-items:center;cursor:pointer;color:var(--text-soft);font-size:18px;transition:background .15s,color .15s}.theme-toggle:hover{background:var(--surface-2);color:var(--primary)}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:560px;display:flex;background:var(--surface);border-top:1px solid var(--border);padding-bottom:var(--safe-bottom);z-index:100;box-shadow:0 -2px 12px #5a3c1e0a}.bottom-nav a{flex:1;padding:10px 4px;display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--text-muted);font-size:11px;font-weight:500;transition:color .15s}.bottom-nav a.active{color:var(--primary)}.bottom-nav__icon{font-size:22px;line-height:1}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-soft);margin-bottom:12px}.card--clickable{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.card--clickable:hover{box-shadow:var(--shadow)}.card--clickable:active{transform:scale(.98)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:var(--radius-sm);border:none;cursor:pointer;font-family:Manrope,sans-serif;font-weight:600;font-size:15px;letter-spacing:.01em;transition:opacity .12s,transform .08s,background .15s;background:var(--primary);color:#fff;width:100%}.btn:hover{background:var(--primary-dark)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}[data-theme=dark] .btn--secondary{color:var(--text)}.btn--secondary:hover{background:var(--surface-3)}.btn--ghost{background:transparent;color:var(--primary);border:1.5px solid var(--primary)}.btn--ghost:hover{background:var(--primary-soft)}.btn--danger{background:var(--danger);color:#fff}.btn--danger:hover{background:var(--danger);opacity:.9}.btn--small{padding:8px 14px;font-size:13px;width:auto}.btn--inline{width:auto}.field{margin-bottom:14px}.field label{display:block;font-size:12px;color:var(--text-soft);margin-bottom:6px;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.field input,.field textarea,.field select{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.field textarea{min-height:90px;resize:vertical}.field__row{display:flex;gap:10px;align-items:center}.checkbox{display:flex;gap:10px;align-items:flex-start;padding:8px 0;cursor:pointer}.checkbox input{margin-top:4px;accent-color:var(--primary)}.checkbox span{font-size:13px;color:var(--text-soft)}.profile-card{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;border-radius:var(--radius);padding:20px;margin-bottom:16px;box-shadow:var(--shadow);position:relative;overflow:hidden}.profile-card:after{content:"";position:absolute;top:-20px;right:-30px;width:120px;height:120px;border-radius:50%;background:#ffffff0d;pointer-events:none}.profile-card__top{display:flex;gap:14px;align-items:center;position:relative;z-index:1}.avatar{width:64px;height:64px;border-radius:50%;background:#fff3;display:inline-grid;place-items:center;font-family:Fraunces,serif;font-size:26px;font-weight:600;overflow:hidden;flex-shrink:0;border:2px solid rgba(255,255,255,.3)}.avatar img{width:100%;height:100%;object-fit:cover;object-position:center}.avatar--lg{width:120px;height:120px;font-size:46px;border-width:3px}.profile-card__name{font-family:Fraunces,serif;font-size:20px;font-weight:500;letter-spacing:-.01em}.profile-card__username{font-size:13px;opacity:.85;margin-top:2px}.profile-card__tariff{display:inline-block;margin-top:8px;padding:4px 12px;border-radius:999px;background:#fff3;border:1px solid rgba(255,255,255,.15);font-size:12px;font-weight:600}.profile-card__btn{margin-top:14px;width:100%;padding:11px;border-radius:var(--radius-sm);background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.15);font-weight:600;cursor:pointer;font-family:inherit;font-size:14px;position:relative;z-index:1;transition:background .15s}.profile-card__btn:hover{background:#ffffff47}.profile-card__btn:active{background:#ffffff59}.event-card{padding:0;overflow:hidden}.event-card__photo{width:100%;aspect-ratio:16/9;background:var(--surface-2) center/cover no-repeat}.event-card__body{padding:14px 16px}.event-card__title{font-family:Fraunces,serif;font-weight:500;font-size:18px;letter-spacing:-.01em;margin-bottom:6px;color:var(--text)}.event-card__meta{color:var(--text-soft);font-size:13px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.02em;background:var(--surface-2);color:var(--text-soft);border:1px solid var(--border)}.badge--free{background:var(--success-soft);color:var(--success);border-color:var(--success)}.badge--paid{background:var(--primary-soft);color:var(--primary-dark);border-color:var(--primary)}.badge--success{background:var(--success-soft);color:var(--success);border-color:var(--success)}.badge--warn{background:var(--warning-soft);color:var(--warning);border-color:var(--warning)}.badge--danger{background:var(--danger-soft);color:var(--danger);border-color:var(--danger)}.user-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.user-row:last-child{border-bottom:none}.user-row__name{font-weight:600;font-size:14px;color:var(--text)}.user-row__sub{font-size:12px;color:var(--text-soft)}.tariff-card{border:2px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:12px;background:var(--surface);position:relative;transition:border-color .15s,box-shadow .15s}.tariff-card:hover{box-shadow:var(--shadow)}.tariff-card--current{border-color:var(--primary);background:var(--primary-soft)}.tariff-card__name{font-family:Fraunces,serif;font-weight:500;font-size:22px;color:var(--text)}.tariff-card__price{font-family:Fraunces,serif;font-size:32px;font-weight:600;color:var(--primary);margin:8px 0;letter-spacing:-.02em}.tariff-card__features{list-style:none;padding:0;margin:12px 0}.tariff-card__features li{padding:5px 0 5px 24px;font-size:14px;position:relative;color:var(--text-soft)}.tariff-card__features li:before{content:"✓";position:absolute;left:0;color:var(--primary);font-weight:700}.tariff-card__current{position:absolute;top:12px;right:12px;background:var(--primary);color:#fff;padding:3px 12px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.03em}.toast-host{position:fixed;top:16px;left:16px;right:16px;z-index:1000;pointer-events:none}.toast{background:var(--text);color:var(--surface);padding:12px 16px;border-radius:var(--radius-sm);margin-bottom:8px;font-size:14px;box-shadow:var(--shadow);pointer-events:auto}.toast--success{background:var(--success);color:#fff}.toast--error{background:var(--danger);color:#fff}.empty{text-align:center;padding:48px 20px;color:var(--text-soft)}.empty__icon{font-size:48px;margin-bottom:12px;opacity:.6}.empty h3{font-family:Fraunces,serif;font-weight:500;color:var(--text);font-size:20px;margin-bottom:8px}.spinner{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;margin:30px auto}@keyframes spin{to{transform:rotate(360deg)}}.admin{max-width:1100px;margin:0 auto;padding:20px;background:var(--bg);min-height:100vh}.admin__sidebar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px;background:var(--surface);padding:8px;border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-soft)}.admin__sidebar a{padding:8px 14px;border-radius:var(--radius-sm);color:var(--text-soft);font-weight:500;font-size:14px;transition:background .15s,color .15s}.admin__sidebar a:hover{background:var(--surface-2)}.admin__sidebar a.active{background:var(--primary);color:#fff}.admin-table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:var(--radius);overflow:hidden;border:1px solid var(--border)}.admin-table th,.admin-table td{padding:12px;text-align:left;border-bottom:1px solid var(--border);font-size:14px;color:var(--text)}.admin-table th{background:var(--surface-2);font-weight:600;color:var(--text-soft);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.admin-table tr:last-child td{border-bottom:none}.admin-table tr.clickable{cursor:pointer}.admin-table tr.clickable:hover{background:var(--surface-2)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#2b1e1680;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:999;display:grid;place-items:center;padding:16px}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;max-width:480px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 20px 60px #2b1e1640}.modal h3{font-family:Fraunces,serif;font-weight:500;margin:0 0 16px;font-size:22px;color:var(--text)}.modal__close{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;border:1px solid var(--border);background:var(--surface-2);color:var(--text-soft);font-size:18px;line-height:1;cursor:pointer;display:grid;place-items:center;z-index:1;transition:background .15s,color .15s}.modal__close:hover{background:var(--surface-3);color:var(--text)}.row-flex{display:flex;gap:10px;align-items:center}.row-flex>*{flex:1}.muted{color:var(--text-soft);font-size:13px}.divider{display:flex;align-items:center;gap:12px;margin:24px 0;color:var(--primary)}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border)}.divider__icon{font-size:14px;opacity:.7}.icon-circle{width:48px;height:48px;border-radius:50%;background:var(--primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.icon-circle--sm{width:36px;height:36px;font-size:16px}.icon-circle--lg{width:64px;height:64px;font-size:28px}.icon-circle--soft{background:var(--primary-soft);color:var(--primary-dark)}.hand{font-family:Caveat,Dancing Script,cursive;font-size:1.4em;color:var(--primary);font-weight:500}@media (max-width: 640px){.admin{padding:12px}.admin-table{font-size:13px}.admin-table th,.admin-table td{padding:8px}}:root,[data-theme=light]{--tg-theme-bg-color: #F4EDE0;--tg-theme-secondary-bg-color: #F9F3E7;--tg-theme-text-color: #3B2E22;--tg-theme-hint-color: #6B5847;--tg-theme-link-color: #8B6F47;--tg-theme-button-color: #8B6F47;--tg-theme-button-text-color: #FFFFFF;--tg-theme-section-bg-color: #FDFAF3;--tg-theme-section-header-text-color: #3B2E22;--tg-theme-subtitle-text-color: #6B5847;--tg-theme-accent-text-color: #8B6F47;--tg-theme-header-bg-color: #F4EDE0;--tg-theme-destructive-text-color: #B4553E}[data-theme=dark]{--tg-theme-bg-color: #2A1F16;--tg-theme-secondary-bg-color: #4A3826;--tg-theme-text-color: #F4EDE0;--tg-theme-hint-color: #C4B4A0;--tg-theme-link-color: #C4A47C;--tg-theme-button-color: #C4A47C;--tg-theme-button-text-color: #2A1F16;--tg-theme-section-bg-color: #3B2E22;--tg-theme-section-header-text-color: #F4EDE0;--tg-theme-subtitle-text-color: #C4B4A0;--tg-theme-accent-text-color: #C4A47C;--tg-theme-header-bg-color: #2A1F16;--tg-theme-destructive-text-color: #D4816B}input,textarea,select{background-color:var(--surface);color:var(--text)}input::placeholder,textarea::placeholder{color:var(--text-muted)}
