:root{--color-bg-page: #f1f5f9;--color-bg-card: #ffffff;--color-bg-inset: #e2e8f0;--color-bg-header: #1d4ed8;--color-bg-error: #fef2f2;--color-border: #cbd5e1;--color-border-subtle: #e2e8f0;--color-accent: #2563eb;--color-text-primary: #1e293b;--color-text-dark: #ffffff;--color-text-muted: #64748b;--color-text-error: #dc2626;--color-text-link: #2563eb;--color-shadow: #94a3b8;font-family:system-ui,Calibri,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:var(--color-text-primary);background-color:var(--color-bg-page);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:var(--color-text-link);text-decoration:inherit}a:hover{color:var(--color-accent)}body{margin:0;min-width:320px;min-height:100vh}#app{width:100%;min-height:100vh}#app>div{padding-top:60px}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--color-bg-inset);cursor:pointer;transition:border-color .25s}button:hover{border-color:var(--color-accent)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:dark){:root{--color-bg-page: #0f172a;--color-bg-card: #1e293b;--color-bg-inset: #162032;--color-bg-header: #1e3a8a;--color-bg-error: #450a0a;--color-border: #334155;--color-border-subtle: #1e293b;--color-accent: #3b82f6;--color-text-primary: #e2e8f0;--color-text-dark: #ffffff;--color-text-muted: #94a3b8;--color-text-error: #f87171;--color-text-link: #60a5fa;--color-shadow: rgba(0, 0, 0, .5)}}.event-detail-card{background:var(--color-bg-card);border-radius:2px;box-shadow:12px 12px 0 var(--color-shadow);padding:1.5rem;position:relative;width:100%;box-sizing:border-box;animation:detail-in .2s ease;border-top:3px solid var(--color-accent)}@media(min-width:700px){.event-detail-card{width:300px;flex-shrink:0;align-self:flex-start;position:sticky;top:80px}}@keyframes detail-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.event-detail-close-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.event-detail-close{background:transparent;border:1px solid var(--color-border-subtle);color:var(--color-text-muted);font-size:.7rem;width:24px;height:24px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:border-color .15s,color .15s;flex-shrink:0}.event-detail-close:hover{border-color:var(--color-text-error);color:var(--color-text-error)}.event-detail-edit-btn{background:transparent;border:1px solid var(--color-border-subtle);color:var(--color-accent);font-size:.72rem;font-family:monospace;letter-spacing:.05em;padding:.25rem .7rem;border-radius:999px;cursor:pointer;transition:background .15s,border-color .15s}.event-detail-edit-btn:hover{background:#2563eb14;border-color:var(--color-accent)}.event-detail-header{margin-bottom:1rem}.event-detail-title{color:var(--color-accent);font-family:Georgia,serif;font-size:1.15rem;margin:0 0 .4rem;line-height:1.3}.event-detail-category{display:inline-block;font-size:.7rem;font-family:monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--color-accent);border:1px solid var(--color-accent);border-radius:3px;padding:.1rem .45rem;margin-bottom:.5rem;opacity:.85}.event-detail-datetime{color:var(--color-text-primary);font-family:monospace;font-size:.78rem;opacity:.65;line-height:1.5}.event-detail-recurrence{display:inline-flex;align-items:center;gap:.35rem;margin-top:.45rem;color:var(--color-accent);font-family:monospace;font-size:.72rem;letter-spacing:.06em;background:#2563eb12;border:1px solid rgba(37,99,235,.2);border-radius:2px;padding:.2rem .55rem}.event-detail-recurrence-icon{font-size:.8rem;line-height:1}.event-detail-row{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.75rem}.event-detail-icon{font-size:.9rem;flex-shrink:0;margin-top:.05rem}.event-detail-text{color:var(--color-text-primary);font-size:.88rem;opacity:.8}.event-detail-description{color:var(--color-text-primary);font-size:.88rem;line-height:1.65;padding:.75rem;background:var(--color-bg-inset);border-radius:2px;border-left:3px solid var(--color-accent);white-space:pre-wrap;margin-bottom:.75rem}.event-detail-nodesc{color:var(--color-text-muted);font-style:italic;font-size:.85rem;margin-bottom:.75rem}.event-detail-contact{border-top:1px solid var(--color-border);margin-top:.5rem;padding-top:.85rem}.event-detail-contact-heading{color:var(--color-accent);font-family:monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.65rem}.event-detail-link{color:var(--color-text-link);font-size:.88rem;text-decoration:none;word-break:break-all;transition:color .12s}.event-detail-link:hover{color:var(--color-accent);text-decoration:underline}.event-detail-cal-row{border-top:1px solid var(--color-border);margin-top:.85rem;padding-top:.85rem}.event-detail-cal-btn{width:100%;background:transparent;border:1px solid var(--color-accent);color:var(--color-accent);font-size:.8rem;font-family:monospace;letter-spacing:.05em;padding:.45rem .75rem;border-radius:2px;cursor:pointer;transition:background .15s,color .15s}.event-detail-cal-btn:hover{background:var(--color-accent);color:var(--color-bg-card)}.event-detail-actions{border-top:1px solid var(--color-border);margin-top:.85rem;padding-top:.85rem}.calendar-page{font-family:Calibri,Trebuchet MS,Arial,sans-serif;position:fixed;inset:60px 0 0;display:flex;flex-direction:row;overflow:hidden;z-index:1}.calendar-col{display:flex;flex-direction:column;flex:1;min-width:0;height:100%;overflow:hidden;background:var(--color-bg-card);border-right:1px solid var(--color-border)}.calendar-panel-top{padding:.75rem 1rem 0;border-bottom:1px solid var(--color-border);flex-shrink:0}.calendar-panel-controls{display:flex;gap:.4rem;margin-bottom:.75rem}.calendar-panel-ctrl-btn{background:transparent;border:1px solid var(--color-border);color:var(--color-text-primary);cursor:pointer;height:28px;padding:0 .65rem;font-size:.75rem;font-family:monospace;letter-spacing:.07em;text-transform:uppercase;border-radius:999px;transition:background .15s,border-color .15s}.calendar-panel-ctrl-btn:hover{background:var(--color-bg-inset);border-color:var(--color-accent)}.calendar-panel-legend{display:flex;flex-wrap:wrap;gap:.3rem .65rem;padding-bottom:.75rem}.calendar-panel-legend-item{display:flex;align-items:center;gap:.35rem}.calendar-panel-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.calendar-panel-legend-label{font-size:.7rem;color:var(--color-text-muted)}.calendar-panel{width:320px;flex-shrink:0;height:100%;display:flex;flex-direction:column;background:var(--color-bg-page);overflow:hidden;transition:width .25s ease}.calendar-panel-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem .75rem;border-bottom:2px solid var(--color-accent);flex-shrink:0}.calendar-panel-date{color:var(--color-text-primary);font-family:monospace;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase}.calendar-panel-header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.calendar-panel-add-btn{background:transparent;border:1px solid var(--color-accent);color:var(--color-accent);font-size:.7rem;font-family:monospace;letter-spacing:.05em;padding:0 .6rem;height:26px;border-radius:3px;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}.calendar-panel-add-btn:hover{background:var(--color-accent);color:var(--color-text-dark)}.calendar-panel-close{background:transparent;border:1px solid var(--color-border-subtle);color:var(--color-text-muted);font-size:.7rem;width:26px;height:26px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:border-color .15s,color .15s;flex-shrink:0}.calendar-panel-close:hover{border-color:var(--color-text-error);color:var(--color-text-error)}.calendar-panel-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:var(--color-text-muted);font-size:.88rem;font-style:italic;text-align:center;padding:2rem}.calendar-panel-empty p{margin:0}.calendar-panel-empty-icon{font-size:1.8rem;opacity:.3;font-style:normal}.calendar-panel-list{flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.calendar-panel-list::-webkit-scrollbar{width:4px}.calendar-panel-list::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}.calendar-panel-event{display:flex;flex-direction:column;gap:.25rem;width:100%;background:transparent;border:none;border-bottom:1px solid var(--color-border);padding:1rem 1.25rem;cursor:pointer;text-align:left;transition:background .12s}.calendar-panel-event:last-child{border-bottom:none}.calendar-panel-event:hover{background:var(--color-bg-inset)}.calendar-panel-event-category-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-right:.4rem;vertical-align:middle;position:relative;top:-1px}.calendar-panel-event-title{color:var(--color-accent);font-family:Calibri,Trebuchet MS,Arial,sans-serif;font-size:1rem;font-weight:700;line-height:1.3}.calendar-panel-event-time{color:var(--color-text-primary);font-family:monospace;font-size:.78rem;opacity:.75}.calendar-panel-event-location{color:var(--color-text-muted);font-size:.8rem;font-family:monospace}.calendar-search-wrap{position:relative;flex-shrink:0;background:var(--color-bg-inset);border-bottom:1px solid var(--color-border);padding:.5rem .75rem;z-index:20}.calendar-search-bar{display:flex;align-items:center;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:4px;padding:0 .6rem;height:34px;gap:.4rem;width:100%;box-sizing:border-box}.calendar-search-icon{color:var(--color-accent);font-size:1.1rem;line-height:1;flex-shrink:0}.calendar-search-input{background:transparent;border:none;outline:none;color:var(--color-text-primary);font-size:.9rem;font-family:monospace;width:100%;min-width:0}.calendar-search-input::placeholder{color:var(--color-text-muted)}.calendar-search-close{background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;font-size:.75rem;padding:0 .2rem;flex-shrink:0;line-height:1;transition:color .15s}.calendar-search-close:hover{color:var(--color-text-error)}.calendar-search-dropdown{position:absolute;top:calc(100% - 1px);left:0;right:0;background:var(--color-bg-card);border:1px solid var(--color-border);border-top:none;border-radius:0 0 4px 4px;z-index:50;max-height:260px;overflow-y:auto;box-shadow:4px 4px 0 var(--color-shadow)}.calendar-search-dropdown-empty{color:var(--color-text-muted);font-size:.85rem;font-style:italic;padding:.85rem 1rem;font-family:monospace}.calendar-search-result{display:flex;flex-direction:column;gap:.15rem;width:100%;background:transparent;border:none;border-bottom:1px solid var(--color-border);padding:.65rem 1rem;cursor:pointer;text-align:left;transition:background .1s}.calendar-search-result:last-child{border-bottom:none}.calendar-search-result:hover{background:var(--color-border)}.calendar-search-result-title{color:var(--color-text-primary);font-family:Calibri,Trebuchet MS,Arial,sans-serif;font-size:.95rem;font-weight:700}.calendar-search-result-date{color:var(--color-text-muted);font-family:monospace;font-size:.75rem}.calendar-scroll-container{flex:1;overflow-y:auto;min-height:0;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.calendar-scroll-container::-webkit-scrollbar{width:4px}.calendar-scroll-container::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}.calendar-month-block{border-bottom:1px solid var(--color-border)}.calendar-month-block:last-child{border-bottom:none}.calendar-month-label{display:flex;align-items:baseline;gap:.5rem;padding:.75rem 1.25rem .35rem;position:sticky;top:0;z-index:10;background:var(--color-bg-inset);border-bottom:1px solid var(--color-border)}.calendar-month-label-name{font-size:1.05rem;font-weight:700;color:var(--color-accent);letter-spacing:.06em;text-transform:uppercase;font-family:Calibri,Trebuchet MS,Arial,sans-serif}.calendar-month-label-year{font-size:.78rem;color:var(--color-text-muted);font-family:monospace}.calendar-day-labels{display:grid;grid-template-columns:repeat(7,1fr);background:var(--color-bg-inset);padding:.45rem .75rem .35rem}.calendar-day-label{text-align:center;color:var(--color-accent);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;font-family:monospace}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--color-border);padding:.35rem .75rem .75rem;width:100%;box-sizing:border-box}.calendar-cell{min-height:5.5rem;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;cursor:pointer;border-radius:2px;position:relative;background:var(--color-bg-card);transition:background .15s;padding:.3rem .25rem .25rem;box-sizing:border-box;gap:2px}.calendar-cell:hover:not(.calendar-cell--empty):not(.calendar-cell--selected){background:#2563eb14}.calendar-cell--empty{cursor:default;background:var(--color-bg-page)}.calendar-cell--weekend{background:var(--color-bg-inset)}.calendar-cell--today{background:#2563eb1f}.calendar-cell--selected,.calendar-cell--selected:hover{background:var(--color-accent)}@media(prefers-color-scheme:dark){.calendar-cell--today{background:#3b82f638}}.calendar-day-number{font-size:.8rem;color:var(--color-text-primary);align-self:flex-end;line-height:1;margin-bottom:2px}.calendar-cell--today .calendar-day-number{color:var(--color-accent);font-weight:700}.calendar-cell--selected .calendar-day-number,.calendar-cell--selected:hover .calendar-day-number{color:var(--color-text-dark)}.calendar-event-chips{display:flex;flex-direction:column;gap:2px;width:100%}.calendar-event-chip{display:block;width:100%;border-radius:3px;padding:1px 4px;font-size:.62rem;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.5;box-sizing:border-box}.calendar-event-chip-overflow{font-size:.6rem;font-weight:600;color:var(--color-text-secondary);padding-left:4px;line-height:1.4}.calendar-cell--selected .calendar-event-chip-overflow{color:var(--color-text-dark)}.event-detail-page{min-height:calc(100vh - 60px);background:var(--color-bg-page);display:flex;align-items:flex-start;justify-content:center;padding:2rem 1rem;box-sizing:border-box}.event-detail-page .event-detail-card{width:100%;max-width:560px}.calendar-search-wrap{margin:0}@media(max-width:700px){.calendar-page{flex-direction:column}.calendar-col{flex:1;border-right:none;border-bottom:none}.calendar-panel{position:fixed;left:0;right:0;bottom:0;width:100%;height:55vh;border-top:2px solid var(--color-accent);border-radius:12px 12px 0 0;box-shadow:0 -4px 24px #0000004d;transform:translateY(100%);transition:transform .3s ease;z-index:50;background:var(--color-bg-card)}.calendar-panel--open{transform:translateY(0)}.calendar-panel-empty{display:none}.calendar-day-number{font-size:.8rem}.calendar-day-label{font-size:.6rem;letter-spacing:.03em}.calendar-month-label{padding:.6rem .75rem .25rem}.calendar-grid{padding:.25rem .4rem .5rem;gap:1px}.calendar-day-labels{padding:.35rem .4rem .25rem}}.calendar-panel-event-wrap{border-radius:2px;overflow:hidden}.calendar-panel-event{position:relative;padding-right:2rem}.calendar-panel-event-chevron{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);font-size:.55rem;color:var(--color-accent);opacity:.5;pointer-events:none}.calendar-panel-event-detail{animation:panel-detail-in .18s ease}.calendar-panel-event-detail .event-detail-card{box-shadow:none;border-radius:2px;width:100%;animation:none}@keyframes panel-detail-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.login-page{min-height:100vh;background:var(--color-bg-page);display:flex;align-items:center;justify-content:center}.login-card{background:var(--color-bg-card);border-radius:2px;box-shadow:12px 12px 0 var(--color-shadow);padding:2rem;width:340px;max-width:100%}.login-title{color:var(--color-accent);font-family:Georgia,serif;text-align:center;margin:0 0 1.5rem;font-size:1.4rem;text-transform:uppercase;letter-spacing:.08em}.login-field{display:flex;flex-direction:column;margin-bottom:1rem}.login-label{color:var(--color-accent);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;font-family:monospace;margin-bottom:.4rem}.login-input{background:var(--color-bg-inset);border:1px solid var(--color-border);border-radius:2px;color:var( --color-text-primary);padding:.6rem .8rem;font-size:.95rem;outline:none;transition:border-color .15s}.login-input:focus{border-color:var(--color-accent)}.login-error{background:var(--color-bg-error);color:var(--color-text-error);font-size:.85rem;padding:.5rem .8rem;border-radius:2px;margin-bottom:1rem}.login-btn{width:100%;background:var(--color-accent);color:var(--color-text-dark);border:none;border-radius:2px;padding:.75rem;font-size:1rem;font-weight:700;font-family:Georgia,serif;cursor:pointer;margin-top:.5rem;transition:opacity .15s}.login-btn:hover{opacity:.9}.login-btn:disabled{opacity:.5;cursor:not-allowed}.login-success-icon{font-size:2.5rem;color:var(--color-accent);margin-bottom:1rem}.login-back-btn{background:transparent;border:none;color:var(--color-text-muted);font-family:monospace;font-size:.78rem;cursor:pointer;margin-top:1rem;width:100%;padding:.25rem;transition:color .15s;border-radius:0}.login-back-btn:hover{color:var(--color-accent);border-color:transparent}.navbar{width:100%;background:var(--color-bg-header);display:flex;align-items:center;justify-content:space-between;padding:.75rem 2rem;box-sizing:border-box;box-shadow:0 2px 8px #0003;position:fixed;top:0;left:0;z-index:100}.navbar-brand{color:#fff;font-family:Georgia,serif;font-size:1.1rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.navbar-links{display:flex;gap:.5rem;align-items:center}.navbar-link{background:transparent;border:1px solid transparent;color:#ffffffd9;font-family:monospace;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;padding:.4rem .9rem;border-radius:999px;cursor:pointer;transition:all .15s}.navbar-link:hover{border-color:#ffffff80;color:#fff;background:#ffffff1f}.navbar-link--active{background:#fff;color:var(--color-bg-header);font-weight:700;border-color:transparent}.navbar-link--active:hover{background:#ffffffe6;color:var(--color-bg-header);border-color:transparent}.navbar-link--logout{color:#ffb4b4e6}.navbar-link--logout:hover{border-color:#ffb4b499;color:#ffb4b4;background:#ff64641f}.navbar-link--queue{position:relative}.navbar-pending-badge{position:absolute;top:-5px;right:-5px;background:#ef4444;color:#fff;font-family:monospace;font-size:.65rem;font-weight:700;line-height:1;min-width:16px;height:16px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 3px;pointer-events:none}.recurrence-toggle{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem;cursor:pointer;-webkit-user-select:none;user-select:none}.recurrence-toggle-track{width:36px;height:20px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-bg-inset);position:relative;transition:background .2s,border-color .2s;flex-shrink:0}.recurrence-toggle-track--on{background:var(--color-accent);border-color:var(--color-accent)}.recurrence-toggle-thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--color-text-muted);transition:transform .2s,background .2s}.recurrence-toggle-track--on .recurrence-toggle-thumb{transform:translate(16px);background:var(--color-text-dark)}.recurrence-toggle-label{color:var(--color-accent);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;font-family:monospace}.recurrence-panel{background:var(--color-bg-inset);border:1px solid var(--color-border);border-radius:2px;padding:1rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:.85rem;animation:recurrence-in .15s ease}@keyframes recurrence-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.recurrence-row{display:flex;flex-direction:column;gap:.35rem}.recurrence-label{color:var(--color-accent);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;font-family:monospace}.recurrence-select{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:2px;color:var( --color-text-primary);padding:.5rem .7rem;font-size:.9rem;font-family:inherit;outline:none;transition:border-color .15s;cursor:pointer;width:100%}.recurrence-select:focus{border-color:var(--color-accent)}.recurrence-inline{display:flex;gap:.6rem;align-items:center}.recurrence-inline .recurrence-select{flex:1}.recurrence-inline-sep{color:var(--color-text-muted);font-size:.8rem;font-family:monospace;white-space:nowrap;flex-shrink:0}.recurrence-preview{display:flex;align-items:center;gap:.5rem;padding:.5rem .7rem;background:#e8c54712;border:1px solid rgba(232,197,71,.2);border-radius:2px}.recurrence-preview-icon{font-size:.85rem;flex-shrink:0}.recurrence-preview-text{color:var(--color-accent);font-family:monospace;font-size:.78rem;line-height:1.4}.recurrence-preview-count{color:var(--color-text-muted);font-size:.72rem}.eventform-root{display:flex;flex-direction:column}.eventform-actions{display:flex;gap:.75rem;margin-top:.5rem;width:100%}.eventform-actions .addevent-btn{flex:1;min-width:0}.eventform-btn--cancel{background:transparent!important;color:var(--color-text-primary)!important;border:1px solid var(--color-border-subtle)!important;flex:0 0 auto!important;width:auto!important;padding-left:1.25rem!important;padding-right:1.25rem!important}.eventform-btn--cancel:hover:not(:disabled){border-color:var(--color-text-primary)!important;opacity:1!important}.addevent-page{min-height:100vh;background:var(--color-bg-page);display:flex;align-items:flex-start;justify-content:center;padding:2rem}.addevent-card{background:var(--color-bg-card);border-radius:2px;box-shadow:12px 12px 0 var(--color-shadow);padding:2rem;width:520px;max-width:100%}.addevent-title{color:var(--color-accent);font-family:Georgia,serif;text-align:center;margin:0 0 .5rem;font-size:1.4rem;text-transform:uppercase;letter-spacing:.08em}.addevent-subtitle{color:var(--color-text-muted);font-size:.85rem;text-align:center;margin:0 0 1.5rem;font-style:italic}.addevent-field{display:flex;flex-direction:column;margin-bottom:1rem}.addevent-label{color:var(--color-accent);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;font-family:monospace;margin-bottom:.4rem}.addevent-hint{color:var(--color-text-muted);font-size:.72rem;font-family:monospace;margin-top:.35rem}.addevent-section-label{color:var(--color-accent);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;font-family:monospace;padding:.6rem 0 .75rem;margin-top:.5rem;border-top:1px solid var(--color-border)}.addevent-section-label--centered{text-align:center}.addevent-section-optional{color:var(--color-text-muted);text-transform:none;letter-spacing:0;font-size:.75rem}.addevent-input{background:var(--color-bg-inset);border:1px solid var(--color-border);border-radius:2px;color:var( --color-text-primary);padding:.6rem .8rem;font-size:.95rem;outline:none;transition:border-color .15s;font-family:inherit}.addevent-input:focus{border-color:var(--color-accent)}.addevent-select{cursor:pointer;appearance:auto}.category-select{position:relative}.category-select-trigger{display:flex;align-items:center;gap:.5rem;width:100%;text-align:left;cursor:pointer}.category-select-placeholder{color:var(--color-text-muted);flex:1}.category-select-arrow{margin-left:auto;color:var(--color-text-muted);font-size:.9rem}.category-select-dropdown{position:absolute;top:calc(100% + 3px);left:0;right:0;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:2px;z-index:100;max-height:220px;overflow-y:auto}.category-select-option{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .8rem;background:transparent;border:none;color:var(--color-text-primary);font-size:.95rem;font-family:inherit;cursor:pointer;text-align:left}.category-select-option:hover,.category-select-option--active{background:var(--color-bg-inset)}.category-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.addevent-textarea{resize:vertical;min-height:80px}.addevent-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.addevent-error{background:var(--color-bg-error);color:var(--color-text-error);font-size:.85rem;padding:.5rem .8rem;border-radius:2px;margin-bottom:1rem}.addevent-field-error{color:var(--color-text-error);font-size:.8rem;margin-top:.3rem}.addevent-btn{width:100%;background:var(--color-accent);color:var(--color-text-dark);border:none;border-radius:2px;padding:.75rem;font-size:1rem;font-weight:700;font-family:Georgia,serif;cursor:pointer;margin-top:.5rem;transition:opacity .15s}.addevent-btn:hover{opacity:.9}.addevent-btn:disabled{opacity:.5;cursor:not-allowed}.addevent-success{text-align:center;padding:1rem 0}.addevent-success-icon{font-size:3rem;color:var(--color-accent);margin-bottom:1rem}.addevent-success-msg{color:var( --color-text-primary);font-size:.95rem;margin-bottom:1.5rem;line-height:1.6}.event-type-toggle{display:flex;gap:0;border:1px solid var(--color-border);border-radius:2px;overflow:hidden}.event-type-btn{flex:1;padding:.6rem .8rem;background:var(--color-bg-inset);color:var(--color-text-muted);border:none;font-size:.9rem;font-family:inherit;cursor:pointer;transition:background .15s,color .15s}.event-type-btn+.event-type-btn{border-left:1px solid var(--color-border)}.event-type-btn--active{background:var(--color-accent);color:var(--color-text-dark);font-weight:700}.event-type-btn:not(.event-type-btn--active):hover{color:var(--color-text-primary)}.editrecur-section{margin-top:.25rem}.editrecur-summary{display:flex;align-items:center;gap:.5rem;padding:.55rem .75rem;background:#e8c54712;border:1px solid rgba(232,197,71,.2);border-radius:2px;margin-bottom:1rem;flex-wrap:wrap}.editrecur-summary-icon{font-size:.85rem;flex-shrink:0}.editrecur-summary-text{color:var(--color-accent);font-family:monospace;font-size:.78rem;flex:1;min-width:0}.editrecur-change-btn{background:transparent;border:1px solid var(--color-border-subtle);color:var(--color-text-muted);font-family:monospace;font-size:.72rem;padding:.25rem .6rem;border-radius:999px;cursor:pointer;white-space:nowrap;transition:border-color .15s,color .15s;flex-shrink:0}.editrecur-change-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.editrecur-picker-wrap{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.editrecur-picker-note{background:var(--color-bg-error);color:var(--color-text-error);font-family:monospace;font-size:.75rem;line-height:1.5;padding:.5rem .75rem;border-radius:2px}.editrecur-changed-badge{color:var(--color-accent);font-family:monospace;font-size:.75rem;padding:.35rem .6rem;background:#e8c54714;border:1px solid rgba(232,197,71,.25);border-radius:2px}.editrecur-question{color:var(--color-text-primary);font-size:.92rem;line-height:1.6;margin:0 0 1.25rem}.editrecur-choices{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.editrecur-choice-btn{background:var(--color-accent);color:var(--color-text-dark);border:none;border-radius:2px;padding:.85rem 1rem;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:.2rem;font-family:inherit;transition:opacity .15s}.editrecur-choice-btn:hover:not(:disabled){opacity:.88}.editrecur-choice-btn:disabled{opacity:.5;cursor:not-allowed}.editrecur-choice-btn--secondary{background:var(--color-bg-inset);color:var(--color-accent);border:1px solid var(--color-border)}.editrecur-choice-btn--secondary:hover:not(:disabled){border-color:var(--color-accent);opacity:1}.editrecur-choice-title{font-family:Georgia,serif;font-size:.9rem;font-weight:700}.editrecur-choice-desc{font-size:.78rem;font-family:monospace;opacity:.7}.editrecur-back-btn{background:none;border:none;color:var(--color-text-muted);font-family:monospace;font-size:.78rem;cursor:pointer;padding:0;transition:color .12s;text-align:left}.editrecur-back-btn:hover:not(:disabled){color:var(--color-text-primary)}.queue-page{min-height:100vh;background:var(--color-bg-page);display:flex;justify-content:center;padding:2rem}.queue-layout{display:flex;gap:1.5rem;align-items:flex-start;width:100%;max-width:960px}.queue-container{width:580px;max-width:100%;flex-shrink:0}.queue-detail-panel{flex:1;min-width:0;position:sticky;top:80px}.queue-title{color:var(--color-text-dark);font-family:Georgia,serif;font-size:1.4rem;text-transform:uppercase;letter-spacing:.08em;margin:0 0 1.5rem;text-align:center}.queue-error{background:var(--color-bg-error);color:var(--color-text-error);font-size:.85rem;padding:.5rem .8rem;border-radius:2px;margin-bottom:1rem}.queue-empty{color:var(--color-text-muted);font-style:italic;text-align:center;margin-top:3rem;font-size:.95rem}.queue-list{display:flex;flex-direction:column;gap:1rem}.queue-card{background:var(--color-bg-card);border-radius:2px;box-shadow:6px 6px 0 var(--color-shadow);padding:1.25rem 1.5rem;cursor:pointer;border:2px solid transparent;transition:border-color .15s}.queue-card:hover{border-color:#e8c54759}.queue-card--selected{border-color:var(--color-accent)}.queue-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.queue-event-title{color:var(--color-accent);font-family:Georgia,serif;font-size:1.1rem;font-weight:700}.queue-event-date{color:var(--color-text-primary);font-family:monospace;font-size:.8rem;opacity:.7;white-space:nowrap}.queue-event-meta{color:var(--color-text-primary);font-size:.85rem;opacity:.7;margin-top:.35rem}.queue-event-recurrence-badge{display:inline-block;margin-top:.6rem;color:var(--color-accent);font-family:monospace;font-size:.72rem;letter-spacing:.08em;background:#e8c54714;border:1px solid rgba(232,197,71,.2);border-radius:2px;padding:.2rem .5rem}.queue-detail-actions{display:flex;gap:.75rem;flex-wrap:wrap}.queue-btn{flex:1;padding:.6rem;border:none;border-radius:2px;font-size:.9rem;font-weight:700;font-family:Georgia,serif;cursor:pointer;transition:opacity .15s;min-width:0}.queue-btn:hover{opacity:.85}.queue-btn:disabled{opacity:.45;cursor:not-allowed}.queue-btn--approve{background:var(--color-accent);color:var(--color-text-dark)}.queue-btn--reject{background:var(--color-bg-error);color:var(--color-text-error);border:1px solid var(--color-text-error)}.queue-btn--cancel{background:transparent;color:var(--color-text-primary);border:1px solid var(--color-border-subtle)}.queue-btn--cancel:hover{border-color:var(--color-text-primary);opacity:1}.queue-event-description{color:var(--color-text-primary);font-size:.85rem;opacity:.85;margin-top:.4rem;line-height:1.4}.contact-page{min-height:100vh;background:var(--color-bg-page);display:flex;align-items:flex-start;justify-content:center;padding:2rem}.contact-card{background:var(--color-bg-card);border-radius:2px;box-shadow:12px 12px 0 var(--color-shadow);padding:2rem;width:520px;max-width:100%}.contact-title{color:var(--color-accent);font-family:Georgia,serif;text-align:center;margin:0 0 .5rem;font-size:1.4rem;text-transform:uppercase;letter-spacing:.08em}.contact-subtitle{color:var(--color-text-muted);font-size:.85rem;text-align:center;margin:0 0 1.5rem;font-style:italic}.contact-error{background:var(--color-bg-error);color:var(--color-text-error);font-size:.85rem;padding:.5rem .8rem;border-radius:2px;margin-bottom:1rem}.contact-field{display:flex;flex-direction:column;margin-bottom:1rem;gap:.4rem}.contact-label{color:var(--color-accent);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;font-family:monospace}.contact-optional{color:var(--color-text-muted);text-transform:none;letter-spacing:0;font-size:.7rem}.contact-type-tabs{display:flex;gap:.5rem;flex-wrap:wrap}.contact-type-tab{background:var(--color-bg-inset);border:1px solid var(--color-border);border-radius:2px;color:var(--color-text-muted);font-family:monospace;font-size:.78rem;letter-spacing:.05em;padding:.45rem .9rem;cursor:pointer;transition:all .15s}.contact-type-tab:hover{border-color:var(--color-accent);color:var(--color-text-primary)}.contact-type-tab--active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-text-dark);font-weight:700}.contact-input{background:var(--color-bg-inset);border:1px solid var(--color-border);border-radius:2px;color:var(--color-text-primary);padding:.6rem .8rem;font-size:.95rem;outline:none;transition:border-color .15s;font-family:inherit}.contact-input:focus{border-color:var(--color-accent)}.contact-textarea{resize:vertical;min-height:130px}.contact-note{color:var(--color-text-muted);font-size:.78rem;font-family:monospace;font-style:italic;margin:.25rem 0 .75rem}.contact-btn{border:none;border-radius:2px;font-size:1rem;font-weight:700;font-family:Georgia,serif;cursor:pointer;transition:opacity .15s}.contact-btn--primary{width:100%;background:var(--color-accent);color:var(--color-text-dark);padding:.75rem;margin-top:.25rem}.contact-btn--primary:hover{opacity:.9}.contact-btn--primary:disabled{opacity:.4;cursor:not-allowed}.contact-success{text-align:center;padding:1rem 0}.contact-success-icon{font-size:3rem;color:var(--color-accent);margin-bottom:1rem}.contact-success-msg{color:var(--color-text-primary);font-size:.95rem;margin-bottom:1.5rem;line-height:1.6}.contact-email-link{color:var(--color-text-link);text-decoration:none}.contact-email-link:hover{color:var(--color-accent);text-decoration:underline}
