@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Space+Grotesk:wght@400;500;600&display=swap");:root{--ink:#16231e;--muted:#6e7a74;--line:#e4e9e6;--surface:#f5f7f5;--white:#fff;--green:#174f3d;--green-soft:#e2eee8;--sand:#eeeae2;--danger:#a13d3d}*{box-sizing:border-box}body{margin:0;background:#fbfcfb;font-family:DM Sans,sans-serif}button,input,select,textarea{font:inherit}button{color:inherit}.wordmark,h1,h2,strong{font-family:Manrope,sans-serif}h1{margin:.2rem 0 .45rem;font-size:clamp(2rem,4vw,3.15rem);letter-spacing:-.045em;line-height:1.08}h2{margin:.2rem 0;letter-spacing:-.025em}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:#557066}.wordmark{display:flex;align-items:center;gap:.55rem;font-weight:600;letter-spacing:.06em;text-decoration:none}.eyebrow.light,.wordmark.light{color:#e7f1ec}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(360px,1fr) 1fr}.login-intro{padding:3rem clamp(2rem,6vw,6rem);display:flex;flex-direction:column;justify-content:space-between;color:white;background:linear-gradient(145deg,#12382d,#1d5c48);position:relative;overflow:hidden}.login-intro:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.09);border-radius:50%;right:-180px;bottom:-160px;box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 160px rgba(255,255,255,.018)}.login-intro h1{font-size:clamp(2.8rem,5vw,5.1rem);max-width:700px}.login-intro p:not(.eyebrow){color:#c9d9d1;max-width:580px;font-size:1.08rem;line-height:1.7}.login-foot{font-size:.82rem!important}.login-panel{min-height:100vh;display:grid;place-items:center;padding:2rem}.login-card{width:min(430px,100%);display:grid;grid-gap:1.15rem;gap:1.15rem}.login-shell-centered{grid-template-columns:1fr;background:#151514}.login-shell-centered .login-intro{display:none}.login-shell-centered .login-panel{width:100%;background:transparent}.login-shell-centered .login-card{padding:2rem;background:#1d1d1c;border:1px solid var(--line);box-shadow:0 30px 80px rgba(0,0,0,.4)}.login-card h2{font-size:2rem;margin-bottom:-.7rem}.lock-mark{width:48px;height:48px;display:grid;place-items:center;background:var(--green-soft);border-radius:14px;margin-bottom:.5rem}label{display:grid;grid-gap:.45rem;gap:.45rem;font-size:.86rem;font-weight:600}input,select,textarea{width:100%;border:1px solid #d9dfdc;border-radius:10px;background:white;padding:.82rem .9rem;outline:none}input:focus,select:focus,textarea:focus{border-color:#538675;box-shadow:0 0 0 3px rgba(83,134,117,.12)}.password-field{display:flex;position:relative}.password-field input{padding-right:3rem}.password-field .icon-button{position:absolute;right:.3rem;top:.28rem}.icon-button{border:0;background:transparent;padding:.5rem;display:grid;place-items:center;cursor:pointer;border-radius:8px}.icon-button svg{width:18px}.danger-button,.primary-button,.secondary-button{border:0;border-radius:10px;padding:.9rem 1rem;display:flex;align-items:center;justify-content:center;gap:.65rem;font-weight:600;cursor:pointer}.primary-button{color:white}.primary-button:hover{background:#0f4030}.primary-button:disabled{opacity:.6}.primary-button.compact{padding:.72rem 1rem;width:max-content}.primary-button.compact svg{width:17px}.secondary-button{background:white}.danger-button{color:var(--danger);background:#faeeee}.demo-note{font-size:.75rem;text-align:center;color:var(--muted);background:var(--surface);padding:.7rem;border-radius:8px}.form-error{color:var(--danger);font-size:.82rem;margin:0}.login-link{border:0;background:none;padding:0;text-align:left;font-weight:600;cursor:pointer;width:max-content}.login-link,.success-note{color:var(--green);font-size:.82rem}.success-note{margin:0;padding:.75rem;border-radius:8px;background:var(--green-soft)}.login-reset{display:grid;grid-template-columns:1fr auto;align-items:end;grid-gap:.65rem;gap:.65rem;padding:.8rem;border:1px solid var(--line);background:var(--panel-alt)}.login-reset .secondary-button{height:48px;white-space:nowrap}.user-identity input{min-width:0;font-weight:700}.user-identity strong{font-size:.72rem}.topbar{height:72px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(1rem,5vw,4rem);border-bottom:1px solid var(--line);background:rgba(255,255,255,.9);position:-webkit-sticky;position:sticky;top:0;z-index:5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.wordmark-button{border:0;background:none;cursor:pointer;width:max-content;font-size:1rem}.topbar nav{display:flex;align-self:stretch;gap:1.6rem}.topbar nav button{border:0;background:none;cursor:pointer;color:var(--muted);position:relative}.topbar nav button.active{font-weight:600}.topbar nav button.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px}.avatar{border:0;background:var(--green-soft);color:var(--green);height:38px;padding:0 .7rem;border-radius:12px;font-weight:600;cursor:pointer}.account-actions,.avatar{justify-self:end;display:flex;align-items:center;gap:.5rem}.security-button{width:38px;height:38px;border:1px solid var(--line);background:white;border-radius:12px;display:grid;place-items:center;cursor:pointer;color:var(--green)}.security-button svg{width:18px}.page{width:min(1160px,calc(100% - 2rem));margin:0 auto;padding:clamp(2.5rem,6vw,5.5rem) 0}.welcome{margin-bottom:2.5rem}.module-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.2rem;gap:1.2rem}.module-card{text-align:left;border:1px solid var(--line);background:white;border-radius:18px;padding:1.5rem;display:grid;grid-template-columns:auto 1fr auto;grid-gap:1.2rem;gap:1.2rem;align-items:center;cursor:pointer}.module-card:hover{transform:translateY(-2px);box-shadow:0 14px 35px rgba(24,54,43,.08);border-color:#c8d3ce}.module-icon{width:54px;height:54px;border-radius:15px;background:var(--green-soft);color:var(--green);display:grid;place-items:center}.module-icon.finance{background:var(--sand);color:#685b43}.module-icon.contacts{background:#edf1f8;color:#48617f}.module-icon.activity{background:#f5eee2;color:#78613c}.module-icon.maintenance{background:#e8f1ee;color:#276452}.module-card>span:nth-child(2){display:grid;grid-gap:.25rem;gap:.25rem}.module-card em,.module-card small{color:var(--muted);font-style:normal}.module-card strong{font-size:1.25rem}.module-card>svg{color:#93a099}.text-button{border:0;background:none;color:var(--green);font-weight:600;display:flex;align-items:center;cursor:pointer}.text-button svg{width:16px}.emergency-banner{width:100%;border:1px solid #e5c4bd;background:#fff5f2;border-radius:15px;padding:1rem 1.2rem;display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:1rem;gap:1rem;text-align:left;cursor:pointer;color:#6f3028;margin-bottom:1.2rem}.emergency-banner>span:first-child{width:42px;height:42px;border-radius:12px;background:#f5ddd7;display:grid;place-items:center}.emergency-banner>span:nth-child(2){display:grid;grid-gap:.2rem;gap:.2rem}.emergency-banner small{color:#87635d}.emergency-banner>span:last-child{display:flex;align-items:center;gap:.35rem;font-size:.85rem}.emergency-banner svg{width:19px}.emergency-eyebrow{color:#9b4136}.emergency-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem}.emergency-grid>button{border:1px solid var(--line);background:white;border-radius:14px;padding:1rem;display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:.8rem;gap:.8rem;text-align:left;cursor:pointer}.emergency-grid>button>span:first-child{width:40px;height:40px;border-radius:11px;background:#fff0ec;color:#a74638;display:grid;place-items:center}.emergency-grid>button>span:nth-child(2){display:grid;grid-gap:.2rem;gap:.2rem}.emergency-grid small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.emergency-empty{grid-column:1/-1;display:grid;grid-gap:.5rem;gap:.5rem;place-items:center;background:white;border:1px solid var(--line);border-radius:14px}.emergency-toggle{grid-template-columns:auto 1fr;align-items:center;border:1px solid #e5c4bd;background:#fff8f6;border-radius:11px;padding:.8rem}.emergency-toggle input{width:18px;height:18px}.emergency-toggle span{display:grid;grid-gap:.15rem;gap:.15rem}.emergency-toggle small{color:var(--muted);font-weight:400}.page-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:2rem}.title-actions{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.title-actions svg{width:18px}.searchbar{display:flex;align-items:center;gap:.7rem;background:white;border:1px solid var(--line);border-radius:12px;padding:0 .9rem}.searchbar svg{color:var(--muted);width:19px}.searchbar input{border:0;box-shadow:none;padding:1rem 0}.category-strip{display:flex;flex-wrap:wrap;gap:.6rem;padding:1rem 0 1.5rem}.category-strip button{white-space:nowrap;border:1px solid var(--line);background:white;border-radius:999px;padding:.55rem .8rem;cursor:pointer;color:#52615b;transition:.15s ease}.category-strip button:hover{border-color:#aebcb5}.category-strip button.active{color:white}.content-table{border-radius:14px;background:white}.table-head,.table-row{display:grid;grid-template-columns:2fr 1.2fr .7fr .7fr;grid-gap:1rem;gap:1rem;align-items:center;padding:.85rem 1.1rem;text-align:left}.table-head{background:var(--surface);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.table-row{width:100%;border:0;border-top:1px solid var(--line);background:white;cursor:pointer}.table-row:hover{background:#fafcfb}.table-row>span:first-child{display:flex;align-items:center;gap:.7rem}.table-row svg{width:17px;color:#829088}.table-row>span:last-child{display:flex;justify-content:space-between;align-items:center;color:var(--muted)}.table-row i{font-style:normal;background:var(--surface);padding:.3rem .5rem;border-radius:6px;font-size:.76rem}.empty-state{padding:3rem;text-align:center}.loading-screen{min-height:calc(100vh - 72px);display:flex;align-items:center;justify-content:center;gap:.75rem;color:var(--muted)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.global-notice{width:min(1160px,calc(100% - 2rem));margin:1rem auto 0;padding:.85rem 1rem;border-radius:10px;background:#fff7df;color:#6b5723;border:1px solid #eadcae}.finance-placeholder{min-height:calc(100vh - 72px);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.finance-placeholder p:not(.eyebrow){color:var(--muted);max-width:480px;line-height:1.65}.finance-placeholder .module-icon{margin-bottom:1rem}.finance-placeholder button{margin-top:1rem}.modal-backdrop{position:fixed;inset:0;background:rgba(16,31,25,.48);z-index:10;display:grid;place-items:center;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:white;width:min(620px,100%);max-height:95vh;overflow:auto;padding:1.5rem;box-shadow:0 30px 80px rgba(0,0,0,.2);display:grid;grid-gap:1.1rem;gap:1.1rem}.modal-head{display:flex;justify-content:space-between;gap:1rem}.modal-head h2{max-width:480px}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}.modal-actions{display:flex;align-items:center;gap:.7rem;margin-top:.5rem}.modal-actions span{flex:1 1}.attachment-list{display:grid;grid-gap:.55rem;gap:.55rem}.field-label{font-weight:600;font-size:.9rem}.attachment-row{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:.55rem .65rem;display:grid;grid-template-columns:auto minmax(0,1fr) repeat(3,auto);align-items:center;grid-gap:.55rem;gap:.55rem;text-align:left}.attachment-row>svg{width:17px}.attachment-download{border:0;background:transparent;display:grid;grid-gap:.12rem;gap:.12rem;text-align:left;min-width:0;cursor:pointer}.attachment-download strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-download small{color:var(--muted)}.play-button{color:var(--green)}.file-picker{position:relative;border:1px dashed #b9c6c0;border-radius:10px;padding:.9rem;display:flex;align-items:center;gap:.7rem;color:var(--muted);overflow:hidden}.file-picker input{position:absolute;inset:0;opacity:0;cursor:pointer}.file-picker svg{width:18px}.selected-files{display:grid;grid-gap:.35rem;gap:.35rem;margin:0;padding:0;list-style:none}.selected-files li{display:flex;justify-content:space-between;gap:1rem;color:#34453e;font-size:.88rem}.selected-files small{color:var(--muted);white-space:nowrap}.video-preview{display:grid;grid-gap:.6rem;gap:.6rem;border:1px solid var(--line);border-radius:12px;padding:.75rem;background:#0e1713;color:white}.video-preview>div{display:flex;align-items:center;justify-content:space-between;gap:1rem}.video-preview .icon-button{color:white}.video-preview video{display:block;width:100%;max-height:360px;border-radius:8px;background:#000}.video-preview>small{color:#afc0b8}.secure-value-card{display:grid;grid-gap:.75rem;gap:.75rem;border:1px solid #cddbd4;border-radius:12px;padding:1rem;background:var(--green-soft)}.secure-value-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.secure-value-heading>span{display:flex;align-items:center;gap:.7rem}.secure-value-heading>span>svg{width:20px}.secure-value-heading>span>span{display:grid;grid-gap:.12rem;gap:.12rem}.secure-value-card>small,.secure-value-heading small{color:#577066}.secure-value-field{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;border:1px solid #b8cbc1;background:white;border-radius:10px;padding-right:.35rem;overflow:hidden}.secure-value-field input{border:0!important;border-radius:0!important;background:transparent!important}.secure-value-field input:focus{outline:none}.secure-value-field .icon-button svg{width:18px}.category-modal{width:min(560px,100%)}.category-list{display:grid;grid-gap:.55rem;gap:.55rem;max-height:45vh;overflow:auto}.category-manage-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;grid-gap:.35rem;gap:.35rem;border:1px solid var(--line);border-radius:10px;padding:.55rem .65rem .55rem .9rem}.category-manage-row>span{font-weight:600}.category-manage-row svg{width:17px}.danger-icon{color:var(--danger)}.category-editor{display:grid;grid-template-columns:1fr auto auto;align-items:end;grid-gap:.6rem;gap:.6rem;padding-top:.3rem}.category-editor label{min-width:0}.auth-center{min-height:100vh;display:grid;place-items:center;padding:2rem;background:var(--surface)}.auth-card{width:min(430px,100%);background:white;border:1px solid var(--line);border-radius:18px;padding:2rem;display:grid;grid-gap:1.15rem;gap:1.15rem;box-shadow:0 20px 55px rgba(24,54,43,.08)}.auth-card h1{font-size:2rem}.otp-field{display:flex;align-items:center;border:1px solid #d9dfdc;border-radius:10px;padding-left:.85rem}.otp-field svg{width:18px;color:var(--green)}.otp-field input{border:0;box-shadow:none;font-size:1.35rem;letter-spacing:.3em;font-weight:600}.settings-shell{min-height:100vh;background:var(--surface)}.settings-page{width:min(760px,calc(100% - 2rem));margin:0 auto;padding:3rem 0}.settings-page>.text-button{margin-bottom:2.5rem;gap:.45rem}.settings-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:2rem}.security-status{display:flex;align-items:center;gap:.5rem;border:1px solid var(--line);background:white;border-radius:999px;padding:.65rem .85rem;color:var(--muted);white-space:nowrap}.security-status svg{width:18px}.security-status.enabled{background:var(--green-soft);border-color:#c4d8ce;color:var(--green)}.settings-card{background:white;border:1px solid var(--line);border-radius:18px;padding:1.5rem;display:grid;grid-gap:1.25rem;gap:1.25rem}.factor-intro,.factor-row{display:flex;align-items:center;gap:1rem}.factor-intro>div{flex:1 1}.factor-intro p{line-height:1.6}.factor-row>span:nth-child(2){display:grid;grid-gap:.2rem;gap:.2rem;flex:1 1}.factor-row small{color:var(--muted)}.enrollment-flow{display:grid;grid-gap:1.15rem;gap:1.15rem}.enrollment-flow ol{margin:0;padding-left:1.3rem;display:grid;grid-gap:.55rem;gap:.55rem;color:#495a53}.mfa-qr{width:min(260px,100%);margin:0 auto;border:1px solid var(--line);border-radius:12px;padding:.5rem;background:white}.manual-secret{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--surface);border-radius:10px;padding:.75rem .9rem}.manual-secret span{display:grid;grid-gap:.25rem;gap:.25rem;min-width:0}.manual-secret small{color:var(--muted)}.manual-secret code{overflow-wrap:anywhere}.users-page{width:min(900px,calc(100% - 2rem))}.users-list{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden}.user-row{display:grid;grid-template-columns:auto minmax(0,1fr) 180px auto;align-items:center;grid-gap:1rem;gap:1rem;padding:1rem;border-top:1px solid var(--line)}.user-row:first-child{border-top:0}.user-icon{width:40px;height:40px;border-radius:12px;background:var(--green-soft);color:var(--green);display:grid;place-items:center}.user-icon svg{width:19px}.user-identity{display:grid;grid-gap:.2rem;gap:.2rem;min-width:0}.user-identity strong{overflow:hidden;text-overflow:ellipsis}.user-identity small{color:var(--muted)}.temporary-password-note{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:start;grid-gap:.75rem;gap:.75rem;background:#fff7df;border:1px solid #eadcae;border-radius:12px;padding:1rem;margin-bottom:1rem}.temporary-password-note>div{display:grid;grid-gap:.35rem;gap:.35rem}.temporary-password-note span{color:#6b5723;font-size:.86rem}.temporary-password-note code{font-size:1rem;font-weight:600;margin-top:.25rem}.user-modal{width:min(520px,100%)}.users-page .title-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(360px,100%)}.users-page .title-actions>.primary-button.compact,.users-page .title-actions>button{width:100%;min-height:48px}.suppliers-page{width:min(980px,calc(100% - 2rem))}.suppliers-page .searchbar{margin-bottom:1rem}.supplier-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem}.supplier-card{background:white;border:1px solid var(--line);border-radius:15px;padding:1rem;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:.9rem;gap:.9rem;text-align:left;cursor:pointer}.supplier-card:hover{border-color:#b8cec5;box-shadow:0 8px 25px rgba(24,54,43,.06)}.supplier-icon{width:42px;height:42px;border-radius:12px;background:var(--green-soft);display:grid;place-items:center}.supplier-icon svg,.supplier-links svg{width:18px}.supplier-card>span:nth-child(2){display:grid;grid-gap:.2rem;gap:.2rem;min-width:0}.supplier-card em,.supplier-card small{color:var(--muted);font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.supplier-links{display:flex;gap:.4rem}.activity-page{width:min(900px,calc(100% - 2rem))}.activity-list{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden}.activity-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:1rem;gap:1rem;padding:1rem;border-top:1px solid var(--line)}.activity-row:first-child{border-top:0}.activity-row>span:nth-child(2){display:grid;grid-gap:.2rem;gap:.2rem}.activity-row small{color:var(--muted)}.activity-icon{width:40px;height:40px;border-radius:12px;background:var(--green-soft);color:var(--green);display:grid;place-items:center}.activity-icon svg,.activity-meta svg{width:17px}.activity-row.deleted .activity-icon{background:#fff0ec;color:#a74638}.activity-row.created .activity-icon{background:#edf1f8;color:#48617f}.activity-meta{display:grid;grid-template-columns:auto auto;align-items:center;grid-gap:.2rem .4rem;gap:.2rem .4rem;color:var(--muted);font-size:.8rem}.activity-meta time{grid-column:1/-1}.maintenance-page{width:min(1180px,calc(100% - 2rem));margin:0 auto;padding:3rem 0}.maintenance-page>.text-button{margin-bottom:2.5rem}.calendar-toolbar{display:flex;align-items:center;gap:.7rem;margin-bottom:1rem}.calendar-toolbar h2{min-width:220px;text-align:center;text-transform:capitalize}.calendar-toolbar .secondary-button{margin-left:auto}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);grid-gap:1px;gap:1px;border-radius:16px;overflow:hidden}.calendar-weekday{background:var(--surface);padding:.65rem;text-align:center;color:var(--muted);font-size:.8rem;font-weight:600}.calendar-day{min-height:125px;background:white;padding:.55rem;display:flex;flex-direction:column;gap:.35rem}.calendar-day>span{width:27px;height:27px;display:grid;place-items:center;font-size:.8rem}.calendar-day.outside{background:#fafbfa;color:#aab3af}.calendar-day.today>span{color:white;border-radius:50%}.calendar-day>button{border:0;border-left:3px solid var(--green);background:var(--green-soft);border-radius:5px;padding:.35rem .45rem;display:grid;text-align:left;cursor:pointer;min-width:0}.calendar-day>button small,.calendar-day>button strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-day>button strong{font-size:.75rem}.calendar-day>button small{font-size:.67rem;color:var(--muted)}.maintenance-modal{width:min(680px,100%)}.reminder-card,.repeat-card{background:var(--surface);border-radius:13px;padding:1rem;display:grid;grid-gap:.9rem;gap:.9rem}.reminder-card>span,.repeat-card>span{display:flex;align-items:center;gap:.55rem}.reminder-card svg,.repeat-card svg{width:18px;color:var(--green)}.repeat-card label small{color:var(--muted);margin-top:.25rem}.weekday-picker{display:flex;gap:.4rem}.weekday-picker button{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:white;cursor:pointer}.weekday-picker button.active{background:var(--green);border-color:var(--green);color:white}.instruction-link{align-self:start}.maintenance-modal .modal-actions{gap:.5rem}@media(max-width:760px){.maintenance-page{padding:1.5rem 0}.calendar-grid{overflow-x:auto;grid-template-columns:repeat(7,minmax(100px,1fr))}.calendar-day{min-height:105px}.calendar-toolbar h2{min-width:0;font-size:1.05rem}.calendar-toolbar .secondary-button{display:none}.maintenance-modal .modal-actions{align-items:stretch}.maintenance-modal .modal-actions button{flex:1 1}.weekday-picker{overflow-x:auto}.login-shell{grid-template-columns:1fr}.login-intro{display:none}.login-panel{min-height:100vh}.topbar{grid-template-columns:1fr auto}.topbar nav{position:fixed;bottom:0;left:0;right:0;height:62px;background:white;border-top:1px solid var(--line);justify-content:space-around;z-index:8;gap:.3rem}.topbar nav button{font-size:.78rem}.topbar nav button.active:after{top:0;bottom:auto}.emergency-grid,.module-grid{grid-template-columns:1fr}.page{padding-bottom:6rem}.table-head{display:none}.table-row{grid-template-columns:1fr auto}.table-row>span:nth-child(2),.table-row>span:nth-child(3){display:none}.page-title-row{align-items:start;flex-direction:column}.form-grid{grid-template-columns:1fr}.modal-actions{flex-wrap:wrap}.modal-actions span{display:none}.category-editor{grid-template-columns:1fr 1fr}.category-editor label{grid-column:1/-1}.category-strip{flex-wrap:nowrap;overflow-x:auto;margin-right:-1.25rem;padding-right:1.25rem;scrollbar-width:none}}@media(max-width:760px){.category-strip::-webkit-scrollbar{display:none}.settings-heading{align-items:flex-start;flex-direction:column}.factor-row{align-items:flex-start;flex-wrap:wrap}.factor-row .danger-button{width:100%}.auth-card{padding:1.4rem}.user-row{grid-template-columns:auto 1fr auto}.user-row select{grid-column:1/-1}.user-row .danger-icon{grid-column:3;grid-row:1}.account-actions{gap:.3rem}.security-button{width:34px;height:34px}.emergency-banner>span:last-child{display:none}.supplier-grid{grid-template-columns:1fr}}@media(max-width:520px){.users-page .title-actions{grid-template-columns:1fr;width:100%}}:root{--ink:#f1f0ed;--muted:#979792;--line:#333330;--surface:#1b1b1a;--white:#20201f;--green:#c92f38;--green-soft:#2d1a1c;--sand:#2b2420;--danger:#ef5961}body{background:#151514;font-family:Inter,sans-serif}.wordmark,h1,h2,strong{font-family:Space Grotesk,sans-serif}h1{letter-spacing:-.055em}h1,h2{font-weight:500}.eyebrow{letter-spacing:.18em}.app-shell{min-height:100vh;background-color:#151514;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 0);background-size:80px 80px;padding-left:244px}.dashboard-sidebar{position:fixed;inset:0 auto 0 0;width:244px;z-index:10;display:flex;flex-direction:column;background:rgba(17,17,16,.98);border-right:1px solid var(--line);padding:1.4rem 1rem}.sidebar-wordmark{height:54px;display:flex;align-items:center;gap:.8rem;padding:0 .8rem;margin-bottom:1.6rem;border:0;background:transparent;color:var(--ink);font-family:Space Grotesk,sans-serif;font-size:1rem;letter-spacing:.16em;cursor:pointer}.sidebar-wordmark svg{width:20px;color:var(--green)}.dashboard-sidebar nav{display:grid;grid-gap:.35rem;gap:.35rem}.dashboard-sidebar nav button,.sidebar-account button{width:100%;min-height:44px;display:flex;align-items:center;gap:.85rem;padding:.7rem .85rem;border:1px solid transparent;background:transparent;color:#979792;text-align:left;cursor:pointer}.dashboard-sidebar nav button svg,.sidebar-account button svg{width:18px;flex:0 0 auto}.dashboard-sidebar nav button:hover,.sidebar-account button:hover{color:var(--ink);background:#1d1d1c}.dashboard-sidebar nav button.active{background:#261a1b;border-color:#4d292c;color:#fff;box-shadow:inset 3px 0 0 var(--green)}.dashboard-sidebar nav button.active svg{color:#ef5961}.sidebar-account{margin-top:auto;padding-top:1rem;border-top:1px solid var(--line);display:grid;grid-gap:.25rem;gap:.25rem}.sidebar-account button{font-size:.8rem}.dashboard-welcome{margin-bottom:2rem}.home-dashboard-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(460px,1.1fr);grid-gap:1.2rem;gap:1.2rem;align-items:start}.home-dashboard-grid .family-tasks{margin:0}.home-calendar{border:1px solid var(--line);background:#1b1b1a}.home-calendar-heading{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.25rem;border-bottom:1px solid var(--line)}.home-calendar-heading h2{font-size:1.55rem}.calendar-sync-button{display:flex;align-items:center;gap:.45rem;border:1px solid #4d292c;background:#24191a;color:#ef6c73;padding:.65rem .75rem;cursor:pointer}.calendar-sync-button svg{width:16px}.calendar-month-nav{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;text-align:center;padding:.85rem 1rem}.calendar-month-nav strong{text-transform:capitalize;font-size:.9rem}.calendar-month-nav button{height:34px;border:0;background:transparent;color:var(--muted);cursor:pointer}.calendar-month-nav button:hover{color:var(--ink)}.calendar-month-nav svg{width:18px}.home-calendar-grid,.home-calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);padding:0 1rem}.home-calendar-weekdays span{text-align:center;padding:.35rem;color:#777772;font-size:.65rem;text-transform:uppercase}.home-calendar-grid{padding-bottom:1rem}.home-calendar-grid button{position:relative;min-height:52px;border:1px solid var(--line);margin:-1px 0 0 -1px;background:#1d1d1c;color:var(--ink);cursor:default}.home-calendar-grid button.outside{color:#555550;background:#181817}.home-calendar-grid button.today span{display:inline-grid;place-items:center;width:25px;height:25px;background:var(--green);color:#fff}.home-calendar-grid button:has(i){cursor:pointer}.home-calendar-grid button:has(i):hover{background:#292222}.home-calendar-grid i{position:absolute;right:5px;bottom:5px;min-width:17px;height:17px;padding:0 4px;display:grid;place-items:center;background:#382224;color:#ef6c73;font-size:.6rem;font-style:normal}.home-calendar-footer{width:100%;display:flex;justify-content:space-between;align-items:center;padding:.85rem 1.25rem;border:0;border-top:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;text-align:left}.home-calendar-footer:hover{color:var(--ink)}.home-calendar-footer svg{width:17px}.topbar{height:78px;background:rgba(21,21,20,.94);border-color:var(--line);padding-inline:clamp(1rem,5vw,4rem)}.wordmark-button{color:var(--ink);font-size:.9rem;text-transform:uppercase;letter-spacing:.14em}.wordmark-button svg{color:var(--green)}.topbar nav{gap:2rem}.topbar nav button{color:#888883;font-size:.82rem}.topbar nav button.active{color:var(--ink)}.topbar nav button.active:after{height:1px;background:var(--green)}.security-button{border-color:var(--line);background:#1d1d1c;border-radius:2px;color:var(--muted)}.security-button:hover{border-color:var(--green);color:var(--green)}.avatar{background:var(--green);color:white;border-radius:2px}.page{position:relative;padding-top:clamp(3.5rem,7vw,7rem)}.welcome{margin-bottom:3.5rem;max-width:760px}.welcome h1{font-size:clamp(3.3rem,8vw,6.8rem);text-transform:uppercase;line-height:.88;margin:.65rem 0 1rem}.welcome .muted{font-size:1rem}.module-grid{gap:1px;background:var(--line);border:1px solid var(--line)}.module-card{min-height:170px;background:#1c1c1b;border:0;border-radius:0;padding:1.7rem;transition:.2s ease}.module-card:hover{transform:none;background:#222220;border:0;box-shadow:inset 3px 0 0 var(--green)}.module-icon,.module-icon.activity,.module-icon.contacts,.module-icon.finance,.module-icon.insurance,.module-icon.maintenance{width:58px;height:58px;border:1px solid #4b292c;border-radius:2px;background:transparent;color:var(--green)}.module-card small{color:var(--green);text-transform:uppercase;letter-spacing:.12em;font-size:.64rem}.module-card em{color:var(--muted)}.module-card strong{font-size:1.35rem;font-weight:500}.module-card>svg{color:#5f5f5a}.emergency-banner{border:1px solid #54282c;background:#211819;border-radius:2px;color:#f0d9da;padding:1.1rem 1.25rem}.emergency-banner>span:first-child{border-radius:2px;background:var(--green);color:white}.emergency-banner small{color:#ad898b}.family-tasks{margin:0 0 1.2rem;border:1px solid var(--line);background:#1b1b1a}.family-tasks-heading{display:grid;align-items:center;grid-gap:1rem;gap:1rem;padding:1.25rem;border-bottom:1px solid var(--line)}.family-tasks-heading>span{width:48px;height:48px;display:grid;place-items:center;border:1px solid #4b292c;color:var(--green)}.family-tasks-heading h2{font-size:1.55rem}.family-tasks-heading small{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:.68rem}.family-task-form{display:grid;grid-template-columns:1fr auto;grid-gap:.7rem;gap:.7rem;padding:1rem 1.25rem;border-bottom:1px solid var(--line)}.family-task-form input{min-width:0}.family-task-list{max-height:300px}.family-task{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:.85rem;gap:.85rem;padding:.85rem 1.25rem;border-bottom:1px solid var(--line)}.family-task:last-child{border-bottom:0}.task-check{width:23px;height:23px;display:grid;place-items:center;border:1px solid #686862;background:transparent;color:white;cursor:pointer}.task-check svg{width:15px}.family-task.completed .task-check{background:var(--green);border-color:var(--green)}.family-task.completed>span{text-decoration:line-through;color:#777772}.task-delete{width:32px;height:32px;border:0;background:transparent;color:#777772;display:grid;place-items:center;cursor:pointer}.task-delete:hover{color:#ef5961}.task-delete svg{width:17px}.family-task-empty{padding:1.3rem;color:var(--muted)}.family-task-sync{padding:.75rem 1.25rem;border-top:1px solid var(--line);color:#777772;font-size:.76rem}.emergency-grid>button{border-color:#4d3032;background:#211d1d;border-radius:2px;color:#f4f1ed}.emergency-grid>button>span:first-child{border-radius:2px;background:#382224;color:#ef5961}.emergency-grid>button strong{color:#f4f1ed}.emergency-grid>button small{color:#b9aaa5}.emergency-grid>button>svg{color:#d66a70}.emergency-grid>button:hover{background:#292222;border-color:#825057}.emergency-grid>button:focus-visible{outline:2px solid #ef5961;outline-offset:3px}.emergency-empty{background:#1b1b1a;border-color:var(--line)}.emergency-toggle{background:#24191a;border-color:#5a2b2f;border-radius:2px;color:var(--ink)}.emergency-toggle strong{color:#f1f0ed}.emergency-toggle small{color:#aaa49f}.emergency-toggle input{accent-color:var(--green);color-scheme:dark}.page-title-row{padding-bottom:1.5rem;border-bottom:1px solid var(--line)}.page-title-row h1,.settings-heading h1{font-size:clamp(2.7rem,6vw,5rem);text-transform:uppercase}.danger-button,.primary-button,.secondary-button{border-radius:2px}.primary-button:hover{background:#e13b45}.secondary-button{background:#1e1e1d;border-color:var(--line)}.secondary-button:hover{border-color:#666660}.danger-button{background:#2b191b;color:#ef6c73}.login-link,.text-button{color:#ef4b54}input,select,textarea{background:#1d1d1c;border-color:var(--line);border-radius:2px;color-scheme:dark}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 2px rgba(201,47,56,.16)}.searchbar{background:#1d1d1c;border-radius:2px}.searchbar input{background:transparent}.category-strip button{background:#1d1d1c;border-color:var(--line);border-radius:2px;color:var(--muted)}.category-strip button:hover{border-color:#666660;color:var(--ink)}.category-strip button.active{background:var(--green);border-color:var(--green)}.activity-list,.content-table,.users-list{background:#1b1b1a;border-color:var(--line);border-radius:2px}.table-head{background:#20201f}.table-row{background:#1b1b1a}.table-row:hover{background:#232321}.table-row svg{color:#777772}.table-row i{background:#292927}.modal-backdrop{background:rgba(0,0,0,.76)}.modal{background:#1d1d1c;border:1px solid #3b3b38;border-radius:2px;box-shadow:0 35px 100px rgba(0,0,0,.55)}.attachment-row,.category-manage-row,.file-picker{background:#20201f;border-color:var(--line);border-radius:2px}.selected-files li{color:var(--ink)}.secure-value-card{background:#24191a;border-color:#552a2e;border-radius:2px}.secure-value-heading>span>svg{color:var(--green)}.secure-value-card>small,.secure-value-heading small{color:#b49193}.secure-value-field{background:#191918;border-color:#4a3032;border-radius:2px}.global-notice,.temporary-password-note{background:#2b2517;color:#e4cf91;border-color:#594d2b;border-radius:2px}.temporary-password-note span{color:#cdbd8c}.auth-center,.settings-shell{background-color:#151514;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 0);background-size:80px 80px}.maintenance-page,.settings-page{padding-top:4rem}.settings-heading{border-bottom:1px solid var(--line);padding-bottom:1.5rem}.security-status,.settings-card{background:#1d1d1c;border-color:var(--line);border-radius:2px}.security-status.enabled{background:#28191b;border-color:#5a292d;color:#ef5961}.activity-row,.user-row{border-color:var(--line)}.activity-icon,.activity-row.created .activity-icon,.user-icon{background:#2b1a1c;color:var(--green);border-radius:2px}.activity-row.deleted .activity-icon{background:#32191b;color:#ef5961}.supplier-grid{gap:1px;background:var(--line);border:1px solid var(--line)}.supplier-card{background:#1c1c1b;border:0;border-radius:0;padding:1.2rem}.supplier-card:hover{border:0;background:#232321;box-shadow:inset 3px 0 0 var(--green)}.supplier-icon{background:transparent;border:1px solid #4b292c;border-radius:2px}.supplier-icon,.supplier-links{color:var(--green)}.calendar-grid{background:var(--line);border-color:var(--line);border-radius:2px}.calendar-weekday{background:#20201f}.calendar-day{background:#1b1b1a}.calendar-day.outside{background:#181817;color:#5e5e59}.calendar-day.today>span{background:var(--green)}.calendar-day>button{background:#2a1a1c;border-left-color:var(--green);border-radius:1px}.manual-secret,.reminder-card,.repeat-card{background:#20201f;border-radius:2px}.finance-placeholder .module-icon{border-color:#4b292c}.finance-page{padding-bottom:5rem}.finance-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;padding-bottom:2rem;border-bottom:1px solid var(--line)}.finance-hero h1{font-size:clamp(3.2rem,7vw,6rem);text-transform:uppercase;line-height:.9;margin:.7rem 0 1rem}.finance-hero .muted{max-width:680px;line-height:1.65}.finance-hero .primary-button{white-space:nowrap}.finance-summary{display:grid;grid-template-columns:repeat(3,1fr);margin:2rem 0;grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line)}.finance-summary>div{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:#1c1c1b}.finance-summary svg{width:22px;color:var(--green)}.finance-summary span{display:grid;grid-gap:.2rem;gap:.2rem}.finance-domain-copy>small,.finance-summary small{color:var(--green);font-size:.62rem;text-transform:uppercase;letter-spacing:.14em}.finance-summary strong{font-size:.9rem;font-weight:500}.finance-domain-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line)}.finance-domain-card{min-height:240px;padding:1.6rem;display:grid;grid-template-columns:auto 1fr auto;align-items:start;grid-gap:1.25rem;gap:1.25rem;border:0;background:#1c1c1b;color:var(--ink);text-align:left;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}.finance-domain-card:hover{background:#232321;box-shadow:inset 3px 0 0 var(--green)}.finance-domain-icon{width:48px;height:48px;display:grid;place-items:center;border:1px solid #4b292c;color:var(--green)}.finance-domain-icon svg{width:22px}.finance-domain-copy{display:flex;flex-direction:column}.finance-domain-copy strong{margin:.5rem 0 .7rem;font-size:1.35rem;font-weight:500}.finance-domain-copy p{margin:0;color:var(--muted);line-height:1.55;font-size:.88rem}.finance-domain-copy em{margin-top:auto;padding-top:1.2rem;color:#c5c1ba;font-style:normal;font-size:.75rem}.finance-domain-card>svg{width:18px;color:#666660}.finance-security-note{margin-top:2rem;display:flex;align-items:center;gap:1rem;padding:1.1rem 1.25rem;border:1px solid var(--line);background:#1b1b1a}.finance-security-note>svg{color:var(--green)}.finance-security-note span{display:grid;grid-gap:.25rem;gap:.25rem}.finance-security-note strong{font-size:.86rem}.finance-security-note small{color:var(--muted);line-height:1.5}.finance-denied{min-height:calc(100vh - 78px)}.finance-denied h1{margin:.7rem 0;font-size:clamp(2.8rem,6vw,5rem);text-transform:uppercase}.finance-denied>p:not(.eyebrow){max-width:520px;color:var(--muted);line-height:1.6}.finance-denied .module-icon{margin-bottom:1rem}.finance-denied button{margin-top:1rem}.finance-updated{color:var(--muted);font-size:.72rem;white-space:nowrap}.finance-loading{min-height:360px;display:flex;align-items:center;justify-content:center;gap:.7rem;color:var(--muted)}.finance-loading svg{color:var(--green)}.finance-error{margin-top:2rem;padding:1.2rem;display:flex;gap:1rem;border:1px solid #633036;background:#28191b;color:#ef767d}.finance-error span{display:grid;grid-gap:.25rem;gap:.25rem}.finance-error small{color:#bd9698}.finance-kpis{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1px;gap:1px;margin:2rem 0;background:var(--line);border:1px solid var(--line)}.finance-kpi{min-height:145px;padding:1.25rem;background:#1c1c1b;display:flex;align-items:flex-start;gap:1rem}.finance-kpi>svg{width:22px;color:var(--green)}.finance-kpi>span{display:flex;flex-direction:column;min-width:0}.finance-kpi small{min-height:2.2em;color:var(--muted);font-size:.66rem;text-transform:uppercase;letter-spacing:.09em}.finance-kpi strong{margin:.4rem 0;font-size:clamp(1.25rem,2vw,1.85rem);font-weight:500;white-space:nowrap}.finance-kpi em{color:var(--muted);font-size:.7rem;font-style:normal}.finance-kpi.featured{background:#25191a}.finance-dashboard-grid{display:grid;grid-template-columns:1.15fr .85fr;grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line)}.finance-panel{padding:1.5rem;background:#1b1b1a;min-width:0}.finance-panel.income-panel{min-height:390px}.finance-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.finance-panel-heading>span{display:flex;gap:.75rem}.finance-panel-heading svg{width:20px;color:var(--green)}.finance-panel-heading span span{display:grid;grid-gap:.25rem;gap:.25rem}.finance-panel-heading small{color:var(--green);font-size:.61rem;text-transform:uppercase;letter-spacing:.12em}.finance-panel-heading strong{font-weight:500}.finance-panel-heading>strong{text-align:right;font-size:1.1rem}.finance-panel-heading>strong small{display:block;margin-top:.2rem;color:var(--muted)}.income-chart{height:210px;margin:2rem 0 1rem;display:grid;grid-template-columns:repeat(12,1fr);align-items:end;grid-gap:.45rem;gap:.45rem}.income-chart>div{height:100%;display:grid;grid-template-rows:1fr auto;grid-gap:.5rem;gap:.5rem;text-align:center}.income-chart>div>span{display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid var(--line)}.income-chart i{display:block;width:min(24px,70%);background:linear-gradient(var(--green),#7e2228);min-height:0}.income-chart small{color:var(--muted);font-size:.62rem;text-transform:capitalize}.finance-panel-footer{display:flex;gap:2rem;padding-top:1rem;border-top:1px solid var(--line)}.finance-panel-footer span{display:grid;grid-gap:.25rem;gap:.25rem}.finance-panel-footer small,.finance-split small{color:var(--muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.08em}.finance-panel-footer strong{font-size:1rem}.finance-split{display:grid;grid-template-columns:1fr 1fr;grid-gap:1px;gap:1px;margin:1.6rem 0;background:var(--line)}.finance-split>span{display:grid;grid-gap:.35rem;gap:.35rem;padding:1rem;background:#20201f}.finance-split strong{font-size:1.15rem}.finance-list{display:grid}.finance-list>div{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--line)}.finance-list>div>span{display:grid;grid-gap:.2rem;gap:.2rem;min-width:0}.finance-list>div>span:last-child{text-align:right}.finance-list strong{font-size:.78rem}.finance-list small{max-width:190px;color:var(--muted);font-size:.65rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finance-list small.positive{color:#69b88c}.finance-list small.negative{color:#ef6c73}.pension-source-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1px;gap:1px;margin-top:1.5rem;background:var(--line)}.pension-source-grid>div{display:flex;flex-direction:column;gap:1.2rem;padding:1.1rem;background:#20201f}.pension-source-grid span{display:grid;grid-gap:.3rem;gap:.3rem}.pension-source-grid span strong{font-size:.8rem}.pension-source-grid small{color:var(--muted);font-size:.65rem}.pension-source-grid>div>strong{font-size:1.1rem;font-weight:500}.income-chart-wrap{position:relative;margin:2rem 0 1rem;padding-left:48px}.income-chart-wrap .income-chart{position:relative;z-index:2;margin:0}.income-y-axis{position:absolute;left:0;top:0;width:40px;height:185px}.income-y-axis span{position:absolute;right:0;transform:translateY(50%);color:var(--muted);font-size:.58rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.income-chart-grid{position:absolute;z-index:1;left:48px;right:0;top:0;height:185px}.income-chart-grid i{position:absolute;left:0;right:0;border-top:1px solid rgba(151,151,146,.18)}.income-chart>div>span{border-bottom:0}.finance-split.cash-snapshot-split{grid-template-columns:repeat(3,1fr)}.cash-snapshot-split>span{min-width:0}.cash-snapshot-split em{color:var(--muted);font-size:.62rem;font-style:normal;white-space:nowrap}.cash-snapshot-split strong{white-space:nowrap}.income-heading,.income-year-nav{align-items:center}.income-year-nav{display:flex;gap:.45rem}.income-year-nav button{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);background:#20201f;color:var(--ink);cursor:pointer}.income-year-nav button:hover:not(:disabled){border-color:var(--green);color:var(--green)}.income-year-nav button:disabled{opacity:.28;cursor:not-allowed}.income-year-nav svg{width:15px}.income-year-nav>strong{min-width:42px;text-align:center;font-size:.85rem}.income-view-switch{display:flex;gap:0;margin:1.2rem 0 0}.income-view-switch button{padding:.42rem .7rem;border:1px solid var(--line);background:#1b1b1a;color:var(--muted);font-size:.65rem;cursor:pointer}.income-view-switch button+button{border-left:0}.income-view-switch button.active{background:var(--green);border-color:var(--green);color:white}.finance-panel-footer{justify-content:space-between}.login-shell{background:#151514}.login-intro{background:#171716;border-right:1px solid var(--line)}.login-intro:before{content:"";position:absolute;width:280px;height:280px;right:8%;top:12%;border:1px solid rgba(201,47,56,.55);transform:rotate(30deg);box-shadow:28px 28px 0 -27px rgba(201,47,56,.5),56px 56px 0 -55px rgba(201,47,56,.4)}.login-intro:after{border-color:rgba(201,47,56,.18);border-radius:0;transform:rotate(35deg);box-shadow:0 0 0 80px rgba(201,47,56,.02),0 0 0 160px rgba(201,47,56,.012)}.login-intro h1{text-transform:uppercase;line-height:.92}.login-intro p:not(.eyebrow){color:#9d9d97}.login-panel{background:#1b1b1a}.lock-mark{background:#2d1a1c;color:var(--green);border-radius:2px}.demo-note{background:#20201f}.success-note{background:#2d1a1c;color:#ef5961;border-radius:2px}.auth-card{background:#1d1d1c;box-shadow:0 30px 80px rgba(0,0,0,.4)}.auth-card,.otp-field{border-color:var(--line);border-radius:2px}.otp-field input{background:transparent}.mfa-qr,.video-preview{border-radius:2px}@media(max-width:760px){.topbar{background:#151514}.topbar nav{background:#191918;border-color:var(--line)}.welcome h1{font-size:3.5rem}.module-card{min-height:140px}.page{padding-top:2.5rem}.maintenance-page,.settings-page{padding-top:1.5rem}.page-title-row h1,.settings-heading h1{font-size:2.65rem}}html[data-theme=light]{--ink:#1d1c1a;--muted:#6e6b65;--line:#d8d4cc;--surface:#f1efe9;--white:#faf9f5;--green:#bd2932;--green-soft:#f4dfe0;--sand:#eee7dc;--danger:#b52831}html[data-theme=light] body{background:#f7f5ef;color:var(--ink)}html[data-theme=light] .app-shell,html[data-theme=light] .auth-center,html[data-theme=light] .settings-shell{background-color:#f7f5ef;background-image:linear-gradient(rgba(29,28,26,.035) 1px,transparent 0),linear-gradient(90deg,rgba(29,28,26,.035) 1px,transparent 0)}html[data-theme=light] .dashboard-sidebar{background:rgba(242,239,232,.98)}html[data-theme=light] .dashboard-sidebar nav button:hover,html[data-theme=light] .sidebar-account button:hover{background:#faf9f5}html[data-theme=light] .dashboard-sidebar nav button.active{background:#f4dfe0;border-color:#dfb9bc;color:#431f22}html[data-theme=light] .home-calendar{background:#faf9f5}html[data-theme=light] .calendar-sync-button{background:#fff2f2;border-color:#dfb9bc;color:#a92b33}html[data-theme=light] .home-calendar-grid button{background:#fff;color:#2b2925}html[data-theme=light] .home-calendar-grid button.outside{background:#f1efe9;color:#aaa49a}html[data-theme=light] .home-calendar-grid button:has(i):hover{background:#fff5f5}.domotica-page{padding:2rem;max-width:1600px;margin:0 auto}.domotica-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--line)}.domotica-heading h1{font-size:clamp(2.5rem,6vw,5rem);line-height:.95}.domotica-actions{display:flex;gap:.65rem}.domotica-actions a{text-decoration:none}.domotica-state{min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;text-align:center;border:1px solid var(--line);margin-top:1.5rem;background:var(--surface)}.domotica-state>svg{width:38px;height:38px;color:var(--green)}.domotica-state span{max-width:570px;color:var(--muted);line-height:1.6}.domotica-state.error span,.domotica-state.error>svg{color:#ef6c73}.domotica-console{margin-top:1.5rem;border:1px solid var(--line);background:#111;overflow:hidden}.domotica-security{min-height:48px;display:flex;align-items:center;gap:.55rem;padding:.55rem 1rem;border-bottom:1px solid var(--line);background:var(--panel-bg);color:var(--muted);font-size:.75rem}.domotica-security>svg{width:16px;color:var(--green)}.domotica-console-actions{display:flex;align-items:center;gap:.4rem;margin-left:auto}.domotica-console-actions button{display:flex;align-items:center;gap:.35rem;min-height:32px;padding:.35rem .6rem;border:1px solid var(--line);border-radius:8px;background:var(--panel-alt);color:var(--ink);font:inherit;font-weight:650;cursor:pointer}.domotica-console-actions button:hover{background:var(--hover-bg)}.domotica-console-actions button svg{width:14px;height:14px}.domotica-console iframe{display:block;width:100%;height:calc(100vh - 245px);min-height:560px;border:0;background:#111}.domotica-console:-webkit-full-screen{display:flex;flex-direction:column;width:100vw;height:100vh;margin:0;background:#111}.domotica-console:fullscreen{display:flex;flex-direction:column;width:100vw;height:100vh;margin:0;background:#111}.domotica-console:-webkit-full-screen iframe{flex:1 1;height:auto;min-height:0}.domotica-console:fullscreen iframe{flex:1 1;height:auto;min-height:0}@media(max-width:720px){.domotica-page{padding:1rem}.domotica-heading{align-items:flex-start;flex-direction:column}.domotica-actions{width:100%}.domotica-actions>*{flex:1 1;justify-content:center}.domotica-console-actions button{font-size:0}.domotica-console-actions button svg{width:17px;height:17px}.domotica-console iframe{height:calc(100vh - 230px);min-height:480px}}html[data-theme=light] .topbar{background:rgba(247,245,239,.94)}html[data-theme=light] .topbar nav button{color:#77736d}html[data-theme=light] .secondary-button,html[data-theme=light] .security-button{background:#faf9f5}html[data-theme=light] .module-grid,html[data-theme=light] .supplier-grid{background:var(--line)}html[data-theme=light] .module-card,html[data-theme=light] .supplier-card{background:#faf9f5}html[data-theme=light] .module-card:hover,html[data-theme=light] .supplier-card:hover{background:#fff}html[data-theme=light] .module-icon,html[data-theme=light] .module-icon.activity,html[data-theme=light] .module-icon.contacts,html[data-theme=light] .module-icon.finance,html[data-theme=light] .module-icon.insurance,html[data-theme=light] .module-icon.maintenance,html[data-theme=light] .supplier-icon{border-color:#e4bfc1}html[data-theme=light] .emergency-banner{border-color:#e1b6b9;background:#f8e8e8;color:#70252a}html[data-theme=light] .emergency-banner small{color:#8b5e61}html[data-theme=light] .family-tasks{background:#faf9f5}html[data-theme=light] .family-tasks-heading>span{border-color:#e4bfc1}html[data-theme=light] .task-check{border-color:#99938a;color:#fff}html[data-theme=light] .family-task.completed>span{color:#8b857c}html[data-theme=light] .family-task-sync{color:#746f68}html[data-theme=light] .emergency-grid>button{border-color:#dfc4c5;background:#fffafa;color:#321e20}html[data-theme=light] .emergency-grid>button>span:first-child{background:#f8e4e2;color:#aa343b}html[data-theme=light] .emergency-grid>button strong{color:#321e20}html[data-theme=light] .emergency-grid>button small{color:#766764}html[data-theme=light] .emergency-grid>button>svg{color:#a94b50}html[data-theme=light] .emergency-grid>button:hover{background:#fff;border-color:#c98f93}html[data-theme=light] .emergency-empty{background:#faf9f5}html[data-theme=light] .emergency-toggle{background:#fff7f5;border-color:#e2b9bb;color:#1d1c1a}html[data-theme=light] .emergency-toggle strong{color:#442326}html[data-theme=light] .emergency-toggle small{color:#746c68}html[data-theme=light] .emergency-toggle input{color-scheme:light}html[data-theme=light] input,html[data-theme=light] select,html[data-theme=light] textarea{background:#fff;color:var(--ink);color-scheme:light}html[data-theme=light] .activity-list,html[data-theme=light] .category-strip button,html[data-theme=light] .content-table,html[data-theme=light] .searchbar,html[data-theme=light] .users-list{background:#faf9f5}html[data-theme=light] .calendar-weekday,html[data-theme=light] .table-head,html[data-theme=light] .table-row{background:#f1efe9}html[data-theme=light] .table-row:hover{background:#fff}html[data-theme=light] .manual-secret,html[data-theme=light] .reminder-card,html[data-theme=light] .repeat-card,html[data-theme=light] .table-row i{background:#ebe8e1}html[data-theme=light] .modal{background:#faf9f5;border-color:#d8d4cc;box-shadow:0 35px 100px rgba(50,43,36,.2)}html[data-theme=light] .attachment-row,html[data-theme=light] .category-manage-row,html[data-theme=light] .file-picker{background:#f1efe9}html[data-theme=light] .selected-files li{color:var(--ink)}html[data-theme=light] .secure-value-card{background:#f7e8e8;border-color:#e1b9bb}html[data-theme=light] .secure-value-card>small,html[data-theme=light] .secure-value-heading small{color:#765a5c}html[data-theme=light] .secure-value-field{background:#fff;border-color:#d6b7b9}html[data-theme=light] .security-status,html[data-theme=light] .settings-card{background:#faf9f5}html[data-theme=light] .security-status.enabled{background:#f4dfe0;border-color:#e2b8bb;color:#a8242c}html[data-theme=light] .calendar-day{background:#faf9f5}html[data-theme=light] .calendar-day.outside{background:#f0eee8;color:#9a958d}html[data-theme=light] .calendar-day>button{background:#f5e1e2}html[data-theme=light] .login-shell{background:#f7f5ef}html[data-theme=light] .login-intro{background:#242321}html[data-theme=light] .login-panel{background:#f7f5ef}html[data-theme=light] .lock-mark,html[data-theme=light] .success-note{background:#f4dfe0}html[data-theme=light] .demo-note{background:#ece9e2}html[data-theme=light] .auth-card{background:#faf9f5;border-color:#d8d4cc;box-shadow:0 30px 80px rgba(50,43,36,.14)}html[data-theme=light] .otp-field input{background:transparent}html[data-theme=light] .finance-domain-card,html[data-theme=light] .finance-security-note,html[data-theme=light] .finance-summary>div{background:#faf9f5}html[data-theme=light] .finance-domain-card:hover{background:#fff}html[data-theme=light] .finance-domain-copy em{color:#5e5a54}html[data-theme=light] .finance-domain-icon{border-color:#e4bfc1}html[data-theme=light] .finance-kpi,html[data-theme=light] .finance-panel,html[data-theme=light] .finance-security-note{background:#faf9f5}html[data-theme=light] .finance-kpi.featured{background:#f7e8e8}html[data-theme=light] .finance-split>span,html[data-theme=light] .income-view-switch button,html[data-theme=light] .income-year-nav button,html[data-theme=light] .pension-source-grid>div{background:#f1efe9}@media(max-width:760px){html[data-theme=light] .topbar,html[data-theme=light] .topbar nav{background:#f7f5ef}}.theme-toggle{position:fixed;right:1.25rem;bottom:1.25rem;z-index:30;min-height:42px;padding:0 .9rem;display:flex;align-items:center;gap:.55rem;border:1px solid var(--line);border-radius:999px;background:var(--white);color:var(--ink);cursor:pointer;box-shadow:0 8px 28px rgba(0,0,0,.18);font-size:.76rem;font-weight:600}.theme-toggle svg{width:18px}.insurance-table{margin-top:2rem}.insurance-empty{display:grid;place-items:center;grid-gap:.45rem;gap:.45rem}.insurance-empty svg{width:28px;color:var(--green)}.avatar,.calendar-day>button,.category-strip button,.danger-button,.emergency-banner,.icon-button,.module-card,.primary-button,.secondary-button,.security-button,.supplier-card,.theme-toggle{transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease}.avatar:hover,.calendar-day>button:hover,.category-strip button:hover,.danger-button:hover,.emergency-banner:hover,.icon-button:hover,.module-card:hover,.primary-button:hover,.secondary-button:hover,.security-button:hover,.supplier-card:hover,.theme-toggle:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(0,0,0,.2),0 0 0 1px rgba(201,47,56,.16)}.module-card:hover,.supplier-card:hover{box-shadow:inset 3px 0 0 var(--green),0 12px 30px rgba(0,0,0,.2)}html[data-theme=light] .avatar:hover,html[data-theme=light] .calendar-day>button:hover,html[data-theme=light] .category-strip button:hover,html[data-theme=light] .danger-button:hover,html[data-theme=light] .emergency-banner:hover,html[data-theme=light] .icon-button:hover,html[data-theme=light] .module-card:hover,html[data-theme=light] .primary-button:hover,html[data-theme=light] .secondary-button:hover,html[data-theme=light] .security-button:hover,html[data-theme=light] .supplier-card:hover,html[data-theme=light] .theme-toggle:hover{box-shadow:0 10px 26px rgba(59,48,39,.13),0 0 0 1px rgba(189,41,50,.13)}html[data-theme=light] .module-card:hover,html[data-theme=light] .supplier-card:hover{box-shadow:inset 3px 0 0 var(--green),0 12px 30px rgba(59,48,39,.13)}@media(max-width:760px){.theme-toggle{right:1rem;bottom:4.8rem;width:42px;padding:0;justify-content:center}.theme-toggle span{display:none}.finance-hero{align-items:flex-start;flex-direction:column}.finance-hero .primary-button{width:100%;justify-content:center}.finance-domain-grid,.finance-summary{grid-template-columns:1fr}.finance-domain-card{min-height:210px;padding:1.25rem;grid-template-columns:auto 1fr}.finance-domain-card>svg{display:none}.finance-page{padding-bottom:7rem}}@media(max-width:980px){.finance-kpis{grid-template-columns:repeat(2,1fr)}.finance-dashboard-grid{grid-template-columns:1fr}.finance-panel.pension-panel{grid-column:auto}.pension-source-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.finance-kpis{grid-template-columns:1fr}.finance-kpi{min-height:110px}.finance-panel{padding:1.1rem}.income-chart{gap:.2rem;height:180px}.income-chart i{width:70%}.finance-panel-footer{justify-content:space-between}.pension-source-grid{grid-template-columns:1fr}.finance-updated{white-space:normal}.finance-hero{gap:1rem}.finance-split.cash-snapshot-split{grid-template-columns:1fr}.cash-snapshot-split>span{padding:.85rem}.income-heading{align-items:flex-start}.income-year-nav{align-self:flex-start}.finance-panel-footer{gap:.7rem}.finance-panel-footer strong{font-size:.82rem}.finance-panel-footer small{font-size:.55rem}}@media(prefers-reduced-motion:reduce){.avatar,.calendar-day>button,.category-strip button,.danger-button,.emergency-banner,.icon-button,.module-card,.primary-button,.secondary-button,.security-button,.supplier-card,.theme-toggle{transition:none}.avatar:hover,.calendar-day>button:hover,.category-strip button:hover,.danger-button:hover,.emergency-banner:hover,.icon-button:hover,.module-card:hover,.primary-button:hover,.secondary-button:hover,.security-button:hover,.supplier-card:hover,.theme-toggle:hover{transform:none}}.calendar-view-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem 0}.calendar-view-switcher{display:flex;border:1px solid var(--line);padding:2px}.calendar-view-switcher button{min-height:32px;padding:.35rem .7rem;border:0;background:transparent;color:var(--muted);font-size:.72rem;cursor:pointer}.calendar-view-switcher button:hover{color:var(--ink)}.calendar-view-switcher button.active{background:var(--green);color:#fff}.calendar-today-button{min-height:36px}.home-calendar-grid.workweek,.home-calendar-weekdays.workweek{grid-template-columns:repeat(5,1fr)}.home-calendar-grid.compact-period button{min-height:96px}.home-calendar-grid{animation:calendar-period-in .18s ease-out}@keyframes calendar-period-in{0%{opacity:.55;transform:translateX(5px)}to{opacity:1;transform:none}}@media(max-width:620px){.calendar-view-toolbar{align-items:stretch;flex-direction:column}.calendar-view-switcher{display:grid;grid-template-columns:repeat(3,1fr)}.calendar-today-button{width:100%;justify-content:center}.home-calendar-grid.compact-period button{min-height:72px}}@media(prefers-reduced-motion:reduce){.home-calendar-grid{animation:none}}.task-reminder{width:32px;height:32px;border:0;background:transparent;color:#25b96f;display:grid;place-items:center;cursor:pointer}.task-reminder:hover{background:rgba(37,185,111,.12)}.task-reminder svg{width:17px}.reminder-modal{width:min(560px,calc(100% - 2rem));position:relative}.reminder-recipient-list{display:grid;grid-gap:.5rem;gap:.5rem;margin:1rem 0}.reminder-recipient-list label{display:grid;grid-template-columns:auto 1fr;align-items:center;grid-gap:.75rem;gap:.75rem;padding:.75rem;border:1px solid var(--line);cursor:pointer}.reminder-recipient-list input{width:18px;height:18px;margin:0;accent-color:var(--green)}.reminder-recipient-list span{display:grid;grid-gap:.15rem;gap:.15rem}.reminder-recipient-list small{color:var(--muted)}.reminder-recipient-list p{display:flex;align-items:center;gap:.5rem;color:var(--muted)}.reminder-recipient-list svg{width:17px}.users-page{width:min(1180px,calc(100% - 2rem))}.user-row{grid-template-columns:auto minmax(180px,1fr) 170px 150px 150px auto auto}.user-whatsapp{display:grid;grid-gap:.25rem;gap:.25rem}.user-whatsapp>span{display:flex;align-items:center;gap:.35rem;color:var(--muted);font-size:.68rem}.user-whatsapp svg{width:14px}.user-whatsapp input{min-width:0}.user-whatsapp-optin{display:flex;align-items:center;gap:.45rem;color:var(--muted);font-size:.72rem}.user-whatsapp-optin input{width:16px;height:16px;margin:0;accent-color:var(--green)}.reminder-config-warning{display:flex;align-items:center;gap:.55rem;margin-top:.85rem;padding:.75rem;border:1px solid #785b22;background:#332817;color:#f2c66d;font-size:.78rem}.reminder-config-warning svg{width:17px;flex:0 0 auto}.reminder-mode-switcher{display:grid;grid-template-columns:1fr 1fr;margin:.9rem 0;border:1px solid var(--line);padding:2px}.reminder-mode-switcher button{padding:.65rem;border:0;background:transparent;color:var(--muted);cursor:pointer}.reminder-mode-switcher button.active{background:var(--green);color:#fff}.reminder-mode-switcher button:disabled{opacity:.4;cursor:not-allowed}.reminder-schedule-fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem;margin-bottom:1rem}.reminder-schedule-fields label:last-child:nth-child(3){grid-column:1/-1}.reminder-status-note{display:flex;align-items:center;gap:.55rem;margin-top:.75rem;padding:.7rem;border:1px solid var(--line);background:var(--panel-alt);color:var(--muted);font-size:.72rem}.reminder-status-note svg{width:16px;flex:0 0 auto;color:var(--green)}.reminder-history{display:grid;margin:.9rem 0;border:1px solid var(--line)}.reminder-history>strong{padding:.7rem .8rem;border-bottom:1px solid var(--line);color:var(--muted);font-size:.66rem;text-transform:uppercase;letter-spacing:.08em}.reminder-history>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:.75rem;gap:.75rem;padding:.65rem .8rem;border-bottom:1px solid var(--line)}.reminder-history>div:last-child{border-bottom:0}.reminder-history span{min-width:0;display:grid;grid-gap:.12rem;gap:.12rem}.reminder-history b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem}.reminder-history small{color:var(--muted);font-size:.62rem}.reminder-history em{padding:.24rem .45rem;border-radius:999px;background:var(--panel-alt);color:var(--muted);font-size:.61rem;font-style:normal}.reminder-history .status-delivered,.reminder-history .status-read{background:rgba(37,185,111,.13);color:#3bcc80}.reminder-history .status-failed{background:rgba(239,75,84,.13);color:#ef6c73}@media(max-width:560px){.reminder-schedule-fields{grid-template-columns:1fr}.reminder-schedule-fields label:last-child:nth-child(3){grid-column:auto}.reminder-modal .modal-actions{align-items:stretch}.reminder-modal .modal-actions button{width:100%}}.task-create-form{align-items:start}.task-create-options{grid-column:1/-1}.task-create-options summary{color:var(--muted);font-size:.76rem;cursor:pointer}.task-create-options-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.8rem;gap:.8rem;margin-top:.8rem;padding:.9rem;border:1px solid var(--line);background:var(--panel-alt)}.task-create-options-grid label{display:grid;grid-gap:.35rem;gap:.35rem;font-size:.72rem;color:var(--muted)}.task-create-options-grid .task-reminder-toggle{display:flex;align-items:center;gap:.55rem}.task-create-options-grid fieldset input,.task-reminder-toggle input{width:17px;height:17px;margin:0;accent-color:var(--green)}.task-create-options-grid fieldset{grid-column:1/-1;display:grid;grid-gap:.5rem;gap:.5rem;padding:.75rem;border:1px solid var(--line)}.task-create-options-grid fieldset legend{padding:0 .35rem;color:var(--muted);font-size:.7rem}.task-create-options-grid fieldset label{display:flex;align-items:center;gap:.5rem}.task-create-options-grid fieldset small{margin-left:auto}.family-task>span{display:grid;grid-gap:.18rem;gap:.18rem;min-width:0}.family-task>span strong{overflow:hidden;text-overflow:ellipsis}.family-task>span small{color:var(--muted);font-size:.66rem}.family-task.overdue>span small{color:#ef6c73}.family-task.overdue{box-shadow:inset 3px 0 0 #ef4b54}@media(max-width:620px){.task-create-options-grid{grid-template-columns:1fr}.task-create-options-grid fieldset{grid-column:auto}}@media(max-width:900px){.user-row{grid-template-columns:auto 1fr auto auto}.user-row>select,.user-whatsapp,.user-whatsapp-optin{grid-column:2/-1}.user-row>.danger-icon{grid-column:4}.user-row>select,.user-whatsapp input{width:100%}}@media(max-width:760px){.family-task-form{grid-template-columns:1fr}.family-task-form .primary-button{width:100%}.family-tasks-heading{grid-template-columns:auto 1fr}.family-tasks-heading>small{grid-column:2}}@media(max-width:1050px){.app-shell{padding-left:76px}.dashboard-sidebar{width:76px;padding:1.2rem .65rem}.sidebar-wordmark{justify-content:center;padding:0}.dashboard-sidebar nav button span,.sidebar-account button span,.sidebar-wordmark span{display:none}.dashboard-sidebar nav button,.sidebar-account button{justify-content:center;padding:.7rem}.home-dashboard-grid{grid-template-columns:1fr}}@media(max-width:620px){.app-shell{padding-left:0;padding-bottom:68px}.dashboard-sidebar{inset:auto 0 0 0;width:100%;height:66px;padding:.35rem;background:#151514;border:0;border-top:1px solid var(--line)}.sidebar-account,.sidebar-wordmark{display:none}.dashboard-sidebar nav{height:100%;display:flex;overflow-x:auto;gap:.15rem;scrollbar-width:none}.dashboard-sidebar nav button{min-width:62px;height:100%;padding:.45rem}.dashboard-sidebar nav button.active{box-shadow:inset 0 2px 0 var(--green)}.home-calendar-heading{align-items:flex-start;flex-direction:column}.calendar-sync-button{width:100%;justify-content:center}.home-calendar-grid button{min-height:43px}.home-dashboard-grid{gap:1rem}}.home-calendar-heading{position:relative}.calendar-actions{display:flex;gap:.45rem}.calendar-filter-button{width:40px;display:flex;align-items:center;border:1px solid #4d292c;background:#24191a;color:#ef6c73;padding:.65rem;cursor:pointer}.calendar-filter-button svg{width:16px}.calendar-visibility-menu{right:1.25rem;top:70px;z-index:7;width:min(310px,calc(100vw - 3rem));padding:1rem;background:#20201f;box-shadow:0 20px 50px rgba(0,0,0,.45);display:grid;grid-gap:.6rem;gap:.6rem}.calendar-visibility-menu strong{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}.calendar-visibility-menu label{grid-template-columns:auto 10px 1fr;grid-gap:.65rem;gap:.65rem;color:var(--muted);font-size:.82rem;cursor:pointer}.calendar-visibility-menu label:hover{color:var(--ink)}.calendar-visibility-menu label i{width:9px;height:9px;border-radius:50%}.calendar-visibility-menu input{width:16px;height:16px;accent-color:var(--green)}html[data-theme=light] .calendar-filter-button{background:#fff2f2;border-color:#dfb9bc;color:#a92b33}html[data-theme=light] .calendar-visibility-menu{background:#fff;border-color:#d8d4cc;box-shadow:0 20px 50px rgba(50,43,36,.16)}.home-page{width:min(1380px,calc(100% - 2rem))}.home-dashboard-grid{grid-template-columns:minmax(300px,.62fr) minmax(620px,1.38fr)}.home-calendar-grid button.selected{outline:2px solid #ef4b54;outline-offset:-2px}.home-calendar-grid button:focus,.home-calendar-grid button:hover{z-index:6}.calendar-hover-card{position:absolute;left:8px;top:calc(100% - 3px);z-index:20;width:300px;padding:.85rem;background:#242423;border:1px solid #4a4a46;box-shadow:0 18px 45px rgba(0,0,0,.55);display:grid;grid-gap:.5rem;gap:.5rem;text-align:left;pointer-events:none}.calendar-hover-card>strong{margin-bottom:.2rem;font-size:.75rem;text-transform:capitalize;color:var(--ink)}.calendar-hover-card>span{display:grid;grid-template-columns:8px 46px 1fr;align-items:center;grid-gap:.45rem;gap:.45rem;font-size:.72rem;color:var(--ink)}.calendar-hover-card b{width:7px;height:7px;border-radius:50%}.calendar-hover-card em{font-style:normal;color:var(--muted)}.calendar-hover-card small{color:var(--muted)}.calendar-day-panel{border-top:1px solid var(--line);padding:1rem 1.25rem;display:grid;grid-gap:.55rem;gap:.55rem}.calendar-day-panel>div{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.25rem;text-transform:capitalize}.calendar-day-panel>button{width:100%;display:grid;grid-template-columns:8px 1fr 18px;align-items:center;grid-gap:.75rem;gap:.75rem;padding:.65rem .2rem;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;cursor:pointer}.calendar-day-panel>button:hover{background:#242423}.calendar-day-panel>button i{width:8px;height:28px}.calendar-day-panel>button span{display:grid;grid-gap:.15rem;gap:.15rem}.calendar-day-panel>button small{color:var(--muted);font-size:.68rem}.calendar-day-panel>button svg{width:15px;color:var(--muted)}.calendar-day-panel>p{color:var(--muted);font-size:.8rem;margin:.5rem 0}.calendar-event-modal{width:min(620px,calc(100% - 2rem));position:relative}.calendar-event-modal textarea{min-height:110px}.calendar-all-day{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:.6rem}.calendar-all-day input{width:17px;height:17px;margin:0;accent-color:var(--green)}html[data-theme=light] .calendar-hover-card{background:#fff;border-color:#d8d4cc;box-shadow:0 18px 45px rgba(50,43,36,.2)}html[data-theme=light] .calendar-day-panel>button:hover{background:#fff5f5}@media(max-width:1100px){.home-dashboard-grid{grid-template-columns:1fr}.home-page{width:min(900px,calc(100% - 2rem))}}html[data-palette=original]{--page-bg:#151514;--sidebar-bg:#111110;--panel-bg:#1b1b1a;--panel-alt:#1d1d1c;--hover-bg:#292222;--accent-soft:#2d1a1c;--accent-line:#4d292c}html[data-palette=forest]{--ink:#eef3ef;--muted:#8e9c93;--line:#2b332d;--surface:#171b18;--white:#1b201c;--green:#d7a84b;--green-soft:#302817;--sand:#242a25;--danger:#e77972;--page-bg:#111412;--sidebar-bg:#0b0e0c;--panel-bg:#171b18;--panel-alt:#1b211c;--hover-bg:#232b25;--accent-soft:#302817;--accent-line:#66532c}html[data-palette=navy]{--ink:#f2f5fa;--muted:#8f9bad;--line:#2c3545;--surface:#171d27;--white:#1b2230;--green:#4ea1d8;--green-soft:#172b3c;--sand:#242737;--danger:#e17272;--page-bg:#10141b;--sidebar-bg:#0a0d13;--panel-bg:#171d27;--panel-alt:#1b2330;--hover-bg:#202b3b;--accent-soft:#172b3c;--accent-line:#315f7c}html[data-palette=walnut]{--ink:#f4eee8;--muted:#a49589;--line:#3a332e;--surface:#211d1a;--white:#26211d;--green:#c9785b;--green-soft:#38231b;--sand:#29251f;--danger:#e17b72;--page-bg:#181513;--sidebar-bg:#110f0e;--panel-bg:#211d1a;--panel-alt:#26211d;--hover-bg:#302722;--accent-soft:#38231b;--accent-line:#704533}html[data-palette=forest][data-theme=light]{--ink:#1b2720;--muted:#65736a;--line:#ccd7cf;--surface:#edf2ee;--white:#f8faf8;--green:#9b6e17;--green-soft:#f0e6ca;--sand:#e6eee8;--danger:#b83f3a;--page-bg:#f2f5f2;--sidebar-bg:#e6ede8;--panel-bg:#fbfcfb;--panel-alt:#f0f5f1;--hover-bg:#e7efe9;--accent-soft:#f0e6ca;--accent-line:#d1b66f}html[data-palette=navy][data-theme=light]{--ink:#182331;--muted:#657183;--line:#ced6e2;--surface:#edf2f7;--white:#f9fbfd;--green:#2779ad;--green-soft:#dcecf7;--sand:#e8edf4;--danger:#b83c46;--page-bg:#f2f6fa;--sidebar-bg:#e6edf4;--panel-bg:#fbfcfe;--panel-alt:#eef3f8;--hover-bg:#e5eef6;--accent-soft:#dcecf7;--accent-line:#9fc9e3}html[data-palette=walnut][data-theme=light]{--ink:#30251f;--muted:#74665d;--line:#ddd1c8;--surface:#f3ede8;--white:#fdfaf7;--green:#ad5b40;--green-soft:#f1dfd6;--sand:#eee7df;--danger:#b93f3f;--page-bg:#f6f1ec;--sidebar-bg:#ece3dc;--panel-bg:#fdfaf7;--panel-alt:#f2ebe5;--hover-bg:#eee2d9;--accent-soft:#f1dfd6;--accent-line:#d5a995}html[data-palette=original][data-theme=light]{--page-bg:#f7f5ef;--sidebar-bg:#f2efe8;--panel-bg:#faf9f5;--panel-alt:#fff;--hover-bg:#fff5f5;--accent-soft:#f4dfe0;--accent-line:#dfb9bc}html[data-palette] body{background:var(--page-bg)}html[data-palette] .app-shell,html[data-palette] .auth-center,html[data-palette] .settings-shell{background-color:var(--page-bg)}html[data-palette] .dashboard-sidebar{background:color-mix(in srgb,var(--sidebar-bg) 98%,transparent)}html[data-palette] .activity-list,html[data-palette] .content-table,html[data-palette] .family-tasks,html[data-palette] .finance-kpi,html[data-palette] .finance-panel,html[data-palette] .home-calendar,html[data-palette] .modal,html[data-palette] .users-list{background:var(--panel-bg)}html[data-palette] .home-calendar-grid button,html[data-palette] input,html[data-palette] select,html[data-palette] textarea{background:var(--panel-alt);color:var(--ink)}html[data-palette] .home-calendar-grid button.outside{background:color-mix(in srgb,var(--page-bg) 82%,var(--sidebar-bg))}html[data-palette] .calendar-day-panel>button:hover,html[data-palette] .dashboard-sidebar nav button:hover,html[data-palette] .home-calendar-grid button:has(i):hover{background:var(--hover-bg)}html[data-palette] .calendar-filter-button,html[data-palette] .calendar-sync-button{background:var(--accent-soft);border-color:var(--accent-line);color:var(--green)}html[data-palette] .dashboard-sidebar nav button.active{background:var(--accent-soft);border-color:var(--accent-line);color:var(--ink)}.subpage-app-shell{min-height:100vh;padding-left:244px}.subpage-app-content{min-width:0}.subpage-app-content>.settings-shell{min-height:100vh}.sidebar-account button.active{background:var(--accent-soft);border-color:var(--accent-line);color:var(--ink);box-shadow:inset 3px 0 0 var(--green)}.family-task-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}.family-task-tabs button{min-width:0;padding:.8rem .45rem;border:0;border-right:1px solid var(--line);background:var(--panel-alt);color:var(--muted);font-size:.72rem;cursor:pointer}.family-task-tabs button:last-child{border-right:0}.family-task-tabs button:hover{color:var(--ink);background:var(--hover-bg)}.family-task-tabs button.active{color:var(--ink);background:var(--accent-soft);box-shadow:inset 0 -2px 0 var(--green)}.family-task-tabs small{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:.4rem;padding:0 .3rem;background:var(--page-bg);color:var(--muted);font-size:.6rem}@media(max-width:1050px){.subpage-app-shell{padding-left:76px}}@media(max-width:620px){.subpage-app-shell{padding-left:0;padding-bottom:68px}}.home-welcome-row{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:2rem}.home-welcome-row .dashboard-welcome{margin-bottom:2rem}.appearance-picker{position:relative;z-index:8}.appearance-picker>.secondary-button svg{width:17px}.appearance-menu{position:absolute;right:0;top:calc(100% + .5rem);width:280px;padding:.8rem;background:var(--panel-bg);border:1px solid var(--line);box-shadow:0 22px 55px rgba(0,0,0,.42);display:grid;grid-gap:.3rem;gap:.3rem}.appearance-menu>div:first-child{display:grid;grid-gap:.1rem;gap:.1rem;padding:.35rem .4rem .65rem;border-bottom:1px solid var(--line)}.appearance-menu>div:first-child strong{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}.appearance-menu>div:first-child small{color:var(--muted);font-size:.68rem}.appearance-menu>button{min-height:40px;display:grid;grid-template-columns:12px 1fr 17px;align-items:center;grid-gap:.7rem;gap:.7rem;padding:.55rem;border:0;background:transparent;color:var(--muted);text-align:left;cursor:pointer}.appearance-menu>button:hover{background:var(--hover-bg);color:var(--ink)}.appearance-menu>button.active{color:var(--ink);background:var(--accent-soft)}.appearance-menu>button i{width:11px;height:11px;border-radius:50%}.appearance-menu>button svg{width:16px;color:var(--green)}.appearance-mode{display:grid!important;grid-template-columns:1fr 1fr!important;grid-gap:.4rem!important;gap:.4rem!important;padding:.65rem .4rem .2rem!important;border-top:1px solid var(--line)!important;border-bottom:0!important}.appearance-mode button{min-height:38px;display:flex;align-items:center;justify-content:center;gap:.45rem;border:1px solid var(--line);background:var(--panel-alt);color:var(--muted);cursor:pointer}.appearance-mode button.active{border-color:var(--green);background:var(--accent-soft);color:var(--ink)}.appearance-mode svg{width:15px}@media(max-width:760px){.home-welcome-row{display:block}.appearance-picker{position:absolute;right:0;top:0}.appearance-menu{width:min(280px,calc(100vw - 2rem))}}:root{--content-gutter:clamp(1rem,2.4vw,3.5rem);--workspace-max:1920px}.global-notice,.home-page,.maintenance-page,.page{width:min(var(--workspace-max),calc(100% - (2 * var(--content-gutter))))}.activity-page,.users-page{width:min(1280px,calc(100% - (2 * var(--content-gutter))))}.suppliers-page{width:min(1520px,calc(100% - (2 * var(--content-gutter))))}.settings-page:not(.users-page):not(.activity-page):not(.suppliers-page){width:min(980px,calc(100% - (2 * var(--content-gutter))))}@media(min-width:1500px){.home-dashboard-grid{grid-template-columns:minmax(360px,.72fr) minmax(760px,1.28fr);gap:clamp(1.2rem,1.5vw,2rem)}.emergency-grid,.finance-domain-grid,.module-grid,.supplier-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-dashboard-grid{grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr)}}@media(min-width:2100px){:root{--workspace-max:2240px}.home-dashboard-grid{grid-template-columns:minmax(420px,.68fr) minmax(900px,1.32fr)}.module-grid,.supplier-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.family-tasks,.home-calendar{border-radius:14px;overflow:hidden;box-shadow:0 18px 60px rgba(0,0,0,.12)}.family-tasks-heading{grid-template-columns:auto 1fr auto;min-height:86px;padding:1.1rem 1.2rem}.family-tasks-heading>span{width:44px;height:44px;border-radius:10px;background:var(--accent-soft)}.family-tasks-heading h2,.home-calendar-heading h2{font-size:1.35rem}.task-new-button{white-space:nowrap}.task-list-toolbar{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.65rem 1rem;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel-alt) 70%,transparent)}.task-list-toolbar>span{color:var(--muted);font-size:.66rem;text-transform:uppercase;letter-spacing:.1em}.task-status-switcher{display:flex;align-items:center;gap:.25rem}.task-status-switcher button{min-height:32px;display:flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:.72rem;cursor:pointer}.task-status-switcher button:hover{background:var(--hover-bg);color:var(--ink)}.task-status-switcher button.active{background:var(--accent-soft);color:var(--ink)}.task-status-switcher small{display:grid;place-items:center;min-width:18px;height:18px;padding:0 .25rem;border-radius:999px;background:var(--panel-bg);color:var(--muted);font-size:.58rem}.family-task-list{max-height:520px;min-height:260px;overflow:auto}.family-task{grid-template-columns:auto minmax(0,1fr) auto;gap:.75rem;min-height:68px;padding:.72rem 1rem;background:transparent;transition:background-color .16s ease}.family-task:hover{background:var(--hover-bg)}.family-task.overdue{box-shadow:inset 3px 0 0 var(--danger)}.family-task.completed{opacity:.68}.task-check{border-radius:7px;flex:0 0 auto}.task-main{min-width:0;display:grid;grid-gap:.24rem;gap:.24rem;padding:.2rem 0;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.task-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.83rem;font-weight:600}.task-main small{min-height:17px;display:flex;align-items:center;gap:.3rem;color:var(--muted);font-size:.67rem}.task-main small svg{width:13px;height:13px}.family-task.overdue .task-main small{color:var(--danger)}.family-task.completed .task-main strong{text-decoration:line-through}.task-row-actions{display:flex;align-items:center;gap:.1rem;opacity:.38;transition:opacity .16s ease}.family-task:focus-within .task-row-actions,.family-task:hover .task-row-actions{opacity:1}.task-row-actions>button{width:32px;height:32px;border-radius:7px}.task-edit{border:0;background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer}.task-edit:hover{background:var(--accent-soft);color:var(--green)}.task-edit svg{width:16px}.family-task-empty{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;padding:2rem;text-align:center}.family-task-empty>svg{width:30px;color:var(--green);opacity:.8}.family-task-empty strong{color:var(--ink)}.family-task-empty span{max-width:270px;color:var(--muted);font-size:.75rem}.family-task-empty button{margin-top:.55rem}.family-task-sync{display:flex;align-items:center;gap:.4rem;padding:.72rem 1rem;background:color-mix(in srgb,var(--panel-alt) 65%,transparent)}.family-task-sync svg{width:13px;color:#25b96f}.home-calendar-heading{min-height:86px;padding:1.1rem 1.2rem}.calendar-commandbar{min-height:58px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:1rem;gap:1rem;padding:.65rem 1rem;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel-alt) 70%,transparent)}.calendar-commandbar>strong{text-align:center;text-transform:capitalize;font-size:.9rem;font-weight:600}.calendar-period-nav{display:flex;align-items:center;gap:.25rem}.calendar-period-nav button{height:34px;padding:0 .6rem;border:1px solid var(--line);border-radius:7px;background:var(--panel-bg);color:var(--muted);cursor:pointer}.calendar-period-nav button:first-child,.calendar-period-nav button:last-child{width:34px;padding:0;display:grid;place-items:center}.calendar-period-nav button:hover{border-color:var(--accent-line);color:var(--ink)}.calendar-period-nav svg{width:16px}.calendar-today-button{color:var(--ink)!important}.calendar-view-switcher{border-radius:8px;background:var(--panel-bg)}.calendar-view-switcher button{border-radius:6px}.calendar-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(235px,28%);min-height:560px}.calendar-surface{min-width:0;padding:1rem;border-right:1px solid var(--line)}.calendar-surface .home-calendar-grid,.calendar-surface .home-calendar-weekdays{padding-left:0;padding-right:0}.calendar-surface .home-calendar-weekdays span{padding:.45rem .25rem .65rem;font-size:.62rem;letter-spacing:.08em}.calendar-surface .home-calendar-grid{padding-bottom:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.calendar-surface .home-calendar-grid button{position:relative;min-height:92px;display:flex;flex-direction:column;align-items:stretch;gap:.35rem;margin:0;padding:.45rem;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel-alt);color:var(--ink);text-align:left;overflow:hidden;cursor:pointer}.calendar-surface .home-calendar-grid.compact-period button{min-height:210px}.calendar-surface .home-calendar-grid button:hover{z-index:auto;background:var(--hover-bg)}.calendar-surface .home-calendar-grid button.selected{outline:2px solid var(--green);outline-offset:-2px;background:var(--accent-soft)}.calendar-surface .home-calendar-grid button.outside{opacity:.52}.calendar-cell-date{width:25px;height:25px;display:grid;place-items:center;align-self:flex-end;color:var(--muted);font-size:.72rem;font-weight:600}.calendar-surface .home-calendar-grid button.today .calendar-cell-date{border-radius:50%;background:var(--green);color:#fff}.calendar-cell-events{display:grid;grid-gap:3px;gap:3px;min-width:0}.calendar-event-chip{min-width:0;height:21px;display:grid;grid-template-columns:5px auto minmax(0,1fr);align-items:center;grid-gap:4px;gap:4px;padding:0 5px;border-radius:4px;background:color-mix(in srgb,var(--accent-soft) 76%,transparent);color:var(--ink);font-size:.58rem;line-height:1}.calendar-surface .home-calendar-grid button.today .calendar-cell-events{width:100%;height:auto;display:grid;place-items:stretch;background:transparent;color:inherit}.calendar-surface .home-calendar-grid button.today .calendar-event-chip{width:auto;height:21px;display:grid;place-items:initial;background:color-mix(in srgb,var(--accent-soft) 76%,transparent);color:var(--ink)}.calendar-event-chip i{position:static!important;width:5px!important;min-width:5px!important;height:5px!important;padding:0!important;border-radius:50%!important;background:var(--green);font-size:0!important}.calendar-event-chip b{font-weight:500;color:var(--muted)}.calendar-event-chip em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:normal}.calendar-event-chip.task{background:color-mix(in srgb,var(--green-soft) 72%,transparent)}.calendar-more-events{padding-left:.3rem;color:var(--muted);font-size:.57rem}.calendar-agenda{min-width:0;display:flex;flex-direction:column;background:color-mix(in srgb,var(--panel-alt) 48%,transparent)}.calendar-agenda-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem 1rem .75rem;text-transform:capitalize}.calendar-agenda-heading>div{display:grid;grid-gap:.1rem;gap:.1rem}.calendar-agenda-heading span{color:var(--muted);font-size:.66rem;text-transform:uppercase;letter-spacing:.1em}.calendar-agenda-heading strong{font-size:1.05rem}.calendar-agenda-count{min-width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--green)!important}.calendar-agenda-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:.4rem;gap:.4rem;padding:0 1rem 1rem;border-bottom:1px solid var(--line)}.calendar-agenda-actions button{min-height:36px;display:flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid var(--line);border-radius:7px;background:var(--panel-bg);color:var(--ink);font-size:.7rem;cursor:pointer}.calendar-agenda-actions button:hover:not(:disabled){border-color:var(--green);background:var(--accent-soft)}.calendar-agenda-actions button:disabled{opacity:.4;cursor:not-allowed}.calendar-agenda-actions svg{width:15px}.calendar-agenda-list{display:grid;align-content:start;padding:.5rem;overflow:auto}.calendar-agenda-list>button{min-width:0;display:grid;grid-template-columns:4px minmax(0,1fr) 16px;grid-gap:.65rem;gap:.65rem;align-items:stretch;padding:.7rem .5rem;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;cursor:pointer}.calendar-agenda-list>button:hover{background:var(--hover-bg)}.calendar-agenda-list>button>i{width:4px;border-radius:4px}.calendar-agenda-list>button>span{min-width:0;display:grid;grid-gap:.14rem;gap:.14rem}.calendar-agenda-list small{color:var(--green);font-size:.6rem}.calendar-agenda-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem}.calendar-agenda-list em{color:var(--muted);font-size:.62rem;font-style:normal}.calendar-agenda-list svg{align-self:center;width:14px;color:var(--muted)}.calendar-agenda-empty{min-height:270px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;padding:1rem;text-align:center}.calendar-agenda-empty svg{width:30px;color:var(--green);opacity:.65}.calendar-agenda-empty strong{font-size:.8rem}.calendar-agenda-empty span{max-width:180px;color:var(--muted);font-size:.68rem}.task-composer-modal{width:min(720px,calc(100% - 2rem));max-height:min(880px,calc(100vh - 2rem));overflow:auto;padding:0;border-radius:16px}.task-composer-modal>.modal-close{top:1rem;right:1rem}.task-composer-intro{display:grid;grid-template-columns:auto 1fr;grid-gap:1rem;gap:1rem;padding:1.45rem 1.5rem 1.15rem;border-bottom:1px solid var(--line);background:linear-gradient(135deg,var(--accent-soft),transparent 65%)}.task-composer-intro>span{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:var(--green);color:#fff}.task-composer-intro svg{width:21px}.task-composer-intro h2{margin:.1rem 0 .2rem}.task-composer-intro p:last-child{color:var(--muted);font-size:.75rem}.task-composer-modal>.task-title-input{padding:1.2rem 1.5rem .35rem}.task-deadline-input>span,.task-title-input>span{color:var(--muted);font-size:.67rem;text-transform:uppercase;letter-spacing:.09em}.task-title-input input{height:54px;font-size:1rem}.task-list-picker{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.55rem;gap:.55rem;margin:1rem 1.5rem;padding:0;border:0}.task-list-picker legend{grid-column:1/-1;margin-bottom:.1rem;color:var(--muted);font-size:.67rem;text-transform:uppercase;letter-spacing:.09em}.task-list-picker label{position:relative;min-width:0;display:grid;grid-template-columns:1fr 18px;align-items:center;padding:.75rem;border:1px solid var(--line);border-radius:10px;background:var(--panel-alt);cursor:pointer}.task-list-picker label:hover{border-color:var(--accent-line)}.task-list-picker label.active{border-color:var(--green);background:var(--accent-soft)}.task-list-picker input{position:absolute;opacity:0;pointer-events:none}.task-list-picker label>span{display:grid;grid-gap:.15rem;gap:.15rem}.task-list-picker strong{font-size:.75rem}.task-list-picker small{color:var(--muted);font-size:.61rem}.task-list-picker svg{width:17px;color:var(--green);opacity:0}.task-list-picker label.active svg{opacity:1}.task-deadline-section,.task-reminder-section{display:grid;grid-gap:.85rem;gap:.85rem;margin:0 1.5rem 1rem;padding:1rem;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--panel-alt) 70%,transparent)}.task-field-heading{display:grid;grid-template-columns:auto 1fr;align-items:center;grid-gap:.7rem;gap:.7rem}.task-field-heading>span{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:var(--accent-soft);color:var(--green)}.task-field-heading svg{width:17px}.task-field-heading>div{display:grid;grid-gap:.12rem;gap:.12rem}.task-field-heading strong{font-size:.78rem}.task-field-heading small{color:var(--muted);font-size:.65rem}.task-deadline-presets{display:flex;flex-wrap:wrap;gap:.35rem}.task-deadline-presets button{min-height:32px;padding:.35rem .65rem;border:1px solid var(--line);border-radius:999px;background:var(--panel-bg);color:var(--muted);font-size:.68rem;cursor:pointer}.task-deadline-presets button.active,.task-deadline-presets button:hover{border-color:var(--green);background:var(--accent-soft);color:var(--ink)}.task-deadline-input{display:grid;grid-gap:.35rem;gap:.35rem}.task-deadline-input input{height:42px}.task-reminder-section{padding:.9rem 1rem}.task-reminder-section.active{border-color:var(--accent-line)}.task-composer-modal .task-reminder-toggle{display:block;color:var(--ink);cursor:pointer}.task-composer-modal .task-reminder-toggle>input{position:absolute;opacity:0}.task-composer-modal .task-reminder-toggle>span{display:grid;grid-template-columns:20px 1fr auto;align-items:center;grid-gap:.65rem;gap:.65rem}.task-composer-modal .task-reminder-toggle>span>svg{width:19px;color:#25b96f}.task-composer-modal .task-reminder-toggle>span>span{display:grid;grid-gap:.12rem;gap:.12rem}.task-composer-modal .task-reminder-toggle strong{font-size:.76rem}.task-composer-modal .task-reminder-toggle small{color:var(--muted);font-size:.64rem}.task-composer-modal .task-reminder-toggle>span:after{content:"";width:36px;height:20px;border-radius:999px;background:var(--line);box-shadow:inset 0 0 0 1px var(--line);transition:.15s ease}.task-composer-modal .task-reminder-toggle>input:checked+span:after{background:var(--green);box-shadow:inset -16px 0 0 2px #fff}.task-composer-modal .task-reminder-toggle>input:not(:checked)+span:after{box-shadow:inset 16px 0 0 2px var(--muted)}.task-composer-modal .task-reminder-toggle>input:disabled+span{opacity:.5;cursor:not-allowed}.task-reminder-options{display:grid;grid-template-columns:1fr 1fr;grid-gap:.7rem;gap:.7rem;padding-top:.8rem;border-top:1px solid var(--line)}.task-reminder-options>fieldset{grid-column:1/-1;display:grid;grid-gap:.4rem;gap:.4rem;padding:.7rem;border:1px solid var(--line);border-radius:9px}.task-reminder-options legend{padding:0 .3rem;color:var(--muted);font-size:.65rem}.task-reminder-options fieldset label{display:grid;grid-template-columns:auto 1fr;align-items:center;grid-gap:.55rem;gap:.55rem;padding:.5rem;border-radius:7px;background:var(--panel-bg);cursor:pointer}.task-reminder-options fieldset input{width:17px;height:17px;margin:0}.task-reminder-options fieldset span{display:grid}.task-reminder-options fieldset strong{font-size:.7rem}.task-reminder-options fieldset small{color:var(--muted);font-size:.6rem}.task-composer-summary{display:flex;align-items:center;gap:.5rem;margin:0 1.5rem;padding:.65rem .8rem;border-radius:8px;background:var(--accent-soft)}.task-list-dot{width:8px;height:8px;border-radius:50%;background:#4ea1d8}.task-list-dot.shopping{background:#d7a84b}.task-list-dot.urgent{background:#ef5961}.task-composer-summary span:last-child{display:flex;align-items:center;font-size:.68rem}.task-composer-summary small{color:var(--muted)}.task-composer-modal>.modal-actions{padding:1rem 1.5rem 1.3rem}.task-composer-modal>.modal-actions .primary-button svg{width:16px}@media(max-width:1280px){.calendar-workspace{grid-template-columns:minmax(0,1fr) 230px}.calendar-event-chip b{display:none}}@media(max-width:1100px){.calendar-workspace{grid-template-columns:minmax(0,1fr) minmax(240px,32%)}.calendar-event-chip b{display:inline}}@media(max-width:800px){.calendar-commandbar{grid-template-columns:1fr auto}.calendar-commandbar>strong{grid-column:1/-1;grid-row:2;text-align:left;padding:.2rem 0}.calendar-view-switcher{justify-self:end}.calendar-workspace{grid-template-columns:1fr;min-height:0}.calendar-surface{border-right:0}.calendar-agenda{border-top:1px solid var(--line)}.calendar-agenda-empty{min-height:160px}}@media(max-width:620px){.family-tasks,.home-calendar{border-radius:10px}.family-tasks-heading{grid-template-columns:auto 1fr}.task-new-button{grid-column:1/-1;width:100%;justify-content:center}.task-list-toolbar{align-items:flex-start;flex-direction:column}.task-list-toolbar>span{display:none}.task-status-switcher{width:100%}.task-status-switcher button{flex:1 1;justify-content:center}.task-row-actions{opacity:1}.task-reminder{display:none}.family-task{padding:.72rem}.family-task-list{max-height:460px}.home-calendar-heading{align-items:stretch}.calendar-actions{width:100%}.calendar-actions .calendar-sync-button{flex:1 1}.calendar-commandbar{display:flex;flex-wrap:wrap}.calendar-commandbar>strong{order:3;width:100%}.calendar-view-switcher{margin-left:auto}.calendar-view-switcher button{padding:.35rem .45rem}.calendar-period-nav .calendar-today-button{width:auto}.calendar-surface{padding:.75rem;overflow-x:auto}.calendar-surface .home-calendar-grid,.calendar-surface .home-calendar-weekdays{min-width:640px}.calendar-surface .home-calendar-grid.workweek,.calendar-surface .home-calendar-weekdays.workweek{min-width:500px}.calendar-surface .home-calendar-grid button{min-height:84px}.calendar-surface .home-calendar-grid.compact-period button{min-height:150px}.task-composer-modal{width:calc(100% - 1rem);max-height:calc(100vh - 1rem)}.task-composer-intro{grid-template-columns:1fr;padding:1.15rem}.task-composer-intro>span{display:none}.task-composer-modal>.task-title-input{padding:1rem 1rem .2rem}.task-list-picker{grid-template-columns:1fr;margin:.8rem 1rem}.task-list-picker label{padding:.65rem}.task-deadline-section,.task-reminder-section{margin:0 1rem .8rem}.task-reminder-options{grid-template-columns:1fr}.task-composer-summary{margin:0 1rem}.task-composer-modal>.modal-actions{padding:1rem;display:grid;grid-template-columns:1fr 1fr}.task-composer-modal>.modal-actions>span{display:none}.task-composer-modal>.modal-actions button{width:100%;justify-content:center}}:root{--ink:#17211d;--muted:#6f7974;--line:#e1e7e3;--surface:#f4f6f3;--white:#ffffff;--green:#235f49;--green-soft:#e7f1ec;--accent-soft:#e7f1ec;--accent-line:#bad1c6;--panel-bg:#ffffff;--panel-alt:#f7f9f7;--hover-bg:#f0f5f2;--timeline-blue:#5e7fc0;--timeline-gold:#d69b45;--timeline-red:#c96560;--topbar-height:70px}[data-theme=dark]{--ink:#edf3ef;--muted:#a3aea8;--line:#303a35;--surface:#151a17;--white:#1e2521;--green:#75b797;--green-soft:#243b31;--accent-soft:#243b31;--accent-line:#416452;--panel-bg:#1e2521;--panel-alt:#19201c;--hover-bg:#26302b}body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--surface)}.wordmark,h1,h2,strong{font-family:Space Grotesk,Inter,sans-serif}button{transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}.modal-backdrop{z-index:100}.modal{position:relative}.modal-close{position:absolute;top:.85rem;right:.85rem;z-index:2;width:34px;height:34px;display:grid;place-items:center;padding:0;border:0;border-radius:9px;background:var(--panel-bg);color:var(--muted);cursor:pointer}.modal-close:hover{background:var(--hover-bg);color:var(--ink)}.modal-close svg{width:18px}.planning-app-shell,.subpage-app-shell{min-height:100vh;padding:0;background:var(--surface)}.portal-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:40;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:clamp(1.2rem,3vw,3.5rem);gap:clamp(1.2rem,3vw,3.5rem);padding:0 clamp(1rem,2.5vw,2.5rem);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel-bg) 92%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.portal-brand{border:0;background:none;padding:.5rem 0;color:var(--ink);font:700 1.05rem/1 Space Grotesk,sans-serif;letter-spacing:.03em;cursor:pointer}.portal-brand span{color:var(--green)}.portal-topbar>nav{height:100%;display:flex;align-items:stretch;gap:.35rem}.portal-more-button,.portal-topbar>nav button{position:relative;display:flex;align-items:center;gap:.5rem;padding:0 .8rem;border:0;background:transparent;color:var(--muted);font-size:.78rem;cursor:pointer}.portal-more-button:hover,.portal-topbar>nav button.active,.portal-topbar>nav button:hover{color:var(--ink);background:var(--hover-bg)}.portal-topbar>nav button.active:after{content:"";position:absolute;right:.8rem;bottom:0;left:.8rem;height:2px;border-radius:2px;background:var(--green)}.portal-topbar svg{width:17px;height:17px}.portal-topbar-actions{display:flex;align-items:center;gap:.55rem}.portal-more{position:relative;height:38px}.portal-more-button{height:38px;border-radius:9px}.portal-more-menu{position:absolute;top:calc(100% + .65rem);right:0;z-index:55;width:230px;padding:.45rem;border:1px solid var(--line);border-radius:13px;background:var(--panel-bg);box-shadow:0 18px 48px rgba(22,33,29,.16)}.portal-more-menu button{width:100%;display:flex;align-items:center;gap:.65rem;padding:.68rem .7rem;border:0;border-radius:8px;background:transparent;color:var(--ink);font-size:.76rem;text-align:left;cursor:pointer}.portal-more-menu button.active,.portal-more-menu button:hover{background:var(--hover-bg);color:var(--green)}.portal-more-menu .portal-more-compact-only{display:none}.portal-more-menu button:last-child{margin-top:.25rem;border-top:1px solid var(--line);border-radius:0 0 8px 8px}.portal-new-button{height:38px;display:flex;align-items:center;gap:.45rem;padding:0 .85rem;border:0;background:var(--green);color:#fff;font-size:.76rem;font-weight:700;cursor:pointer;box-shadow:0 6px 16px rgba(35,95,73,.18)}.portal-new-button:hover{filter:brightness(.93)}.planning-page{height:calc(100vh - var(--topbar-height));min-height:650px;display:grid;grid-template-columns:300px minmax(620px,1fr) 310px;background:var(--panel-bg);overflow:hidden}.planning-detail,.planning-inbox{min-width:0;background:var(--panel-bg);overflow:hidden}.planning-inbox{display:flex;flex-direction:column;border-right:1px solid var(--line)}.planning-inbox-heading{display:flex;align-items:flex-end;justify-content:space-between;padding:1.45rem 1.2rem .25rem}.planning-inbox-heading h1{margin:.05rem 0;font-size:1.65rem;letter-spacing:-.04em}.planning-detail-heading>span,.planning-inbox-heading>span{min-width:28px;height:28px;display:grid;place-items:center;border-radius:999px;background:var(--green-soft);color:var(--green);font-size:.7rem;font-weight:700}.planning-inbox-intro{margin:0;padding:0 1.2rem 1.1rem;color:var(--muted);font-size:.69rem;line-height:1.5}.planning-list-tabs{display:grid;grid-template-columns:repeat(3,1fr);padding:0 .8rem .75rem;border-bottom:1px solid var(--line)}.planning-list-tabs button{position:relative;min-width:0;display:grid;place-items:center;grid-gap:.25rem;gap:.25rem;padding:.55rem .15rem;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:.64rem;cursor:pointer}.planning-list-tabs button:hover{background:var(--hover-bg);color:var(--ink)}.planning-list-tabs button.active{background:var(--green-soft);color:var(--green);font-weight:700}.planning-list-tabs small{min-width:19px;height:17px;display:grid;place-items:center;border-radius:999px;background:var(--panel-bg);font-size:.56rem}.planning-status-filter{display:flex;gap:.25rem;padding:.7rem .8rem}.planning-status-filter button{padding:.38rem .62rem;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:.62rem;cursor:pointer}.planning-status-filter button.active{background:var(--hover-bg);color:var(--ink);font-weight:700}.planning-task-list{flex:1 1;min-height:0;overflow-y:auto;padding:0 .65rem .5rem}.planning-task{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:.55rem;gap:.55rem;padding:.62rem .5rem;border-bottom:1px solid var(--line)}.planning-task:hover{border-radius:9px;background:var(--hover-bg)}.planning-task.overdue{box-shadow:inset 3px 0 0 var(--timeline-red)}.planning-task.completed{opacity:.58}.planning-task-check{width:19px;height:19px;display:grid;place-items:center;padding:0;border:1.5px solid #aab5af;border-radius:6px;background:var(--panel-bg);cursor:pointer}.planning-task-check svg{width:13px}.planning-task.completed .planning-task-check{border-color:var(--green);background:var(--green);color:#fff}.planning-task-copy{min-width:0;display:grid;grid-gap:.2rem;gap:.2rem;padding:0;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.planning-task-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;font-weight:600}.planning-task.completed .planning-task-copy strong{text-decoration:line-through}.planning-task-copy small{display:flex;align-items:center;gap:.3rem;color:var(--muted);font-size:.59rem}.planning-task.overdue .planning-task-copy small{color:var(--timeline-red)}.planning-task-reminder{width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:8px;background:transparent;color:#26a76d;cursor:pointer;opacity:.5}.planning-task:hover .planning-task-reminder{opacity:1}.planning-task-reminder:hover{background:var(--green-soft)}.planning-task-reminder svg{width:15px}.planning-empty{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;color:var(--muted);text-align:center}.planning-empty svg{width:27px;color:var(--green)}.planning-empty strong{color:var(--ink);font-size:.8rem}.planning-empty span{font-size:.65rem}.planning-add-task{margin:.7rem .8rem .9rem;padding:.72rem;border:1px dashed var(--accent-line);border-radius:9px;background:var(--green-soft);color:var(--green);font-size:.7rem;font-weight:700;cursor:pointer}.planning-add-task:hover{border-style:solid}.planning-add-task svg{width:15px;vertical-align:middle;margin-right:.3rem}.planning-timeline{min-width:0;overflow:auto;background:var(--panel-bg)}.planning-toolbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;min-width:720px;height:88px;display:grid;grid-template-columns:auto minmax(160px,1fr) auto;align-items:center;grid-gap:1rem;gap:1rem;padding:0 1.15rem;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel-bg) 94%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.planning-toolbar>div:nth-child(2){text-align:center}.planning-toolbar h2{font-size:1.18rem;text-transform:capitalize}.planning-toolbar .eyebrow{font-size:.57rem}.planning-toolbar-actions{display:flex;align-items:center;gap:.4rem}.calendar-filter-button,.calendar-sync-button{height:34px;display:flex;align-items:center;gap:.4rem;padding:0 .55rem;border:1px solid var(--line);border-radius:8px;background:var(--panel-bg);color:var(--muted);font-size:.64rem;cursor:pointer}.calendar-filter-button:hover,.calendar-sync-button:hover{border-color:var(--accent-line);color:var(--green)}.calendar-filter-button svg,.calendar-sync-button svg{width:14px}.calendar-filter-button{width:34px;justify-content:center;padding:0}.planning-toolbar .calendar-view-switcher{display:flex;padding:2px;border:1px solid var(--line);border-radius:8px;background:var(--panel-alt)}.planning-toolbar .calendar-view-switcher button{height:28px;padding:0 .55rem;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:.6rem;cursor:pointer}.planning-toolbar .calendar-view-switcher button.active{background:var(--panel-bg);color:var(--ink);box-shadow:0 1px 4px rgba(22,33,29,.1)}.calendar-visibility-menu{position:absolute;top:74px;right:1rem;z-index:30;width:230px;display:grid!important;grid-gap:.35rem!important;gap:.35rem!important;padding:.85rem!important;border:1px solid var(--line);border-radius:12px;background:var(--panel-bg);box-shadow:0 16px 42px rgba(22,33,29,.16);text-align:left!important}.calendar-visibility-menu>strong{font-size:.72rem}.calendar-visibility-menu label{display:grid;grid-template-columns:auto auto 1fr;align-items:center;grid-gap:.5rem;gap:.5rem;padding:.35rem;font-size:.65rem}.calendar-visibility-menu input{width:15px;height:15px;margin:0}.calendar-visibility-menu i{width:7px;height:7px;border-radius:50%}.timeline-week{min-width:930px;display:grid;grid-template-columns:56px repeat(7,minmax(108px,1fr));align-content:start}.timeline-week.workweek{min-width:720px;grid-template-columns:56px repeat(5,minmax(125px,1fr))}.timeline-corner,.timeline-day-heading{height:58px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel-bg)}.timeline-corner{align-items:flex-end;padding-bottom:.5rem;font-size:.5rem}.timeline-corner,.timeline-day-heading{display:flex;justify-content:center;color:var(--muted)}.timeline-day-heading{align-items:center;gap:.48rem;cursor:pointer}.timeline-day-heading span{font-size:.58rem;text-transform:uppercase;letter-spacing:.08em}.timeline-day-heading strong{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;font-size:.78rem}.timeline-day-heading.selected,.timeline-day-heading:hover{background:var(--hover-bg);color:var(--ink)}.timeline-day-heading.today strong{background:var(--green);color:#fff}.timeline-all-day,.timeline-all-day-label{min-height:43px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel-alt)}.timeline-all-day-label{display:grid;place-items:center;color:var(--muted);font-size:.52rem}.timeline-all-day{display:grid;align-content:center;grid-gap:2px;gap:2px;padding:4px}.timeline-all-day button{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:3px 5px;border:0;border-left:3px solid;border-radius:4px;background:var(--green-soft);color:var(--ink);font-size:.54rem;text-align:left;cursor:pointer}.timeline-hours{height:768px;display:grid;grid-template-rows:repeat(16,48px);border-right:1px solid var(--line);background:var(--panel-bg)}.timeline-hours span{position:relative;top:-.42rem;padding-right:.45rem;color:var(--muted);font-size:.5rem;text-align:right}.timeline-day-column{position:relative;height:768px;border-right:1px solid var(--line);background:var(--panel-bg);cursor:pointer}.timeline-day-column.selected{background:color-mix(in srgb,var(--green-soft) 28%,var(--panel-bg))}.timeline-hour-line{position:absolute;right:0;left:0;height:1px;background:var(--line);pointer-events:none}.timeline-event{position:absolute;right:5px;left:5px;z-index:3;min-height:44px;display:grid;grid-gap:1px;gap:1px;overflow:visible;padding:5px 6px;border:0;border-left:3px solid;border-radius:6px;background:#e7edf9;color:#253d66;text-align:left;cursor:pointer;box-shadow:0 2px 6px rgba(22,33,29,.08)}.timeline-event:hover{z-index:5;box-shadow:0 5px 16px rgba(22,33,29,.16)}.timeline-event.google{background:#e7edf9;color:#253d66}.timeline-event.task{background:#fbf0d9;color:#6c4d19}.timeline-event.maintenance{background:#e3f0e9;color:#204f3d}.timeline-event>small{font-size:.49rem;opacity:.8}.timeline-event>strong{font-size:.61rem}.timeline-event>em,.timeline-event>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-event>em{font-size:.49rem;font-style:normal;opacity:.7}.timeline-all-day button,.timeline-event.google{cursor:-webkit-grab;cursor:grab;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.timeline-event.dragging{opacity:.28;cursor:-webkit-grabbing;cursor:grabbing}.timeline-all-day.drop-ready:hover,.timeline-day-column.drop-ready:hover{background:color-mix(in srgb,var(--green-soft) 62%,var(--panel-bg));box-shadow:inset 0 0 0 2px var(--green)}.calendar-drop-preview{position:absolute;left:4px;right:4px;z-index:8;min-height:44px;display:grid;align-content:center;grid-gap:2px;gap:2px;padding:5px 7px;border:2px solid var(--green);border-radius:6px;background:color-mix(in srgb,var(--green-soft) 86%,var(--panel-bg));color:var(--ink);box-shadow:0 8px 20px rgba(0,0,0,.2);pointer-events:none;transition:top 80ms linear}.calendar-drop-preview strong{font-size:.56rem;color:var(--green)}.calendar-drop-preview small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.6rem}.calendar-drop-all-day{inset:4px;z-index:8;overflow:hidden;padding:4px 6px;border:2px solid var(--green);border-radius:4px;background:var(--green-soft);font-size:.55rem}.calendar-drop-all-day,.calendar-event-hover{position:absolute;color:var(--ink);pointer-events:none}.calendar-event-hover{z-index:40;left:calc(100% + 9px);top:0;width:240px;display:none;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--popover-bg,var(--panel-bg));box-shadow:0 16px 38px rgba(0,0,0,.28);white-space:normal;text-align:left}.timeline-all-day button:focus-visible .calendar-event-hover,.timeline-all-day button:hover .calendar-event-hover,.timeline-event:focus-visible .calendar-event-hover,.timeline-event:hover .calendar-event-hover{display:grid;grid-gap:5px;gap:5px}.calendar-event-hover strong{font-size:.78rem!important;white-space:normal!important}.calendar-event-hover small{font-size:.68rem!important;color:var(--muted);opacity:1!important}.calendar-event-hover a{font-size:.68rem;color:var(--green);text-decoration:none;pointer-events:auto}.calendar-event-hover p{margin:3px 0 0;color:var(--muted);font-size:.68rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.timeline-day-column:nth-of-type(n+6) .calendar-event-hover{right:calc(100% + 9px);left:auto}.timeline-all-day{position:relative}.timeline-all-day .calendar-event-hover{top:28px;left:0}.planning-detail{display:flex;flex-direction:column;border-left:1px solid var(--line)}.planning-detail-heading{display:flex;align-items:center;justify-content:space-between;padding:1.45rem 1.15rem .9rem}.planning-detail-heading p{margin:0 0 .15rem;color:var(--green);font-size:.62rem;font-weight:700;text-transform:capitalize}.planning-detail-heading h2{font-size:1.23rem;text-transform:capitalize}.planning-detail-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:.45rem;gap:.45rem;padding:0 1.15rem 1rem;border-bottom:1px solid var(--line)}.planning-detail-actions button{height:36px;display:flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid var(--line);border-radius:8px;background:var(--panel-bg);color:var(--ink);font-size:.64rem;cursor:pointer}.planning-detail-actions button:hover:not(:disabled){border-color:var(--accent-line);background:var(--green-soft)}.planning-detail-actions button:disabled{opacity:.4}.planning-detail-actions svg{width:14px}.planning-detail-list{flex:1 1;min-height:0;overflow-y:auto;padding:.6rem .85rem}.planning-detail-list article{display:grid;grid-template-columns:4px minmax(0,1fr) auto;grid-gap:.6rem;gap:.6rem;padding:.75rem .35rem;border-bottom:1px solid var(--line)}.planning-detail-list article>i{width:4px;border-radius:4px}.planning-detail-list article>button:nth-child(2){min-width:0;display:grid;grid-gap:.18rem;gap:.18rem;padding:0;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.planning-detail-list small{color:var(--green);font-size:.54rem}.planning-detail-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem}.planning-detail-list em{color:var(--muted);font-size:.56rem;font-style:normal}.planning-detail-reminder{align-self:center;width:29px;height:29px;display:grid!important;place-items:center;padding:0!important;border:0!important;border-radius:8px;background:transparent!important;color:#26a76d!important}.planning-detail-reminder:hover{background:var(--green-soft)!important}.planning-detail-reminder svg{width:14px}.planning-detail-empty{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;color:var(--muted);text-align:center}.planning-detail-empty svg{width:28px;color:var(--green);opacity:.65}.planning-detail-empty strong{color:var(--ink);font-size:.76rem}.planning-detail-empty span{max-width:190px;font-size:.62rem;line-height:1.45}.planning-family-note{display:flex;align-items:center;gap:.7rem;margin:.8rem;padding:.85rem;border-radius:10px;background:var(--green-soft);color:var(--green)}.planning-family-note>svg{width:19px}.planning-family-note>span{display:grid;grid-gap:.18rem;gap:.18rem}.planning-family-note strong{font-size:.66rem}.planning-family-note small{color:var(--muted);font-size:.55rem;line-height:1.4}body:has(.planning-app-shell)>.theme-toggle{width:42px;padding:0;justify-content:center}body:has(.planning-app-shell)>.theme-toggle span{display:none}.planning-family-note{padding-right:3.2rem}.subpage-app-content{background:var(--surface)}.subpage-app-content,.subpage-app-content .settings-shell{min-height:calc(100vh - var(--topbar-height))}.subpage-app-content .maintenance-page,.subpage-app-content .settings-page{padding-top:2.8rem}.content-table,.finance-kpi,.finance-panel,.subpage-app-content .activity-list,.subpage-app-content .settings-card,.subpage-app-content .supplier-card,.subpage-app-content .users-list{border-color:var(--line);border-radius:13px;background:var(--panel-bg);box-shadow:0 7px 24px rgba(22,33,29,.04)}.page{padding-top:3.5rem}.maintenance-page h1,.page h1,.settings-page h1{font-size:clamp(2rem,3.5vw,3rem)}.finance-denied{min-height:calc(100vh - var(--topbar-height));display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.finance-denied p:not(.eyebrow){max-width:520px;color:var(--muted);line-height:1.6}@media(max-width:1180px){.planning-page{grid-template-columns:260px minmax(590px,1fr) 270px}.portal-topbar{gap:1rem}.portal-topbar>nav button{padding:0 .55rem}.portal-topbar>nav button svg{display:none}}@media(max-width:1050px){.portal-topbar>nav .portal-nav-wide{display:none}.portal-more-menu .portal-more-compact-only{display:flex}}@media(max-width:980px){.planning-page{height:auto;min-height:calc(100vh - var(--topbar-height));grid-template-columns:260px minmax(590px,1fr);overflow:auto}.planning-inbox{position:-webkit-sticky;position:sticky;top:var(--topbar-height);height:calc(100vh - var(--topbar-height))}.planning-timeline{min-height:calc(100vh - var(--topbar-height))}.planning-detail{grid-column:1/-1;min-height:360px;border-top:1px solid var(--line);border-left:0}.planning-detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.planning-detail-list article{border-right:1px solid var(--line)}}@media(max-width:720px){:root{--topbar-height:62px}.portal-topbar{grid-template-columns:auto 1fr auto;padding:0 .8rem}.portal-topbar>nav{justify-content:center}.portal-topbar>nav button{font-size:0;padding:0 .6rem}.portal-topbar>nav button svg{display:block;width:19px;height:19px}.portal-more-button{font-size:0;padding:0 .6rem}.portal-more-button svg{width:19px}.portal-new-button{width:36px;padding:0;justify-content:center;font-size:0}.portal-more-menu{right:-44px}.planning-page{display:flex;flex-direction:column;overflow:visible}.planning-inbox{position:static;height:auto;min-height:390px;max-height:56vh;border-right:0;border-bottom:1px solid var(--line)}.planning-timeline{min-height:620px;overflow:auto}.planning-toolbar{height:auto;min-height:104px;grid-template-columns:auto 1fr;padding:.7rem}.planning-toolbar>div:nth-child(2){text-align:left}.planning-toolbar-actions{grid-column:1/-1;justify-content:flex-end}.planning-toolbar .calendar-view-switcher{margin-left:auto}.timeline-week.workweek{min-width:690px}.planning-detail-list{grid-template-columns:1fr}.page-title-row,.settings-heading{align-items:flex-start;flex-direction:column}.users-page .title-actions{width:100%}}.mailbox-connect,.mailbox-page{max-width:1100px}.mailbox-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.mailbox-heading h1{margin:.25rem 0}.mail-list{display:grid;border:1px solid var(--line);border-radius:13px;overflow:hidden;background:var(--panel-bg)}.mail-list>button{display:grid;grid-gap:.35rem;gap:.35rem;padding:1rem 1.15rem;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;cursor:pointer}.mail-list>button:last-child{border-bottom:0}.mail-list>button:hover{background:var(--hover-bg)}.mail-list>button>span{display:flex;justify-content:space-between;gap:1rem}.mail-list b,.mail-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-list small,.mail-list time{color:var(--muted);font-size:.72rem}.mail-message{padding:1.5rem;border:1px solid var(--line);border-radius:13px;background:var(--panel-bg)}.mail-message h2{margin:1rem 0}.mail-message dl{display:grid;grid-gap:.4rem;gap:.4rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}.mail-message dl>div{display:grid;grid-template-columns:60px 1fr;grid-gap:.75rem;gap:.75rem}.mail-message dt{color:var(--muted)}.mail-message dd{margin:0}.mail-message pre{margin:1.5rem 0 0;white-space:pre-wrap;font:inherit;line-height:1.6}.mailbox-connect{min-height:calc(100vh - var(--topbar-height));display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.mailbox-connect>svg{width:50px;height:50px;color:var(--green)}.mailbox-connect p{max-width:520px;color:var(--muted);line-height:1.6}.mailbox-connect .primary-button{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.8rem 1rem;text-decoration:none}.mail-confirm-backdrop{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:1rem;background:rgba(48,43,38,.25);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.mail-confirm-dialog{width:min(430px,100%);display:grid;grid-template-columns:auto 1fr;grid-gap:1rem;gap:1rem;padding:1.35rem;background:var(--panel-bg);border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 70px rgba(55,45,37,.16);color:var(--ink)}.mail-confirm-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:13px;background:#f5e8e6;color:#b95b57}.mail-confirm-icon svg{width:19px}.mail-confirm-dialog h2{margin:.18rem 0 .4rem;font-size:1.25rem}.mail-confirm-dialog p:last-child{margin:0;color:var(--muted);line-height:1.5;font-size:.86rem}.mail-confirm-dialog footer{grid-column:1/-1;display:flex;justify-content:flex-end;gap:.65rem;padding-top:.2rem}.mail-confirm-action{display:flex;align-items:center;justify-content:center;gap:.45rem;min-height:42px;padding:.65rem 1rem;border:1px solid #e5c5c1;border-radius:10px;background:#f5dfdc;color:#8e3936;font:inherit;font-weight:700;cursor:pointer}.mail-confirm-action:hover{background:#efd2ce;box-shadow:0 6px 18px rgba(142,57,54,.1)}.mail-confirm-action svg{width:16px}.mail-confirm-action:disabled{opacity:.55;cursor:wait}@media(max-width:560px){.mail-confirm-dialog{grid-template-columns:1fr}.mail-confirm-icon{width:38px;height:38px}.mail-confirm-dialog footer{grid-column:1;display:grid;grid-template-columns:1fr 1fr}.mail-confirm-dialog footer button{width:100%;justify-content:center}}.modal-backdrop,.soft-confirm-backdrop{background:color-mix(in srgb,var(--page-bg) 58%,transparent);-webkit-backdrop-filter:blur(7px) saturate(.85);backdrop-filter:blur(7px) saturate(.85);animation:soft-overlay-in .16s ease-out}.modal{border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:18px;background:color-mix(in srgb,var(--panel-bg) 96%,var(--page-bg));box-shadow:0 22px 65px color-mix(in srgb,#17130f 22%,transparent);animation:soft-dialog-in .18s ease-out}.modal-head{padding-bottom:.85rem;border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent)}.modal .icon-button,.modal-close{border-radius:10px;background:var(--panel-alt);border:1px solid color-mix(in srgb,var(--line) 72%,transparent)}.modal .icon-button:hover,.modal-close:hover{background:var(--hover-bg);box-shadow:none;transform:none}.modal input,.modal select,.modal textarea{border-color:color-mix(in srgb,var(--line) 78%,transparent);border-radius:10px;background:color-mix(in srgb,var(--panel-alt) 88%,var(--panel-bg))}.modal input:focus,.modal select:focus,.modal textarea:focus{border-color:color-mix(in srgb,var(--green) 62%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--green-soft) 68%,transparent)}.modal .reminder-card,.modal .repeat-card,.modal .task-deadline-section,.modal .task-reminder-section{border-radius:13px;background:color-mix(in srgb,var(--panel-alt) 78%,var(--panel-bg));border-color:color-mix(in srgb,var(--line) 72%,transparent)}.appearance-menu,.calendar-visibility-menu,.portal-more-menu{border:1px solid color-mix(in srgb,var(--line) 76%,transparent);border-radius:14px;background:color-mix(in srgb,var(--panel-bg) 97%,var(--page-bg));box-shadow:0 18px 48px color-mix(in srgb,#17130f 18%,transparent);padding:.65rem;animation:soft-menu-in .14s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.appearance-menu>button,.calendar-visibility-menu label,.portal-more-menu button{border-radius:9px;transition:background .14s ease,color .14s ease}.appearance-menu>button:hover,.calendar-visibility-menu label:hover,.portal-more-menu button:hover{background:color-mix(in srgb,var(--hover-bg) 72%,transparent)}.appearance-menu>button.active,.portal-more-menu button.active{background:color-mix(in srgb,var(--accent-soft) 72%,var(--panel-bg))}select{border-radius:10px;background-color:var(--panel-alt)}select option{background:var(--panel-bg);color:var(--ink)}.soft-confirm-backdrop{position:fixed;inset:0;z-index:150;display:grid;place-items:center;padding:1rem;transition:opacity .1s ease}.soft-confirm-backdrop.closing{opacity:0}.soft-confirm-dialog{width:min(430px,100%);display:grid;grid-template-columns:auto 1fr;grid-gap:1rem;gap:1rem;padding:1.35rem;border:1px solid color-mix(in srgb,var(--line) 76%,transparent);border-radius:18px;background:color-mix(in srgb,var(--panel-bg) 97%,var(--page-bg));box-shadow:0 24px 70px color-mix(in srgb,#17130f 20%,transparent);color:var(--ink);animation:soft-dialog-in .18s ease-out}.soft-confirm-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:13px;background:color-mix(in srgb,var(--danger) 12%,var(--panel-bg));color:color-mix(in srgb,var(--danger) 76%,var(--ink))}.soft-confirm-icon svg{width:19px}.soft-confirm-dialog h2{margin:.18rem 0 .4rem;font-size:1.25rem}.soft-confirm-dialog p:last-child{margin:0;color:var(--muted);line-height:1.5;font-size:.86rem}.soft-confirm-dialog footer{grid-column:1/-1;display:flex;justify-content:flex-end;gap:.65rem;padding-top:.2rem}.soft-confirm-action{display:flex;align-items:center;justify-content:center;gap:.45rem;min-height:42px;padding:.65rem 1rem;border:1px solid color-mix(in srgb,var(--danger) 22%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--danger) 12%,var(--panel-bg));color:color-mix(in srgb,var(--danger) 72%,var(--ink));font:inherit;font-weight:700;cursor:pointer}.soft-confirm-action:hover{background:color-mix(in srgb,var(--danger) 18%,var(--panel-bg));box-shadow:0 6px 18px color-mix(in srgb,var(--danger) 10%,transparent)}.soft-confirm-action svg{width:16px}@keyframes soft-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes soft-dialog-in{0%{opacity:0;transform:translateY(7px) scale(.985)}to{opacity:1;transform:none}}@keyframes soft-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media(max-width:560px){.soft-confirm-dialog{grid-template-columns:1fr}.soft-confirm-icon{width:38px;height:38px}.soft-confirm-dialog footer{grid-column:1;display:grid;grid-template-columns:1fr 1fr}.soft-confirm-dialog footer button{width:100%;justify-content:center}}.energy-page{min-height:calc(100vh - var(--topbar-height));padding:clamp(1.4rem,3vw,3rem);background:var(--surface)}.energy-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;max-width:1500px;margin:0 auto 1.6rem}.energy-hero h1{margin:.15rem 0;font-size:clamp(2.4rem,4vw,4.2rem);letter-spacing:-.055em}.energy-hero>div:first-child>p:last-child{margin:.4rem 0 0;color:var(--muted)}.energy-status{min-width:240px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:.75rem;gap:.75rem;padding:.8rem .9rem;border:1px solid var(--line);border-radius:14px;background:var(--panel-bg)}.energy-status>i{width:9px;height:9px;border-radius:50%;background:var(--muted);box-shadow:0 0 0 5px color-mix(in srgb,var(--muted) 12%,transparent)}.energy-status.online>i{background:#49a775;box-shadow:0 0 0 5px color-mix(in srgb,#49a775 14%,transparent)}.energy-status>span{display:grid;grid-gap:.12rem;gap:.12rem}.energy-status strong{font-size:.73rem}.energy-status small{color:var(--muted);font-size:.62rem}.energy-status button{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:9px;background:var(--panel-alt);color:var(--muted);cursor:pointer}.energy-status button:hover{color:var(--green);background:var(--hover-bg)}.energy-status svg{width:16px}.energy-empty,.energy-loading{max-width:1500px;margin:0 auto;min-height:420px;display:flex;align-items:center;justify-content:center;gap:.65rem;color:var(--muted)}.energy-empty{flex-direction:column;text-align:center}.energy-empty>svg{width:48px;height:48px;color:var(--green)}.energy-empty h2{margin:.5rem 0 0;color:var(--ink)}.energy-empty p{max-width:520px}.energy-empty code{padding:.65rem .85rem;border-radius:9px;background:var(--panel-alt);color:var(--green)}.energy-live-grid{max-width:1500px;margin:0 auto 1rem;display:grid;grid-template-columns:minmax(320px,1.45fr) repeat(3,minmax(170px,.85fr));grid-gap:1rem;gap:1rem}.energy-chart-card,.energy-daily-card,.energy-kpi,.energy-live-card,.energy-meter-card,.energy-phase-card{border:1px solid var(--line);border-radius:16px;background:var(--panel-bg);box-shadow:0 8px 28px color-mix(in srgb,#15271e 6%,transparent)}.energy-live-card{position:relative;min-height:150px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:1.1rem;gap:1.1rem;padding:1.4rem;overflow:hidden}.energy-live-card:after{content:"";position:absolute;right:-35px;bottom:-70px;width:180px;height:180px;border-radius:50%;background:color-mix(in srgb,var(--green) 10%,transparent)}.energy-live-card.exporting:after{background:color-mix(in srgb,#d59c47 14%,transparent)}.energy-live-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:var(--green-soft);color:var(--green)}.energy-live-icon svg{width:23px}.energy-live-card>div{display:grid;grid-gap:.2rem;gap:.2rem}.energy-kpi small,.energy-live-card small{color:var(--muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.1em}.energy-live-card strong{font-size:clamp(1.9rem,3vw,3.1rem);font-weight:600;letter-spacing:-.05em}.energy-live-card em{color:var(--muted);font-size:.68rem;font-style:normal}.energy-live-card>svg{position:relative;z-index:1;width:31px;color:var(--green);opacity:.55}.energy-kpi{min-height:150px;display:flex;flex-direction:column;justify-content:space-between;gap:1rem;padding:1.25rem}.energy-kpi>svg{width:21px;color:var(--green)}.energy-kpi.export>svg{color:#d59c47}.energy-kpi.gas>svg{color:#c86e58}.energy-kpi>span{display:grid;grid-gap:.35rem;gap:.35rem}.energy-kpi strong{font-size:1.25rem;font-weight:600;letter-spacing:-.03em}.energy-main-grid{max-width:1500px;margin:0 auto 1rem;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(290px,.65fr);grid-gap:1rem;gap:1rem}.energy-chart-card{min-height:440px;padding:1.35rem}.energy-chart-card>header,.energy-daily-card>header,.energy-phase-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.energy-chart-card h2,.energy-daily-card h2,.energy-phase-card h2{margin:.2rem 0;font-size:1.35rem}.energy-range-switch{display:flex;padding:.2rem;border-radius:10px;background:var(--panel-alt)}.energy-range-switch button{padding:.48rem .7rem;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:.67rem;font-weight:600;cursor:pointer}.energy-range-switch button.active{background:var(--panel-bg);color:var(--ink);box-shadow:0 2px 8px color-mix(in srgb,#17261f 8%,transparent)}.energy-chart{position:relative;margin-top:1.4rem;padding-left:56px}.energy-chart svg{display:block;width:100%;height:300px;overflow:visible}.energy-chart svg line{stroke:var(--line);stroke-width:1;vector-effect:non-scaling-stroke}.energy-chart svg .energy-zero-line{stroke:color-mix(in srgb,var(--muted) 65%,var(--line));stroke-dasharray:5 5}.energy-line{fill:none;stroke:var(--green);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.energy-area{fill:url(#energyArea);stroke:none}.energy-chart-scale{position:absolute;top:0;bottom:22px;left:0;flex-direction:column;font-size:.58rem}.energy-chart-labels,.energy-chart-scale{display:flex;justify-content:space-between;color:var(--muted)}.energy-chart-labels{font-size:.59rem}.energy-chart-empty{min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;color:var(--muted);font-size:.75rem}.energy-chart-empty svg{width:34px;color:var(--green)}.energy-side-stack{display:grid;grid-template-rows:1fr auto;grid-gap:1rem;gap:1rem}.energy-meter-card,.energy-phase-card{padding:1.25rem}.energy-phase-card>header>svg{width:22px;color:var(--green)}.energy-phase{display:grid;grid-template-columns:78px 1fr auto;align-items:center;grid-gap:.7rem;gap:.7rem;padding:.9rem 0;border-bottom:1px solid var(--line)}.energy-phase:last-child{border-bottom:0}.energy-phase>span{display:grid;grid-gap:.1rem;gap:.1rem}.energy-phase strong{font-size:.78rem}.energy-phase small{color:var(--muted);font-size:.56rem}.energy-phase>div{height:6px;border-radius:999px;background:var(--panel-alt);overflow:hidden}.energy-phase i{display:block;height:100%;border-radius:inherit;background:var(--green)}.energy-phase b{min-width:58px;text-align:right;font-size:.7rem}.energy-meter-card dl{display:grid;grid-gap:.8rem;gap:.8rem;margin:1rem 0}.energy-meter-card dl>div{display:flex;justify-content:space-between;gap:1rem}.energy-meter-card dt{color:var(--muted);font-size:.68rem}.energy-meter-card dd{margin:0;font-size:.75rem;font-weight:700}.energy-meter-card footer{padding-top:.8rem;border-top:1px solid var(--line);color:var(--muted);font-size:.58rem}.energy-daily-card{max-width:1500px;margin:0 auto;padding:1.3rem}.energy-daily-card>header>span{color:var(--muted);font-size:.65rem}.energy-daily-list{margin-top:1rem;display:grid}.energy-daily-list>div{display:grid;grid-template-columns:120px minmax(130px,1fr) 90px 90px;align-items:center;grid-gap:1rem;gap:1rem;padding:.72rem 0;border-top:1px solid var(--line)}.energy-daily-list time{color:var(--muted);font-size:.68rem;text-transform:capitalize}.energy-daily-list>div>span{height:7px;border-radius:999px;background:var(--panel-alt);overflow:hidden}.energy-daily-list i{display:block;height:100%;border-radius:inherit;background:var(--green)}.energy-daily-list strong{font-size:.72rem;text-align:right}.energy-daily-list small{color:#b07c31;font-size:.65rem;text-align:right}@media(max-width:1100px){.energy-live-grid{grid-template-columns:repeat(3,1fr)}.energy-live-card{grid-column:1/-1}.energy-main-grid{grid-template-columns:1fr}.energy-side-stack{grid-template-columns:1fr 1fr;grid-template-rows:auto}.energy-meter-card,.energy-phase-card{min-height:250px}}@media(max-width:720px){.energy-page{padding:1rem}.energy-hero{align-items:stretch;flex-direction:column;gap:1rem}.energy-status{min-width:0}.energy-live-grid{grid-template-columns:1fr}.energy-live-card{grid-column:auto}.energy-kpi{min-height:110px}.energy-main-grid{display:block}.energy-chart-card{min-height:390px;padding:1rem}.energy-chart-card>header{align-items:stretch;flex-direction:column}.energy-range-switch{width:100%}.energy-range-switch button{flex:1 1}.energy-chart{padding-left:44px}.energy-chart svg{height:245px}.energy-side-stack{display:grid;grid-template-columns:1fr;margin-top:1rem}.energy-meter-card,.energy-phase-card{min-height:0}.energy-daily-list>div{grid-template-columns:80px 1fr 70px}.energy-daily-list small{display:none}.energy-daily-card{padding:1rem}}@media(max-width:420px){.energy-live-card{grid-template-columns:auto 1fr}.energy-live-card>svg{display:none}.energy-live-card strong{font-size:2rem}.energy-phase{grid-template-columns:65px 1fr auto}.energy-chart-labels span:nth-child(2){display:none}}.finance-dashboard-grid>.income-panel{grid-column:1/-1}.income-detail-section{margin-top:1.35rem;padding-top:1.1rem;border-top:1px solid var(--line)}.income-detail-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:.85rem}.income-detail-heading>span{display:grid;grid-gap:.2rem;gap:.2rem}.income-detail-heading small{color:var(--green);font-size:.61rem;text-transform:uppercase;letter-spacing:.11em}.income-detail-heading strong{font-size:.9rem;font-weight:600}.income-detail-heading em{color:var(--muted);font-size:.62rem;font-style:normal;text-align:right}.income-detail-scroll{overflow-x:auto;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:12px;scrollbar-width:thin}.income-detail-table{width:100%;min-width:850px;border-collapse:collapse;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.income-detail-table td,.income-detail-table th{padding:.68rem .75rem;border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent);text-align:right;font-size:.68rem;white-space:nowrap}.income-detail-table th:first-child{text-align:left}.income-detail-table thead{background:color-mix(in srgb,var(--panel-alt) 82%,var(--panel-bg))}.income-detail-table thead th{color:var(--muted);font-size:.58rem;text-transform:uppercase;letter-spacing:.06em}.income-detail-table tbody th{font-weight:600}.income-detail-table tbody tr:hover{background:color-mix(in srgb,var(--hover-bg) 48%,transparent)}.income-detail-table tfoot{background:color-mix(in srgb,var(--accent-soft) 40%,var(--panel-bg))}.income-detail-table tfoot td,.income-detail-table tfoot th{border-bottom:0;font-weight:600}.income-emergency-value{color:color-mix(in srgb,var(--danger) 68%,var(--ink))}.income-detail-empty{text-align:center!important;color:var(--muted);padding:1.5rem!important}@media(max-width:600px){.income-detail-heading{align-items:start;flex-direction:column}.income-detail-heading em{text-align:left}.income-detail-section{margin-left:-.25rem;margin-right:-.25rem}}.module-three-column,.subpage-app-content .maintenance-page,.subpage-app-content .suppliers-page,.subpage-app-content .users-page{grid-template-columns:300px minmax(0,1fr) 280px}.finance-page>.finance-hero,.module-three-column>.page-title-row,.subpage-app-content .maintenance-page>.settings-heading,.subpage-app-content .suppliers-page>.settings-heading,.subpage-app-content .users-page>.settings-heading{min-width:0;overflow:hidden;background:color-mix(in srgb,var(--panel-alt) 48%,var(--page-bg))}.finance-page>.finance-hero>div,.module-three-column>.page-title-row>div,.subpage-app-content .maintenance-heading>div,.subpage-app-content .settings-heading>div{width:100%;min-width:0}.module-three-column>.page-title-row h1,.subpage-app-content .maintenance-heading h1,.subpage-app-content .settings-heading h1{max-width:100%;margin:.55rem 0 .8rem;font-size:clamp(1.75rem,2.25vw,2.5rem);line-height:1.02;letter-spacing:-.045em;overflow-wrap:anywhere;word-break:normal;-webkit-hyphens:auto;hyphens:auto}.module-three-column>.page-title-row .muted,.subpage-app-content .maintenance-heading .muted,.subpage-app-content .settings-heading .muted{max-width:100%;line-height:1.45;overflow-wrap:anywhere}.module-three-column>.emergency-grid,.module-three-column>.insurance-table,.subpage-app-content .maintenance-page>.maintenance-calendar-card,.subpage-app-content .suppliers-page>.searchbar,.subpage-app-content .suppliers-page>.supplier-grid,.subpage-app-content .users-page>.users-list{min-width:0}.subpage-app-content .maintenance-page>.maintenance-calendar-card{overflow:hidden}.subpage-app-content .maintenance-page .family-maintenance-grid{min-width:0}@media(max-width:1180px){.module-three-column,.subpage-app-content .maintenance-page,.subpage-app-content .suppliers-page,.subpage-app-content .users-page{grid-template-columns:240px minmax(0,1fr)}.module-three-column>.page-title-row h1,.subpage-app-content .maintenance-heading h1,.subpage-app-content .settings-heading h1{font-size:1.7rem}}@media(max-width:760px){.module-three-column>.page-title-row,.subpage-app-content .maintenance-page>.settings-heading,.subpage-app-content .suppliers-page>.settings-heading,.subpage-app-content .users-page>.settings-heading{overflow:visible}.module-three-column>.page-title-row h1,.subpage-app-content .maintenance-heading h1,.subpage-app-content .settings-heading h1{font-size:clamp(2rem,10vw,2.8rem);overflow-wrap:normal}.subpage-app-content .maintenance-page>.maintenance-calendar-card{overflow-x:auto}.subpage-app-content .maintenance-page .family-maintenance-grid{min-width:720px}.supplier-grid{grid-template-columns:1fr}}.domotica-page,.subpage-app-content .activity-page,.subpage-app-content .settings-page:not(.suppliers-page):not(.users-page){width:100%;max-width:none;min-height:calc(100vh - var(--topbar-height));display:grid;grid-template-columns:300px minmax(420px,1fr) 280px;grid-gap:0;gap:0;padding:0!important;align-content:start}.subpage-app-content .activity-page>.text-button,.subpage-app-content .settings-page:not(.suppliers-page):not(.users-page)>.text-button{display:none}.domotica-page>.domotica-heading,.subpage-app-content .activity-page>.settings-heading,.subpage-app-content .settings-page:not(.suppliers-page):not(.users-page)>.settings-heading{grid-column:1;grid-row:1/span 6;min-width:0;min-height:calc(100vh - var(--topbar-height));display:flex;align-items:flex-start;flex-direction:column;padding:2rem 1.25rem;margin:0;border-right:1px solid var(--line);background:color-mix(in srgb,var(--panel-alt) 48%,var(--page-bg));overflow:hidden}.subpage-app-content .activity-page>.activity-list,.subpage-app-content .activity-page>.empty-state,.subpage-app-content .activity-page>.form-error,.subpage-app-content .settings-page:not(.suppliers-page):not(.users-page)>.settings-card{grid-column:2;margin:1.25rem;min-width:0}.subpage-app-content .activity-page>.workspace-context-panel,.subpage-app-content .maintenance-page>.workspace-context-panel,.subpage-app-content .settings-page:not(.suppliers-page):not(.users-page)>.workspace-context-panel,.subpage-app-content .suppliers-page>.workspace-context-panel,.subpage-app-content .users-page>.workspace-context-panel{grid-column:3;grid-row:1/span 6}.subpage-app-content .maintenance-page>.maintenance-calendar-card,.subpage-app-content .suppliers-page>.empty-state,.subpage-app-content .suppliers-page>.form-error,.subpage-app-content .suppliers-page>.searchbar,.subpage-app-content .suppliers-page>.supplier-grid,.subpage-app-content .users-page>.form-error,.subpage-app-content .users-page>.temporary-password-note,.subpage-app-content .users-page>.users-list{grid-column:2}.domotica-page>.domotica-heading h1{font-size:clamp(2rem,3vw,3.25rem)}.domotica-page>.domotica-state{grid-column:2/4;margin:1.25rem}.domotica-page>.realvnc-workspace{display:contents}.domotica-page .realvnc-launch-card{grid-column:2;margin:1.25rem}.domotica-page .realvnc-info-card{grid-column:3;grid-row:1/span 6;margin:0;border-width:0 0 0 1px;border-radius:0;background:color-mix(in srgb,var(--panel-alt) 88%,var(--panel-bg))}.domotica-page>.domotica-console{grid-column:2/4;margin:1.25rem;min-width:0}@media(max-width:1180px){.domotica-page,.subpage-app-content .activity-page,.subpage-app-content .settings-page:not(.suppliers-page):not(.users-page){grid-template-columns:240px minmax(0,1fr)}.subpage-app-content .activity-page>.workspace-context-panel,.subpage-app-content .maintenance-page>.workspace-context-panel,.subpage-app-content .settings-page:not(.suppliers-page):not(.users-page)>.workspace-context-panel,.subpage-app-content .suppliers-page>.workspace-context-panel,.subpage-app-content .users-page>.workspace-context-panel{display:none}.domotica-page .realvnc-info-card{grid-column:2;grid-row:auto;margin:0 1.25rem 1.25rem;border:1px solid var(--line);border-radius:14px}}@media(max-width:760px){.domotica-page,.subpage-app-content .activity-page,.subpage-app-content .settings-page:not(.suppliers-page):not(.users-page){display:block;min-height:0}.domotica-page>.domotica-heading,.subpage-app-content .activity-page>.settings-heading,.subpage-app-content .settings-page:not(.suppliers-page):not(.users-page)>.settings-heading{min-height:0;padding:1.25rem;border-right:0;border-bottom:1px solid var(--line)}.domotica-page .realvnc-info-card,.domotica-page .realvnc-launch-card,.domotica-page>.domotica-console,.subpage-app-content .activity-page>.activity-list,.subpage-app-content .settings-page:not(.suppliers-page):not(.users-page)>.settings-card{margin:.75rem}}.house-page{width:100%;max-width:none;margin:0;padding:0;height:calc(100vh - var(--topbar-height));min-height:650px;overflow:hidden}.house-workspace{width:100%;height:100%;min-height:0;grid-template-columns:300px minmax(420px,1fr) 280px}.house-categories{display:flex;flex-direction:column;min-height:0;padding:0 1rem 1rem;overflow-y:auto;background:var(--panel-bg)}.house-section-heading{padding:1.8rem .25rem 1.25rem;margin-bottom:.5rem}.house-section-heading h1{margin:.25rem 0 .55rem;font-size:2rem;line-height:1;letter-spacing:-.045em}.house-section-heading>.muted{margin:0;font-size:.7rem;line-height:1.55}.house-heading-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:.45rem;gap:.45rem;margin-top:1rem}.house-heading-actions button{min-height:38px;display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.45rem;border:1px solid var(--line);border-radius:8px;background:var(--panel-alt);color:var(--ink);font-size:.65rem;font-weight:700;cursor:pointer}.house-heading-actions button:hover{border-color:var(--accent-line);background:var(--green-soft)}.house-heading-actions svg{width:14px}.house-library{min-height:0;padding:1.25rem;background:var(--panel-bg)}.house-workspace>.workspace-context-panel{min-height:0;overflow-y:auto}@media(max-width:1180px){.house-workspace{grid-template-columns:250px minmax(0,1fr)}.house-workspace>.workspace-context-panel{display:none}}@media(max-width:720px){.house-page{width:100%;height:auto;min-height:calc(100vh - var(--topbar-height));padding:0}.house-workspace{display:block}.house-categories{display:block;padding:0 .75rem .75rem;overflow:visible;border-bottom:1px solid var(--line)}.house-section-heading{padding:1.25rem 0}.house-categories>div:not(.house-heading-actions){display:flex}.house-categories>button{width:auto;display:inline-flex;margin:.2rem .15rem}.house-library{padding:.75rem;overflow:visible}.house-heading-actions{display:grid}}.realvnc-page{max-width:1280px}.realvnc-workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px;grid-gap:1rem;gap:1rem;margin-top:1.25rem}.realvnc-info-card,.realvnc-launch-card{border:1px solid var(--line);border-radius:16px;background:var(--panel-bg)}.realvnc-launch-card{min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem;text-align:center}.realvnc-device-icon{width:74px;height:74px;display:grid;place-items:center;margin-bottom:1.25rem;border-radius:22px;background:var(--accent-soft);color:var(--green)}.realvnc-device-icon svg{width:34px;height:34px}.realvnc-launch-card h2{margin:.35rem 0 .65rem;font-size:1.8rem}.realvnc-launch-card p:not(.eyebrow){max-width:540px;margin:0 auto;color:var(--muted);line-height:1.65}.realvnc-launch-button{min-width:230px;min-height:50px;display:flex;align-items:center;justify-content:center;gap:.55rem;margin-top:1.5rem;padding:.75rem 1.1rem;border:1px solid color-mix(in srgb,var(--green) 24%,var(--line));border-radius:11px;background:var(--accent-soft);color:var(--ink);font:inherit;font-weight:700;cursor:pointer}.realvnc-launch-button:hover{background:color-mix(in srgb,var(--accent-soft) 76%,var(--green));box-shadow:0 9px 24px color-mix(in srgb,var(--green) 10%,transparent);transform:translateY(-1px)}.realvnc-launch-button:disabled{opacity:.7;cursor:wait;transform:none}.realvnc-launch-button svg{width:18px}.realvnc-info-card{display:flex;flex-direction:column;padding:1rem}.realvnc-info-card>div{display:flex;align-items:flex-start;gap:.75rem;padding:1rem .5rem;border-bottom:1px solid var(--line)}.realvnc-info-card>div>svg{width:19px;flex:0 0 auto;color:var(--green)}.realvnc-info-card span{display:grid;grid-gap:.25rem;gap:.25rem}.realvnc-info-card strong{font-size:.78rem}.realvnc-info-card small{color:var(--muted);font-size:.68rem;line-height:1.5}.realvnc-info-card>a{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:auto;padding:.8rem;border:1px solid var(--line);border-radius:10px;color:var(--ink);font-size:.72rem;font-weight:700;text-decoration:none}.realvnc-info-card>a:hover{background:var(--hover-bg)}.realvnc-info-card>a svg{width:16px}@media(max-width:900px){.realvnc-workspace{grid-template-columns:1fr}.realvnc-launch-card{min-height:340px}.realvnc-info-card>a{margin-top:1rem}}@media(max-width:600px){.realvnc-page{padding:.8rem}.realvnc-launch-card{min-height:310px;padding:1.5rem}.realvnc-launch-button{width:100%;min-width:0}}.gmail-page{max-width:none!important;padding:1.25rem 1.5rem 1.5rem!important}.gmail-header{height:70px;display:grid;grid-template-columns:220px minmax(260px,680px) auto;align-items:center;grid-gap:1rem;gap:1rem}.gmail-header h1{margin:.08rem 0;font-size:1.65rem}.gmail-search{height:44px;display:flex;align-items:center;gap:.65rem;padding:0 .9rem;border:1px solid var(--line);border-radius:12px;background:var(--panel-alt)}.gmail-search svg{width:18px;color:var(--muted)}.gmail-search input{width:100%;border:0!important;background:transparent!important;outline:0;color:var(--ink)}.gmail-notice{position:fixed;right:1.5rem;bottom:1.5rem;z-index:80;box-shadow:0 12px 30px rgba(0,0,0,.22)}.gmail-shell{height:calc(100vh - var(--topbar-height) - 120px);min-height:560px;display:grid;grid-template-columns:210px minmax(300px,390px) minmax(420px,1fr);overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--panel-bg)}.gmail-sidebar{display:flex;flex-direction:column;gap:1rem;padding:1rem .75rem;border-right:1px solid var(--line);background:var(--panel-alt)}.gmail-compose{height:48px;display:flex;align-items:center;justify-content:center;gap:.6rem;border:0;border-radius:14px;background:var(--green);color:#fff;font-weight:700;cursor:pointer;box-shadow:0 5px 15px color-mix(in srgb,var(--green) 28%,transparent)}.gmail-sidebar nav{display:grid;grid-gap:.25rem;gap:.25rem}.gmail-sidebar nav button{height:38px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:.65rem;gap:.65rem;padding:0 .75rem;border:0;border-radius:9px;background:transparent;color:var(--muted);text-align:left;cursor:pointer}.gmail-sidebar nav button.active{background:var(--green-soft);color:var(--ink);font-weight:700}.gmail-sidebar nav button svg{width:17px}.gmail-sidebar>small{margin-top:auto;padding:.6rem;color:var(--muted)}.gmail-list{overflow-y:auto;border-right:1px solid var(--line)}.gmail-list>button{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr);grid-gap:.7rem;gap:.7rem;padding:.78rem;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;cursor:pointer}.gmail-list>button.active,.gmail-list>button:hover{background:var(--hover-bg)}.gmail-list>button.active{box-shadow:inset 3px 0 0 var(--green)}.gmail-avatar{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--green-soft);color:var(--green);font-weight:800}.gmail-summary{display:grid;min-width:0;grid-gap:.2rem;gap:.2rem}.gmail-summary>span{display:flex;justify-content:space-between;gap:.5rem}.gmail-summary b,.gmail-summary small,.gmail-summary strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gmail-summary b,.gmail-summary strong{font-size:.72rem}.gmail-summary small,.gmail-summary time{color:var(--muted);font-size:.62rem}.gmail-reader{overflow-y:auto;padding:1.6rem}.gmail-reader-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:1.2rem;border-bottom:1px solid var(--line)}.gmail-reader h2{margin:0 0 1rem;font-size:1.45rem}.gmail-reader-head p{margin:0 0 .2rem;font-size:.75rem}.gmail-reader-head p span,.gmail-reader-head small{color:var(--muted);font-size:.65rem}.gmail-reader pre{min-height:240px;margin:1.5rem 0;white-space:pre-wrap;font:inherit;font-size:.78rem;line-height:1.7}.gmail-reply-box{width:100%;height:52px;gap:.6rem;padding:0 1rem;border:1px solid var(--line);border-radius:10px;background:transparent;cursor:pointer}.gmail-empty,.gmail-reply-box{display:flex;align-items:center;color:var(--muted)}.gmail-empty{min-height:180px;justify-content:center;gap:.5rem;font-size:.72rem}.gmail-reader-empty{height:100%;flex-direction:column}.gmail-reader-empty svg{width:36px;height:36px}.gmail-compose-window{position:fixed;right:24px;bottom:0;z-index:90;width:min(540px,calc(100vw - 32px));border:1px solid var(--line);border-radius:12px 12px 0 0;background:var(--panel-bg);box-shadow:0 18px 55px rgba(0,0,0,.3);overflow:hidden}.gmail-compose-window form{display:grid}.gmail-compose-window header{height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 1rem;background:var(--ink);color:var(--surface)}.gmail-compose-window header button{border:0;background:transparent;color:inherit;cursor:pointer}.gmail-compose-window header svg{width:17px}.gmail-compose-window label{height:42px;display:grid;grid-template-columns:72px 1fr;align-items:center;padding:0 1rem;border-bottom:1px solid var(--line);font-size:.7rem;color:var(--muted)}.gmail-compose-window input{border:0!important;background:transparent!important;color:var(--ink)}.gmail-compose-window textarea{min-height:250px;padding:1rem;border:0;resize:vertical;background:var(--panel-bg);color:var(--ink);font:inherit;outline:0}.gmail-compose-window footer{padding:.8rem 1rem;border-top:1px solid var(--line)}@media(max-width:1050px){.gmail-shell{grid-template-columns:82px minmax(280px,360px) 1fr}.gmail-sidebar{padding:.8rem .5rem}.gmail-compose{font-size:0}.gmail-compose svg{width:20px}.gmail-sidebar nav button{grid-template-columns:1fr;justify-items:center;font-size:0}.gmail-sidebar nav button strong{font-size:.6rem}.gmail-sidebar>small{display:none}.gmail-header{grid-template-columns:100px 1fr auto}}@media(max-width:760px){.gmail-page{padding:.75rem!important}.gmail-header{grid-template-columns:1fr auto}.gmail-header>div{display:none}.gmail-shell{height:calc(100vh - 150px);min-height:0;grid-template-columns:54px 1fr}.gmail-reader{position:absolute;inset:0;z-index:20;background:var(--panel-bg)}.gmail-reader:has(.gmail-reader-empty){display:none}.gmail-list{border-right:0}.gmail-sidebar nav button strong{display:none}.gmail-compose-window{right:8px;width:calc(100vw - 16px)}.gmail-reader-head{flex-direction:column}}.family-login{min-height:100vh;display:grid;grid-template-columns:minmax(430px,.95fr) minmax(460px,1.05fr);background:var(--surface)}html[data-theme] .family-login .login-intro{display:flex;min-height:100vh;padding:clamp(2rem,5vw,4.5rem);background:var(--panel-bg);color:var(--ink);border-right:1px solid var(--line)}.family-login .login-intro:before{content:"";position:absolute;width:420px;height:420px;right:-180px;top:-220px;border:70px solid var(--green-soft);border-radius:50%;opacity:.68;transform:none;box-shadow:none}.family-login .login-intro:after{content:"";position:absolute;width:300px;height:300px;left:-190px;bottom:-190px;border:55px solid var(--green-soft);border-radius:50%;opacity:.45;transform:none;box-shadow:none}.family-login-brand{position:relative;z-index:2;width:max-content;text-decoration:none;font-size:1.1rem}.family-login-copy{position:relative;z-index:2;max-width:650px;margin:auto 0 1.8rem}.family-login-copy .eyebrow{color:var(--green)}.family-login-copy h1{max-width:720px;margin:.6rem 0 1.15rem;font-size:clamp(2.7rem,5vw,5.35rem);line-height:.96;text-transform:none;letter-spacing:-.065em}.family-login-copy p:last-child{max-width:610px;margin:0;color:var(--muted);font-size:clamp(.92rem,1.2vw,1.08rem);line-height:1.7}.family-login-preview{position:relative;z-index:2;width:min(560px,100%);margin-bottom:1.2rem;border:1px solid var(--line);border-radius:14px;background:var(--panel-alt);box-shadow:0 14px 36px rgba(22,33,29,.06);overflow:hidden}.family-login-preview-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border-bottom:1px solid var(--line);font-size:.68rem}.family-login-preview-head span{display:flex;align-items:center;gap:.45rem;color:var(--green);font-weight:700}.family-login-preview-head svg{width:15px}.family-login-preview-head strong{font-size:.7rem}.family-login-preview-body{display:grid;grid-template-columns:1fr 1.2fr;min-height:105px}.family-login-preview-tasks{display:grid;align-content:center;grid-gap:.65rem;gap:.65rem;padding:1rem;border-right:1px solid var(--line)}.family-login-preview-tasks span{display:flex;align-items:center;gap:.5rem;color:var(--muted);font-size:.62rem}.family-login-preview-tasks svg{width:15px;color:var(--green)}.family-login-preview-days{display:grid;grid-template-columns:repeat(5,1fr);align-items:end;grid-gap:1px;gap:1px;padding:.8rem;background:var(--line)}.family-login-preview-days i{height:52%;background:var(--panel-bg)}.family-login-preview-days i:nth-child(2){height:83%}.family-login-preview-days i:nth-child(3){height:63%}.family-login-preview-days i:nth-child(4){height:92%}.family-login-preview-days i:nth-child(5){height:70%}.family-login-preview-days i.active{background:var(--green-soft);box-shadow:inset 0 3px 0 var(--green)}.family-login-trust{position:relative;z-index:2;display:flex;align-items:center;gap:.65rem;color:var(--green)}.family-login-trust>span:first-child{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:var(--green-soft)}.family-login-trust svg{width:17px}.family-login-trust>span:last-child{display:grid;grid-gap:.13rem;gap:.13rem}.family-login-trust strong{font-size:.66rem}.family-login-trust small{color:var(--muted);font-size:.58rem}.family-login .login-panel{min-height:100vh;display:grid;place-items:center;padding:clamp(1.5rem,5vw,5rem);background:var(--surface)}.family-login .login-card{width:min(460px,100%);display:grid;grid-gap:1rem;gap:1rem;padding:clamp(1.5rem,3vw,2.2rem);border:1px solid var(--line);border-radius:16px;background:var(--panel-bg);box-shadow:0 22px 60px rgba(22,33,29,.09)}.login-card-heading{display:flex;align-items:center;gap:.85rem}.login-card-heading .lock-mark{flex:0 0 auto;margin:0;border-radius:10px;background:var(--green-soft);color:var(--green)}.login-card-heading .eyebrow{font-size:.62rem}.login-card-heading h2{margin:.12rem 0 0;font-size:1.65rem}.login-card-intro{margin:-.25rem 0 .35rem;font-size:.75rem}.family-login .login-card label{color:var(--ink);font-size:.72rem}.family-login .login-card input{height:48px;border-color:var(--line);background:var(--panel-alt)}.family-login .login-link{color:var(--green);font-size:.67rem}.family-login-submit{min-height:48px;margin-top:.2rem}.family-login-members{display:flex;align-items:center;justify-content:center;gap:.45rem;color:var(--muted);font-size:.6rem}.family-login-members svg{width:14px}.calm-login{display:grid;grid-template-columns:1fr;min-height:100vh;background:var(--page-bg)}.calm-login .login-panel{min-height:100vh;width:100%;padding:1.5rem;place-items:center;background:transparent}.calm-login .login-card{width:min(420px,100%);gap:.9rem;padding:2rem;border-radius:14px;box-shadow:0 18px 50px rgba(22,33,29,.08)}.calm-login-brand{display:block;width:max-content;margin:0 auto .6rem;text-decoration:none;font-size:1.05rem}.calm-login .login-card-heading{justify-content:center;text-align:left}.calm-login .login-card-intro{text-align:center;margin:-.15rem 0 .35rem}.calm-login-foot{margin:.1rem 0 0;text-align:center;color:var(--muted);font-size:.62rem}.family-login .demo-note{margin:0;border-radius:8px;background:var(--panel-alt)}.house-page{width:min(1500px,calc(100% - (2 * var(--content-gutter))));padding-top:2.8rem}.house-page-heading{align-items:center;margin-bottom:1.4rem}.house-page-heading h1{font-size:clamp(2.4rem,4vw,4rem);text-transform:none;letter-spacing:-.055em}.house-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:1rem;border:1px solid var(--line);border-radius:13px;background:var(--panel-bg);overflow:hidden}.house-summary>span{min-height:66px;display:flex;align-items:center;gap:.55rem;padding:.8rem 1rem;border-left:1px solid var(--line)}.house-summary>span:first-child{border-left:0}.house-summary strong{font-size:1.2rem}.house-summary small{color:var(--muted);font-size:.65rem}.house-summary svg{width:19px;color:var(--green)}.house-workspace{min-height:560px;display:grid;grid-template-columns:255px minmax(0,1fr);border:1px solid var(--line);border-radius:15px;background:var(--panel-bg);box-shadow:0 12px 38px rgba(22,33,29,.05);overflow:hidden}.house-categories{min-width:0;padding:.85rem;border-right:1px solid var(--line);background:var(--panel-alt)}.house-categories>div{display:flex;align-items:center;justify-content:space-between;padding:.5rem .55rem .8rem}.house-categories>div span{min-width:24px;height:24px;display:grid;place-items:center;border-radius:999px;background:var(--green-soft);color:var(--green);font-size:.62rem;font-weight:700}.house-categories>button{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:.6rem;gap:.6rem;padding:.65rem .7rem;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:.68rem;text-align:left;cursor:pointer}.house-categories>button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.house-categories>button small{min-width:21px;text-align:right;font-size:.57rem}.house-categories>button:hover{background:var(--hover-bg);color:var(--ink)}.house-categories>button.active{background:var(--green-soft);color:var(--green);font-weight:700}.house-library{min-width:0;padding:1rem}.house-library-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,420px);align-items:center;grid-gap:1rem;gap:1rem;padding:.35rem .2rem 1rem}.house-library-toolbar h2{font-size:1.25rem}.house-library-toolbar .searchbar{background:var(--panel-alt)}.house-content-table{border-radius:11px;box-shadow:none}.house-content-table .table-head,.house-content-table .table-row{grid-template-columns:minmax(260px,2fr) minmax(130px,1fr) 110px 110px}.house-content-table .table-row{min-height:66px;background:var(--panel-bg)}.house-content-table .table-row>span:first-child{min-width:0}.house-content-table .table-row>span:first-child>span{min-width:0;display:grid;grid-gap:.16rem;gap:.16rem}.house-content-table .table-row>span:first-child>span small,.house-content-table .table-row>span:first-child>span strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.house-content-table .table-row>span:first-child>span small{color:var(--muted);font-size:.61rem;font-weight:400}.house-file-icon{flex:0 0 auto;width:35px;height:35px;display:grid!important;place-items:center;border-radius:9px!important;background:var(--green-soft)!important;color:var(--green)}.house-file-icon.video{background:#e7edf9!important;color:#4d6ea9}.house-file-icon.secure{background:#fbf0d9!important;color:#8a611f}.house-file-icon svg{width:16px!important}.house-empty{min-height:310px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem}.house-empty svg{width:28px;color:var(--green)}.house-empty strong{color:var(--ink)}.house-empty span{font-size:.68rem}.maintenance-shell{background:var(--surface)}.family-maintenance-page{width:min(1500px,calc(100% - (2 * var(--content-gutter))));padding-top:2.8rem}.maintenance-heading{align-items:center;margin-bottom:1.4rem;padding-bottom:0;border-bottom:0}.maintenance-heading h1{font-size:clamp(2.4rem,4vw,4rem);text-transform:none;letter-spacing:-.055em}.maintenance-calendar-card{border:1px solid var(--line);border-radius:15px;background:var(--panel-bg);box-shadow:0 12px 38px rgba(22,33,29,.05);overflow:hidden}.maintenance-toolbar{min-height:82px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:1rem;gap:1rem;margin:0;padding:.75rem 1rem;border-bottom:1px solid var(--line)}.maintenance-toolbar>div:nth-child(2){text-align:center}.maintenance-toolbar h2{min-width:0;margin:.1rem 0;font-size:1.2rem;text-transform:capitalize}.maintenance-toolbar .eyebrow{font-size:.56rem}.maintenance-count{display:flex;align-items:center;gap:.45rem;padding:.55rem .7rem;border-radius:8px;background:var(--green-soft);color:var(--green);font-size:.63rem;font-weight:700}.maintenance-count svg{width:15px}.family-maintenance-grid{border:0;border-radius:0;background:var(--line)}.family-maintenance-grid .calendar-weekday{padding:.7rem;background:var(--panel-alt);font-size:.6rem;text-transform:uppercase;letter-spacing:.08em}.family-maintenance-grid .calendar-day{min-height:132px;padding:.55rem;background:var(--panel-bg)}.family-maintenance-grid .calendar-day.outside{background:var(--panel-alt);opacity:.56}.family-maintenance-grid .calendar-day.today{background:color-mix(in srgb,var(--green-soft) 32%,var(--panel-bg))}.family-maintenance-grid .calendar-day>span{align-self:flex-end;width:28px;height:28px;border-radius:50%;color:var(--muted);font-size:.68rem}.family-maintenance-grid .calendar-day.today>span{background:var(--green);color:#fff}.family-maintenance-grid .calendar-day>button{padding:.42rem .48rem;border-left:3px solid var(--green);border-radius:6px;background:var(--green-soft);color:var(--ink)}.family-maintenance-grid .calendar-day>button:hover{filter:brightness(.97);box-shadow:0 3px 9px rgba(22,33,29,.08)}.family-maintenance-grid .calendar-day>button strong{font-size:.65rem}.family-maintenance-grid .calendar-day>button small{font-size:.55rem}.maintenance-modal{border-radius:16px}.maintenance-modal .modal-heading{padding-bottom:.8rem;border-bottom:1px solid var(--line)}.maintenance-modal .reminder-card,.maintenance-modal .repeat-card{border:1px solid var(--line);background:var(--panel-alt)}@media(max-width:900px){.family-login{grid-template-columns:1fr 1fr}.family-login .login-intro{padding:2rem}.family-login-copy h1{font-size:clamp(2.5rem,5.5vw,4rem)}.house-workspace{grid-template-columns:210px minmax(0,1fr)}.house-content-table .table-head,.house-content-table .table-row{grid-template-columns:minmax(230px,1.7fr) minmax(130px,1fr) 100px}.house-content-table .table-head>span:nth-child(4),.house-content-table .table-row>span:nth-child(4){display:none}}@media(max-width:720px){.family-login{display:flex;flex-direction:column}html[data-theme] .family-login .login-intro{display:flex;min-height:auto;padding:1.3rem 1rem 1.5rem;border-right:0;border-bottom:1px solid var(--line)}.family-login-copy{margin:2.2rem 0 0}.family-login-copy h1{margin:.4rem 0 .65rem;font-size:2.35rem}.family-login-copy p:last-child{font-size:.78rem}.family-login-preview,.family-login-trust{display:none}.family-login .login-panel{min-height:0;padding:1rem}.family-login .login-card{padding:1.25rem;border-radius:13px;box-shadow:none}.house-page{width:calc(100% - 1.2rem);padding-top:1.7rem}.house-summary{grid-template-columns:1fr 1fr}.house-summary>span:last-child{grid-column:1/-1;border-top:1px solid var(--line);border-left:0}.house-workspace{display:block;min-height:0}.house-categories{display:flex;gap:.35rem;overflow-x:auto;padding:.65rem;border-right:0;border-bottom:1px solid var(--line);scrollbar-width:none}.house-categories>div{display:none}.house-categories>button{width:auto;display:flex;white-space:nowrap;padding:.55rem .65rem}.house-library{padding:.7rem}.house-library-toolbar{grid-template-columns:1fr}.house-library-toolbar .searchbar{width:100%}.house-content-table .table-head{display:none}.house-content-table .table-row{grid-template-columns:1fr auto;padding:.75rem}.house-content-table .table-row>span:nth-child(2),.house-content-table .table-row>span:nth-child(3){display:none}.house-content-table .table-row>span:nth-child(4){display:flex}.house-page-heading .title-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.house-page-heading .title-actions button{width:100%}.family-maintenance-page{width:calc(100% - 1.2rem);padding-top:1.7rem}.maintenance-toolbar{grid-template-columns:auto 1fr;padding:.7rem}.maintenance-count{display:none}.maintenance-calendar-card{overflow-x:auto}.family-maintenance-grid{min-width:720px}.family-maintenance-grid .calendar-day{min-height:108px}.maintenance-heading .primary-button{width:100%}}html[data-theme] .calm-login{display:grid;grid-template-columns:1fr;min-height:100vh}html[data-theme] .calm-login .login-intro{display:none}html[data-theme] .calm-login .login-panel{min-height:100vh;width:100%;padding:1.25rem;place-items:center;background:transparent}html[data-theme] .calm-login .login-card{width:min(420px,100%);padding:clamp(1.35rem,4vw,2rem);box-shadow:0 18px 50px rgba(22,33,29,.08)}.gmail-reader-actions{display:flex;gap:.4rem}.gmail-reader-close{display:none}@media(max-width:760px){.gmail-reader-close{display:grid}}.gmail-compose-window{border-color:color-mix(in srgb,var(--line) 82%,transparent);background:color-mix(in srgb,var(--panel-bg) 97%,var(--green-soft));box-shadow:0 18px 55px rgba(35,29,25,.16)}.gmail-compose-window header{background:var(--panel-alt);color:var(--ink);border-bottom:1px solid var(--line)}.gmail-compose-window label{background:color-mix(in srgb,var(--panel-bg) 96%,var(--green-soft));border-color:color-mix(in srgb,var(--line) 78%,transparent)}.gmail-compose-window textarea{background:color-mix(in srgb,var(--panel-bg) 98%,var(--green-soft))}.gmail-compose-window footer{background:var(--panel-alt);border-color:color-mix(in srgb,var(--line) 78%,transparent)}.gmail-compose-window .primary-button{background:var(--green-soft);border:1px solid color-mix(in srgb,var(--green) 28%,var(--line));color:var(--green);box-shadow:none}.gmail-compose-window .primary-button:hover{background:color-mix(in srgb,var(--green-soft) 82%,var(--green));color:var(--ink);box-shadow:0 6px 18px color-mix(in srgb,var(--green) 12%,transparent)}.mail-workspace{position:relative;height:calc(100vh - var(--topbar-height));min-height:650px;display:grid;grid-template-columns:300px minmax(0,1fr);overflow:hidden;background:var(--panel-bg)}.mail-inline-error{position:absolute;z-index:18;top:.7rem;left:50%;transform:translateX(-50%);max-width:min(560px,calc(100% - 2rem));display:flex;align-items:center;gap:.8rem;padding:.65rem .75rem;border:1px solid color-mix(in srgb,#d69b36 45%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--panel-bg) 94%,#d69b36);box-shadow:0 8px 25px rgba(0,0,0,.12);color:var(--ink);font-size:.7rem}.mail-inline-error span{flex:1 1}.mail-inline-error button{border:0;background:transparent;color:var(--green);font-weight:700;white-space:nowrap;cursor:pointer}.mail-inbox-panel{min-width:0;min-height:0;display:flex;flex-direction:column;border-right:1px solid var(--line);background:var(--panel-bg)}.mail-inbox-heading{display:flex;align-items:flex-end;justify-content:space-between;padding:1.45rem 1.2rem .25rem}.mail-inbox-heading h1{margin:.05rem 0;font-size:1.65rem;letter-spacing:-.04em}.mail-inbox-heading>span{min-width:28px;height:28px;display:grid;place-items:center;border-radius:999px;background:var(--green-soft);color:var(--green);font-size:.7rem;font-weight:700}.mail-inbox-intro{margin:0;padding:0 1.2rem 1rem;color:var(--muted);font-size:.69rem;line-height:1.5}.mail-compose{height:42px;margin:0 1.2rem .8rem;display:flex;align-items:center;justify-content:center;gap:.55rem;border:1px solid color-mix(in srgb,var(--green) 28%,var(--line));border-radius:9px;background:var(--green-soft);color:var(--green);font-weight:700;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.mail-compose:hover{transform:translateY(-1px);box-shadow:0 7px 18px color-mix(in srgb,var(--green) 12%,transparent)}.mail-compose svg{width:16px}.mail-search{height:39px;margin:0 1.2rem 1rem;display:flex;align-items:center;gap:.55rem;padding:0 .75rem;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--panel-alt) 72%,transparent)}.mail-search svg{width:15px;color:var(--muted)}.mail-search input{min-width:0;width:100%;border:0!important;background:transparent!important;outline:0;color:var(--ink);font-size:.72rem}.mail-selection-bar{min-height:38px;display:flex;align-items:center;justify-content:space-between;padding:0 .75rem;border-top:1px solid var(--line)}.mail-selection-bar button{display:flex;align-items:center;gap:.4rem;padding:.35rem .45rem;border:0;background:transparent;color:var(--muted);font-size:.63rem;cursor:pointer}.mail-selection-bar button:hover{color:var(--ink)}.mail-selection-bar svg{width:15px}.mail-selection-bar .mail-delete-selection{color:#d84a52}.mail-inbox-panel .gmail-list{flex:1 1;min-height:0;border:0;border-top:1px solid var(--line);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.gmail-list-row{width:100%;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:start;padding:.72rem .65rem;border-bottom:1px solid var(--line);background:transparent}.gmail-list-row:hover{background:color-mix(in srgb,var(--green-soft) 36%,transparent)}.gmail-list-row.active,.gmail-list-row.checked{background:color-mix(in srgb,var(--green-soft) 62%,transparent)}.gmail-list-row.active{box-shadow:inset 3px 0 0 var(--green)}.mail-row-check{width:28px;height:30px;display:grid;place-items:center;border:0;background:transparent;color:var(--muted);cursor:pointer}.mail-row-check svg{width:15px}.gmail-list-row.checked .mail-row-check{color:var(--green)}.mail-row-open{min-width:0;display:grid;grid-template-columns:30px minmax(0,1fr);grid-gap:.65rem;gap:.65rem;padding:0;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.mail-inbox-panel .gmail-avatar{width:30px;height:30px;font-size:.72rem;background:color-mix(in srgb,var(--green-soft) 75%,var(--panel-bg))}.mail-inbox-panel .gmail-summary b,.mail-inbox-panel .gmail-summary strong{font-size:.7rem}.mail-inbox-panel .gmail-summary small,.mail-inbox-panel .gmail-summary time{font-size:.61rem}.mail-inbox-footer{min-height:45px;flex:0 0 auto;display:flex;align-items:center;gap:.5rem;padding:0 1.2rem;border-top:1px solid var(--line);color:var(--muted);font-size:.64rem}.mail-inbox-footer svg{width:14px}.mail-reader-panel{min-width:0;min-height:0;display:flex;flex-direction:column;background:color-mix(in srgb,var(--panel-bg) 96%,var(--green-soft))}.mail-reader-toolbar{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 1.5rem;border-bottom:1px solid var(--line)}.mail-reader-toolbar>div:first-child{display:grid;grid-gap:.2rem;gap:.2rem}.mail-reader-toolbar strong{font-size:1rem}.mail-reader-toolbar .secondary-button{background:transparent}.mail-reader-tools{display:flex;gap:.5rem}.mail-reader-delete{color:#d84a52!important}.mail-reader-panel .gmail-reader{flex:1 1;min-height:0;padding:clamp(1.5rem,4vw,3.5rem);background:transparent}.mail-reader-panel .gmail-reader-head{max-width:960px;margin:0 auto;padding-bottom:1.5rem}.mail-reader-panel .gmail-reader h2{font-size:clamp(1.5rem,2.4vw,2.25rem);font-weight:500;letter-spacing:-.035em}.mail-reader-panel .gmail-reader pre{max-width:860px;margin:2rem auto;min-height:260px;font-size:.84rem;line-height:1.8}.mail-reader-panel .gmail-reply-box{max-width:860px;margin:0 auto;border-radius:8px;background:color-mix(in srgb,var(--panel-alt) 58%,transparent)}html[data-theme=light] .mail-inbox-panel,html[data-theme=light] .mail-workspace{background:#fbfaf6}html[data-theme=light] .mail-reader-panel{background:#f7f5ef}html[data-theme=light] .mail-inbox-panel .gmail-list>button:hover{background:#f6efec}html[data-theme=light] .mail-inbox-panel .gmail-list>button.active{background:#f7e8e7}@media(max-width:900px){.mail-workspace{grid-template-columns:270px minmax(0,1fr)}}@media(max-width:700px){.mail-workspace{height:calc(100vh - var(--topbar-height) - 66px);min-height:0;display:block}.mail-inbox-panel{height:100%;border-right:0}.mail-reader-panel{position:absolute;inset:0;z-index:12}.mail-reader-panel:has(.gmail-reader-empty){display:none}.mail-reader-toolbar{min-height:58px;padding:0 1rem}.mail-reader-panel .gmail-reader{position:static;padding:1.1rem}.mail-reader-panel .gmail-reader-head{flex-direction:column}.gmail-reader-close{display:grid}}:root{--module-rail:300px;--module-aside:310px}.domotica-page,.finance-page,.house-workspace,.mail-workspace,.module-three-column,.planning-page,.subpage-app-content .activity-page,.subpage-app-content .maintenance-page,.subpage-app-content .settings-page:not(.suppliers-page):not(.users-page),.subpage-app-content .suppliers-page,.subpage-app-content .users-page{grid-template-columns:var(--module-rail) minmax(0,1fr) var(--module-aside)}.domotica-page,.finance-page,.house-page,.module-three-column,.subpage-app-content .activity-page,.subpage-app-content .maintenance-page,.subpage-app-content .settings-page:not(.suppliers-page):not(.users-page),.subpage-app-content .suppliers-page,.subpage-app-content .users-page{height:calc(100vh - var(--topbar-height));min-height:650px;overflow:hidden;background:var(--panel-bg)}.domotica-page>.domotica-heading,.finance-page>.finance-hero,.house-categories,.module-three-column>.page-title-row,.subpage-app-content .activity-page>.settings-heading,.subpage-app-content .maintenance-page>.settings-heading,.subpage-app-content .settings-page:not(.suppliers-page):not(.users-page)>.settings-heading,.subpage-app-content .suppliers-page>.settings-heading,.subpage-app-content .users-page>.settings-heading{padding:1.45rem 1.2rem}.house-library{padding:1.2rem;overflow-y:auto}.house-workspace{border:0;border-radius:0;box-shadow:none}.house-workspace>.workspace-context-panel,.module-three-column>.workspace-context-panel,.subpage-app-content .workspace-context-panel{padding:1.45rem 1.15rem}@media(max-width:1180px){:root{--module-rail:260px;--module-aside:270px}.domotica-page,.finance-page,.house-workspace,.mail-workspace,.module-three-column,.planning-page,.subpage-app-content .activity-page,.subpage-app-content .maintenance-page,.subpage-app-content .settings-page:not(.suppliers-page):not(.users-page),.subpage-app-content .suppliers-page,.subpage-app-content .users-page{grid-template-columns:var(--module-rail) minmax(0,1fr) var(--module-aside)}.house-workspace>.workspace-context-panel,.mail-context-panel,.module-three-column>.workspace-context-panel,.subpage-app-content .workspace-context-panel{display:flex}}@media(max-width:1050px){.finance-page>.finance-security-note,.house-workspace>.workspace-context-panel,.mail-context-panel,.module-three-column>.workspace-context-panel,.subpage-app-content .workspace-context-panel{display:none}.domotica-page,.finance-page,.house-workspace,.mail-workspace,.module-three-column,.planning-page,.subpage-app-content .activity-page,.subpage-app-content .maintenance-page,.subpage-app-content .settings-page:not(.suppliers-page):not(.users-page),.subpage-app-content .suppliers-page,.subpage-app-content .users-page{grid-template-columns:var(--module-rail) minmax(0,1fr)}}@media(max-width:760px){.domotica-page,.finance-page,.house-page,.module-three-column,.subpage-app-content .activity-page,.subpage-app-content .maintenance-page,.subpage-app-content .settings-page:not(.suppliers-page):not(.users-page),.subpage-app-content .suppliers-page,.subpage-app-content .users-page{height:auto;min-height:calc(100vh - var(--topbar-height));overflow:visible}}.mail-context-panel,.workspace-context-panel{min-width:0;display:flex;flex-direction:column;gap:1.25rem;padding:1.35rem 1.15rem;border-left:1px solid var(--line);background:color-mix(in srgb,var(--panel-alt) 88%,var(--panel-bg));color:var(--ink)}.mail-context-panel h2,.workspace-context-panel h2{margin:.2rem 0 .55rem;font-size:1.35rem;letter-spacing:-.03em}.mail-context-panel p,.workspace-context-panel p{margin:0;color:var(--muted);font-size:.72rem;line-height:1.6}.mail-context-panel dl,.workspace-context-panel dl{display:grid;margin:0;border-top:1px solid var(--line)}.mail-context-panel dl>div,.workspace-context-panel dl>div{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--line)}.mail-context-panel dt,.workspace-context-panel dt{color:var(--muted);font-size:.68rem}.mail-context-panel dd,.workspace-context-panel dd{margin:0;font-size:.82rem;font-weight:700}.mail-context-panel>button,.workspace-context-panel>button{min-height:42px;display:flex;align-items:center;gap:.55rem;padding:0 .75rem;border:1px solid var(--line);background:transparent;color:var(--ink);font-weight:600;cursor:pointer}.mail-context-panel>button:hover,.workspace-context-panel>button:hover{background:var(--green-soft);border-color:color-mix(in srgb,var(--green) 25%,var(--line))}.mail-context-panel>button svg,.workspace-context-panel>button svg{width:16px;color:var(--green)}.mail-context-panel footer,.workspace-context-panel footer{margin-top:auto;display:flex;align-items:flex-start;gap:.55rem;padding:.85rem;border-radius:9px;background:var(--green-soft);color:var(--muted);font-size:.64rem;line-height:1.5}.mail-context-panel footer svg,.workspace-context-panel footer svg{width:16px;flex:0 0 auto;color:var(--green)}.mail-workspace{grid-template-columns:300px minmax(420px,1fr) 280px}.mail-context-panel{overflow-y:auto}.house-workspace{grid-template-columns:255px minmax(420px,1fr) 280px}.module-three-column{width:100%;max-width:none;display:grid;grid-template-columns:260px minmax(420px,1fr) 280px;align-items:stretch;padding:0!important;min-height:calc(100vh - var(--topbar-height))}.module-three-column>.page-title-row{grid-column:1;padding:2rem 1.25rem;align-items:flex-start;flex-direction:column;margin:0;border-right:1px solid var(--line)}.module-three-column>.page-title-row h1{font-size:clamp(2rem,3vw,3.25rem)}.module-three-column>.page-title-row .primary-button{width:100%}.module-three-column>.emergency-grid,.module-three-column>.insurance-table{margin:0;padding:1.25rem;border:0;border-radius:0;background:var(--panel-bg);align-content:start}.module-three-column>.workspace-context-panel{grid-column:3}.emergency-page .emergency-grid{grid-template-columns:1fr}.insurance-page .insurance-table .table-head,.insurance-page .insurance-table .table-row{grid-template-columns:minmax(180px,1.5fr) minmax(120px,1fr) 90px 110px}.finance-page{width:100%;max-width:none;display:grid;grid-template-columns:260px minmax(500px,1fr) 280px;grid-gap:0;gap:0;padding:0!important;align-items:start}.finance-page>.finance-hero{grid-row:1/span 5;position:-webkit-sticky;position:sticky;top:var(--topbar-height);min-height:calc(100vh - var(--topbar-height));align-items:flex-start;flex-direction:column;padding:2rem 1.25rem;border-right:1px solid var(--line)}.finance-page>.finance-hero h1{font-size:clamp(2.3rem,4vw,4rem)}.finance-page>.finance-dashboard-grid,.finance-page>.finance-error,.finance-page>.finance-kpis,.finance-page>.finance-loading{grid-column:2/4;margin:0;border-width:0 0 1px}.finance-page>.finance-security-note{grid-column:3;grid-row:4;margin:1.25rem}.finance-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-panel.pension-panel{grid-column:1/-1}.subpage-app-content .maintenance-page,.subpage-app-content .suppliers-page,.subpage-app-content .users-page{width:100%;max-width:none;display:grid;grid-template-columns:260px minmax(520px,1fr) 280px;grid-gap:0;gap:0;padding:0!important;min-height:calc(100vh - var(--topbar-height));align-content:start}.subpage-app-content .maintenance-page>.settings-heading,.subpage-app-content .suppliers-page>.settings-heading,.subpage-app-content .users-page>.settings-heading{grid-column:1;grid-row:1/span 5;min-height:calc(100vh - var(--topbar-height));align-items:flex-start;flex-direction:column;padding:2rem 1.25rem;margin:0;border-right:1px solid var(--line)}.subpage-app-content .maintenance-page>.maintenance-calendar-card,.subpage-app-content .suppliers-page>.empty-state,.subpage-app-content .suppliers-page>.form-error,.subpage-app-content .suppliers-page>.searchbar,.subpage-app-content .suppliers-page>.supplier-grid,.subpage-app-content .users-page>.form-error,.subpage-app-content .users-page>.temporary-password-note,.subpage-app-content .users-page>.users-list{grid-column:2/4;margin:1.25rem}.subpage-app-content .suppliers-page>.text-button,.subpage-app-content .users-page>.text-button{display:none}@media(max-width:1180px){.mail-workspace{grid-template-columns:270px minmax(380px,1fr)}.mail-context-panel{display:none}.house-workspace{grid-template-columns:220px minmax(0,1fr)}.house-workspace>.workspace-context-panel{display:none}.module-three-column{grid-template-columns:230px minmax(0,1fr)}.module-three-column>.workspace-context-panel{display:none}.finance-page{grid-template-columns:230px minmax(0,1fr)}.finance-page>.finance-dashboard-grid,.finance-page>.finance-error,.finance-page>.finance-kpis,.finance-page>.finance-loading{grid-column:2}.finance-page>.finance-security-note{display:none}.subpage-app-content .maintenance-page,.subpage-app-content .suppliers-page,.subpage-app-content .users-page{grid-template-columns:230px minmax(0,1fr)}.subpage-app-content .maintenance-page>.maintenance-calendar-card,.subpage-app-content .suppliers-page>.empty-state,.subpage-app-content .suppliers-page>.form-error,.subpage-app-content .suppliers-page>.searchbar,.subpage-app-content .suppliers-page>.supplier-grid,.subpage-app-content .users-page>.form-error,.subpage-app-content .users-page>.temporary-password-note,.subpage-app-content .users-page>.users-list{grid-column:2}}@media(max-width:760px){.finance-page,.module-three-column,.subpage-app-content .maintenance-page,.subpage-app-content .suppliers-page,.subpage-app-content .users-page{display:block;min-height:0}.finance-page>.finance-hero,.module-three-column>.page-title-row,.subpage-app-content .maintenance-page>.settings-heading,.subpage-app-content .suppliers-page>.settings-heading,.subpage-app-content .users-page>.settings-heading{position:static;min-height:0;padding:1.25rem;border-right:0;border-bottom:1px solid var(--line)}.finance-page>.finance-dashboard-grid,.finance-page>.finance-kpis{display:grid;grid-template-columns:1fr}.finance-dashboard-grid .finance-panel,.finance-panel.pension-panel{grid-column:1}.subpage-app-content .maintenance-page>.maintenance-calendar-card,.subpage-app-content .suppliers-page>.searchbar,.subpage-app-content .suppliers-page>.supplier-grid,.subpage-app-content .users-page>.users-list{margin:.75rem}}:root{--pbw-rail:300px;--pbw-aside:310px;--pbw-pad:1.2rem;--pbw-radius:9px}.domotica-page,.finance-page,.house-workspace,.mail-workspace,.module-three-column,.planning-page,.subpage-app-content .activity-page,.subpage-app-content .maintenance-page,.subpage-app-content .settings-page:not(.suppliers-page):not(.users-page),.subpage-app-content .suppliers-page,.subpage-app-content .users-page{width:100%;max-width:none;height:calc(100vh - var(--topbar-height));min-height:650px;margin:0;padding:0!important;display:grid;grid-template-columns:var(--pbw-rail) minmax(0,1fr) var(--pbw-aside);grid-gap:0;gap:0;overflow:hidden;background:var(--panel-bg)}.domotica-page>.domotica-heading,.finance-page>.finance-hero,.house-categories,.module-three-column>.page-title-row,.subpage-app-content .activity-page>.settings-heading,.subpage-app-content .maintenance-page>.settings-heading,.subpage-app-content .settings-page:not(.suppliers-page):not(.users-page)>.settings-heading,.subpage-app-content .suppliers-page>.settings-heading,.subpage-app-content .users-page>.settings-heading{grid-column:1;grid-row:1/span 20;position:static;min-width:0;min-height:0;height:100%;margin:0;padding:1.45rem var(--pbw-pad);display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;border:0;border-right:1px solid var(--line);background:var(--panel-bg);overflow-y:auto}.domotica-page>.domotica-heading>div,.finance-page>.finance-hero>div,.house-section-heading,.module-three-column>.page-title-row>div,.subpage-app-content .settings-heading>div{width:100%;min-width:0}.house-section-heading{margin:0 0 .55rem;padding:0 0 1.1rem;border-bottom:1px solid var(--line)}.domotica-page>.domotica-heading h1,.finance-page>.finance-hero h1,.house-section-heading h1,.module-three-column>.page-title-row h1,.subpage-app-content .maintenance-heading h1,.subpage-app-content .settings-heading h1{max-width:100%;margin:.05rem 0 .45rem;font-size:1.65rem;line-height:1.05;letter-spacing:-.04em;text-transform:none;overflow-wrap:break-word}.domotica-page>.domotica-heading .muted,.finance-page>.finance-hero .muted,.house-section-heading>.muted,.module-three-column>.page-title-row .muted,.subpage-app-content .maintenance-heading .muted,.subpage-app-content .settings-heading .muted{max-width:100%;margin:0;color:var(--muted);font-size:.69rem;line-height:1.5}.finance-page>.finance-security-note,.mail-context-panel,.workspace-context-panel{grid-column:3;grid-row:1/span 20;min-width:0;min-height:0;height:100%;margin:0;padding:1.45rem 1.15rem;border:0;border-left:1px solid var(--line);border-radius:0;background:color-mix(in srgb,var(--panel-alt) 88%,var(--panel-bg));overflow-y:auto;box-shadow:none}.domotica-page>.domotica-console,.house-library,.module-three-column>.emergency-grid,.module-three-column>.insurance-table,.subpage-app-content .activity-page>.activity-list,.subpage-app-content .maintenance-page>.maintenance-calendar-card,.subpage-app-content .settings-page:not(.suppliers-page):not(.users-page)>.settings-card,.subpage-app-content .suppliers-page>.supplier-grid,.subpage-app-content .users-page>.users-list{grid-column:2;min-width:0;min-height:0;margin:0;padding:var(--pbw-pad);border:0;border-radius:0;background:var(--panel-bg);box-shadow:none;overflow:auto}.subpage-app-content .suppliers-page>.searchbar{margin:1.2rem 1.2rem 0}.subpage-app-content .suppliers-page>.supplier-grid{padding-top:.75rem}.subpage-app-content .maintenance-page>.maintenance-calendar-card{margin:var(--pbw-pad);padding:0;border:1px solid var(--line);border-radius:var(--pbw-radius)}.activity-list,.content-table,.finance-panel,.settings-card,.supplier-card,.users-list{border-color:var(--line);border-radius:var(--pbw-radius);box-shadow:none}.finance-page{grid-template-rows:auto minmax(0,1fr);align-items:stretch}.finance-page>.finance-hero{grid-column:1;grid-row:1/3}.finance-page>.finance-hero .finance-updated{margin-top:1rem;color:var(--muted);font-size:.62rem;white-space:normal}.finance-page>.finance-kpis{grid-column:2;grid-row:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:0;gap:0;margin:0;border:0;border-bottom:1px solid var(--line);background:var(--panel-bg)}.finance-page .finance-kpi{min-height:112px;padding:1rem;border:0;border-right:1px solid var(--line);border-radius:0;background:var(--panel-bg);box-shadow:none}.finance-page .finance-kpi:last-child{border-right:0}.finance-page .finance-kpi.featured{background:color-mix(in srgb,var(--green-soft) 42%,var(--panel-bg))}.finance-page .finance-kpi small{min-height:0;font-size:.57rem}.finance-page .finance-kpi strong{font-size:clamp(1rem,1.5vw,1.4rem)}.finance-page>.finance-dashboard-grid{grid-column:2;grid-row:2;min-width:0;min-height:0;display:grid;grid-template-columns:1fr;align-content:start;grid-gap:.75rem;gap:.75rem;margin:0;padding:var(--pbw-pad);border:0;background:var(--panel-alt);overflow-y:auto}.finance-page .finance-panel,.finance-page .finance-panel.income-panel,.finance-page .finance-panel.pension-panel{grid-column:1;min-width:0;margin:0;padding:1.2rem;border:1px solid var(--line);border-radius:var(--pbw-radius);background:var(--panel-bg)}.finance-page .finance-panel.income-panel{height:auto;min-height:485px;overflow:visible}.finance-page .income-panel .finance-panel-footer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:0;gap:0;margin-top:.9rem;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--panel-alt);overflow:hidden}.finance-page .income-panel .finance-panel-footer>span{min-width:0;padding:.8rem 1rem;border-right:1px solid var(--line)}.finance-page .income-panel .finance-panel-footer>span:last-child{border-right:0}.finance-page .income-panel .finance-panel-footer small{font-size:.57rem}.finance-page .income-panel .finance-panel-footer strong{font-size:.9rem}.finance-page .finance-panel.income-detail-panel{grid-column:1;min-width:0;height:auto;align-self:start;overflow:visible}.income-detail-panel .income-detail-section{margin-top:0;padding-top:0;border-top:0}.finance-page>.finance-security-note{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}.finance-page>.finance-security-note>svg{width:22px}.finance-page>.finance-security-note span{display:grid;grid-gap:.35rem;gap:.35rem}.finance-page>.finance-security-note strong{font-size:.8rem}.finance-page>.finance-security-note small{font-size:.66rem;line-height:1.55}.income-detail-scroll{max-width:100%}.income-detail-table{min-width:1180px}.income-deduction-value{color:color-mix(in srgb,var(--danger) 72%,var(--ink))}.income-net-value{background:color-mix(in srgb,var(--green-soft) 42%,transparent)}@media(max-width:1180px){:root{--pbw-rail:260px;--pbw-aside:270px}.domotica-page,.finance-page,.house-workspace,.mail-workspace,.module-three-column,.planning-page,.subpage-app-content .activity-page,.subpage-app-content .maintenance-page,.subpage-app-content .settings-page:not(.suppliers-page):not(.users-page),.subpage-app-content .suppliers-page,.subpage-app-content .users-page{grid-template-columns:var(--pbw-rail) minmax(0,1fr) var(--pbw-aside)}.finance-page>.finance-security-note,.mail-context-panel,.workspace-context-panel{display:flex}}@media(max-width:1050px){.domotica-page,.finance-page,.house-workspace,.mail-workspace,.module-three-column,.planning-page,.subpage-app-content .activity-page,.subpage-app-content .maintenance-page,.subpage-app-content .settings-page:not(.suppliers-page):not(.users-page),.subpage-app-content .suppliers-page,.subpage-app-content .users-page{grid-template-columns:var(--pbw-rail) minmax(0,1fr)}.finance-page>.finance-security-note,.mail-context-panel,.workspace-context-panel{display:none}.finance-page>.finance-dashboard-grid,.finance-page>.finance-error,.finance-page>.finance-kpis,.finance-page>.finance-loading{grid-column:2}}@media(max-width:760px){.domotica-page,.finance-page,.house-page,.module-three-column,.subpage-app-content .activity-page,.subpage-app-content .maintenance-page,.subpage-app-content .settings-page:not(.suppliers-page):not(.users-page),.subpage-app-content .suppliers-page,.subpage-app-content .users-page{display:block;height:auto;min-height:calc(100vh - var(--topbar-height));overflow:visible}.domotica-page>.domotica-heading,.finance-page>.finance-hero,.house-categories,.module-three-column>.page-title-row,.subpage-app-content .settings-heading{height:auto;min-height:0;padding:1.25rem;border-right:0;border-bottom:1px solid var(--line);overflow:visible}.finance-page>.finance-kpis{grid-template-columns:1fr 1fr}.finance-page>.finance-dashboard-grid{display:grid;padding:.75rem;overflow:visible}.house-library,.module-three-column>.emergency-grid,.module-three-column>.insurance-table,.subpage-app-content .activity-list,.subpage-app-content .settings-card,.subpage-app-content .supplier-grid,.subpage-app-content .users-list{padding:.75rem}}@media(max-width:520px){.finance-page>.finance-kpis{grid-template-columns:1fr}}@media(max-width:600px){.finance-page .income-panel .finance-panel-footer{grid-template-columns:1fr}.finance-page .income-panel .finance-panel-footer>span{border-right:0;border-bottom:1px solid var(--line)}.finance-page .income-panel .finance-panel-footer>span:last-child{border-bottom:0}.finance-page .finance-panel.income-panel{min-height:600px}}body,button,html,input,select,textarea{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.portal-brand,.wordmark,h1,h2,h3{font-family:Space Grotesk,Inter,sans-serif}b,strong{font-family:inherit}body{background:var(--page-bg,var(--surface));color:var(--ink);font-size:14px;line-height:1.5}.eyebrow{color:var(--green);font-size:.61rem;font-weight:600;line-height:1.2;letter-spacing:.15em}.muted{color:var(--muted)}.portal-topbar{height:var(--topbar-height);border-color:var(--line);background:color-mix(in srgb,var(--panel-bg) 96%,transparent)}.portal-more-button,.portal-topbar>nav button{font-family:Inter,sans-serif;font-size:.72rem;font-weight:600}.portal-brand{font-size:1rem}.portal-new-button{border-radius:9px;box-shadow:0 5px 14px color-mix(in srgb,var(--green) 16%,transparent)}.danger-button,.primary-button,.secondary-button,.soft-confirm-action{min-height:40px;padding:.65rem .85rem;border-radius:8px;font-size:.72rem;font-weight:700;box-shadow:none}.primary-button{background:var(--green);color:#fff}.secondary-button{border:1px solid var(--line);background:var(--panel-bg);color:var(--ink)}.danger-button:hover,.portal-new-button:hover,.primary-button:hover,.secondary-button:hover{transform:none;filter:none;box-shadow:0 5px 14px color-mix(in srgb,var(--ink) 8%,transparent)}input,select,textarea{border:1px solid var(--line);border-radius:8px;background:var(--panel-alt);color:var(--ink);font-size:.76rem}input:focus,select:focus,textarea:focus{border-color:color-mix(in srgb,var(--green) 55%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--green-soft) 70%,transparent)}.searchbar{min-height:42px;border-color:var(--line);border-radius:8px;background:var(--panel-alt);box-shadow:none}.mail-confirm-dialog,.modal,.soft-confirm-dialog{border-radius:12px;background:var(--panel-bg);box-shadow:0 22px 60px color-mix(in srgb,#17130f 18%,transparent)}.modal-head,.modal-heading{border-color:var(--line)}.content-table{overflow:hidden;border:1px solid var(--line);border-radius:9px;background:var(--panel-bg);box-shadow:none}.table-head{min-height:42px;padding:.65rem 1rem;background:var(--panel-alt);color:var(--muted);font-size:.58rem;font-weight:600;letter-spacing:.1em}.table-row{min-height:58px;padding:.72rem 1rem;border-color:var(--line);background:var(--panel-bg);color:var(--ink);font-size:.73rem}.table-row:hover{transform:none;background:var(--hover-bg);box-shadow:inset 3px 0 0 var(--green)}.table-row strong{font-size:.76rem;font-weight:600}.table-row small{color:var(--muted);font-size:.61rem}.empty-state{color:var(--muted);font-size:.72rem}.empty-state strong,.finance-page>.finance-security-note,.mail-context-panel,.workspace-context-panel{color:var(--ink)}.mail-context-panel h2,.workspace-context-panel h2{font-family:Space Grotesk,Inter,sans-serif;font-size:1.22rem;font-weight:500}.mail-context-panel p,.workspace-context-panel p{font-size:.67rem}.mail-context-panel dt,.workspace-context-panel dt{font-size:.62rem}.mail-context-panel dd,.workspace-context-panel dd{font-size:.76rem}.mail-context-panel>button,.workspace-context-panel>button{border-radius:8px;font-size:.72rem}.module-three-column>.emergency-grid,.module-three-column>.insurance-table,.subpage-app-content .maintenance-page>.maintenance-calendar-card{grid-column:2;grid-row:1}.subpage-app-content .suppliers-page>.searchbar{grid-column:2;grid-row:1;align-self:start}.subpage-app-content .suppliers-page>.supplier-loading,.subpage-app-content .suppliers-page>.supplier-table{grid-column:2;grid-row:2;min-width:0;min-height:0;margin:.75rem 1.2rem 1.2rem;overflow:auto}.subpage-app-content .users-page>.temporary-password-note,.subpage-app-content .users-page>.users-list{grid-column:2;grid-row:1;min-width:0;min-height:0;overflow:auto}.subpage-app-content .activity-page>.activity-list,.subpage-app-content .settings-page:not(.suppliers-page):not(.users-page)>.settings-card{grid-column:2;grid-row:1}.supplier-table .supplier-row,.supplier-table .table-head{grid-template-columns:minmax(220px,1.6fr) minmax(130px,.8fr) minmax(130px,.8fr) 110px}.supplier-row>span:first-child{min-width:0}.supplier-row>span:first-child>span{min-width:0;display:grid;grid-gap:.12rem;gap:.12rem}.supplier-row>span:first-child small,.supplier-row>span:first-child strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.supplier-row .supplier-icon{width:34px;height:34px;flex:0 0 auto;border:0;border-radius:8px;background:var(--green-soft);color:var(--green)}.supplier-row .supplier-icon svg{width:15px}.supplier-row .supplier-links{justify-content:flex-start;gap:.55rem}.supplier-row .supplier-links svg{width:15px;color:var(--muted)}.supplier-row .supplier-links small{white-space:nowrap}.activity-list,.emergency-grid>button,.insurance-table,.maintenance-calendar-card,.module-card,.settings-card,.supplier-card,.users-list{background:var(--panel-bg);border-color:var(--line);box-shadow:none}.activity-icon,.lock-mark,.module-icon,.supplier-icon,.user-icon{background:var(--green-soft);color:var(--green)}.emergency-grid>button:hover,.insurance-table .table-row:hover,.supplier-row:hover{background:var(--hover-bg)}.finance-split>span,.pension-source-grid>div{background:var(--panel-alt)}.finance-panel-heading small,.income-detail-heading small{color:var(--green)}@media(max-width:900px){.supplier-table .supplier-row,.supplier-table .table-head{grid-template-columns:minmax(210px,1fr) minmax(120px,.65fr) 90px}.supplier-table .supplier-row>span:nth-child(3),.supplier-table .table-head>span:nth-child(3){display:none}}@media(max-width:760px){.subpage-app-content .suppliers-page>.searchbar,.subpage-app-content .suppliers-page>.supplier-loading,.subpage-app-content .suppliers-page>.supplier-table{margin:.75rem}.supplier-table .table-head{display:none}.supplier-table .supplier-row{grid-template-columns:minmax(0,1fr) auto}.supplier-table .supplier-row>span:nth-child(2),.supplier-table .supplier-row>span:nth-child(3){display:none}}.camera-workspace{height:calc(100vh - var(--topbar-height));display:grid;grid-template-columns:var(--pbw-rail) minmax(0,1fr) var(--pbw-aside);overflow:hidden;background:var(--page-bg)}.camera-context,.camera-rail{padding:1.6rem 1.2rem;background:var(--panel-bg)}.camera-rail{border-right:1px solid var(--line)}.camera-context{border-left:1px solid var(--line)}.camera-rail h1{margin:.4rem 0 .75rem;font:600 clamp(1.9rem,2.5vw,2.7rem)/1 Space Grotesk,sans-serif;letter-spacing:-.05em}.camera-context>p,.camera-rail>.muted{font-size:.76rem;line-height:1.55}.camera-rail-status{display:flex;gap:.65rem;margin-top:1.5rem;padding-top:1.2rem;border-top:1px solid var(--line)}.camera-rail-status svg{width:18px;color:var(--green);flex:0 0 auto}.camera-rail-status span{display:grid;grid-gap:.2rem;gap:.2rem}.camera-rail-status strong{font-size:.75rem}.camera-rail-status small{color:var(--muted);font-size:.65rem;line-height:1.45}.camera-main{min-width:0;overflow:auto;padding:1.2rem}.camera-main>header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.camera-context h2,.camera-main>header h2{margin:.2rem 0;font-size:1.2rem}.camera-main-actions{display:flex;align-items:center;gap:.45rem}.camera-main-actions>a,.camera-main>header button{display:flex;align-items:center;gap:.45rem;min-height:38px;padding:.55rem .75rem;border:1px solid var(--line);border-radius:8px;background:var(--panel-bg);color:var(--ink);text-decoration:none;cursor:pointer}.camera-main-actions>a svg,.camera-main>header button svg{width:15px}.camera-grid-hint{display:flex;align-items:center;gap:.45rem;margin:-.2rem 0 .8rem;color:var(--muted);font-size:.68rem}.camera-grid-hint svg{width:14px}.camera-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.8rem;gap:.8rem}.camera-grid>article{min-width:0;border:1px solid var(--line);border-radius:var(--pbw-radius);overflow:hidden;background:var(--panel-bg);color:var(--ink);transition:.18s ease}.camera-grid>article:hover{transform:translateY(-2px);border-color:var(--accent-line);box-shadow:0 12px 28px rgba(22,33,29,.1)}.camera-grid>article.dragging{opacity:.45;transform:scale(.98)}.camera-card-open{width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;display:grid;grid-template-columns:1fr auto;align-items:center}.camera-card-open>.camera-frame{grid-column:1/-1}.camera-frame{position:relative;display:grid;place-items:center;aspect-ratio:16/9;overflow:hidden;background:#111;color:#777}.camera-frame iframe{width:100%;height:100%;border:0;pointer-events:none}.camera-frame>svg{width:28px}.camera-frame i{position:absolute;top:.55rem;left:.55rem;padding:.2rem .4rem;border-radius:4px;background:rgba(19,20,19,.74);color:#fff;font-size:.55rem;font-style:normal;letter-spacing:.08em}.camera-card-copy{min-width:0;display:grid;grid-gap:.15rem;gap:.15rem;padding:.75rem}.camera-card-open strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}.camera-card-open small{color:var(--muted);font-size:.62rem}.camera-card-open>svg{width:16px;margin-right:.75rem;color:var(--muted)}.camera-order-actions{min-height:34px;display:flex;align-items:center;gap:.35rem;padding:.25rem .5rem;border-top:1px solid var(--line);color:var(--muted);font-size:.58rem;cursor:-webkit-grab;cursor:grab}.camera-order-actions>svg{width:13px}.camera-order-actions>span{margin-right:auto}.camera-order-actions button{display:grid;place-items:center;width:27px;height:25px;border:1px solid var(--line);border-radius:6px;background:var(--panel-alt);color:var(--ink);cursor:pointer}.camera-order-actions button:disabled{opacity:.28;cursor:default}.camera-order-actions button svg{width:13px}.camera-context dl{margin-top:1.3rem;border-top:1px solid var(--line)}.camera-context dl>div{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--line);font-size:.7rem}.camera-context dt{color:var(--muted)}.camera-context dd{margin:0;font-weight:600;text-align:right}.camera-state{min-height:420px;border:1px solid var(--line);border-radius:var(--pbw-radius);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;padding:2rem;text-align:center;background:var(--panel-bg)}.camera-state>svg{width:34px;color:var(--green)}.camera-state span{max-width:540px;color:var(--muted);font-size:.78rem;line-height:1.55}.camera-state.error span,.camera-state.error>svg{color:var(--danger)}.camera-access-gate{min-height:420px;border:1px solid var(--line);border-radius:var(--pbw-radius);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;background:var(--panel-bg)}.camera-access-icon{display:grid;place-items:center;width:52px;height:52px;margin-bottom:1rem;border-radius:14px;background:var(--green-soft);color:var(--green)}.camera-access-icon svg{width:23px}.camera-access-gate h3{margin:.3rem 0 .55rem;font-size:1.25rem}.camera-access-gate>p:not(.eyebrow){max-width:510px;margin:0 0 1.2rem;color:var(--muted);font-size:.78rem;line-height:1.55}.camera-access-gate button{display:flex;align-items:center;justify-content:center;gap:.45rem;min-height:42px;padding:.65rem 1rem;border:1px solid var(--green);border-radius:8px;background:var(--green);color:#fff;font-weight:600;cursor:pointer;box-shadow:0 8px 22px color-mix(in srgb,var(--green) 22%,transparent)}.camera-access-gate button:hover{filter:brightness(.92)}.camera-access-gate button:focus-visible{outline:3px solid color-mix(in srgb,var(--green) 32%,transparent);outline-offset:3px}.camera-access-gate button svg{width:16px}.camera-access-return{display:flex;flex-direction:column;align-items:center;gap:.65rem}.camera-access-return p{max-width:480px;margin:0 0 .35rem;color:var(--muted);font-size:.75rem}.camera-access-gate button.secondary{border-color:var(--line);background:var(--panel-alt);color:var(--ink);font-weight:500;box-shadow:none}.camera-modal-backdrop{position:fixed;inset:0;z-index:80;background:var(--page-bg)}.camera-modal{width:100%;height:100%;overflow:auto;background:var(--panel-bg);display:flex;flex-direction:column}.camera-modal>header{min-height:72px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:1rem;gap:1rem;padding:.75rem 1.2rem;border-bottom:1px solid var(--line)}.camera-modal>header>span{text-align:center}.camera-modal>header>div{display:flex;justify-content:flex-end;gap:.45rem}.camera-modal>header button{min-width:38px;height:38px;border:1px solid var(--line);border-radius:8px;background:var(--panel-alt);color:var(--ink);cursor:pointer}.camera-modal>header button.active{background:var(--green);color:#fff}.camera-modal>header svg{width:17px}.camera-modal>header .camera-back{width:max-content;display:flex;align-items:center;gap:.45rem;padding:0 .75rem}.camera-modal-video{position:relative;display:grid;place-items:center;flex:1 1;min-height:0;background:#090909}.camera-modal-video iframe{width:100%;height:100%;border:0}.camera-modal-video>svg{width:46px;color:#555}.camera-video-exit{display:none;position:absolute;right:1rem;top:1rem;align-items:center;gap:.4rem;padding:.6rem .8rem;border:1px solid rgba(255,255,255,.35);border-radius:8px;background:rgba(16,16,16,.72);color:#fff;cursor:pointer}.camera-video-exit svg{width:16px}.camera-modal-video:-webkit-full-screen{width:100vw;height:100vh}.camera-modal-video:fullscreen{width:100vw;height:100vh}.camera-modal-video:-webkit-full-screen .camera-video-exit{display:flex}.camera-modal-video:fullscreen .camera-video-exit{display:flex}.camera-ptz{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem;border-top:1px solid var(--line)}.camera-ptz>span{display:grid;grid-gap:.25rem;gap:.25rem}.camera-ptz button{width:42px;height:38px;border:1px solid var(--line);border-radius:8px;background:var(--panel-alt);cursor:pointer}.camera-ptz svg{width:17px}@media(max-width:1180px){.camera-workspace{grid-template-columns:230px minmax(0,1fr)}.camera-context{display:none}}@media(max-width:900px){.camera-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.camera-workspace{height:auto;min-height:calc(100vh - var(--topbar-height));display:block;overflow:visible}.camera-rail{padding:1.2rem;border-right:0;border-bottom:1px solid var(--line)}.camera-rail-status{display:none}.camera-main{padding:.75rem}.camera-main>header{align-items:flex-start}.camera-main-actions{align-items:stretch;flex-direction:column}.camera-grid{grid-template-columns:1fr 1fr;gap:.55rem}.camera-grid-hint{display:none}.camera-modal>header{grid-template-columns:1fr auto}.camera-modal>header>span{display:none}.camera-modal-video{min-height:55vh}}@media(max-width:480px){.camera-grid{grid-template-columns:1fr}}.camera-frame img{width:100%;height:100%;display:block;object-fit:cover;pointer-events:none}@media(max-width:720px){.portal-topbar{gap:.35rem}.portal-topbar>nav{min-width:0;gap:.1rem}.portal-more-button,.portal-topbar>nav button{padding:0 .42rem;font-size:0}.portal-more-button svg,.portal-topbar>nav button svg{display:block}.portal-topbar-actions{gap:.3rem}}:root{--portal-sidebar-width:218px}.portal-mobilebar,.portal-sidebar-backdrop{display:none}@media(min-width:761px){:root{--topbar-height:0px}.planning-app-shell,.subpage-app-shell{padding-left:var(--portal-sidebar-width)}.portal-topbar.portal-sidebar{position:fixed;inset:0 auto 0 0;z-index:40;width:var(--portal-sidebar-width);height:100vh;display:block;padding:0;border:0;border-right:1px solid var(--line);background:color-mix(in srgb,var(--panel-bg) 97%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.portal-sidebar-panel{height:100%;display:flex;flex-direction:column;min-height:0;padding:1.15rem .8rem 4.7rem}.portal-sidebar-heading{display:grid;grid-gap:.25rem;gap:.25rem;padding:.15rem .55rem 1rem;border-bottom:1px solid var(--line)}.portal-sidebar-heading .portal-brand{width:max-content;padding:.35rem 0;font-size:1.12rem}.portal-sidebar-heading small{color:var(--muted);font-size:.61rem;letter-spacing:.08em;text-transform:uppercase}.portal-sidebar nav{min-height:0;flex:1 1;display:block;overflow-y:auto;padding:.65rem 0 .8rem;scrollbar-width:thin}.portal-nav-group{display:grid;grid-gap:.12rem;gap:.12rem;padding:.48rem 0}.portal-nav-group+.portal-nav-group{border-top:1px solid color-mix(in srgb,var(--line) 72%,transparent)}.portal-nav-group>p{margin:0;padding:.28rem .62rem .34rem;color:var(--muted);font-size:.56rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.portal-nav-group>button{position:relative;width:100%;min-height:35px;display:grid;grid-template-columns:19px 1fr;align-items:center;grid-gap:.62rem;gap:.62rem;padding:.44rem .62rem;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:.69rem;font-weight:600;text-align:left;cursor:pointer}.portal-nav-group>button svg{width:16px;height:16px}.portal-nav-group>button:hover{background:var(--hover-bg);color:var(--ink)}.portal-nav-group>button.active{background:var(--green-soft);color:var(--green)}.portal-nav-group>button.active:before{content:"";position:absolute;top:.48rem;bottom:.48rem;left:0;width:2px;border-radius:2px;background:var(--green)}.portal-sidebar-panel>.portal-new-button{width:100%;height:40px;flex:0 0 auto;justify-content:center;margin-top:.25rem}body:has(.planning-app-shell)>.theme-toggle,body:has(.subpage-app-shell)>.theme-toggle{right:auto;left:.8rem;bottom:.8rem;width:calc(var(--portal-sidebar-width) - 1.6rem);justify-content:center;box-shadow:none}}@media(max-width:760px){:root{--topbar-height:62px}.planning-app-shell,.subpage-app-shell{padding-left:0}.portal-topbar.portal-sidebar{position:-webkit-sticky;position:sticky;top:0;z-index:60;width:100%;height:var(--topbar-height);display:block;padding:0;border:0;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel-bg) 96%,transparent);-webkit-backdrop-filter:none;backdrop-filter:none}.portal-mobilebar{height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 .8rem}.portal-mobilebar .portal-brand{font-size:1.02rem}.portal-mobile-actions{display:flex;align-items:center;gap:.35rem}.portal-menu-toggle,.portal-mobile-new{width:38px;height:38px;display:grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:9px;background:var(--panel-bg);color:var(--ink);cursor:pointer}.portal-mobile-new{border-color:var(--green);background:var(--green);color:#fff}.portal-menu-toggle svg,.portal-mobile-new svg{width:18px;height:18px}.portal-sidebar-backdrop{position:fixed;inset:var(--topbar-height) 0 0;z-index:61;border:0;background:rgba(18,25,21,.4);opacity:0;pointer-events:none;transition:opacity .18s ease}.portal-sidebar-panel{position:fixed;top:var(--topbar-height);bottom:0;left:0;z-index:62;width:min(286px,86vw);display:flex;flex-direction:column;min-height:0;padding:.8rem;background:var(--panel-bg);border-right:1px solid var(--line);box-shadow:20px 0 45px rgba(18,25,21,.18);transform:translateX(-105%);transition:transform .2s ease}.portal-sidebar.is-open .portal-sidebar-backdrop{display:block;opacity:1;pointer-events:auto}.portal-sidebar.is-open .portal-sidebar-panel{transform:translateX(0)}.portal-sidebar-heading{display:none}.portal-sidebar nav{flex:1 1;overflow-y:auto;padding:.1rem 0 .8rem}.portal-nav-group{display:grid;grid-gap:.15rem;gap:.15rem;padding:.5rem 0}.portal-nav-group+.portal-nav-group{border-top:1px solid var(--line)}.portal-nav-group>p{margin:0;padding:.35rem .65rem;color:var(--muted);font-size:.58rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.portal-nav-group>button{width:100%;min-height:42px;display:grid;grid-template-columns:21px 1fr;align-items:center;grid-gap:.7rem;gap:.7rem;padding:.55rem .65rem;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:.76rem;font-weight:600;text-align:left;cursor:pointer}.portal-nav-group>button svg{width:18px;height:18px}.portal-nav-group>button.active{background:var(--green-soft);color:var(--green)}.portal-sidebar-panel>.portal-new-button{width:100%;height:44px;justify-content:center;flex:0 0 auto}}@media(prefers-reduced-motion:reduce){.portal-sidebar-backdrop,.portal-sidebar-panel{transition:none}}.mail-travel-actions{display:flex;gap:.5rem;margin:.7rem 0}.mail-travel-actions button{flex:1 1;border:1px solid var(--line);background:var(--panel-bg);color:var(--green);padding:.65rem;border-radius:9px;font-weight:600;cursor:pointer}.travel-page{max-width:1600px;padding:2rem;min-height:80vh;margin:auto;color:var(--ink)}.travel-detail>header,.travel-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem}.travel-heading h1{font-size:2.3rem;margin:.2rem 0}.travel-detail>header p,.travel-heading p{color:var(--muted)}.travel-back{display:inline-flex;align-items:center;gap:.5rem;border:0;background:none;color:var(--green);padding:.5rem 0;cursor:pointer}.travel-heading .eyebrow{margin-top:1.5rem}.travel-alert{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;padding:1rem;border:1px solid #c99841;border-radius:10px;background:var(--panel-bg);margin:.7rem 0}.travel-alert button,.travel-move button,.travel-scan-status button,.travel-skip button{padding:.5rem .8rem;background:var(--panel-bg);border:1px solid var(--line);color:var(--green);border-radius:7px;cursor:pointer}.travel-scan-status{justify-content:space-between;background:var(--green-soft);padding:1rem;border-radius:12px;margin:1rem 0}.travel-scan-status,.travel-scan-status>div{display:flex;gap:1rem;align-items:center}.travel-scan-status span{display:grid;grid-gap:.3rem;gap:.3rem}.travel-scan-status small,.travel-time-note{color:var(--muted);font-size:.8rem}.travel-skip{display:flex;flex-wrap:wrap;gap:1rem}.travel-warnings{margin:1rem 0;padding:1rem;border:1px solid var(--line);border-radius:10px}.travel-warnings li{margin:.5rem 0}.travel-empty{display:grid;justify-items:center;text-align:center;max-width:520px;margin:5rem auto;grid-gap:.75rem;gap:.75rem}.travel-empty svg{color:var(--green)}.travel-empty h2{margin:.5rem 0}.travel-empty p{color:var(--muted);line-height:1.7}.travel-layout{display:grid;grid-template-columns:280px minmax(0,1fr);grid-gap:2rem;gap:2rem;margin-top:2rem}.travel-trips{display:flex;flex-direction:column;gap:.6rem}.travel-trips>button{display:grid;grid-gap:.6rem;gap:.6rem;padding:1rem;text-align:left;border:1px solid var(--line);background:var(--panel-bg);color:var(--ink);border-radius:12px;cursor:pointer}.travel-trips>button.active{border-color:var(--green);background:var(--green-soft)}.travel-trips>button>span{display:flex;gap:.6rem;align-items:center}.travel-trips strong{flex:1 1}.travel-trips small{color:var(--muted);font-size:.75rem}.travel-detail{min-width:0}.travel-detail h2{margin:.3rem 0;font-size:1.8rem}.travel-detail>header p{display:flex;gap:.3rem;align-items:center}.travel-notes{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}.travel-timeline{list-style:none;padding:0;margin:1.5rem 0}.travel-event{position:relative;padding:0 0 1.8rem 1.5rem;border-left:2px solid var(--line)}.travel-event:before{content:"";position:absolute;left:-6px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--green)}.travel-event-date{display:flex;align-items:center;gap:.5rem;color:var(--green);font-size:.85rem;font-weight:600;margin:0 0 .6rem}.travel-event-card{padding:1.2rem;border:1px solid var(--line);border-radius:12px;background:var(--panel-bg)}.travel-event-card>header{display:flex;justify-content:space-between;gap:1rem;align-items:center}.travel-event-card h3{margin:.35rem 0 .65rem;font-size:1.1rem}.travel-dialog header button,.travel-event-card>header button{background:none;border:0;color:var(--muted);cursor:pointer;padding:.4rem}.travel-kind{text-transform:uppercase;letter-spacing:.12em;font-size:.65rem;color:var(--muted);font-weight:700}.travel-badges{display:flex;flex-wrap:wrap;gap:.4rem}.travel-badges span{background:var(--green-soft);color:var(--green);padding:.25rem .55rem;border-radius:5px;font-size:.72rem}.travel-badges .updated{background:#fff0ce;color:#765214}.travel-event-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.8rem;gap:.8rem}.travel-event-card dt{font-size:.72rem;color:var(--muted)}.travel-event-card dd{margin:.2rem 0;font-size:.85rem;overflow-wrap:anywhere}.travel-changes{border-left:3px solid #c99841;padding:.5rem 1rem;margin:1rem 0;background:var(--hover-bg);font-size:.8rem}.travel-changes p{margin:.4rem 0;overflow-wrap:anywhere}.travel-changes del{color:var(--muted)}.travel-changes ins{text-decoration:none;font-weight:600}.travel-history{margin-top:1rem;border-top:1px solid var(--line);padding-top:.8rem;font-size:.8rem}.travel-history summary,.travel-warnings summary{cursor:pointer}.travel-history>div{padding:1rem 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.travel-history small{color:var(--muted)}.travel-history blockquote{border-left:2px solid var(--line);padding-left:.8rem;margin:.5rem 0;color:var(--muted)}.travel-event.cancelled{opacity:.85}.travel-event.cancelled:before{background:#bc5449}.travel-page a{color:var(--green)}.travel-overlay{position:fixed;inset:0;background:rgba(10,20,15,.5);z-index:110;display:flex;align-items:center;justify-content:center;padding:1rem}.travel-dialog{width:min(560px,100%);max-height:90dvh;overflow:auto;background:var(--panel-bg);color:var(--ink);border-radius:16px;padding:1.5rem;box-shadow:0 20px 80px #0003}.travel-dialog header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.travel-dialog header h2{font-size:1.4rem}.travel-dialog p{font-size:.9rem;line-height:1.6}.travel-dialog label{display:grid;grid-gap:.4rem;gap:.4rem;font-size:.85rem}.travel-dialog input,.travel-dialog select,.travel-dialog textarea{width:100%;min-width:0;padding:.7rem;background:var(--input-bg,var(--panel-bg));border:1px solid var(--line);color:var(--ink);border-radius:7px;font:inherit}.travel-presets{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.travel-presets button{padding:.4rem .7rem;border:1px solid var(--line);background:var(--panel-bg);color:var(--ink);border-radius:6px;cursor:pointer}.travel-edit{width:min(760px,100%)}.travel-fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem;margin:1rem 0}.travel-fields label:has(textarea){grid-column:1/-1}.travel-move{display:flex;align-items:flex-end;gap:1rem;border-top:1px solid var(--line);padding-top:1rem;margin-top:1rem}.travel-move label{flex:1 1}.travel-page button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:800px){.travel-page{padding:1rem}.travel-heading{align-items:flex-start}.travel-heading h1{font-size:1.8rem}.travel-heading>.primary-button{margin-top:.5rem;white-space:nowrap}.travel-layout{grid-template-columns:1fr;gap:1.2rem}.travel-trips{display:grid;grid-auto-flow:column;grid-auto-columns:260px;overflow-x:auto;padding-bottom:.4rem}.travel-detail>header{flex-wrap:wrap}.travel-fields{grid-template-columns:1fr}.travel-scan-status{align-items:flex-start;flex-wrap:wrap}.travel-event{padding-left:.8rem}.travel-event-card{padding:.85rem}.travel-event-card dl{grid-template-columns:1fr}.travel-dialog{padding:1rem}}@media(min-width:1051px){.mail-workspace{grid-template-columns:var(--pbw-rail) minmax(0,1fr) 210px}.mail-context-panel{gap:1rem;padding:1.25rem .9rem}.mail-context-panel h2{margin:.15rem 0 .4rem;font-size:1.08rem}.mail-context-panel p{font-size:.63rem;line-height:1.5}.mail-context-panel dl>div{padding:.65rem 0}.mail-context-panel>button{min-height:39px;padding:0 .6rem;font-size:.67rem}.mail-context-panel footer{padding:.7rem;font-size:.59rem}}@media(min-width:1051px) and (max-width:1280px){.mail-workspace{grid-template-columns:var(--pbw-rail) minmax(0,1fr) 185px}.mail-context-panel{padding:1rem .75rem}.mail-context-panel footer,.mail-context-panel>div:first-child>p:last-child{display:none}}