:root{--primary: #2563eb;--primary-dark: #1d4ed8;--primary-light: #eff6ff;--primary-subtle: #dbeafe;--secondary: #10b981;--secondary-dark: #059669;--secondary-light: #ecfdf5;--danger: #ef4444;--danger-dark: #dc2626;--danger-light: #fef2f2;--warning: #f59e0b;--warning-light: #fffbeb;--accent: #8b5cf6;--accent-light: #f5f3ff;--background: #f8fafc;--surface: #ffffff;--border: #e2e8f0;--border-strong: #cbd5e1;--text-primary: #0f172a;--text-secondary: #64748b;--text-muted: #94a3b8;color:var(--text-primary);background:var(--background);font-family:Plus Jakarta Sans,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--background);color:var(--text-primary)}button,input,select{font:inherit}button{cursor:pointer;transition:all .15s ease-in-out}a{color:inherit;text-decoration:none}.login-page{align-items:center;background:linear-gradient(135deg,#2563eb38,#10b9812e),url(https://images.unsplash.com/photo-1581579438747-104c53d7fbc4?auto=format&fit=crop&w=1800&q=80);background-position:center;background-size:cover;display:flex;justify-content:center;min-height:100vh;padding:24px}.login-panel{background:#fffffff5;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.8);border-radius:16px;box-shadow:0 20px 45px -10px #0f172a2e,0 0 0 1px #0000000a;max-width:520px;padding:36px;width:100%}.brand-mark,.app-logo svg{align-items:center;background:linear-gradient(135deg,var(--primary),var(--primary-dark));border-radius:12px;color:#fff;display:inline-flex;height:48px;justify-content:center;width:48px;box-shadow:0 4px 12px #2563eb4d}.login-panel h1{font-size:34px;font-weight:800;letter-spacing:-.02em;line-height:1.15;margin:18px 0 10px;color:var(--text-primary)}.login-copy{color:var(--text-secondary);line-height:1.6;font-size:15px;margin:0 0 24px}.login-form,.invite-form,.inline-form{display:grid;gap:14px}label{color:var(--text-secondary);display:grid;font-size:13px;font-weight:600;gap:6px}input,select{background:#fff;border:1px solid var(--border);border-radius:10px;color:var(--text-primary);min-height:46px;outline:none;padding:0 14px;width:100%;font-size:14px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb26}.primary-button,.secondary-button,.ghost-button,.logout-button{align-items:center;border:0;border-radius:10px;display:inline-flex;font-weight:700;gap:8px;justify-content:center;min-height:46px;padding:0 18px;font-size:14px}.primary-button{background:var(--primary);color:#fff;box-shadow:0 2px 8px #2563eb40}.primary-button:hover{background:var(--primary-dark);box-shadow:0 4px 12px #2563eb59}.secondary-button{background:var(--primary-light);color:var(--primary);border:1px solid var(--primary-subtle)}.secondary-button:hover{background:#e0edff}.ghost-button{background:transparent;color:var(--primary)}.ghost-button:hover{background:var(--primary-light)}.full{width:100%}.form-error{background:var(--danger-light);border:1px solid #fecaca;border-radius:10px;color:var(--danger-dark);font-size:13px;font-weight:500;padding:10px 14px}.credential-grid{display:grid;gap:10px;grid-template-columns:repeat(3,1fr);margin:20px 0}.credential-card{background:var(--background);border:1px solid var(--border);border-radius:10px;color:var(--text-primary);display:grid;gap:5px;min-height:100px;padding:12px;text-align:left;transition:border-color .15s,background-color .15s}.credential-card:hover{border-color:var(--primary);background:var(--primary-light)}.credential-card span,.credential-card small{color:var(--text-secondary);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.credential-card strong{font-size:12px;line-height:1.4;overflow-wrap:anywhere;color:var(--text-primary)}.app-shell{background:var(--background);display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:28px;padding:24px}.app-logo{align-items:center;display:flex;font-size:20px;font-weight:800;letter-spacing:-.01em;gap:12px;color:var(--text-primary)}.sidebar nav{display:grid;gap:6px}.sidebar nav a,.logout-button{align-items:center;border-radius:10px;color:var(--text-secondary);display:flex;gap:12px;min-height:44px;padding:0 14px;font-weight:600;font-size:14px;transition:all .15s ease-in-out}.sidebar nav a:hover{background:var(--background);color:var(--text-primary)}.sidebar nav a:first-child{background:var(--primary-light);color:var(--primary);font-weight:700}.logout-button{background:var(--danger-light);color:var(--danger);margin-top:auto;border:1px solid #fee2e2}.logout-button:hover{background:#fee2e2;color:var(--danger-dark)}.main-area{min-width:0;padding:28px 32px}.topbar{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.topbar p,.hero-status p{color:var(--text-muted);font-size:12px;font-weight:700;margin:0 0 4px;text-transform:uppercase;letter-spacing:.05em}.topbar h2{font-size:26px;font-weight:800;letter-spacing:-.02em;margin:0;color:var(--text-primary)}.topbar-status{align-items:center;background:#fff;border:1px solid var(--border);border-radius:10px;color:var(--primary);display:flex;font-weight:700;font-size:13px;gap:8px;min-height:42px;padding:0 14px;box-shadow:0 1px 3px #0000000a}.dashboard-grid{display:grid;gap:18px;grid-template-columns:repeat(4,minmax(0,1fr))}.summary-card,.panel,.wide-section,.hero-status{background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 2px 6px #0f172a0a,0 1px 2px #0f172a05}.summary-card{display:grid;gap:8px;min-height:125px;padding:20px;transition:transform .15s,box-shadow .15s}.summary-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0f172a12}.summary-card svg{color:var(--primary)}.summary-card span{color:var(--text-secondary);font-size:13px;font-weight:600}.summary-card strong{font-size:30px;font-weight:800;letter-spacing:-.02em;color:var(--text-primary)}.summary-card.rose svg{color:var(--danger)}.summary-card.blue svg{color:var(--primary)}.summary-card.green svg{color:var(--secondary)}.summary-card.mint svg{color:#06b6d4}.panel{grid-column:span 2;padding:22px}.wide-section{grid-column:1 / -1;padding:22px}.section-header{align-items:center;display:flex;gap:10px;margin-bottom:16px;color:var(--text-primary)}.section-header h3{font-size:17px;font-weight:700;letter-spacing:-.01em;margin:0}.dependent-list,.status-stack,.alert-list,.message-list{display:grid;gap:10px}.dependent-item{align-items:center;background:var(--background);border:1px solid var(--border);border-radius:12px;color:var(--text-primary);display:grid;gap:6px;grid-template-columns:44px 1fr;min-height:68px;padding:10px 14px;text-align:left;transition:all .15s}.dependent-item:hover{border-color:var(--primary);background:#fff}.dependent-item span{align-items:center;background:var(--primary-light);color:var(--primary);border-radius:10px;display:flex;font-size:14px;font-weight:800;height:44px;justify-content:center;width:44px}.dependent-item small{color:var(--text-secondary);grid-column:2;font-size:12px}.dependent-item.active{border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #2563eb1f}.invite-form,.inline-form{grid-template-columns:1fr auto;margin-top:16px}.status-row{align-items:center;border-bottom:1px solid var(--border);display:grid;gap:12px;grid-template-columns:24px 1fr auto;min-height:46px}.status-row:last-child{border-bottom:none}.status-row strong{color:var(--text-primary);font-size:14px;font-weight:600;max-width:240px;overflow-wrap:anywhere;text-align:right}.range-label{margin-top:16px}.quick-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.routine-forms{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}.routine-form{background:var(--background);border:1px solid var(--border);border-radius:12px;display:grid;gap:12px;padding:16px}.routine-form .section-header{margin-bottom:0}.form-row{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.routine-grid,.video-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.routine-card,.video-card{background:#fff;border:1px solid var(--border);border-radius:12px;color:var(--text-primary);display:grid;gap:8px;min-height:114px;padding:16px;text-align:left;transition:transform .15s,box-shadow .15s}.routine-card:hover,.video-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0f172a0f}.routine-card span{font-weight:700;font-size:14px}.routine-card.done{background:var(--secondary-light);border-color:#a7f3d0}.routine-card.done span{color:var(--secondary-dark)}.routine-card small,.video-card small,.alert-item small{color:var(--text-secondary)}.refill-chip{align-items:center;background:var(--warning-light);border:1px solid #fde68a;border-radius:8px;color:#b45309;display:inline-flex;gap:6px;min-height:28px;padding:4px 8px;font-size:12px;font-weight:600;width:fit-content}.alert-item{align-items:flex-start;background:var(--danger-light);border:1px solid #fecaca;border-radius:12px;color:#991b1b;display:grid;gap:12px;grid-template-columns:24px 1fr auto;padding:16px}.alert-item.resolved{background:var(--background);border-color:var(--border);color:var(--text-secondary)}.alert-item p{margin:3px 0 6px;font-size:14px;line-height:1.45}.icon-button{align-items:center;background:#fff;border:1px solid #fecaca;border-radius:8px;color:var(--danger);display:flex;height:36px;justify-content:center;width:36px;transition:all .15s}.icon-button:hover{background:#fee2e2}.icon-button.neutral{border-color:var(--border);color:var(--text-secondary)}.icon-button.neutral:hover{background:var(--background);color:var(--text-primary)}.routine-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.routine-edit-form{display:grid;gap:10px}.routine-edit-form .primary-button,.routine-edit-form .ghost-button{min-height:38px;padding:0 14px}.empty-state{background:var(--background);border:1px dashed var(--border-strong);border-radius:12px;color:var(--text-secondary);margin:0;padding:24px;text-align:center;font-size:14px}.admin-actions{align-items:center;display:flex;gap:16px}.admin-actions p{color:var(--text-secondary);line-height:1.5;margin:0;font-size:14px}.hero-status{align-items:center;background:linear-gradient(135deg,#1e40afeb,#2563ebe0,#0d9488d9),url(https://images.unsplash.com/photo-1517486808906-6ca8b3f04846?auto=format&fit=crop&w=1600&q=80);background-position:center;background-size:cover;color:#fff;display:flex;gap:24px;grid-column:1 / -1;justify-content:space-between;min-height:220px;padding:32px;border-radius:16px;box-shadow:0 8px 24px -4px #2563eb40}.hero-status p{color:#ffffffd9;font-weight:700}.hero-status h1{font-size:34px;font-weight:800;letter-spacing:-.02em;line-height:1.15;margin:0;max-width:620px}.hero-actions{display:grid;gap:12px;min-width:200px}.emergency-button{align-items:center;background:linear-gradient(135deg,#ef4444,#dc2626);border:0;border-radius:12px;color:#fff;display:grid;font-size:17px;font-weight:800;gap:8px;justify-items:center;min-height:110px;padding:18px;box-shadow:0 4px 18px #dc262673;transition:transform .15s,box-shadow .15s}.emergency-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #dc26268c}.message-list article{background:var(--background);border:1px solid var(--border);border-radius:12px;padding:14px 16px}.message-list p{color:var(--text-secondary);line-height:1.5;margin:6px 0 0;font-size:14px}@media(max-width:1050px){.app-shell{grid-template-columns:1fr}.sidebar{border-bottom:1px solid var(--border);border-right:0;flex-direction:row;overflow-x:auto}.sidebar nav{display:flex}.logout-button{margin-left:auto;margin-top:0;white-space:nowrap}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.routine-forms,.form-row{grid-template-columns:1fr}}@media(max-width:720px){.main-area{padding:18px}.login-panel{padding:24px}.credential-grid,.dashboard-grid,.routine-grid,.video-grid{grid-template-columns:1fr}.panel,.wide-section{grid-column:1}.topbar,.hero-status,.admin-actions{align-items:stretch;flex-direction:column}.hero-status h1{font-size:26px}.invite-form,.inline-form{grid-template-columns:1fr}.sidebar{padding:14px}.app-logo span,.sidebar nav a{white-space:nowrap}}
