:root{--red:#a51f1f;--dark:#211713;--cream:#fff8e8;--gold:#d2a72f;--line:#d7b96f;--green:#567a43;--shadow:0 12px 35px #43220f1f;font-family:Inter,system-ui,-apple-system,sans-serif;color:var(--dark);background:#eee3c9}*{box-sizing:border-box}body{margin:0;background:linear-gradient(135deg,#f7edcf,#e6d1a4);min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}.login-page{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(420px,100%);background:var(--cream);border:1px solid var(--line);border-radius:18px;padding:32px;box-shadow:var(--shadow);display:grid;gap:16px}.brand-mark{width:62px;height:62px;display:grid;place-items:center;border-radius:50%;background:var(--red);color:#fff4cf;font:bold 22px Georgia}.eyebrow{letter-spacing:.18em;font-weight:900;color:var(--red);font-size:12px;margin:0}.login-card h1{margin:0;font:700 34px Georgia}.stack,.login-card label,.modal-card label{display:grid;gap:7px;font-weight:800}.login-card input,.modal-card input,.modal-card select{width:100%;padding:12px;border:1px solid var(--line);border-radius:9px;background:#fffdf8}.primary-button,.primary{border:0;background:var(--red);color:#fff;padding:12px 16px;border-radius:9px;font-weight:900;text-decoration:none}.link-button{text-align:center}.notice{background:#f1d97e;padding:12px;border-radius:8px}.form-error{color:var(--red);font-weight:700}.topbar{background:var(--dark);color:#fff4cf;padding:12px max(18px,calc((100% - 1180px)/2));display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:0;z-index:5}.brand{display:flex;gap:11px;align-items:center}.brand>b{width:42px;height:42px;border-radius:50%;background:var(--red);display:grid;place-items:center}.brand span{display:grid}.brand small{opacity:.72}.ghost{background:transparent;color:#fff4cf;border:1px solid #725d4c;border-radius:8px;padding:8px 10px;margin-left:12px}.shell{width:min(1180px,calc(100% - 28px));margin:20px auto 60px;background:var(--cream);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}.tabs{display:flex;overflow-x:auto;background:#f0d681;border-bottom:1px solid var(--line);padding:0 12px}.tabs button{border:0;background:transparent;padding:16px 14px;font-weight:900;white-space:nowrap}.tabs button.active{color:var(--red);box-shadow:inset 0 -3px var(--red)}#content{padding:24px}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.section-head h1,#content>h1{font:700 30px Georgia;margin:0 0 6px}.section-head p,#content>p{margin:0;color:#745e4d}.small{padding:10px 13px}.switch{display:inline-flex;background:#ead9ac;padding:4px;border-radius:10px;margin:20px 0}.switch button{border:0;background:transparent;padding:8px 18px;border-radius:7px;font-weight:800}.switch button.active{background:var(--dark);color:#fff}.cards{display:grid;gap:10px}.duty-card{display:grid;grid-template-columns:100px 1fr auto;gap:16px;align-items:center;padding:14px;border:1px solid #dfc57e;border-radius:12px;background:#fffdf7}.date-box{font-weight:900;color:var(--red)}.duty-info{display:grid;gap:7px}.duty-info>div{display:flex;gap:8px;align-items:center}.duty-info em{background:var(--gold);font-style:normal;font-size:12px;font-weight:900;padding:4px 7px;border-radius:20px}.duty-info small{color:#725f50}.duty-actions{display:flex;align-items:center;gap:8px}.duty-actions button{border:1px solid var(--line);background:#fff8e8;border-radius:8px;padding:8px 10px;font-weight:800}.duty-actions .primary{background:var(--red);color:#fff;border-color:var(--red)}.open{color:#9a5c00}.full{color:var(--green)}.calendar-scroll{display:grid;gap:22px}.month{border:1px solid var(--line);border-radius:12px;overflow:hidden}.month h2{margin:0;background:var(--dark);color:#fff4cf;padding:13px 16px;font:700 22px Georgia}.weekdays,.cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}.weekdays b{background:#f0d681;text-align:center;padding:9px;font-size:13px}.cal-day{min-height:95px;border-right:1px solid #ead7a7;border-top:1px solid #ead7a7;padding:6px;display:grid;align-content:start;gap:5px}.cal-day>button{border:1px solid #d0a733;background:#fff2bd;border-radius:6px;text-align:left;padding:6px;display:grid}.cal-day small{font-size:11px}.people-list{display:grid;gap:8px;margin-top:20px}.people-list article{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;padding:13px;border-bottom:1px solid #ead7a7}.people-list em{text-transform:capitalize}.availability{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:20px}.availability button{display:grid;text-align:left;padding:12px;border:1px solid #a9c195;background:#edf4e9;border-radius:9px}.availability button.off{border-color:#d19384;background:#f8e5df}.availability span{font-size:12px;margin-top:4px}.stats-table{border:1px solid var(--line);border-radius:12px;overflow:auto;margin-top:20px}.stats-row{display:grid;grid-template-columns:1.5fr repeat(4,1fr);min-width:580px}.stats-row>*{padding:12px;border-bottom:1px solid #ead7a7;text-align:center}.stats-row>*:first-child{text-align:left}.stats-row.head{background:var(--dark);color:#fff4cf}.modal-bg{position:fixed;inset:0;background:#211713b8;z-index:20;display:grid;place-items:center;padding:18px}.modal-card{width:min(500px,100%);max-height:90vh;overflow:auto;background:var(--cream);border-radius:14px;padding:24px;display:grid;gap:15px}.modal-card h2{margin:0;font:700 27px Georgia}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.modal-actions button{padding:10px 13px;border-radius:8px;border:1px solid var(--line);font-weight:800}.modal-actions .danger{color:var(--red);margin-right:auto}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--dark);color:#fff;padding:12px 18px;border-radius:10px;z-index:30}.loading,.error{padding:50px;text-align:center}
.cover{color:var(--red)}.team-status{display:grid;gap:8px;border:1px solid var(--line);border-radius:10px;padding:12px;background:#fffaf0}.team-status label{display:grid;grid-template-columns:1fr 170px;align-items:center;gap:10px}.team-status select{padding:8px}.cal-team{font-weight:800;color:var(--red);white-space:normal}.stats-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0}.stats-summary article{background:#f0d681;border:1px solid var(--line);border-radius:11px;padding:16px;display:grid}.stats-summary b{font-size:26px;color:var(--red)}.stats-summary span{font-size:13px}.month-picker{display:grid;gap:5px;font-weight:800}.month-picker input{padding:9px;border:1px solid var(--line);border-radius:8px;background:#fff}.stats-chart{border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:18px}.stats-chart h2{font:700 21px Georgia;margin:0 0 14px}.chart-row{display:grid;grid-template-columns:100px 1fr 35px;gap:10px;align-items:center;margin:9px 0}.chart-row>div{height:16px;background:#ead9ac;border-radius:20px;overflow:hidden}.chart-row i{display:block;height:100%;min-width:2px;background:linear-gradient(90deg,var(--red),var(--gold));border-radius:20px}.monthly-row{display:grid;grid-template-columns:1.4fr repeat(7,.75fr);min-width:780px}.monthly-row>*{padding:11px;border-bottom:1px solid #ead7a7;text-align:center}.monthly-row>*:first-child{text-align:left}.monthly-row.head{background:var(--dark);color:#fff4cf}.secondary-button{border:1px solid var(--line);background:#fffaf0;color:var(--dark);padding:11px 16px;border-radius:9px;font-weight:900}.install-steps{display:grid;gap:10px}.install-steps article{display:grid;gap:5px;border:1px solid var(--line);background:#fffaf0;border-radius:10px;padding:13px}.install-steps span{line-height:1.45;color:#665142}.onboarding{width:min(500px,100%)}
@media(max-width:700px){#content{padding:16px}.section-head{display:grid}.duty-card{grid-template-columns:1fr}.duty-actions{flex-wrap:wrap}.cal-day{min-height:72px;padding:3px}.cal-day>button strong{font-size:11px}.cal-day>button .cal-time{display:none}.cal-team{font-size:9px}.weekdays b{font-size:11px;padding:7px 2px}.two{grid-template-columns:1fr}.shell{width:100%;margin:0;border-radius:0;border-left:0;border-right:0}.topbar{position:static}.stats-summary{grid-template-columns:1fr 1fr}.chart-row{grid-template-columns:75px 1fr 25px}}
