:root{font-family:Aptos,Inter,system-ui,sans-serif;color:#16372f;background:#f7f4ec;font-synthesis:none;--green:#17483a;--teal:#147c70;--sand:#f1e3c9;--gold:#c89943;--white:#fffdf9}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;font-size:18px}button,input{font:inherit;min-height:48px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}h1,h2,p{margin-top:0}.eyebrow{color:var(--teal);font-size:.76rem;font-weight:800;letter-spacing:.13em;margin-bottom:.4rem}.muted{color:#65746e}.login-shell,.setup-state{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top right,#d7eee6,transparent 40%),linear-gradient(145deg,#f8f4e9,#edf5ef)}.login-card,.setup-state{width:min(100%,480px);background:var(--white);padding:clamp(28px,6vw,54px);border-radius:24px;box-shadow:0 20px 60px #173c3020}.brand-mark{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;background:var(--green);color:#fff;font-weight:900;margin-bottom:28px}form{display:grid;gap:10px;margin-top:28px}input{border:1px solid #a9b9b2;border-radius:12px;padding:12px 14px;margin-bottom:8px}input:focus{outline:3px solid #2a9d8f45;border-color:var(--teal)}.primary-button{margin-top:10px;border:0;border-radius:12px;background:var(--green);color:#fff;font-weight:800;padding:12px 18px}.error{color:#a72e2e;background:#fff0ee;padding:12px;border-radius:10px}.topbar{display:flex;justify-content:space-between;align-items:center;padding:20px clamp(20px,5vw,70px);background:var(--green);color:#fff;gap:20px}.topbar .eyebrow{color:#9fe0cb}.account{display:flex;align-items:center;gap:16px;font-size:.88rem}.account button{border:1px solid #ffffff88;background:transparent;color:#fff;border-radius:10px;padding:8px 14px}nav{display:flex;gap:8px;padding:12px clamp(20px,5vw,70px);background:#fff;overflow:auto;border-bottom:1px solid #dde5df}nav button{background:transparent;border:0;border-radius:10px;padding:8px 16px;color:#39564d;white-space:nowrap}nav button.active{background:#dceee7;color:var(--green);font-weight:800}.content{max-width:1180px;margin:auto;padding:clamp(24px,5vw,60px)}.welcome-panel{background:linear-gradient(130deg,var(--green),#236b59);color:#fff;border-radius:24px;padding:clamp(26px,5vw,50px);margin-bottom:26px}.welcome-panel .eyebrow{color:#acdccc}.welcome-panel p:last-child{max-width:720px;margin-bottom:0}.property-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.property-card{position:relative;background:var(--white);padding:28px;border-radius:20px;border:1px solid #dbe5de;box-shadow:0 10px 30px #173c3010}.status-dot{position:absolute;top:28px;right:28px;width:14px;height:14px;border-radius:50%;background:#2d9e64}.phase-label{display:inline-block;margin-top:10px;background:var(--sand);padding:7px 10px;border-radius:9px;font-size:.8rem;font-weight:700}.page-heading{margin-bottom:28px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:34px 0 16px}.section-heading h2{margin-bottom:0}.read-only-badge{background:#e4eee9;color:var(--green);padding:7px 11px;border-radius:999px;font-size:.78rem;font-weight:800;white-space:nowrap}.status-neutral{background:#6d827a}.overview-facts{margin:20px 0 0;display:grid;gap:14px}.overview-facts div{border-top:1px solid #e0e7e2;padding-top:12px}.overview-facts dt{color:#68766f;font-size:.8rem}.overview-facts dd{margin:3px 0 0;font-weight:750}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:22px}.summary-card{background:#fff;border:1px solid #dbe5de;border-radius:16px;padding:20px;display:grid;gap:6px}.summary-card span{color:#5f7169;font-size:.82rem;font-weight:700}.summary-card strong{font-size:1.7rem;color:var(--green)}.summary-card small{color:#7c8983}.property-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.property-details-card{background:var(--white);border:1px solid #dbe5de;border-radius:20px;padding:28px;display:grid;grid-template-columns:58px 1fr;gap:18px;box-shadow:0 10px 30px #173c3010}.property-number{width:54px;height:54px;border-radius:16px;background:var(--green);color:#fff;display:grid;place-items:center;font-size:1.4rem;font-weight:900}.feature-list{padding:0;margin:18px 0 0;list-style:none;display:grid;gap:9px}.feature-list li:before{content:"✓";color:var(--teal);font-weight:900;margin-right:10px}.feedback-panel{background:#fff;border:1px solid #dbe5de;padding:22px;border-radius:14px;margin:16px 0}.feedback-panel.error{color:#9a2d2d;background:#fff3f1;border-color:#efc5bf}.calendar-page-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:18px}.calendar-page-heading h1{margin-bottom:8px}.add-button{min-width:170px}.legend{display:flex;flex-wrap:wrap;gap:10px 18px;background:#fff;border:1px solid #dbe5de;border-radius:14px;padding:14px 18px;margin-bottom:20px;font-size:.82rem}.legend span{display:flex;align-items:center;gap:7px}.legend-dot{width:12px;height:12px;border-radius:50%;display:inline-block}.month-toolbar{display:flex;align-items:center;justify-content:center;gap:24px;margin:20px 0}.month-toolbar h2{min-width:220px;text-align:center;margin:0}.secondary-button{background:#fff;color:var(--green);border:1px solid #afc1b9;border-radius:11px;padding:9px 15px;font-weight:750}.calendar-properties{display:grid;gap:24px}.house-calendar{background:#fff;border:1px solid #dbe5de;border-radius:20px;padding:22px;box-shadow:0 8px 26px #173c300b}.house-calendar-heading{display:flex;align-items:center;gap:14px;margin-bottom:18px}.house-calendar-heading h2{margin:0}.house-number{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:var(--green);color:#fff;font-weight:900}.weekday-row,.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.weekday-row{margin-bottom:7px;color:#708079;text-align:center;font-size:.72rem;font-weight:800;text-transform:uppercase}.calendar-day{min-height:72px;padding:8px;border:1px solid #dce5df;border-radius:10px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;background:#f3faf6;color:#234b3e;overflow:hidden}.calendar-day:hover{outline:3px solid #1c7a6940}.day-number{font-weight:900}.day-status{width:100%;font-size:.65rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.status-beschikbaar{background:#e2f4e8;color:#206540}.status-gereserveerd{background:#dceafb;color:#225b94}.status-bezet{background:#ffe4cb;color:#9a5018}.status-onderhoud,.status-geblokkeerd{background:#f9d9d7;color:#9b302d}.status-geannuleerd{background:#ecefee;color:#69736f}.calendar-agenda{margin-top:30px}.agenda-list{display:grid;gap:10px}.agenda-item{display:grid;grid-template-columns:130px 1fr auto;align-items:center;gap:16px;background:#fff;border:1px solid #dbe5de;border-radius:14px;padding:15px}.agenda-item p{margin:4px 0 0;color:#63726b}.agenda-status{border-radius:999px;padding:7px 10px;text-align:center;font-size:.72rem;font-weight:850}.agenda-actions{display:flex;gap:8px}.agenda-actions button{min-height:40px;border:0;background:#e7efeb;color:var(--green);border-radius:9px;padding:8px 11px;font-weight:750}.agenda-actions .danger-link{color:#9b302d;background:#fff0ef}.modal-backdrop{position:fixed;inset:0;background:#102a2388;display:grid;place-items:center;padding:18px;z-index:20}.modal-card{width:min(100%,620px);max-height:94vh;overflow:auto;background:var(--white);border-radius:22px;padding:clamp(22px,5vw,36px);box-shadow:0 28px 80px #0004}.modal-heading{display:flex;justify-content:space-between;align-items:start;gap:20px}.icon-button{width:48px;border:0;border-radius:50%;background:#e9efec;color:var(--green);font-size:1.5rem}.entry-form select,.entry-form textarea{font:inherit;border:1px solid #a9b9b2;border-radius:12px;padding:12px 14px;min-height:48px;background:#fff}.entry-form textarea{min-height:92px;resize:vertical}.entry-form label{margin-top:4px;font-weight:750}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-row>div{display:grid;gap:10px}.optional{color:#77847f;font-weight:400}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}.finance-actions{display:flex;gap:10px}.finance-filters{display:flex;justify-content:space-between;align-items:end;gap:22px;background:#fff;border:1px solid #dbe5de;border-radius:16px;padding:16px;margin-bottom:18px}.segmented{display:flex;flex-wrap:wrap;gap:5px;background:#edf2ef;padding:5px;border-radius:12px}.segmented button{border:0;background:transparent;color:#496158;border-radius:9px;padding:8px 13px;font-weight:750}.segmented button.active{background:#fff;color:var(--green);box-shadow:0 2px 9px #173c3018}.period-selectors{display:flex;gap:10px}.period-selectors label{display:grid;gap:4px;font-size:.7rem;font-weight:800;text-transform:uppercase;color:#697870}.period-selectors select{min-height:42px;background:#fff;border:1px solid #afc1b9;border-radius:9px;padding:7px 28px 7px 9px;font:inherit;color:var(--green)}.finance-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}.finance-summary article{background:#fff;border:1px solid #dbe5de;border-radius:16px;padding:20px;display:grid;gap:7px}.finance-summary span{color:#5f7169;font-size:.8rem;font-weight:750}.finance-summary strong{color:var(--green);font-size:1.45rem}.finance-summary small{color:#7a8782}.finance-summary .negative strong{color:#a23a34}.finance-chart{background:#fff;border:1px solid #dbe5de;border-radius:18px;padding:22px;margin-top:20px}.chart-heading{display:flex;justify-content:space-between;align-items:start;gap:20px}.chart-heading h2{margin-bottom:0}.chart-legend{display:flex;gap:14px;font-size:.75rem}.chart-legend span{display:flex;align-items:center;gap:6px}.chart-legend i{width:11px;height:11px;border-radius:3px}.income-color,.income-bar{background:#238367}.expense-color,.expense-bar{background:#d36b50}.chart-bars{height:230px;display:grid;grid-template-columns:repeat(5,1fr);gap:14px;border-bottom:1px solid #cfdad4;margin-top:22px}.chart-group{display:grid;grid-template-rows:1fr 28px;min-width:0}.bar-area{display:flex;align-items:end;justify-content:center;gap:5px;height:100%}.bar{width:min(30%,34px);min-height:0;border-radius:7px 7px 0 0;transition:height .2s ease}.chart-group>span{text-align:center;font-size:.68rem;color:#6f7e77;padding-top:7px}.finance-list{margin-top:30px}.finance-row{display:grid;grid-template-columns:90px 1fr auto auto;align-items:center;gap:15px;background:#fff;border:1px solid #dbe5de;border-radius:14px;padding:15px;margin-bottom:9px}.finance-row p{margin:4px 0 0;color:#68766f}.finance-type{padding:7px 9px;border-radius:999px;text-align:center;font-size:.7rem;font-weight:850}.finance-type.inkomst{background:#dff2e9;color:#176747}.finance-type.uitgave{background:#fde4dd;color:#9b412d}.income-text{color:#176747}.expense-text{color:#a44330}.system-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0 30px}.system-status-grid article{background:#fff;border:1px solid #dbe5de;border-radius:16px;padding:20px;display:grid;gap:7px}.system-status-grid span{color:#68766f;font-size:.78rem;font-weight:750}.system-status-grid strong{color:var(--green)}.status-good{color:#22704e!important}.status-bad{color:#a33e34!important}.admin-section{margin-top:32px}.user-list,.audit-list{display:grid;gap:9px}.user-row{display:grid;grid-template-columns:48px 1fr auto auto;align-items:center;gap:14px;background:#fff;border:1px solid #dbe5de;border-radius:14px;padding:14px}.user-row p{margin:3px 0 0;color:#68766f}.user-avatar{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--green);color:#fff;font-weight:900}.account-status{border-radius:999px;padding:7px 11px;font-size:.72rem;font-weight:850}.account-status.active{background:#dff2e9;color:#176747}.account-status.inactive{background:#ecefee;color:#68736f}.audit-row{display:grid;grid-template-columns:180px 100px 1fr 120px;gap:14px;align-items:center;background:#fff;border:1px solid #dbe5de;border-radius:12px;padding:13px 15px;font-size:.86rem}.audit-row time{color:#68766f}@media(max-width:700px){body{font-size:16px}.topbar{align-items:flex-start;flex-direction:column}.account{width:100%;justify-content:space-between}.property-grid{grid-template-columns:1fr}.login-card{border-radius:18px}}@media(max-width:900px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.property-details-grid{grid-template-columns:1fr}}@media(max-width:900px){.finance-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-filters{align-items:stretch;flex-direction:column}.finance-row{grid-template-columns:90px 1fr auto}.finance-row .agenda-actions{grid-column:2 / -1}}@media(max-width:900px){.audit-row{grid-template-columns:150px 90px 1fr}.audit-row span:last-child{grid-column:2 / -1}.user-row{grid-template-columns:48px 1fr auto}.user-row button{grid-column:2 / -1}}@media(max-width:700px){.calendar-page-heading{align-items:stretch;flex-direction:column}.add-button{width:100%}.house-calendar{padding:14px}.weekday-row,.month-grid{gap:4px}.calendar-day{min-height:58px;padding:6px}.day-status{font-size:.58rem}.agenda-item{grid-template-columns:1fr}.agenda-status{width:max-content}.agenda-actions{width:100%}.agenda-actions button{flex:1}}@media(max-width:520px){.summary-grid,.finance-summary,.property-details-card{grid-template-columns:1fr}.section-heading{align-items:flex-start;flex-direction:column}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}.month-toolbar{gap:10px}.month-toolbar h2{min-width:0;flex:1;font-size:1.1rem}.calendar-day{min-height:52px}.day-status{display:none}.finance-actions,.period-selectors{display:grid;grid-template-columns:1fr 1fr}.finance-row{grid-template-columns:1fr}.finance-row .agenda-actions{grid-column:auto}.chart-heading{flex-direction:column}.chart-bars{gap:5px}.chart-group>span{font-size:.58rem}}@media(max-width:600px){.system-status-grid,.user-row,.audit-row{grid-template-columns:1fr}.user-row button,.audit-row span:last-child{grid-column:auto}.account-status{width:max-content}}
