*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0f0f0f;--bg-card: #1a1a1a;--border: #2a2a2a;--text: #f0f0f0;--text-muted: #888;--accent: #c9a84c;--accent-hover: #dbbe6a;--danger: #e74c3c;--success: #2ecc71}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}.login-screen{display:flex;align-items:center;justify-content:center;min-height:100vh}.login-box{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:48px;width:100%;max-width:400px;text-align:center}.login-box h1{font-size:1.4rem;color:var(--accent);margin-bottom:8px}.login-box p{color:var(--text-muted);font-size:.9rem;margin-bottom:24px}.login-box input{width:100%;padding:12px 16px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:1rem;margin-bottom:16px}.login-box input:focus{outline:none;border-color:var(--accent)}.login-box button{width:100%;padding:12px;background:var(--accent);color:#000;border:none;border-radius:6px;font-weight:600;cursor:pointer;font-size:1rem}.login-box button:hover{background:var(--accent-hover)}.error-msg{color:var(--danger);font-size:.85rem;margin-top:12px;display:none}.admin-layout{display:none}.admin-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:var(--bg-card);border-bottom:1px solid var(--border)}.admin-header h1{font-size:1.1rem;color:var(--accent)}.admin-header .user-info{font-size:.85rem;color:var(--text-muted);margin-right:12px}.admin-header .actions{display:flex;gap:12px;align-items:center}.btn{padding:8px 16px;border:1px solid var(--border);background:transparent;color:var(--text-muted);border-radius:6px;cursor:pointer;font-size:.85rem;transition:all .2s;text-decoration:none}.btn:hover{border-color:var(--accent);color:var(--accent)}.btn-primary{background:var(--accent);color:#000;border-color:var(--accent)}.btn-primary:hover{background:var(--accent-hover)}.btn-danger{border-color:var(--danger);color:var(--danger)}.btn-danger:hover{background:var(--danger);color:#fff}.btn-sm{padding:4px 8px;font-size:.8rem}.admin-body{display:flex;min-height:calc(100vh - 57px)}.admin-sidebar{width:220px;background:var(--bg-card);border-right:1px solid var(--border);padding:16px 0}.admin-sidebar a{display:block;padding:10px 24px;color:var(--text-muted);text-decoration:none;font-size:.9rem;transition:all .2s}.admin-sidebar a:hover,.admin-sidebar a.active{color:var(--accent);background:#c9a84c0d}.sidebar-divider{height:1px;background:var(--border);margin:12px 0}.sidebar-label{display:block;padding:6px 24px;font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;pointer-events:none}.admin-content{flex:1;padding:32px;max-width:900px}.admin-content h2{font-size:1.3rem;margin-bottom:24px;color:var(--text)}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:.85rem;color:var(--text-muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.form-group input,.form-group textarea,.form-group select{width:100%;padding:10px 14px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-family:inherit;font-size:.95rem}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--accent)}.form-group textarea{min-height:120px;resize:vertical}.form-group select{cursor:pointer}.form-group select option{background:var(--bg-card);color:var(--text)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:24px;margin-bottom:16px}.event-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:16px;margin-bottom:12px;display:flex;gap:14px;align-items:stretch;box-shadow:0 2px 8px #0000004d;transition:border-color .2s}.event-card:hover{border-color:#3a3a3a}.event-card .date-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:60px;padding:10px 8px;background:#c9a84c14;border:1px solid rgba(201,168,76,.15);border-radius:8px;flex-shrink:0}.event-card .date-badge .month-text{font-size:.7rem;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:1px;margin-bottom:2px}.event-card .date-badge .day-text{font-size:1.5rem;font-weight:800;color:#fff;line-height:1}.event-card .date-badge input{width:100%;text-align:center;padding:4px 2px;background:transparent;border:1px solid transparent;border-radius:4px;color:inherit;font:inherit}.event-card .date-badge input:hover,.event-card .date-badge input:focus{background:var(--bg);border-color:var(--border);outline:none}.event-card .date-badge input.month-input{font-size:.7rem;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:1px;margin-bottom:2px}.event-card .date-badge input.day-input{font-size:1.5rem;font-weight:800;color:#fff;line-height:1}.event-card .fields-zone{flex:1;display:flex;flex-direction:column;gap:8px;min-width:0}.event-card .field-label{display:block;font-size:.65rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;margin-bottom:3px}.event-card .field-group{display:flex;flex-direction:column}.event-card .field-row{display:flex;gap:8px}.event-card .field-row .field-group{flex:1;min-width:0}.event-card .fields-zone input{width:100%;padding:8px 10px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.88rem;font-family:inherit;transition:border-color .2s}.event-card .fields-zone input:focus{outline:none;border-color:var(--accent)}.event-card .fields-zone input::placeholder{color:#555}.event-card .trash-zone{display:flex;align-items:flex-start;padding-top:4px;flex-shrink:0}.event-card .trash-btn,.disc-card .trash-btn{background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;font-size:1.2rem;padding:6px 8px;color:var(--text-muted);transition:all .2s;line-height:1}.event-card .trash-btn:hover,.disc-card .trash-btn:hover{color:var(--danger);background:#e74c3c1a;border-color:#e74c3c4d}.disc-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:20px;margin-bottom:12px;display:flex;gap:16px;align-items:flex-start;box-shadow:0 2px 8px #0000004d;transition:border-color .2s}.disc-card:hover{border-color:#3a3a3a}.disc-card .disc-icon{display:flex;align-items:center;justify-content:center;min-width:48px;height:48px;background:#c9a84c14;border:1px solid rgba(201,168,76,.15);border-radius:50%;font-size:1.3rem;flex-shrink:0}.disc-card .fields-zone{flex:1;display:flex;flex-direction:column;gap:8px;min-width:0}.disc-card .field-label{display:block;font-size:.65rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;margin-bottom:3px}.disc-card .field-group{display:flex;flex-direction:column}.disc-card .field-row{display:flex;gap:8px}.disc-card .field-row .field-group{flex:1;min-width:0}.disc-card .fields-zone input{width:100%;padding:8px 10px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.88rem;font-family:inherit;transition:border-color .2s}.disc-card .fields-zone input:focus{outline:none;border-color:var(--accent)}.disc-card .fields-zone input::placeholder{color:#555}.disc-card .trash-zone{display:flex;align-items:flex-start;padding-top:2px;flex-shrink:0}.users-table{width:100%;border-collapse:collapse;margin-bottom:24px}.users-table th,.users-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border)}.users-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.users-table td{font-size:.9rem}.role-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.role-badge.admin{background:#c9a84c26;color:var(--accent)}.role-badge.editor{background:#2ecc7126;color:var(--success)}.you-badge{display:inline-block;margin-left:8px;padding:1px 6px;border-radius:3px;font-size:.7rem;background:#ffffff14;color:var(--text-muted)}@media(max-width:600px){.admin-body{flex-direction:column}.admin-sidebar{width:100%;display:flex;flex-wrap:wrap;overflow-x:auto;padding:8px 0;border-right:none;border-bottom:1px solid var(--border)}.admin-sidebar a{white-space:nowrap;padding:8px 16px}.sidebar-divider,.sidebar-label{display:none}.admin-content{padding:16px}.event-card{flex-direction:row;flex-wrap:wrap;gap:10px;padding:14px}.event-card .date-badge{min-width:56px;padding:8px 6px}.event-card .fields-zone{flex-basis:calc(100% - 120px)}.event-card .field-row{flex-direction:column;gap:8px}.event-card .trash-zone{position:absolute;right:14px;top:14px}.event-card{position:relative}.disc-card{flex-wrap:wrap}.disc-card .field-row{flex-direction:column;gap:8px}.users-table th:nth-child(3),.users-table td:nth-child(3){display:none}}.status-bar{position:fixed;bottom:0;left:0;right:0;padding:12px 24px;background:var(--bg-card);border-top:1px solid var(--border);font-size:.85rem;color:var(--text-muted);text-align:center;display:none}.status-bar.success{color:#2ecc71}.status-bar.error{color:var(--danger)}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.modal-box{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:32px;width:100%;max-width:420px}.modal-box h3{font-size:1.1rem;color:var(--accent);margin-bottom:20px}.modal-actions{display:flex;gap:12px;margin-top:20px;justify-content:flex-end}.btn-warning{border-color:#e67e22;color:#e67e22}.btn-warning:hover{background:#e67e22;color:#fff}.event-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:200}.event-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:28px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto}.event-modal h3{font-size:1.1rem;color:var(--accent);margin-bottom:20px}.mini-cal{margin-bottom:20px}.mini-cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.mini-cal-header button{background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text);cursor:pointer;padding:4px 10px;font-size:1rem;transition:border-color .2s}.mini-cal-header button:hover{border-color:var(--accent);color:var(--accent)}.mini-cal-header span{font-weight:700;font-size:.9rem;color:var(--text)}.mini-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.mini-cal-grid .cal-dow{font-size:.65rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;padding:4px 0}.mini-cal-grid .cal-day{padding:6px 0;border-radius:6px;cursor:pointer;font-size:.8rem;color:var(--text);background:transparent;border:1px solid transparent;position:relative;transition:all .15s}.mini-cal-grid .cal-day:hover{background:#c9a84c1a;border-color:#c9a84c4d}.mini-cal-grid .cal-day.selected{background:var(--accent);color:#000;font-weight:700}.mini-cal-grid .cal-day.has-event:after{content:"";position:absolute;bottom:2px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:var(--accent)}.mini-cal-grid .cal-day.selected.has-event:after{background:#000}.mini-cal-grid .cal-day.other-month{color:#444}.mini-cal-grid .cal-day.today{border-color:var(--accent)}.venue-select-wrap{margin-bottom:16px}.venue-select-wrap select,.venue-select-wrap input{width:100%;padding:8px 10px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.88rem;font-family:inherit}.venue-select-wrap select:focus,.venue-select-wrap input:focus{outline:none;border-color:var(--accent)}.venue-new-input{margin-top:8px}.time-picker-row{display:flex;gap:12px;margin-bottom:16px}.time-picker-row .time-group{flex:1;display:flex;flex-direction:column}.time-picker-row label{font-size:.65rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;margin-bottom:4px}.time-picker-row select{width:100%;padding:8px 10px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.88rem;font-family:inherit}.time-picker-row select:focus{outline:none;border-color:var(--accent)}.event-modal .em-field{margin-bottom:16px}.event-modal .em-field label{display:block;font-size:.65rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;margin-bottom:4px}.event-modal .em-field input{width:100%;padding:8px 10px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.88rem;font-family:inherit}.event-modal .em-field input:focus{outline:none;border-color:var(--accent)}.event-modal .em-field input::placeholder{color:#555}.event-modal-actions{display:flex;gap:12px;margin-top:24px;justify-content:flex-end}.gallery-upload-zone{border:2px dashed var(--border);border-radius:12px;padding:40px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;margin-bottom:24px}.gallery-upload-zone:hover,.gallery-upload-zone.dragover{border-color:var(--accent);background:#c9a84c0d}.gallery-upload-zone p{color:var(--text-muted);margin-bottom:8px}.gallery-upload-zone .hint{font-size:.8rem;color:var(--text-muted)}.upload-queue{margin-bottom:24px}.upload-queue-item{display:flex;gap:12px;align-items:flex-start;padding:12px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;margin-bottom:8px}.upload-queue-item .preview{width:80px;height:80px;object-fit:cover;border-radius:6px;background:var(--bg);flex-shrink:0}.upload-queue-item .preview-placeholder{width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:var(--bg);border-radius:6px;font-size:.7rem;color:var(--text-muted);text-transform:uppercase;flex-shrink:0}.upload-queue-item .fields{flex:1;display:flex;flex-direction:column;gap:6px}.upload-queue-item .fields input,.upload-queue-item .fields textarea{padding:6px 10px;background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--text);font-family:inherit;font-size:.85rem}.upload-queue-item .fields textarea{min-height:40px;resize:vertical}.upload-queue-item .status{font-size:.8rem;color:var(--text-muted);min-width:80px;text-align:right}.upload-queue-item .status.success{color:var(--success)}.upload-queue-item .status.error{color:var(--danger)}.upload-queue-item .progress-bar{height:3px;background:var(--border);border-radius:2px;overflow:hidden;margin-top:4px}.upload-queue-item .progress-bar .fill{height:100%;background:var(--accent);width:0%;transition:width .3s}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:16px}.gallery-admin-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;overflow:hidden;position:relative;cursor:pointer;transition:border-color .2s}.gallery-admin-card:hover{border-color:var(--accent)}.gallery-admin-card.hidden-item{opacity:.5}.gallery-admin-card .thumb{width:100%;aspect-ratio:1;object-fit:cover;display:block;background:var(--bg)}.gallery-admin-card .thumb-placeholder{width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:var(--bg);font-size:.8rem;color:var(--text-muted)}.gallery-admin-card .card-info{padding:8px 10px}.gallery-admin-card .card-info .title{font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gallery-admin-card .card-info .meta{font-size:.7rem;color:var(--text-muted);margin-top:2px}.gallery-admin-card .badges{position:absolute;top:6px;right:6px;display:flex;gap:4px}.gallery-admin-card .badge{padding:2px 6px;border-radius:4px;font-size:.65rem;font-weight:600;text-transform:uppercase}.badge-pin{background:var(--accent);color:#000}.badge-hidden{background:var(--danger);color:#fff}.badge-type{background:#ffffff26;color:#fff}.tag-input-container{display:flex;flex-wrap:wrap;gap:4px;padding:6px 10px;background:var(--bg);border:1px solid var(--border);border-radius:4px;min-height:32px;align-items:center}.tag-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#c9a84c26;border:1px solid rgba(201,168,76,.3);border-radius:12px;font-size:.75rem;color:var(--accent)}.tag-pill .remove{cursor:pointer;opacity:.6;font-size:.85rem;line-height:1}.tag-pill .remove:hover{opacity:1}.tag-input-container input{border:none;background:transparent;color:var(--text);font-size:.85rem;flex:1;min-width:60px;padding:0}.tag-input-container input:focus{outline:none}.tag-suggestions{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;margin-top:4px;max-height:120px;overflow-y:auto;display:none}.tag-suggestions.visible{display:block}.tag-suggestion{padding:6px 10px;cursor:pointer;font-size:.85rem;color:var(--text-muted)}.tag-suggestion:hover{background:#c9a84c1a;color:var(--accent)}.gallery-edit-modal{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.gallery-edit-modal .modal-content{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:32px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.gallery-edit-modal h3{margin-bottom:20px;color:var(--accent)}.gallery-edit-modal .actions{display:flex;gap:8px;margin-top:20px;justify-content:flex-end}.embed-input-row{display:flex;gap:8px;margin-bottom:16px}.embed-input-row input{flex:1}
