:root{--brand: #2563eb;--brand-dark: #1d4ed8;--bg: #f8fafc;--border: #e2e8f0;--text: #0f172a;--danger: #dc2626;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button{font:inherit;cursor:pointer;border:1px solid var(--border);background:#fff;border-radius:6px;padding:.5rem 1rem}button:hover{background:#f1f5f9}button[type=submit]{background:var(--brand);color:#fff;border-color:var(--brand)}button[type=submit]:hover{background:var(--brand-dark)}button.danger{color:var(--danger);border-color:var(--danger)}input,textarea{font:inherit;padding:.5rem;border:1px solid var(--border);border-radius:6px;width:100%}label{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem;font-weight:500;flex:1}.centered{display:flex;align-items:center;justify-content:center;height:100vh}.auth-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1rem}.auth-card{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:360px;background:#fff;padding:2rem;border-radius:12px;border:1px solid var(--border)}.auth-card h1{margin:0 0 .5rem;font-size:1.25rem}.auth-home-link{margin:-.5rem 0 -.25rem}.auth-home-link a{color:#64748b;text-decoration:none;font-size:.85rem}.auth-home-link a:hover{text-decoration:underline}.calendar-page{max-width:1100px;margin:0 auto;padding:1rem}.app-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.site-tagline{margin:-.75rem 0 1rem;color:#64748b;font-size:.95rem}.app-header h1{font-size:1.25rem;margin:0}.header-right{display:flex;align-items:center;gap:.75rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:50}.modal-card{background:#fff;border-radius:12px;padding:1.5rem;width:100%;max-width:480px;display:flex;flex-direction:column;gap:1rem;max-height:90vh;overflow-y:auto}.modal-card h2{margin:0;font-size:1.1rem}.field-row{display:flex;gap:1rem}.field-row label{flex:1}.reminder-status{font-size:.85rem;background:#f1f5f9;border-radius:6px;padding:.5rem .75rem}.modal-actions{display:flex;align-items:center;gap:.5rem}.modal-actions .spacer{flex:1}.error-text{color:var(--danger);font-size:.85rem;margin:0}.team-add-form{background:#fff;border:1px solid var(--border);border-radius:12px;padding:1.25rem;margin-bottom:1.5rem;display:flex;flex-direction:column;gap:1rem}.team-add-form h2,.team-list h2{font-size:1rem;margin:0 0 .5rem}.team-list{background:#fff;border:1px solid var(--border);border-radius:12px;padding:1.25rem}.team-table{width:100%;border-collapse:collapse;font-size:.9rem}.team-table th{text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;color:#64748b;border-bottom:1px solid var(--border);padding:.5rem}.team-table td{padding:.5rem;border-bottom:1px solid var(--border)}.header-right a{color:var(--text);text-decoration:none;font-size:.9rem;display:inline-flex;align-items:center;gap:.35rem}.header-right a:hover{text-decoration:underline}.badge{background:var(--danger);color:#fff;border-radius:999px;font-size:.7rem;font-weight:600;padding:.05rem .4rem;line-height:1.4}.hint-text{font-size:.85rem;color:#64748b;margin:0 0 1rem}.requests-list{display:flex;flex-direction:column;gap:.75rem}.requests-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.requests-card-main{display:flex;flex-direction:column;gap:.15rem;font-size:.9rem}.requests-card-main strong{font-size:1rem}.requests-notes{margin:.35rem 0 0;color:#475569;font-style:italic}.requests-card-actions{display:flex;gap:.5rem;flex-shrink:0}.consent-field{display:flex;flex-direction:row;align-items:flex-start;gap:.6rem;font-size:.8rem;font-weight:400;color:#475569;line-height:1.4}.consent-field input[type=checkbox]{width:auto;margin-top:.15rem;flex-shrink:0}.consent-field a{color:var(--brand)}.site-footer{margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:#64748b}.site-footer nav{display:flex;gap:1rem}.site-footer a{color:#64748b}.policy-page{max-width:680px}.policy-page h1{font-size:1.4rem;margin:1rem 0 .25rem}.policy-page .updated{color:#64748b;font-size:.85rem;margin:0 0 1.5rem}.policy-page h2{font-size:1.05rem;margin:1.75rem 0 .5rem}.policy-page p,.policy-page li{font-size:.9rem;line-height:1.6;color:#1e293b}.policy-page a{color:var(--brand)}.home-links{display:flex;gap:1rem;flex-wrap:wrap;margin:1.5rem 0 2rem}.home-link-card{flex:1;min-width:220px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:1.25rem;display:flex;flex-direction:column;gap:.35rem;text-decoration:none;color:var(--text)}.home-link-card:hover{border-color:var(--brand)}.home-link-card strong{font-size:1.05rem}.home-link-card span{font-size:.85rem;color:#64748b}@media (max-width: 480px){.field-row{flex-direction:column}.team-table{display:block;overflow-x:auto}.requests-card{flex-direction:column;align-items:stretch}}
