:root{
  --bg:#f8f5ee;--surface:#fffdf8;--surface-2:#f2ede3;--gold:#b69a5b;
  --gold-dark:#92763d;--graphite:#35322e;--muted:#786f64;--border:#ded4c4;
  --danger:#a33d3d;--sidebar:#f1ebdf
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--graphite)}
button,input,select{font:inherit}.hidden{display:none!important}
.login-view{min-height:100vh;display:grid;place-items:center;padding:24px}
.login-card{width:min(420px,100%);background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:32px}
.login-logo{display:block;width:190px;max-width:80%;margin:0 auto 14px}.login-card h1,.login-card p{text-align:center}.login-card h1{margin:0}.login-card p{color:var(--muted)}
.login-card label{display:block;margin:15px 0 7px;font-weight:600;font-size:14px}
.login-card input{width:100%;padding:13px;border:1px solid var(--border);border-radius:12px;background:white}
.primary-button{width:100%;margin-top:20px;padding:14px;border:0;border-radius:13px;background:var(--gold);color:white;font-weight:700;cursor:pointer}
.form-error{color:var(--danger)!important;min-height:20px}
.app-shell{min-height:100vh;display:grid;grid-template-columns:290px 1fr}
.sidebar{background:var(--sidebar);border-right:1px solid var(--border);padding:18px;display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;height:100vh;overflow:auto}
.brand{display:flex;gap:10px;align-items:center;padding:4px 4px 18px}.brand img{width:72px}.brand strong,.brand span{display:block}.brand span{font-size:12px;color:var(--muted);margin-top:3px}
.nav{display:grid;gap:4px}.nav-item,.submenu button{width:100%;border:0;background:transparent;text-align:left;padding:11px;border-radius:10px;color:var(--graphite);cursor:pointer}
.nav-item{display:flex;align-items:center;gap:10px}.nav-item span{flex:1}.nav-item.active,.nav-item:hover,.submenu button:hover{background:var(--surface);color:var(--gold-dark)}
.submenu{display:none;padding:2px 0 7px 29px}.submenu.open{display:grid}.submenu button{font-size:13px;color:var(--muted)}
.logout-button{margin-top:auto;padding:11px;border:1px solid var(--border);background:transparent;border-radius:10px;cursor:pointer}
.content{min-width:0}.topbar{position:sticky;top:0;z-index:10;background:rgba(248,245,238,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);padding:14px 20px;display:flex;gap:18px;align-items:end}
.icon-button{display:none;border:0;background:transparent;font-size:24px}.property-selector{flex:1}.property-selector label{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.property-selector select{width:min(420px,100%);padding:10px;border:1px solid var(--border);border-radius:11px;background:var(--surface)}
.user-info{text-align:right}.user-info span,.user-info small{display:block}.user-info small{color:var(--muted)}
.page-content{padding:24px}.page-header{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:22px}.page-header h1{margin:0}.page-header p{margin:7px 0 0;color:var(--muted)}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:18px}.metric span{display:block;color:var(--muted);font-size:13px}.metric strong{display:block;margin-top:8px;font-size:24px}
.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}.module-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px}.module-card h3{margin:0 0 8px}.module-card p{color:var(--muted);margin:0 0 15px}.module-card button{border:0;background:var(--surface-2);padding:10px 13px;border-radius:10px;cursor:pointer}
.empty-state{background:var(--surface);border:1px dashed var(--border);border-radius:16px;padding:32px;text-align:center;color:var(--muted)}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.settings-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:18px}
.bottom-nav{display:none}.toast{position:fixed;right:18px;bottom:18px;z-index:100;background:var(--graphite);color:white;padding:12px 15px;border-radius:10px;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1}
dialog{border:0;border-radius:18px;padding:0;background:var(--surface);width:min(360px,90vw)}dialog form{display:grid;padding:20px;gap:9px}dialog h2{margin:0 0 8px}dialog button{padding:12px;border:1px solid var(--border);background:white;border-radius:10px}
@media(max-width:1050px){.metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){
 .app-shell{display:block}.sidebar{position:fixed;left:-310px;top:0;z-index:30;width:290px;transition:.2s}.sidebar.open{left:0}.icon-button{display:block}
 .topbar{padding:10px 12px;align-items:center}.user-info{display:none}.page-content{padding:16px 12px 90px}.metrics,.module-grid,.settings-grid{grid-template-columns:1fr}
 .bottom-nav{position:fixed;z-index:20;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);background:var(--surface);border-top:1px solid var(--border);padding:7px 5px calc(7px + env(safe-area-inset-bottom))}
 .bottom-nav button{border:0;background:transparent;display:grid;justify-items:center;gap:3px;font-size:18px}.bottom-nav span{font-size:10px}.quick-add{background:var(--gold)!important;color:white;border-radius:50%!important;width:48px;height:48px;justify-self:center;margin-top:-22px}
}
