*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #0f1117;--color-surface: #1a1d27;--color-card: #222639;--color-border: #2d3145;--color-text: #e4e6f0;--color-muted: #8b8fa3;--color-accent: #f59e0b;--color-danger: #ef4444;--color-success: #22c55e;--radius: 10px}@media(prefers-color-scheme:light){:root{--color-bg: #f3f4f6;--color-surface: #ffffff;--color-card: #e5e7eb;--color-border: #d1d5db;--color-text: #1f2937;--color-muted: #6b7280}.header{background:linear-gradient(135deg,#e2e8f0,#cbd5e1)}}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--color-bg);color:var(--color-text);line-height:1.5}.app{min-height:100vh}.header{background:linear-gradient(135deg,#475569,#334155);border-bottom:1px solid var(--color-border);padding:10px 0;overflow-x:hidden}.header-content{max-width:1000px;margin:0 auto;padding:0 24px}.header-row{display:flex;justify-content:space-between;align-items:center}.header-left{display:flex;align-items:center;gap:16px;margin:0 auto;max-width:100%}.header-logo{height:200px;width:auto}.header-titles{display:flex;flex-direction:column}.header-titles-top{display:flex;align-items:center;justify-content:space-between;gap:48px}.header h1{font-size:1.75rem;font-weight:700;color:var(--color-accent);margin:0}.header-auth{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.header-user{color:var(--color-muted);font-size:.85rem}.btn-auth{background:var(--color-accent);color:#000;border:none;border-radius:8px;padding:10px 24px;font-weight:700;cursor:pointer;font-size:.95rem}.btn-auth:hover{opacity:.85}.btn-auth.btn-danger{background:var(--color-danger);color:#fff}.header-subtitle{color:var(--color-muted);margin:0;font-size:.95rem}.main{width:100%}.main-inner{max-width:1000px;margin:0 auto;padding:20px 24px}.filters{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px;align-items:flex-start}.filters-row{display:flex;flex-wrap:wrap;gap:16px;flex:1 1 100%;justify-content:center}.filters-row-options{gap:24px;align-items:center}.filters-row select,.filters-row input{min-width:140px}.filters select,.filters input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);padding:8px 12px;font-size:.875rem;min-width:140px}.filters select{width:155px}.select-category{width:175px!important;font-weight:600}.multi-select-wrap{position:relative;min-width:140px}.multi-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:155px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);padding:8px 12px;font-size:.875rem;cursor:pointer;font-weight:600}.multi-select-trigger.has-selection{color:var(--color-accent)}.multi-select-arrow{font-size:.65rem;color:var(--color-muted)}.multi-select-dropdown{position:absolute;top:100%;left:0;z-index:100;background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;padding:4px 0;margin-top:4px;min-width:100%;white-space:nowrap}.multi-select-option{display:flex;align-items:center;gap:2px;padding:6px 12px;cursor:pointer;font-size:.85rem;color:var(--color-text);transition:background .1s}.multi-select-option:hover{background:var(--color-card)}.multi-select-option input{accent-color:var(--color-accent);width:14px;height:14px;margin:0;min-width:unset}.filters select:focus,.filters input:focus{outline:none;border-color:var(--color-accent)}.btn-clear{background:transparent;border:1px solid var(--color-border);color:var(--color-muted);border-radius:6px;padding:8px 14px;cursor:pointer;font-size:.85rem}.btn-clear:hover{border-color:var(--color-text);color:var(--color-text)}.checkbox-label{display:flex;align-items:center;gap:4px;cursor:pointer;font-size:.875rem;white-space:nowrap}.checkbox-label input[type=checkbox]{accent-color:var(--color-accent);width:14px;height:14px;margin:0;padding:0;min-width:unset;border:none}.event-count{color:var(--color-muted);margin-bottom:16px;font-size:.9rem}.banner-register{margin-top:24px;margin-bottom:16px;padding:14px 18px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-muted);font-size:.85rem;text-align:center;line-height:1.5}.events-grid{display:grid;gap:12px}.spoiler{margin:20px 0}.spoiler-btn{background:none;border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-muted);cursor:pointer;display:flex;align-items:center;gap:8px;font-size:.85rem;padding:8px 14px;width:100%;transition:color .15s,border-color .15s}.spoiler-btn:hover{color:var(--color-text);border-color:var(--color-muted)}.spoiler-chevron{margin-left:auto;transition:transform .2s;font-size:.7rem}.spoiler-chevron.open{transform:rotate(180deg)}.spoiler-content{margin-top:12px}.event-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);display:flex;gap:16px;padding:16px;transition:border-color .15s}.event-card:hover{border-color:var(--color-muted)}.event-card.sold-out{opacity:.65}.event-card.past{opacity:.5}.event-date-icon{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:60px;background:var(--color-surface);border-radius:8px;padding:8px 4px}.event-day{font-size:1.4rem;font-weight:700;line-height:1}.event-month{font-size:.75rem;color:var(--color-muted);margin-top:2px}.event-body{flex:1;min-width:0}.event-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.event-track{font-size:1.05rem;font-weight:600}.event-meta{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px;font-size:.82rem;color:var(--color-muted)}.meta-country{font-weight:600;text-transform:uppercase}.event-note{margin-top:6px;font-size:.85rem;color:var(--color-muted)}.event-footer{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.event-price{font-weight:600;color:var(--color-accent)}.btn-detail{background:var(--color-accent);color:#000;text-decoration:none;padding:5px 14px;border-radius:6px;font-size:.82rem;font-weight:600}.btn-detail:hover{opacity:.85}.badge{font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:4px;text-transform:uppercase}.badge-sold{background:var(--color-danger);color:#fff}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:24px}.pagination button{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);border-radius:6px;padding:8px 18px;cursor:pointer;font-size:.85rem}.pagination button:disabled{opacity:.4;cursor:default}.pagination button:not(:disabled):hover{border-color:var(--color-accent)}.pagination span{color:var(--color-muted);font-size:.85rem}.loading,.error,.empty{text-align:center;padding:48px 0;color:var(--color-muted)}.error{color:var(--color-danger)}.toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:24px}.toolbar .filters{margin-bottom:0;flex:1}.view-toggle{display:flex;gap:0;flex-shrink:0}.view-toggle button{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-muted);padding:8px 18px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .15s}.view-toggle button:first-child{border-radius:6px 0 0 6px}.view-toggle button:last-child{border-radius:0 6px 6px 0}.view-toggle button.active{background:var(--color-accent);color:#000;border-color:var(--color-accent)}.view-toggle button:not(.active):hover{color:var(--color-text);border-color:var(--color-text)}.split-view{display:flex;gap:24px;align-items:flex-start;max-width:100%}.split-left{width:350px;flex-shrink:0}.split-right{flex:1;min-width:0;max-width:100%}@media(max-width:768px){.split-view{flex-direction:column}.split-left,.split-right{width:100%}.calendar-cell{min-height:50px;padding:4px}}.calendar-view{width:100%}.calendar-nav{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:16px}.calendar-nav button{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);border-radius:6px;padding:6px 16px;cursor:pointer;font-size:1rem}.calendar-nav button:hover{border-color:var(--color-accent)}.calendar-title{font-size:1.15rem;font-weight:700;min-width:160px;text-align:center}.calendar-grid{border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.calendar-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-cell{min-height:80px;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding:6px;position:relative}.calendar-cell:nth-child(7n){border-right:none}.calendar-row:last-child .calendar-cell{border-bottom:none}.header-cell{min-height:auto;padding:10px 6px;font-size:.78rem;font-weight:700;color:var(--color-muted);text-transform:uppercase;text-align:center;background:var(--color-surface)}.empty{background:var(--color-bg)}.day-cell{cursor:pointer;transition:background .15s}.day-cell:hover{background:var(--color-surface)}.day-cell.past{opacity:.35}.day-cell.today{background:var(--color-surface);border-color:var(--color-accent)}.day-cell.selected{background:#f59e0b1f;border-color:var(--color-accent)}.day-number{font-size:.85rem;font-weight:600}.day-dot{display:inline-flex;align-items:center;justify-content:center;background:var(--color-accent);color:#000;font-size:.65rem;font-weight:700;border-radius:10px;min-width:18px;height:18px;padding:0 4px;margin-left:6px}.day-continues{display:inline-flex;align-items:center;justify-content:center;background:var(--color-danger);color:#fff;font-size:.6rem;font-weight:700;border-radius:10px;min-width:18px;height:18px;padding:0 4px;margin-left:4px}.day-detail{margin-top:20px}.day-detail-title{font-size:1.1rem;font-weight:700;margin-bottom:12px;display:flex;align-items:center;gap:10px}.day-detail-count{font-size:.8rem;color:var(--color-muted);font-weight:400}.auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.auth-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:32px;width:360px;max-width:90vw;position:relative}.auth-close{position:absolute;top:12px;right:16px;background:none;border:none;color:var(--color-muted);font-size:1.4rem;cursor:pointer}.auth-modal h2{margin-bottom:20px}.auth-modal form{display:flex;flex-direction:column;gap:12px}.auth-modal input{background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);padding:10px 12px;font-size:.9rem}.auth-modal input:focus{outline:none;border-color:var(--color-accent)}.auth-modal button[type=submit]{background:var(--color-accent);color:#000;border:none;border-radius:6px;padding:10px;font-weight:700;cursor:pointer;font-size:.9rem}.auth-modal button[type=submit]:disabled{opacity:.5}.auth-error{color:var(--color-danger);font-size:.85rem}.auth-hint{font-size:.8rem;color:var(--color-muted);margin:-8px 0 0;line-height:1.4}.auth-consent{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--color-muted);margin:8px 0 0;cursor:pointer}.auth-consent input[type=checkbox]{width:auto;accent-color:var(--color-accent)}.auth-consent a{color:var(--color-accent);text-decoration:underline}.auth-toggle{margin-top:16px;text-align:center;font-size:.85rem;color:var(--color-muted)}.auth-toggle a{color:var(--color-accent)}.btn-close-register{display:block;margin:8px auto 0;background:var(--color-accent);color:#000;border:none;border-radius:8px;padding:14px 28px;font-weight:700;font-size:1rem;cursor:pointer}.btn-close-register:hover{opacity:.9}.settings-modal{width:420px}.settings-menu{display:flex;flex-direction:column;gap:12px;margin-top:8px}.settings-btn{width:100%;text-align:center;padding:12px;font-size:.95rem;border-radius:8px}.settings-section h3{color:var(--color-text);margin-bottom:12px;font-size:1rem}.settings-warning{color:var(--color-danger);font-size:.85rem;margin-bottom:12px}.settings-section input{width:100%;background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);padding:10px 12px;font-size:.9rem;margin-bottom:8px}.settings-section input:focus{outline:none;border-color:var(--color-accent)}.settings-actions{display:flex;gap:8px;margin-top:4px}.settings-actions .btn-auth{flex:1;text-align:center}.header-user{cursor:pointer}.header-user:hover{text-decoration:underline}.btn-logout-small{font-size:.75rem;padding:4px 10px}.auth-ok{color:#22c55e;font-size:.85rem}.event-detail-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:32px;width:480px;max-width:90vw;position:relative}.event-detail-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:24px}.event-detail-date-icon{display:flex;flex-direction:column;align-items:center;background:var(--color-bg);border-radius:10px;padding:8px 14px;min-width:56px}.event-detail-date-icon .event-day{font-size:1.3rem;font-weight:700;color:var(--color-accent);line-height:1.2}.event-detail-date-icon .event-month{font-size:.75rem;color:var(--color-muted)}.event-detail-title-group{flex:1}.event-detail-title-group h2{font-size:1.2rem;color:var(--color-text);margin:0 0 4px}.event-detail-agency{font-size:.85rem;color:var(--color-muted)}.event-detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.event-detail-meta-item{display:flex;flex-direction:column;gap:2px}.meta-label{font-size:.75rem;color:var(--color-muted);text-transform:uppercase;letter-spacing:.5px}.meta-label.status{color:var(--color-danger)}.meta-value{font-size:.9rem;color:var(--color-text)}.event-detail-note{font-size:.9rem;color:var(--color-text-secondary);line-height:1.5;margin-bottom:24px;padding:12px;background:var(--color-bg);border-radius:8px}.event-detail-footer{display:flex;gap:10px}.event-detail-footer .btn-auth,.event-detail-footer .btn-detail-link{flex:1;text-align:center;padding:12px;font-size:.9rem;border-radius:8px;text-decoration:none}.btn-detail-link{display:inline-block;background:var(--color-accent);color:#000;border:none;font-weight:700;cursor:pointer}.btn-detail-link:hover{opacity:.9}@media(max-width:600px){.header-content{padding:0 12px}.header-left{flex-direction:column;gap:8px}.header-logo{height:120px}.header-titles-top{flex-direction:column;gap:8px}.header h1{font-size:1.1rem;text-align:center;overflow:hidden;text-overflow:ellipsis}.header-subtitle{text-align:center}.header-auth{justify-content:center}.btn-auth{padding:8px 16px;font-size:.85rem}.filters{flex-direction:column;align-items:stretch}.filters select,.filters input{width:100%}.event-card{flex-direction:column;gap:10px}.event-date-icon{flex-direction:row;gap:6px;min-width:auto;padding:6px 12px}}.admin-overlay{max-width:1000px;margin:20px auto;padding:0 24px}.admin-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:24px}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.admin-header h2{color:var(--color-accent)}.admin-tabs{display:flex;gap:8px;margin-bottom:16px}.admin-tabs button{background:var(--color-card);border:1px solid var(--color-border);color:var(--color-muted);padding:8px 18px;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600}.admin-tabs button.active{background:var(--color-accent);color:#000;border-color:var(--color-accent)}.admin-error{color:var(--color-danger);margin-bottom:12px;font-size:.85rem}.admin-table{width:100%;border-collapse:collapse;font-size:.82rem}.admin-table th,.admin-table td{padding:6px 10px;border-bottom:1px solid var(--color-border);text-align:left}.admin-table th{color:var(--color-muted);font-weight:600;font-size:.78rem;text-transform:uppercase;position:sticky;top:0;background:var(--color-surface)}.admin-table td{color:var(--color-text)}.admin-actions{white-space:nowrap}.btn-small{border:none;border-radius:4px;padding:3px 10px;font-size:.78rem;font-weight:600;cursor:pointer;margin:0 2px}.btn-edit{background:var(--color-accent);color:#000}.btn-delete{background:var(--color-danger);color:#fff}.admin-events{max-height:500px;overflow-y:auto}.admin-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.admin-modal-content{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:24px;width:480px;max-width:90vw;max-height:80vh;overflow-y:auto}.admin-modal-content h3{margin-bottom:16px}.admin-form{display:flex;flex-direction:column;gap:8px}.admin-form label{display:flex;gap:8px;align-items:center;font-size:.85rem;color:var(--color-muted)}.admin-form label input,.admin-form label select{flex:1;background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text);padding:6px 10px;font-size:.85rem}.admin-form label input:focus,.admin-form label select:focus{outline:none;border-color:var(--color-accent)}.admin-form-actions{display:flex;gap:8px;margin-top:16px;justify-content:flex-end}
