:root{--brown:#3d251e;--brown-deep:#2c1a15;--gold:#d4af37;--gold-soft:#cf9f4c;--paper:#fff;--ink:#2c1a15;--ink-soft:#6d5a53;--line:#e7dfd9;--error:#a32020;color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*,:before,:after{box-sizing:border-box}body{background:var(--brown);min-height:100vh;margin:0}h1,h2,p{margin:0}button,input,select{font:inherit}:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.metallic-gold{color:var(--gold);text-shadow:0 1px #cf9f4c,0 2px #b08436,0 3px #916b24,0 4px #735216,0 5px 1px #0006,0 0 10px #fff2c799;margin:0;font-family:Great Vibes,cursive;font-size:15vmin;font-weight:400;line-height:1.1;display:inline-block}.metallic-gold-small{font-size:2.75rem}@keyframes pulsate{0%{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}to{opacity:.8;transform:scale(1)}}.pulsate{animation:1.5s ease-in-out infinite pulsate}.landing{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:1rem;width:100%;min-height:100vh;display:flex}.landing-hint{color:var(--gold-soft);font-size:max(1rem,2vmin)}.card{background:var(--paper);border-radius:20px;width:100%;padding:clamp(1.25rem,3vw,2rem);box-shadow:0 18px 40px -20px #0009}.auth-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:1.5rem 1rem;display:flex}.auth-card{flex-direction:column;gap:1rem;max-width:26rem;margin-top:-1.25rem;padding-top:3rem;display:flex}.auth-card-wide{max-width:40rem}.field-grid{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem;display:grid}.field{text-align:left;color:var(--ink-soft);flex-direction:column;gap:.3rem;font-size:.9rem;display:flex}.field input,.field select{width:100%;min-height:2.75rem;color:var(--ink);background:var(--paper);border:1px solid #b9aca5;border-radius:10px;padding:.5rem .75rem;font-size:1rem}.primary,.secondary{cursor:pointer;border-radius:10px;min-height:2.75rem;padding:.5rem 1.25rem}.primary{color:var(--paper);background:var(--brown);border:none;font-weight:600}.primary:hover:not(:disabled){background:var(--brown-deep)}.primary:disabled{opacity:.6;cursor:wait}.secondary{color:var(--gold);border:1px solid var(--gold-soft);background:0 0}.secondary:hover{color:var(--brown-deep);background:var(--gold)}.asIfALink{color:#06c;cursor:pointer;font-family:inherit;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.asIfALink:hover{color:#049}.error{color:var(--error)}.demo-note{color:#4d3f18;background:#f6ebc4;border-radius:10px;padding:.75rem;font-size:.9rem}.notice{color:#1f6b3a}.loading{text-align:center;color:var(--gold-soft);padding:3rem 1rem}.shell{width:100%;max-width:62rem;margin-inline:auto;padding:1rem}.shell-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin-bottom:1rem;display:flex}.shell-user{color:#f4e9dd;align-items:center;gap:1rem;display:flex}.shell-main{flex-direction:column;gap:1.25rem;display:flex}.card h1,.card h2{margin-bottom:.25rem;font-size:1.5rem}.card h2{margin-bottom:1rem}.check-card{text-align:center}.check-day{color:var(--ink-soft)}.check-status{margin-top:1.25rem;font-size:1.125rem}.check-button{width:min(100%,18rem);min-height:3.5rem;margin-top:1.25rem;font-size:1.125rem}.check-card .error{margin-top:1rem}.stats{grid-template-columns:repeat(3,1fr);gap:.75rem;margin:1.25rem 0;display:grid}.stats div{text-align:center;background:#f7f2ee;border-radius:12px;padding:.75rem}.stats dt{color:var(--ink-soft);font-size:.875rem}.stats dd{margin:0;font-size:1.75rem;font-weight:700}.filters{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.95rem}th,td{text-align:left;white-space:nowrap;border-bottom:1px solid var(--line);padding:.6rem .75rem}th{color:var(--ink-soft);font-weight:600}.pill{border-radius:999px;padding:.1rem .6rem;font-size:.85rem;display:inline-block}.pill-in{color:#14532d;background:#dcf3e4}.pill-done{color:#5b4300;background:#f6ebc4}.pill-out{color:#5f5350;background:#eee7e3}@media (prefers-reduced-motion:reduce){.pulsate{animation:none}}
