:root{color:#17302c;background:#f4f7f1;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.login-page{align-items:center;background:linear-gradient(135deg,#508d7b2e,#e8c47d33),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:#fffffff0;border:1px solid rgba(255,255,255,.7);border-radius:8px;box-shadow:0 24px 70px #1f3d373d;max-width:520px;padding:32px;width:100%}.brand-mark,.app-logo svg{align-items:center;background:#3f7d70;border-radius:8px;color:#fff;display:inline-flex;height:46px;justify-content:center;width:46px}.login-panel h1{font-size:40px;letter-spacing:0;line-height:1;margin:18px 0 10px}.login-copy{color:#4e625e;line-height:1.6;margin:0 0 22px}.login-form,.invite-form,.inline-form{display:grid;gap:12px}label{color:#52645f;display:grid;font-size:13px;font-weight:700;gap:8px}input,select{background:#fff;border:1px solid #cbd8d2;border-radius:8px;color:#17302c;min-height:44px;outline:none;padding:0 13px;width:100%}input:focus,select:focus{border-color:#3f7d70;box-shadow:0 0 0 3px #3f7d7029}.primary-button,.secondary-button,.ghost-button,.logout-button{align-items:center;border:0;border-radius:8px;display:inline-flex;font-weight:800;gap:8px;justify-content:center;min-height:44px;padding:0 16px}.primary-button{background:#2f6f63;color:#fff}.secondary-button{background:#e8f0ea;color:#23443e}.ghost-button{background:transparent;color:#2f6f63}.full{width:100%}.form-error{background:#ffe9e6;border-radius:8px;color:#9a2f22;font-size:14px;padding:10px 12px}.credential-grid{display:grid;gap:10px;grid-template-columns:repeat(3,1fr);margin:18px 0}.credential-card{background:#f7faf6;border:1px solid #dce8e2;border-radius:8px;color:#243f3a;display:grid;gap:5px;min-height:106px;padding:12px;text-align:left}.credential-card span,.credential-card small{color:#647571;font-size:12px}.credential-card strong{font-size:12px;line-height:1.35;overflow-wrap:anywhere}.app-shell{background:#eef4ef;display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{background:#fff;border-right:1px solid #dce8e2;display:flex;flex-direction:column;gap:26px;padding:24px}.app-logo{align-items:center;display:flex;font-size:20px;font-weight:900;gap:12px}.sidebar nav{display:grid;gap:8px}.sidebar nav a,.logout-button{align-items:center;border-radius:8px;color:#4a615c;display:flex;gap:10px;min-height:42px;padding:0 12px}.sidebar nav a:first-child{background:#e8f0ea;color:#1e4b43;font-weight:800}.logout-button{background:#fff3ee;color:#95422f;margin-top:auto}.main-area{min-width:0;padding:22px}.topbar{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.topbar p,.hero-status p{color:#6b7a76;font-size:13px;font-weight:800;margin:0 0 4px;text-transform:uppercase}.topbar h2{font-size:28px;letter-spacing:0;margin:0}.topbar-status{align-items:center;background:#fff;border:1px solid #dce8e2;border-radius:8px;color:#3b6159;display:flex;font-weight:800;gap:8px;min-height:42px;padding:0 13px}.dashboard-grid{display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}.summary-card,.panel,.wide-section,.hero-status{background:#fff;border:1px solid #dce8e2;border-radius:8px;box-shadow:0 12px 32px #2b4e4614}.summary-card{display:grid;gap:8px;min-height:130px;padding:18px}.summary-card svg{color:#2f6f63}.summary-card span{color:#60716d;font-size:13px;font-weight:800}.summary-card strong{font-size:28px;letter-spacing:0}.summary-card.rose svg{color:#c55546}.summary-card.blue svg{color:#466ea2}.summary-card.green svg{color:#4d7a32}.summary-card.mint svg{color:#2f8d7d}.panel{grid-column:span 2;padding:18px}.wide-section{grid-column:1 / -1;padding:18px}.section-header{align-items:center;display:flex;gap:9px;margin-bottom:14px}.section-header h3{font-size:18px;letter-spacing:0;margin:0}.dependent-list,.status-stack,.alert-list,.message-list{display:grid;gap:10px}.dependent-item{align-items:center;background:#f7faf6;border:1px solid #e0e9e3;border-radius:8px;color:#243f3a;display:grid;gap:4px;grid-template-columns:42px 1fr;min-height:68px;padding:10px;text-align:left}.dependent-item span{align-items:center;background:#dbece5;border-radius:8px;display:flex;font-size:13px;font-weight:900;height:42px;justify-content:center;width:42px}.dependent-item small{color:#687a75;grid-column:2}.dependent-item.active{border-color:#3f7d70;box-shadow:0 0 0 3px #3f7d701f}.invite-form,.inline-form{grid-template-columns:1fr auto;margin-top:14px}.status-row{align-items:center;border-bottom:1px solid #edf2ef;display:grid;gap:10px;grid-template-columns:24px 1fr auto;min-height:42px}.status-row strong{color:#243f3a;font-size:14px;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:14px}.routine-forms{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px}.routine-form{background:#f8faf7;border:1px solid #dce8e2;border-radius:8px;display:grid;gap:12px;padding:14px}.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:#f8faf7;border:1px solid #dce8e2;border-radius:8px;color:#203e38;display:grid;gap:8px;min-height:112px;padding:14px;text-align:left}.routine-card span{font-weight:800}.routine-card.done{background:#edf7ee;border-color:#b9d9bf}.routine-card small,.video-card small,.alert-item small{color:#687a75}.refill-chip{align-items:center;background:#fff3dc;border-radius:8px;color:#76541c;display:inline-flex;gap:6px;min-height:28px;padding:4px 8px;width:fit-content}.alert-item{align-items:flex-start;background:#fff7f5;border:1px solid #f0d1ca;border-radius:8px;color:#4d2b25;display:grid;gap:12px;grid-template-columns:24px 1fr auto;padding:14px}.alert-item.resolved{background:#f4f7f4;border-color:#dce8e2;color:#465c56}.alert-item p{margin:3px 0 6px}.icon-button{align-items:center;background:#fff;border:1px solid #ead3cd;border-radius:8px;color:#95422f;display:flex;height:34px;justify-content:center;width:34px}.icon-button.neutral{border-color:#cfddd7;color:#2f6f63}.routine-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.routine-edit-form{display:grid;gap:10px}.routine-edit-form .primary-button,.routine-edit-form .ghost-button{min-height:36px;padding:0 12px}.empty-state{background:#f8faf7;border:1px dashed #cbd8d2;border-radius:8px;color:#647571;margin:0;padding:18px}.admin-actions{align-items:center;display:flex;gap:16px}.admin-actions p{color:#5d706b;line-height:1.5;margin:0}.hero-status{align-items:center;background:linear-gradient(120deg,#2f6f63e0,#35658cd1),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:20px;grid-column:1 / -1;justify-content:space-between;min-height:230px;padding:28px}.hero-status p{color:#ffffffc7}.hero-status h1{font-size:38px;letter-spacing:0;line-height:1.1;margin:0;max-width:620px}.hero-actions{display:grid;gap:12px;min-width:190px}.emergency-button{align-items:center;background:#d74435;border:0;border-radius:8px;color:#fff;display:grid;font-size:18px;font-weight:900;gap:8px;justify-items:center;min-height:112px;padding:18px}.message-list article{background:#f8faf7;border:1px solid #dce8e2;border-radius:8px;padding:13px}.message-list p{color:#5d706b;line-height:1.45;margin:6px 0 0}@media(max-width:1050px){.app-shell{grid-template-columns:1fr}.sidebar{border-bottom:1px solid #dce8e2;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){.login-panel{padding:22px}.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:30px}.invite-form,.inline-form{grid-template-columns:1fr}.sidebar{padding:14px}.app-logo span,.sidebar nav a{white-space:nowrap}}
