:root { color-scheme: light; --paper:#fff; --ink:#172033; --subtle:#667085; --line:#e5e7eb; --brand:#315efb; --soft:#edf2ff; --danger:#c22e38; --shadow:0 16px 45px #17203312; font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif; }
* { box-sizing:border-box; } body { margin:0; background:#f5f7fb; color:var(--ink); } button,input,textarea,select { font:inherit; } button { border:0; border-radius:9px; background:var(--brand); color:#fff; cursor:pointer; padding:.65rem 1rem; font-weight:650; } button:hover { filter:brightness(.96); } button.secondary { color:var(--ink); background:#eef1f7; } button.quiet { color:var(--subtle); background:transparent; padding:.5rem; } button.danger { background:var(--danger); } .shell { max-width:1100px; margin:0 auto; padding:2.4rem 1.25rem 4rem; }.auth-card,.calendar-card,.phone-card { background:var(--paper); border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow); }.auth-card { max-width:460px; margin:8vh auto; padding:2rem; }.auth-card h1,.topbar h1 { margin:.1rem 0 .45rem; }.auth-card p { color:var(--subtle); line-height:1.6; }.eyebrow { color:var(--brand); margin:0; font-size:.78rem; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }.auth-card form, #event-form { display:grid; gap:1rem; margin-top:1.4rem; } label { display:grid; gap:.4rem; font-weight:650; } input,textarea,select { border:1px solid #cfd5e1; border-radius:8px; padding:.65rem .72rem; color:var(--ink); background:#fff; } textarea { resize:vertical; }.error { min-height:1.15rem; margin:0; color:var(--danger); font-size:.9rem; }.topbar { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-bottom:1rem; }.header-actions { display:flex; gap:.5rem; align-items:center; }.status { min-height:1.3rem; color:var(--subtle); margin:.4rem 0 1rem; }.calendar-card { padding:1rem; }.month-nav { display:flex; align-items:center; justify-content:space-between; margin-bottom:.8rem; }.month-nav h2 { margin:0; font-size:1.15rem; }.weekdays,.month-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }.weekdays { color:var(--subtle); font-size:.8rem; text-align:right; padding:0 .45rem .3rem; }.month-grid { border-left:1px solid var(--line); border-top:1px solid var(--line); }.day { min-height:112px; overflow:hidden; border-right:1px solid var(--line); border-bottom:1px solid var(--line); padding:.4rem; background:#fff; }.day.muted { background:#fbfcff; color:#9aa4b5; }.day.today .day-number { background:var(--brand); color:white; }.day-number { width:1.65rem; height:1.65rem; border-radius:100%; display:grid; place-items:center; margin-left:auto; font-size:.82rem; }.event-chip { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; width:100%; text-align:left; margin-top:.22rem; padding:.25rem .38rem; border-radius:5px; background:var(--soft); color:#17388f; font-size:.76rem; font-weight:650; }.event-chip:hover { background:#dbe5ff; }.phone-card { margin-top:1.25rem; padding:1.1rem 1.2rem; }.phone-card h2 { margin:0; font-size:1rem; }.phone-card p { color:var(--subtle); line-height:1.5; margin:.55rem 0 .8rem; }.copy-row { display:flex; gap:.5rem; align-items:center; }.copy-row code { min-width:0; overflow:auto; padding:.6rem; border-radius:7px; color:#253b7b; background:#f3f5f9; }.copy-row button { flex:none; } dialog { width:min(600px,calc(100vw - 2rem)); border:0; border-radius:16px; box-shadow:0 28px 80px #11182755; padding:0; } dialog::backdrop { background:#11182766; } #event-form { padding:1.25rem; }.dialog-heading { display:flex; justify-content:space-between; align-items:center; }.dialog-heading h2 { margin:0; }.check { display:flex; align-items:center; gap:.5rem; }.check input { width:1rem; height:1rem; }.two-col { display:grid; grid-template-columns:1fr 1fr; gap:.8rem; }.form-actions { display:grid; grid-template-columns:auto 1fr auto auto; gap:.6rem; align-items:center; margin-top:.3rem; }
@media (max-width:650px) { .shell { padding:1.2rem .65rem 3rem; }.topbar { align-items:flex-start; flex-direction:column; }.header-actions { width:100%; }.header-actions button:not(.quiet) { flex:1; }.day { min-height:82px; padding:.22rem; }.event-chip { font-size:.68rem; padding:.18rem .22rem; }.weekdays { padding:0 .18rem .25rem; }.two-col { grid-template-columns:1fr; }.copy-row { align-items:stretch; flex-direction:column; }.copy-row button { width:100%; } }
