:root{--surface-bg: #f5ede0;--surface-card: #faf6ef;--text-primary: #1e2a3a;--text-muted: #6b7785;--accent-primary: #4a7c7e;--accent-primary-dim: #35595b;--accent-urgent: #c76e4d;--border-default: #e8d9c0;--radius: 10px;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, system-ui, sans-serif;--font-heading: "Fraunces", Georgia, "Times New Roman", serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-body);color:var(--text-primary);background:var(--surface-bg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}h1,h2,h3{font-family:var(--font-heading);font-weight:600;letter-spacing:-.01em;margin:0}button{font:inherit;color:inherit}.muted{color:var(--text-muted)}.urgent,.error{color:var(--accent-urgent)}.screen{min-height:100%;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom))}.center{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;padding:32px 16px}.card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius);padding:24px;width:min(420px,100%)}.login h1{font-size:1.6rem;margin:8px 0}.brand{font-family:var(--font-heading);font-weight:700;color:var(--accent-primary);letter-spacing:.02em}.shell{display:flex;flex-direction:column;min-height:100%}.topbar{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:12px;padding:calc(12px + env(safe-area-inset-top)) 16px 12px;background:var(--surface-bg);border-bottom:1px solid var(--border-default)}.topbar h1{font-size:1.25rem}.view{flex:1;padding:12px 16px calc(84px + env(safe-area-inset-bottom))}.group{margin-bottom:20px}.group h2{font-size:.95rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:8px 0}.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius);padding:14px;cursor:pointer}.row.static{cursor:default}.row:active:not(.static){background:#f1e9db}.row-main{display:flex;flex-direction:column;gap:2px;min-width:0}.title{font-weight:500}.meta{font-size:.85rem}.dot{width:10px;height:10px;border-radius:50%;flex:none;background:var(--accent-primary)}.dot.preventive_critical{background:#b08a3e}.dot.safety_critical{background:var(--accent-urgent)}.btn{width:100%;padding:14px 16px;border-radius:var(--radius);border:1px solid var(--border-default);background:var(--surface-card);font-weight:500;cursor:pointer}.btn.primary{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.btn.primary:active{background:var(--accent-primary-dim)}.btn:disabled{opacity:.6;cursor:default}.link{background:none;border:none;color:var(--accent-primary);padding:8px;cursor:pointer}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:2;display:grid;grid-template-columns:1fr 1fr;background:var(--surface-card);border-top:1px solid var(--border-default);padding-bottom:env(safe-area-inset-bottom)}.tabbar button{padding:14px 8px;border:none;background:none;color:var(--text-muted);font-weight:500}.tabbar button.active{color:var(--accent-primary)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e2a3a59;display:flex;align-items:flex-end;z-index:5}.sheet{width:100%;background:var(--surface-card);border-radius:16px 16px 0 0;padding:20px 16px calc(20px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px}.sheet h3{font-size:1.2rem}.snooze-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.toast{position:fixed;left:16px;right:16px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:6;background:var(--text-primary);color:#fff;padding:12px 16px;border-radius:var(--radius);text-align:center}.detail{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4;background:var(--surface-bg);display:flex;flex-direction:column}.detail-top{padding:calc(8px + env(safe-area-inset-top)) 8px 4px;border-bottom:1px solid var(--border-default);background:var(--surface-bg)}.detail-body{flex:1;overflow-y:auto;padding:12px 16px 24px;-webkit-overflow-scrolling:touch}.detail-head{display:flex;align-items:flex-start;gap:10px}.detail-head h2{font-size:1.35rem;line-height:1.25}.detail-head .dot{margin-top:8px}.due{margin:6px 0 12px;font-weight:500}.detail-section{margin:14px 0;padding:12px 14px;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius)}.detail-section h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:8px;font-family:var(--font-body);font-weight:600}.detail-section p{margin:0 0 6px;line-height:1.45}.detail-section ol,.detail-section ul{margin:0;padding-left:20px;line-height:1.45}.detail-section li{margin-bottom:6px}.detail-section ul.plain{list-style:none;padding-left:0}.detail-section a{color:var(--accent-primary)}.detail-actions{padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border-default);background:var(--surface-card);display:flex;flex-direction:column;gap:10px}.btn.slim{width:auto;padding:10px 14px}.prompt{display:flex;flex-direction:column;gap:10px}.prompt-q{margin:0;font-weight:600}.prompt-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.prompt-row input{width:110px;padding:10px 12px;font:inherit;border:1px solid var(--border-default);border-radius:var(--radius);background:var(--surface-bg);color:var(--text-primary)}.toast.undo{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left}.toast.undo button{background:none;border:none;color:#fff;font-weight:700;text-decoration:underline;padding:4px 6px}.install{margin:0 0 14px;padding:12px 14px;background:var(--surface-card);border:1px solid var(--border-default);border-left:4px solid var(--accent-primary);border-radius:var(--radius);display:flex;flex-direction:column;gap:6px}.install-row{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.install-steps{margin:4px 0 0;padding-left:20px;line-height:1.5}.install-steps li{margin-bottom:4px}
