:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;--bg: #0f0f13;--surface: #1a1a22;--surface-hover: #22222e;--border: rgba(255, 255, 255, .08);--text: #e8e8ed;--text-muted: #8888a0;--accent: #6c63ff;--accent-soft: rgba(108, 99, 255, .15);--green: #34d399;--green-soft: rgba(52, 211, 153, .15);--red: #f87171;--yellow: #f59e0b;--radius: .75rem}*{box-sizing:border-box;margin:0}html,body,#root{min-height:100vh;background:var(--bg);color:var(--text)}.app{max-width:560px;margin:0 auto;padding:1.25rem 1rem 6rem}.header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.75rem}.header-left{display:flex;align-items:center;gap:.65rem}.logo{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:.6rem;background:var(--accent);color:#fff;font-weight:700;font-size:1.25rem}h1{font-size:1.2rem;font-weight:700;letter-spacing:-.02em}.date-badge{font-size:.78rem;color:var(--text-muted);background:var(--surface);padding:.3rem .7rem;border-radius:2rem;border:1px solid var(--border)}.progress-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem;margin-bottom:1.5rem}.progress-header{display:flex;justify-content:space-between;margin-bottom:.6rem}.progress-label{font-size:.85rem;font-weight:600}.progress-count{font-size:.8rem;color:var(--text-muted)}.progress-bar{height:.5rem;background:#ffffff0f;border-radius:1rem;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--green));border-radius:1rem;transition:width .4s ease}.slot-section{margin-bottom:1.5rem}.slot-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.65rem}.slot-dot{width:.55rem;height:.55rem;border-radius:50%}.slot-header h2{font-size:.9rem;font-weight:600;flex:1}.slot-count{font-size:.75rem;color:var(--text-muted);background:var(--surface);padding:.15rem .55rem;border-radius:1rem}.med-list{display:flex;flex-direction:column;gap:.5rem}.med-card{display:flex;align-items:center;gap:.75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.85rem 1rem;transition:background .15s,border-color .15s}.med-card:hover{background:var(--surface-hover)}.med-card.taken{border-color:#34d39940}.med-card.taken .med-name{text-decoration:line-through;color:var(--text-muted)}.check-btn{flex-shrink:0;width:1.75rem;height:1.75rem;border-radius:50%;border:2px solid var(--border);background:transparent;color:var(--green);font-size:.85rem;cursor:pointer;display:grid;place-items:center;transition:all .15s}.med-card.taken .check-btn{background:var(--green-soft);border-color:var(--green)}.check-btn:hover{border-color:var(--green)}.med-info{flex:1;display:flex;flex-direction:column;min-width:0}.med-name{font-weight:600;font-size:.92rem}.med-dosage{font-size:.78rem;color:var(--text-muted)}.med-notes{font-size:.72rem;color:var(--text-muted);opacity:.7;margin-top:.15rem}.med-actions{display:flex;gap:.25rem;opacity:0;transition:opacity .15s}.med-card:hover .med-actions{opacity:1}.icon-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:.35rem;border-radius:.4rem;font-size:.85rem;transition:background .15s,color .15s}.icon-btn:hover{background:#ffffff0f;color:var(--text)}.icon-btn.danger:hover{background:#f871711f;color:var(--red)}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-muted)}.empty-sub{font-size:.85rem;opacity:.6;margin-top:.35rem}.fab{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);background:var(--accent);color:#fff;border:none;border-radius:2rem;padding:.75rem 1.75rem;font-weight:600;font-size:.92rem;cursor:pointer;box-shadow:0 4px 24px #6c63ff59;transition:transform .15s,box-shadow .15s}.fab:hover{transform:translate(-50%) scale(1.04);box-shadow:0 6px 32px #6c63ff73}.form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}.form h2{font-size:1.1rem;margin-bottom:1.25rem}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.field span{font-size:.8rem;font-weight:600;color:var(--text-muted)}.field input,.field textarea{background:var(--bg);border:1px solid var(--border);border-radius:.5rem;padding:.65rem .85rem;color:var(--text);font-size:.9rem;font-family:inherit;outline:none;transition:border-color .15s}.field input:focus,.field textarea:focus{border-color:var(--accent)}.field input::placeholder,.field textarea::placeholder{color:var(--text-muted);opacity:.5}.field textarea{resize:vertical}.freq-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.freq-btn{background:var(--bg);border:1px solid var(--border);border-radius:.5rem;padding:.55rem;color:var(--text-muted);font-size:.82rem;font-weight:500;cursor:pointer;transition:all .15s}.freq-btn:hover{border-color:var(--accent);color:var(--text)}.freq-btn.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.form-actions{display:flex;gap:.75rem;margin-top:1.5rem}.btn-primary,.btn-secondary{flex:1;padding:.7rem;border-radius:.5rem;font-weight:600;font-size:.88rem;cursor:pointer;border:none;transition:opacity .15s}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{opacity:.9}.btn-secondary{background:transparent;border:1px solid var(--border);color:var(--text-muted)}.btn-secondary:hover{background:var(--surface-hover)}
