@font-face{font-family:Space Mono;src:url(/fonts/SpaceMono-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Space Mono;src:url(/fonts/SpaceMono-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Space Mono;src:url(/fonts/SpaceMono-Italic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Permanent Marker;src:url(/fonts/PermanentMarker-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--ink: #1a1a18;--paper: #f5f2eb;--paper2: #ede9df;--accent: #e84c2b;--accent2: #2b5ce8;--accent3: #e8c42b;--success: #2a8a4a;--danger: #e84c2b;--warning: #e8c42b;--border: var(--ink);--mono: "Space Mono", monospace;--marker: "Permanent Marker", cursive;--radius: 0;--shadow: 4px 4px 0 var(--ink)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--mono);background:var(--paper);color:var(--ink);line-height:1.6;min-height:100vh;font-size:13px}.container{max-width:820px;margin:2rem auto;padding:0 1.5rem}.card{background:var(--paper);border:2px solid var(--ink);padding:1.5rem;margin-bottom:1.5rem}.btn{display:inline-block;padding:.5rem 1.25rem;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:2px solid var(--ink);background:var(--paper);color:var(--ink);transition:background .12s,color .12s;text-decoration:none}.btn:hover{background:var(--ink);color:var(--paper)}.btn:active{transform:translate(2px,2px)}.btn-primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn-primary:hover{background:var(--accent);border-color:var(--accent);color:var(--paper)}.btn-secondary{background:transparent;color:var(--ink);border-color:var(--ink)}.btn-secondary:hover{background:var(--ink);color:var(--paper)}.btn-success{background:var(--success);color:var(--paper);border-color:var(--success)}.btn-success:hover{background:var(--ink);border-color:var(--ink)}.btn-danger{background:var(--danger);color:var(--paper);border-color:var(--danger)}.btn-danger:hover{background:var(--ink);border-color:var(--ink)}.btn:disabled,.btn[disabled]{opacity:.4;cursor:not-allowed}h1,h2,h3,h4{font-family:var(--marker);font-weight:400;line-height:1.1;letter-spacing:-.01em}.text-muted{opacity:.55}.section-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;opacity:.5}.form-group{margin-bottom:1.25rem}.form-label{display:block;margin-bottom:.4rem;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.form-input,.form-textarea,.form-select{width:100%;padding:.6rem .75rem;border:2px solid var(--ink);background:var(--paper);color:var(--ink);font-family:var(--mono);font-size:13px;border-radius:0;outline:none;transition:border-color .12s}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--accent)}.form-textarea{resize:vertical;min-height:90px}.form-check{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.form-check input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--ink)}.alert{padding:.75rem 1rem;border:2px solid var(--ink);margin-bottom:1rem;font-size:12px;letter-spacing:.02em}.alert-success{background:#2a8a4a1f;border-color:var(--success);color:var(--success)}.alert-danger{background:#e84c2b1a;border-color:var(--danger);color:var(--danger)}.alert-warning{background:#e8c42b2e;border-color:var(--warning);color:var(--ink)}.time-slot-grid{display:grid;grid-template-columns:auto repeat(3,1fr);gap:.5rem;align-items:center}.time-slot-header{font-weight:700;padding:.5rem;text-align:center;font-size:11px;letter-spacing:.06em;text-transform:uppercase}.time-slot-cell{padding:.5rem;text-align:center;border:2px solid var(--ink);background:var(--paper)}.voter-row{display:contents}.voter-name{grid-column:1;font-weight:700;font-size:12px}.available{background:#2a8a4a1f}.not-available{background:#e84c2b14}@media (max-width: 768px){.time-slot-grid{grid-template-columns:auto repeat(2,1fr)}}@media (max-width: 480px){.time-slot-grid{grid-template-columns:1fr}.voter-name{grid-column:1/-1;text-align:center}}.calendar-container{font-family:var(--mono);max-width:1200px;margin:0 auto}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.5rem 0;border-bottom:2px solid var(--ink)}.toolbar-left,.toolbar-center,.toolbar-right{display:flex;align-items:center;gap:.5rem}.toolbar-center{flex:1;justify-content:center}.calendar-btn{display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.4rem .9rem;border:2px solid var(--ink);background:var(--paper);color:var(--ink);cursor:pointer;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;transition:background .12s,color .12s}.calendar-btn:hover:not(:disabled){background:var(--ink);color:var(--paper)}.calendar-btn:disabled{opacity:.4;cursor:not-allowed}.calendar-btn-view{position:relative;min-width:90px}.view-menu-dropdown{position:absolute;top:calc(100% + 4px);left:0;z-index:100;min-width:100%;background:var(--paper);border:2px solid var(--ink);box-shadow:var(--shadow);padding:0}.view-menu-item{display:block;width:100%;padding:.5rem .9rem;text-align:left;border:none;background:none;cursor:pointer;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid rgba(26,26,24,.1)}.view-menu-item:last-child{border-bottom:none}.view-menu-item:hover{background:var(--ink);color:var(--paper)}.view-menu-arrow{margin-left:.5rem;font-size:.75rem}.calendar-view{margin-top:1rem}.day-calendar{border:2px solid var(--ink);overflow:hidden}.calendar-header{padding:.6rem 1rem;background:var(--ink);color:var(--paper);border-bottom:2px solid var(--ink);text-align:center}.calendar-header h3{font-family:var(--marker);font-size:1rem;font-weight:400}.day-grid{min-height:400px}.slots-container{position:relative}.time-slot{display:block;width:100%;height:40px;border:none;border-bottom:1px solid rgba(26,26,24,.12);border-right:1px solid rgba(26,26,24,.12);background:transparent;cursor:pointer;position:relative;overflow:hidden}.time-slot:last-child{border-bottom:none}.time-slot:hover{background:#e84c2b14}.time-slot.selected{background:#e84c2b2e}.time-slot.selecting{background:#e84c2b47}.time-slot.selection-start{border-left:3px solid var(--accent)}.time-slot-label{position:absolute;top:2px;left:4px;font-size:.62rem;color:var(--ink);opacity:.45;pointer-events:none;white-space:nowrap;line-height:1;-webkit-user-select:none;user-select:none;font-family:var(--mono)}.selected-slot-overlay{position:absolute;left:0;background:#e84c2b2e;border:2px solid var(--accent);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1}.selected-slot-overlay .slot-time{font-size:.72rem;color:var(--accent);font-family:var(--mono);white-space:nowrap}.selection-preview{position:absolute;left:0;background:#e84c2b1f;border:2px dashed var(--accent);z-index:2;pointer-events:none}.three-day-calendar{display:flex;border:2px solid var(--ink);overflow:hidden}.day-column{flex:1;border-right:2px solid var(--ink)}.day-column:last-child{border-right:none}.day-column.current-day{background:#e8c42b0f}.day-header{padding:.5rem;background:var(--ink);color:var(--paper);border-bottom:2px solid var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:52px}.day-name{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.65}.day-date{font-size:.9rem;font-weight:700;font-family:var(--marker)}.week-calendar{border:2px solid var(--ink);overflow:hidden}.week-header{display:flex;background:var(--ink);border-bottom:2px solid var(--ink)}.week-header-cell{flex:1;padding:.5rem;text-align:center;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:52px;color:var(--paper);border-right:2px solid rgba(245,242,235,.15)}.week-header-cell:last-child{border-right:none}.week-header-cell.first-day{border-left:none}.week-header-cell.last-day{border-right:none}.week-grid{display:flex}.week-day-column{flex:1}.week-day-column.first-day{border-left:none}.week-day-column.last-day{border-right:none}.calendar-nav-button{width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;background:var(--paper);border:2px solid var(--ink);cursor:pointer;color:var(--ink);transition:background .12s,color .12s;font-size:1rem}.calendar-nav-button:hover{background:var(--ink);color:var(--paper)}.month-calendar{width:100%;border:2px solid var(--ink);background:var(--paper)}.month-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--ink);color:var(--paper);border-bottom:2px solid var(--ink)}.month-header h3{font-size:1rem;font-weight:400;color:var(--paper)}.month-grid{display:flex;flex-direction:column;padding:.5rem}.month-header-row,.month-dates-row{display:grid;grid-template-columns:repeat(7,1fr);gap:.2rem;padding:0 .2rem}.month-header-cell{padding:.5rem;text-align:center;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.5;background:transparent}.month-cell{aspect-ratio:1;display:flex;align-items:flex-start;justify-content:flex-start;padding:.2rem;font-size:.8rem;background:transparent;border:1px solid transparent;cursor:pointer;transition:background .12s,border-color .12s;color:var(--ink)}.month-cell:hover:not(:disabled){background:#1a1a180f;border-color:#1a1a1833}.month-cell:disabled{opacity:.35;cursor:not-allowed}.month-cell.current-month{color:var(--ink)}.month-cell.other-month{color:var(--ink);opacity:.25;cursor:default}.month-cell.other-month:hover{background:transparent;border-color:transparent}.month-cell.today{background:#e8c42b40;border-color:var(--accent3);font-weight:700}.month-cell.has-slots{position:relative}.month-cell.has-slots:after{content:"";position:absolute;bottom:3px;left:50%;transform:translate(-50%);width:5px;height:5px;background:var(--accent)}.month-day-number{font-size:.8rem}.month-legend{display:flex;gap:1rem;padding:.6rem 1rem;font-size:11px;opacity:.6;border-top:2px solid var(--ink)}.legend-item{display:flex;align-items:center;gap:.3rem}.legend-dot{display:inline-block;width:7px;height:7px}.legend-dot.has-slots{background:var(--accent)}.legend-dot.today{background:var(--accent3);border:1px solid var(--ink)}.selected-slots-summary{margin-top:1rem;padding:1rem;background:var(--paper2);border:2px solid var(--ink)}.selected-slots-summary h4{margin-bottom:.75rem;font-family:var(--marker);font-size:1rem;font-weight:400}.summary-list{display:flex;flex-wrap:wrap;gap:.5rem}.summary-slot{display:flex;align-items:center;gap:.5rem;padding:.4rem .7rem;background:var(--paper);border:2px solid var(--ink);font-size:12px}.summary-slot .remove-slot{padding:.125rem;border:none;background:none;cursor:pointer;font-size:.875rem;color:var(--ink);opacity:.5;line-height:1}.summary-slot .remove-slot:hover{opacity:1;color:var(--danger)}@media (max-width: 768px){.calendar-toolbar{flex-wrap:wrap;gap:.5rem}.toolbar-center{order:-1;width:100%;justify-content:center}}@media (max-width: 480px){.time-slot{height:32px}.month-cell{min-height:32px;font-size:.7rem;padding:.1rem}.month-grid{padding:.2rem}.month-header-row,.month-dates-row{gap:.1rem;padding:0}.month-header-cell{padding:.2rem 0;font-size:9px}.month-header{padding:.5rem .75rem}.month-cell.has-slots:after{bottom:2px;width:4px;height:4px}.month-legend{flex-direction:column;gap:.4rem}.calendar-buttons{flex-wrap:wrap}}.add-to-calendar{margin:1.5rem 0;padding:1rem;background:var(--paper2);border:2px solid var(--ink)}.add-to-calendar-title{font-family:var(--marker);font-size:1rem;font-weight:400;margin-bottom:1rem}.calendar-buttons{display:flex;gap:.6rem;flex-wrap:wrap}.calendar-btn-text{font-size:11px}.calendar-icon{width:16px;height:16px;flex-shrink:0}.add-to-calendar-simple{margin:1rem 0;padding:1rem;background:var(--paper2);border:2px solid var(--ink)}.add-to-calendar-simple-title{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.75rem}.calendar-links{display:flex;flex-wrap:wrap;gap:.5rem}.calendar-link{padding:.4rem .85rem;border:2px solid var(--ink);background:var(--paper);cursor:pointer;font-family:var(--mono);font-size:11px;color:var(--ink);transition:background .12s,color .12s;text-decoration:none;display:inline-block;letter-spacing:.04em}.calendar-link:hover{background:var(--ink);color:var(--paper);text-decoration:none}.entry-method-toggle{display:flex;gap:.5rem;margin-bottom:1rem}.entry-method-btn{padding:.5rem 1rem;border:2px solid var(--ink);background:var(--paper);cursor:pointer;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;transition:background .12s,color .12s;color:var(--ink)}.entry-method-btn:hover{background:var(--paper2)}.entry-method-btn.active{background:var(--ink);color:var(--paper)}@media (max-width: 480px){.entry-method-toggle{flex-direction:column}.entry-method-btn{width:100%}}.topbar{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:2px solid var(--ink)}.topbar-container{max-width:820px;margin:0 auto;padding:0 1.5rem;height:52px;display:flex;align-items:center;justify-content:space-between}.topbar-logo{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--ink)}.topbar-logo-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--accent);color:var(--paper)}.topbar-logo-icon span{font-family:var(--marker);font-size:1rem;line-height:1}.topbar-logo-text{font-family:var(--marker);font-size:1.1rem;color:var(--ink)}.topbar-auth{display:flex;align-items:center;gap:.75rem}.topbar-user{display:flex;align-items:center;gap:.5rem}.topbar-user-avatar{width:26px;height:26px;border-radius:0;border:2px solid var(--ink)}.topbar-user-name{font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--ink)}.topbar-signout{padding:.3rem .85rem;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);background:var(--paper);border:2px solid var(--ink);cursor:pointer;transition:background .12s,color .12s}.topbar-signout:hover{background:var(--ink);color:var(--paper)}.topbar-signin{padding:.3rem .85rem;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--paper);background:var(--ink);border:2px solid var(--ink);cursor:pointer;transition:background .12s,border-color .12s;text-decoration:none}.topbar-signin:hover{background:var(--accent);border-color:var(--accent)}.topbar-subscribe{padding:.3rem .85rem;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--paper);background:var(--accent);border:2px solid var(--accent);cursor:pointer;transition:background .12s,border-color .12s;text-decoration:none}.topbar-subscribe:hover{background:var(--ink);border-color:var(--ink)}.progress-steps{margin-bottom:2rem}.progress-steps-list{display:flex;align-items:center;justify-content:space-between;position:relative}.progress-step{display:flex;flex-direction:column;align-items:center}.progress-step-connector{height:2px;flex:1;background:#1a1a1833;margin:0 .5rem 1.5rem;max-width:80px}.progress-step-connector.active{background:var(--ink)}.progress-step-circle{width:38px;height:38px;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:13px;font-weight:700;color:var(--ink);opacity:.35;background:var(--paper);border:2px solid rgba(26,26,24,.3);transition:all .15s ease}.progress-step-circle.active,.progress-step-circle.completed{background:var(--ink);color:var(--paper);border-color:var(--ink);opacity:1}.progress-step-circle.completed:after{content:"✓"}.progress-step-label{margin-top:.4rem;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);opacity:.4}.progress-step-label.active,.progress-step-label.completed{opacity:1;color:var(--ink)}.progress-step-button{display:flex;flex-direction:column;align-items:center;border:none;background:transparent;padding:0;margin:0;cursor:pointer}.progress-step-button:disabled{cursor:default}.progress-step-button:focus{outline:none}@media (max-width: 640px){.topbar-container{padding:0 1rem}.topbar-user-name{display:none}.progress-step-connector{max-width:40px}.progress-step-circle{width:30px;height:30px;font-size:11px}}a{color:var(--accent2);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--paper2)}::-webkit-scrollbar-thumb{background:#1a1a1840}::-webkit-scrollbar-thumb:hover{background:#1a1a1873}
