:root{--ink:#252423;--muted:#77716a;--gold:#b39573;--gold-dark:#8d704f;--cream:#f4efe8;--paper:#fffdf9;--line:#e6ded3;--green:#267453;--green-soft:#e8f3ed;--red:#a8443d;--red-soft:#f9ece9;--shadow:0 24px 70px #43352621}*{box-sizing:border-box}html{background:var(--cream)}body{color:var(--ink);background:radial-gradient(circle at 12% 8%, #b395732e, transparent 30rem), radial-gradient(circle at 92% 90%, #8d704f1f, transparent 28rem), var(--cream);-webkit-font-smoothing:antialiased;min-height:100vh;margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.shell{min-height:100vh;padding:24px}.login-shell,.loading-shell{place-items:center;display:grid}.loading-shell{color:var(--muted);text-align:center;align-content:center;gap:14px}.login-card,.dashboard-card{width:min(100%,480px);box-shadow:var(--shadow);background:#fffdf9f5;border:1px solid #b3957347;border-radius:28px}.login-card{text-align:center;padding:42px 34px 32px}.brand-mark{width:72px;height:72px;color:var(--paper);background:linear-gradient(145deg, #c2a582, var(--gold-dark));border-radius:24px;place-items:center;margin:0 auto 24px;display:grid;box-shadow:0 12px 26px #8d704f3d}.brand-mark svg{fill:currentColor;width:39px;height:39px}.brand-mark.small{border-radius:16px;flex:none;width:48px;height:48px;margin:0}.brand-mark.small svg{width:27px;height:27px}.eyebrow{color:var(--gold-dark);letter-spacing:.13em;text-transform:uppercase;margin:0 0 7px;font-size:12px;font-weight:800}h1,h2,p{margin-top:0}h1{letter-spacing:-.025em;margin-bottom:8px;font-family:Georgia,Times New Roman,serif;font-size:clamp(32px,8vw,42px);font-weight:500}.intro{color:var(--muted);margin-bottom:30px}form,.date-grid{text-align:left}label{color:#514d48;margin:0 0 8px;font-size:14px;font-weight:700;display:block}input{width:100%;min-height:52px;color:var(--ink);background:#fff;border:1px solid #d9d0c5;border-radius:13px;outline:none;margin:0 0 19px;padding:0 15px;transition:border-color .15s,box-shadow .15s}input:focus{border-color:var(--gold);box-shadow:0 0 0 4px #b3957324}.primary-button,.danger-button,.secondary-button,.instant-button,.toggle-button{cursor:pointer;border:0;border-radius:14px;min-height:52px;font-weight:800;transition:transform .12s,box-shadow .12s,opacity .12s}.primary-button,.danger-button{justify-content:center;align-items:center;gap:9px;width:100%;padding:0 18px;display:inline-flex}.primary-button{color:#fff;background:linear-gradient(145deg, var(--gold), var(--gold-dark));box-shadow:0 10px 24px #8d704f38}.danger-button{color:#fff;background:var(--red)}.secondary-button{color:#4c443b;background:#fff;border:1px solid #d7cbbd;padding:0 18px}.instant-button{color:#fff;background:linear-gradient(145deg, var(--gold), var(--gold-dark));width:100%;padding:0 18px;box-shadow:0 10px 22px #8d704f33}button:not(:disabled):active{transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.48}.privacy-note{color:#999188;margin:22px 0 0;font-size:12px}.notice{border-radius:12px;margin:4px 0 18px;padding:12px 14px;font-size:14px;line-height:1.45}.notice.error{color:#85342f;background:var(--red-soft);border:1px solid #efc9c4}.notice.success{color:#185d40;background:var(--green-soft);border:1px solid #b9ddca}.spinner{vertical-align:-3px;border:2px solid;border-right-color:#0000;border-radius:999px;width:18px;height:18px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.dashboard-shell{padding:18px}.dashboard-card{width:min(100%,700px);margin:0 auto;padding:24px}.dashboard-header,.brand-row,.section-heading{align-items:center;display:flex}.dashboard-header{justify-content:space-between;gap:16px;margin-bottom:24px}.brand-row{gap:14px}.dashboard-header h1{margin:0;font-size:29px}.dashboard-header .eyebrow{margin-bottom:3px;font-size:10px}.text-button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:10px 2px;font-size:13px;font-weight:700}.status-panel{border:1px solid;border-radius:20px;align-items:flex-start;gap:17px;margin-bottom:18px;padding:21px;display:flex}.status-panel.active{color:#164f37;background:var(--green-soft);border-color:#b9ddca}.status-panel.scheduled{color:#6a5136;background:#f7f0e6;border-color:#dbc8b0}.status-panel.inactive{color:#5f5a54;background:#f4f1ed;border-color:#ded7cf}.status-icon{border:2px solid;border-radius:999px;flex:none;place-items:center;width:28px;height:28px;display:grid}.status-icon span{background:currentColor;border-radius:999px;width:9px;height:9px}.status-label{letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:800}.status-panel h2,.period-card h2,.confirm-dialog h2{margin-bottom:5px;font-family:Georgia,Times New Roman,serif;font-size:22px;font-weight:500}.status-panel p:last-child,.confirm-dialog p{color:currentColor;opacity:.82;margin-bottom:0;font-size:14px;line-height:1.5}.period-card,.action-card{border:1px solid var(--line);background:#fff;border-radius:20px;margin-bottom:18px;padding:21px}.period-card h2{color:#403b36}.date-grid{grid-template-columns:1fr 1fr;gap:14px;margin-top:20px;display:grid}.date-grid input{margin-bottom:4px}.period-card .notice{margin-top:12px}.period-card>.secondary-button{margin-top:16px}.action-card{text-align:center}.instant-action{border-bottom:1px solid var(--line);margin-bottom:20px;padding-bottom:20px}.instant-title{color:#403b36;margin-bottom:6px;font-family:Georgia,Times New Roman,serif;font-size:20px}.action-hint{color:var(--muted);margin-bottom:16px;font-size:14px;line-height:1.5}.toggle-button{color:#fff;justify-content:center;align-items:center;gap:14px;width:100%;min-height:62px;padding:10px 18px;font-size:16px;display:flex}.toggle-button.turn-on{background:var(--green);box-shadow:0 12px 24px #26745333}.toggle-button.turn-off{color:#71312c;background:var(--red-soft);border:1px solid #e5bdb8}.toggle-track{background:#ffffff47;border-radius:999px;width:42px;height:24px;position:relative}.toggle-track span{background:currentColor;border-radius:999px;width:16px;height:16px;position:absolute;top:4px;left:4px}.turn-off .toggle-track{background:#a8443d2e}.turn-off .toggle-track span{left:22px}.helper{color:var(--red);margin:13px 0 0;font-size:13px}.website-link{color:var(--gold-dark);text-align:center;padding:9px;font-size:14px;font-weight:800;text-decoration:none;display:block}.loading-panel{min-height:280px;color:var(--muted);justify-content:center;align-items:center;gap:12px;display:flex}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#231f1b80;place-items:end center;padding:18px;display:grid;position:fixed;inset:0}.confirm-dialog{background:var(--paper);width:min(100%,520px);box-shadow:var(--shadow);border:1px solid #b395734d;border-radius:24px;padding:28px}.confirm-dialog>p:not(.eyebrow){color:var(--muted)}.dialog-actions{grid-template-columns:1fr 1.3fr;gap:12px;margin-top:24px;display:grid}@media (min-width:560px){.dashboard-shell{padding:38px 24px}.dashboard-card{padding:32px}.modal-backdrop{place-items:center}}@media (max-width:520px){.shell{padding:14px}.login-card{border-radius:24px;padding:34px 22px 26px}.dashboard-card{border-radius:24px;padding:18px}.dashboard-header{align-items:flex-start}.dashboard-header h1{font-size:25px}.brand-mark.small{width:44px;height:44px}.date-grid{grid-template-columns:1fr;gap:8px}.dialog-actions{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
