:root{--maroon:#861f41;--orange:#e87722;--ink:#18202a;--paper:#f3f5f7;--white:#fff;--line:#dce1e6;--muted:#67717c}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.45 Arial,sans-serif}.topbar{background:var(--maroon);color:white;display:flex;justify-content:space-between;align-items:center;padding:13px max(18px,calc((100vw - 1200px)/2));box-shadow:0 2px 8px #0003}.topbar>div{display:flex;align-items:center;gap:12px}.mark{display:grid;place-items:center;background:var(--orange);font-weight:900;font-size:19px;width:44px;height:44px;border-radius:9px}.topbar small{display:block;opacity:.82}.topbar nav{display:flex;gap:18px;align-items:center}.topbar a{color:white;text-decoration:none}.topbar nav span{opacity:.8}main{max-width:1200px;margin:auto;padding:24px 18px 50px}.hero{display:flex;gap:20px;align-items:center;background:linear-gradient(110deg,#fff 60%,#fff3e9);border-left:6px solid var(--orange);padding:18px 22px;border-radius:10px;margin-bottom:20px}.hero h1{margin:0}.eyebrow{margin:0;color:var(--maroon);font-weight:bold}.hero form{margin-left:auto}.hero input{padding:9px}.weather{min-width:120px;text-align:right}.weather strong,.weather span{display:block}.weather strong{font-size:25px;color:var(--maroon)}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.panel,.admin-panel,.login-card{background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 2px 9px #18202a0b}.panel h2,.admin-panel h2{font-size:17px;margin:0;padding:14px 17px;border-bottom:1px solid var(--line)}.panel h2{border-top:4px solid var(--maroon);border-radius:9px 9px 0 0}.items{padding:6px 15px}.item{display:grid;grid-template-columns:30px 1fr 24px;gap:8px;padding:11px 0;border-bottom:1px solid #edf0f2}.item:last-child{border:0}.item strong{margin-right:8px}.item p{margin:3px 0;color:var(--muted)}.item time{color:var(--maroon);font-weight:bold;margin-right:10px}.item.done>div{text-decoration:line-through;opacity:.55}.check,.delete{background:none;color:var(--maroon);border:0;padding:0;font-size:22px}.delete{color:#8b949e}.badge{background:#f8e7ee;color:var(--maroon);border-radius:20px;padding:3px 8px;font-size:12px;font-weight:bold}.empty{color:var(--muted);padding:5px 17px 14px}.admin-panel{margin-top:20px;padding-bottom:18px}.admin-panel h1{padding:0 18px}.add-form{padding:16px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.add-form label,.stack label{font-size:13px;font-weight:bold;color:#4e5964}.add-form input,.add-form select,.add-form textarea,.stack input{display:block;width:100%;margin-top:4px;padding:9px;border:1px solid #bbc3cb;border-radius:5px;font:inherit}.add-form .wide{grid-column:span 2}.checkbox{align-self:end;padding:10px 0}.checkbox input{display:inline;width:auto}.add-form button,.stack button{align-self:end;background:var(--maroon);color:white;border:0;border-radius:5px;padding:11px 17px;font-weight:bold}.login-card{max-width:430px;margin:8vh auto;padding:28px}.stack{display:grid;gap:16px}.flash{background:#fff1c9;border:1px solid #f0d27d;padding:10px 14px;border-radius:6px;margin-bottom:16px}table{width:calc(100% - 32px);margin:0 16px;border-collapse:collapse}th,td{text-align:left;padding:10px;border-bottom:1px solid var(--line)}@media(max-width:720px){.topbar nav span{display:none}.grid{grid-template-columns:1fr}.hero{flex-wrap:wrap}.hero form{margin-left:0}.weather{margin-left:auto}.add-form{grid-template-columns:1fr 1fr}.add-form .wide{grid-column:span 2}}
