:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1115;--surface:#181b22;--surface-sunken:#0f1115;--border:#2a2e37;--text:#e6e7eb;--text-muted:#9ca3af;--text-h:#f3f4f6;--primary:#6f5bff;--on-primary:#fff;--link:#9aa4ff;--danger:#ff6b6b;--success:#4fd692;--warning:#ffb166;--info:#6fa8ff;--primary-tint:#6f5bff33;--link-tint:#9aa4ff2e;--danger-tint:#ff6b6b2e;--success-tint:#4fd6922e;--warning-tint:#ffb1662e;--info-tint:#6fa8ff2e;--muted-tint:#9ca3af2e;--radius-sm:8px;--radius-md:12px;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,Apple SD Gothic Neo,Noto Sans KR,sans-serif;font-size:16px;line-height:1.5}*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}#root{min-height:100svh}h1,h2,h3{color:var(--text-h);font-weight:600;line-height:1.3}h1{margin:0 0 1rem;font-size:1.5rem}h2{margin:0 0 .75rem;font-size:1.125rem}h3{margin:0 0 .5rem;font-size:1rem}p{margin:0}a{color:var(--link)}input,select,textarea,button{font:inherit;color:inherit}input,select,textarea{font-size:16px}input[type=checkbox],input[type=radio]{accent-color:var(--primary)}::placeholder{color:var(--text-muted);opacity:.7}form{flex-direction:column;gap:.5rem;display:flex}.hint{color:var(--text-muted);font-size:.9rem}.error{color:var(--danger);margin-top:.75rem;font-size:.875rem}.success{color:var(--success);margin-top:.75rem;font-size:.875rem}.login-page{background:var(--bg);justify-content:center;align-items:center;min-height:100svh;padding:1rem;display:flex}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;max-width:360px;color:var(--text);padding:2rem}.login-card h1{text-align:center;color:var(--text-h);margin:0 0 1.5rem;font-size:1.125rem}.login-card label{color:var(--text-muted);font-size:.875rem}.login-card input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-sunken);color:var(--text);padding:.6rem .7rem;font-size:1rem}.login-card button[type=submit]{border-radius:var(--radius-sm);background:var(--primary);color:var(--on-primary);cursor:pointer;border:none;margin-top:.5rem;padding:.6rem;font-weight:600}.login-card button[type=submit]:disabled{opacity:.6;cursor:default}.login-card button.link{color:var(--link);cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:.875rem}.login-card .hint{margin:0;font-size:.875rem}.dev-code{background:var(--surface-sunken);border:1px dashed var(--primary);border-radius:var(--radius-sm);margin:0;padding:.4rem .6rem;font-family:ui-monospace,Consolas,monospace;font-size:.9rem}.login-card .error{margin-top:1rem}.session-expiry-warning{z-index:101;background:linear-gradient(var(--warning-tint), var(--warning-tint)), var(--bg);border-bottom:1px solid var(--warning);color:var(--warning);padding:.55rem 1rem;font-size:.875rem;font-weight:600;position:sticky;top:0}.partner-page{width:100%;max-width:640px;margin:0 auto;padding:2rem 1rem}.partner-page header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.partner-page h1{margin:0;font-size:1.25rem}.partner-page a{color:var(--link);font-size:.875rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);margin-bottom:1.5rem;padding:1.5rem}.card h2{color:var(--text-h);margin:0 0 1rem;font-size:1rem}.card label{color:var(--text-muted);flex-direction:column;gap:.3rem;margin-bottom:.75rem;font-size:.875rem;display:flex}.card input,.card select,.card textarea{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-sunken);color:var(--text);resize:vertical;padding:.5rem .6rem;font-family:inherit;font-size:1rem}.card .checkbox-label{color:var(--text);flex-direction:row;align-items:center;gap:.5rem}.card .checkbox-label input{width:auto;padding:0}.card .row{flex-wrap:wrap;gap:.75rem;display:flex}.card .row label{flex:1;min-width:140px}.card button[type=submit]{border-radius:var(--radius-sm);background:var(--primary);color:var(--on-primary);cursor:pointer;border:none;padding:.6rem 1rem;font-weight:600}.card button[type=submit]:disabled{opacity:.6;cursor:default}.list{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.list li{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.4rem;padding:.6rem 0;font-size:.9rem;display:flex}.list li:last-child{border-bottom:none}.status{color:var(--text-muted);margin-left:auto;font-size:.75rem}.partner-list li{flex-direction:column;align-items:stretch;gap:.5rem}.partner-row-main{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.partner-row-detail{color:var(--text-muted);font-size:.8rem}.badge{border-radius:999px;margin-left:auto;padding:.15rem .5rem;font-size:.75rem;font-weight:600}.badge-ok{background:var(--success-tint);color:var(--success)}.badge-pending{background:var(--warning-tint);color:var(--warning)}.badge-emergency{background:var(--danger-tint);color:var(--danger)}.badge-info{background:var(--info-tint);color:var(--info)}.badge-muted{background:var(--muted-tint);color:var(--text-muted)}.card .partner-row-main{justify-content:space-between}.card .partner-row-main h2{margin:0}.secondary-button,.partner-row-main>button:not(.link-button),.list li>button,.approve-form button[type=button],.partner-row>button{border-radius:var(--radius-sm);border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;padding:.4rem .9rem;font-size:.875rem}.partner-row>button{align-self:flex-start}.secondary-button:disabled,.partner-row-main>button:disabled,.approve-form button:disabled{opacity:.6;cursor:default}.approve-form{border-top:1px solid var(--border);flex-direction:column;gap:.6rem;padding-top:.75rem;display:flex}.approve-form label{color:var(--text-muted);flex-direction:column;flex:1;gap:.3rem;margin-bottom:0;font-size:.8rem;display:flex}.approve-form input,.approve-form select,.approve-form textarea{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-sunken);color:var(--text);padding:.45rem .6rem;font-size:1rem}.approve-form .checkbox-label{flex-direction:row;align-items:center;gap:.5rem}.approve-form .checkbox-label input{width:auto}.approve-form .row{flex-wrap:wrap;gap:.6rem;display:flex}.approve-form button[type=submit]{border-radius:var(--radius-sm);background:var(--primary);color:var(--on-primary);cursor:pointer;border:none;padding:.4rem .9rem;font-size:.875rem;font-weight:600}.approve-form button.danger-button,.danger-button{border-radius:var(--radius-sm);border:1px solid var(--danger);background:var(--danger-tint);color:var(--danger);cursor:pointer;padding:.4rem .9rem;font-size:.875rem;font-weight:600}.weekday-picker{flex-wrap:wrap;gap:.4rem;display:flex}.weekday-btn{border:1px solid var(--border);background:var(--surface-sunken);width:2.2rem;height:2.2rem;color:var(--text);cursor:pointer;border-radius:999px;font-size:.875rem}.weekday-btn-active{background:var(--primary);border-color:var(--primary);color:var(--on-primary);font-weight:600}.item-fields{flex-direction:column;gap:.3rem;display:flex}.item-field{gap:.5rem;font-size:.875rem;display:flex}.item-field-label{white-space:nowrap;color:var(--text-muted);flex:none}.partner-status-card{margin-top:1rem;margin-bottom:0}.checkin-row{flex-direction:column;align-items:stretch;gap:.5rem}.checkin-row-main{align-items:center;gap:.6rem;display:flex}.checkin-row .row{gap:.5rem;display:flex}.checkin-row .row input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-sunken);min-width:0;color:var(--text);flex:1;padding:.45rem .6rem;font-size:1rem}.checkin-row .row button{border-radius:var(--radius-sm);background:var(--primary);color:var(--on-primary);cursor:pointer;white-space:nowrap;border:none;padding:.45rem .9rem;font-weight:600}.checkin-row .row button:disabled{opacity:.6;cursor:default}.link-button{color:var(--link);cursor:pointer;background:0 0;border:none;padding:.4rem .5rem;font-size:.875rem}.link-button-danger{color:var(--danger)}.venue-photos{border-top:1px solid var(--border);flex-direction:column;gap:.6rem;width:100%;padding-top:.75rem;display:flex}.photo-capture{flex-flow:wrap;align-items:center;gap:.6rem;display:flex}.photo-capture .success,.photo-capture .error{margin-top:0}.photo-capture .photo-capture-button{border-radius:var(--radius-sm);background:var(--primary);color:var(--on-primary);cursor:pointer;flex-direction:row;align-items:center;margin-bottom:0;padding:.6rem 1rem;font-size:.95rem;font-weight:600;display:inline-flex}.photo-capture .photo-capture-button-busy{opacity:.7;cursor:progress}.photo-capture .photo-capture-button input{display:none}.venue-photos-grid{flex-wrap:wrap;gap:.75rem;display:flex}.venue-photo{flex-direction:column;align-items:center;gap:.3rem;display:flex}.venue-photo img{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border);width:96px;height:96px}.venue-photo-confirm{text-align:center;flex-direction:column;align-items:center;gap:.3rem;max-width:120px;display:flex}.venue-photo-confirm .hint{font-size:.75rem}.past-slots{border-top:1px solid var(--border);margin-top:1rem;padding-top:.75rem}.past-slots summary{cursor:pointer;color:var(--text-muted);margin-bottom:.5rem;font-size:.875rem}.toast{z-index:200;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);max-width:calc(100% - 2rem);color:var(--text);padding:.6rem 1rem;font-size:.875rem;position:fixed;top:1rem;left:50%;transform:translate(-50%)}.toast-success{border-color:var(--success);background:linear-gradient(var(--success-tint), var(--success-tint)), var(--surface);color:var(--success)}.dashboard-page{width:100%;max-width:720px;margin:0 auto;padding:2rem 1rem}.dashboard-page header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.dashboard-page h1{margin:0;font-size:1.25rem}.dashboard-page button{border-radius:var(--radius-sm);border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;padding:.4rem .8rem}.placeholder{color:var(--text-muted)}.nav-links{grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:1.5rem;display:grid}.nav-links a{border-radius:var(--radius-sm);border:1px solid var(--border);color:var(--text);text-align:center;padding:.6rem 1rem;font-size:.9rem;text-decoration:none}.nav-links a:hover{border-color:var(--primary)}.nav-links-secondary{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1rem}.nav-links-secondary h2{color:var(--text-muted);margin:0 0 .5rem;font-size:.8rem;font-weight:500}.nav-links-secondary a{opacity:.7;font-size:.85rem}.nav-links-secondary a:hover{opacity:1}.app-download-card{border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:1rem;margin-top:2rem;padding:1rem;display:flex}.app-download-card svg{background:#fff;border-radius:4px;flex-shrink:0;padding:6px}.app-download-card h2{margin:0 0 .25rem;font-size:.95rem}.app-download-card p{color:var(--text-muted);margin:0 0 .4rem;font-size:.8rem}.app-download-card a{color:var(--link);word-break:break-all;font-size:.75rem}@media (width<=600px){.app-download-card{display:none}}.version-footer{color:var(--text-muted);opacity:.7;font-variant-numeric:tabular-nums;margin-top:2rem;font-size:.75rem}
