*{box-sizing:border-box}:root{--bg:#f5f7fb;--card:#fff;--text:#172033;--muted:#697386;--border:#e4e8ef;--primary:#2563eb;--dark:#1d4ed8;--danger:#dc2626;--warning:#d97706;--success:#16a34a}
body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.screen{min-height:100vh;display:grid;place-items:center;padding:20px}.loader{width:34px;height:34px;border:3px solid #dbeafe;border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;margin:auto}@keyframes spin{to{transform:rotate(360deg)}}
.auth-card{width:min(430px,100%);background:#fff;border:1px solid var(--border);border-radius:22px;padding:32px;box-shadow:0 20px 60px #0f172a14}.logo{width:42px;height:42px;border-radius:12px;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:800;margin:auto}.logo.small{width:40px;height:40px;margin:0}.auth-card h1{text-align:center;margin:14px 0 4px}.auth-card>.muted{text-align:center}.auth-card h2{font-size:21px;margin:25px 0 16px}
label{font-size:13px;font-weight:700;display:block;margin-bottom:13px}label input,label select,label textarea{margin-top:7px}input,select,textarea{width:100%;border:1px solid var(--border);background:#fff;border-radius:10px;padding:11px 12px;color:var(--text);outline:none}input:focus,select:focus,textarea:focus{border-color:#93c5fd;box-shadow:0 0 0 3px #dbeafe}textarea{min-height:85px;resize:vertical}
.primary,.secondary{border:0;border-radius:10px;padding:11px 16px;font-weight:700}.primary{background:var(--primary);color:#fff}.primary:hover{background:var(--dark)}.secondary{background:#eef1f6;color:var(--text)}.full{width:100%}.link{border:0;background:transparent;color:var(--primary);padding:7px 0;font-weight:700}.inline{padding:0}.switch{text-align:center;color:var(--muted);font-size:13px}.message{padding:11px;border-radius:10px;background:#eff6ff;color:#1e40af;font-size:13px}.message.error{background:#fef2f2;color:#991b1b}
.topbar{min-height:76px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 5%;gap:15px}.brand{display:flex;align-items:center;gap:12px}.brand h1{margin:0;font-size:19px}.brand p{margin:2px 0 0;color:var(--muted);font-size:12px}.user{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px}
.container{max-width:1100px;margin:auto;padding:34px 22px 70px}.hero{background:linear-gradient(135deg,#eff6ff,#fff);border:1px solid #dbeafe;border-radius:22px;padding:30px;display:flex;justify-content:space-between;gap:20px;align-items:center}.eyebrow{margin:0 0 7px;color:var(--primary);font-size:11px;font-weight:800;letter-spacing:.12em}.hero h2{margin:0 0 8px;font-size:clamp(25px,4vw,38px)}.hero p:not(.eyebrow){margin:0;color:var(--muted);max-width:650px}.today{min-width:150px;background:#fff;border:1px solid var(--border);padding:17px;border-radius:15px}.today span{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}.stat{background:#fff;border:1px solid var(--border);border-radius:15px;padding:18px}.stat span{display:block;color:var(--muted);font-size:12px;margin-bottom:7px}.stat strong{font-size:25px}.toolbar{display:grid;grid-template-columns:1fr 170px 150px auto;gap:10px;margin:20px 0}.empty{text-align:center;padding:65px 20px;background:#fff;border:1px dashed #cbd5e1;border-radius:18px}.emptyIcon{margin:auto auto 12px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#dcfce7;color:var(--success);font-weight:800}.empty h3{margin:0 0 6px}.empty p{color:var(--muted);margin:0 0 18px}.list{display:grid;gap:12px}.reminder{background:#fff;border:1px solid var(--border);border-radius:16px;padding:17px;display:flex;align-items:center;gap:15px}.reminder.done{opacity:.65}.reminder.done .title{text-decoration:line-through}.check{width:23px;height:23px;border-radius:7px;border:2px solid #cbd5e1;background:#fff;flex:0 0 auto}.check.checked{background:var(--success);border-color:var(--success);color:#fff}.main{flex:1;min-width:0}.title{font-weight:750;margin-bottom:5px}.meta{display:flex;flex-wrap:wrap;gap:7px;align-items:center;color:var(--muted);font-size:12px}.badge{padding:4px 8px;border-radius:99px;background:#eef2ff;color:#4338ca;font-weight:700}.due{font-weight:700}.soon{color:var(--warning)}.overdue{color:var(--danger)}.completed{color:var(--success)}.actions{display:flex;gap:4px}.edit,.delete{border:0;background:transparent;color:#94a3b8;font-size:18px;padding:7px}.delete:hover{color:var(--danger)}.edit:hover{color:var(--primary)}
.modal{position:fixed;inset:0;background:#0f172a80;display:grid;place-items:center;padding:18px;z-index:10}.modalCard{width:min(560px,100%);background:#fff;border-radius:20px;padding:24px}.modalHead{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.modalHead h2{margin:0}.icon{border:0;background:#f1f5f9;width:36px;height:36px;border-radius:50%;font-size:22px}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.actions{justify-content:flex-end;margin-top:5px}.toast{position:fixed;right:20px;bottom:20px;background:#172033;color:#fff;padding:12px 16px;border-radius:10px;font-size:13px;z-index:20}
@media(max-width:800px){.toolbar{grid-template-columns:1fr 1fr}.toolbar .primary{grid-column:1/-1}.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.topbar{padding:0 14px}.brand p,.user span{display:none}.container{padding:20px 14px}.hero{padding:22px;flex-direction:column;align-items:flex-start}.today{width:100%}.toolbar{grid-template-columns:1fr}.toolbar .primary{grid-column:auto}.two{grid-template-columns:1fr}.auth-card{padding:25px}.reminder{align-items:flex-start}}
