/* ImobiFlow visual identity — gold, graphite and paper tones */
:root{
  --brand-ink:#111214;
  --brand-graphite:#202124;
  --brand-graphite-2:#2c2d31;
  --brand-gold:#c99a2e;
  --brand-gold-bright:#e4c46a;
  --brand-gold-deep:#8f6515;
  --brand-cream:#f8f5ed;
  --brand-paper:#fffdf8;
  --brand-border:#e4d4ad;
  --brand-muted:#716856;
}
body{background:linear-gradient(180deg,#f8f5ed 0,#faf9f5 42%,#f4f5f7 100%);color:#1d1f22}
aside{background:linear-gradient(180deg,#090909 0%,#171719 58%,#0c0c0d 100%);border-right:1px solid #4a3817;box-shadow:14px 0 34px rgba(17,18,20,.08);padding-top:20px}
.brand-logo{display:block;width:auto;max-width:160px;height:auto;max-height:132px;margin:0 auto 10px;object-fit:contain;image-rendering:auto;border-radius:0}
aside>small{display:none}
nav{border-top:1px solid rgba(201,154,46,.22);padding-top:16px;margin-top:8px;gap:5px}
nav a{position:relative;color:#f2ead9;border:1px solid transparent;padding:10px 12px;transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease}
nav a:hover{background:linear-gradient(90deg,rgba(201,154,46,.18),rgba(201,154,46,.05));border-color:rgba(201,154,46,.25);color:#f1ca72;transform:translateX(2px)}
nav a.is-active{background:linear-gradient(90deg,rgba(201,154,46,.30),rgba(201,154,46,.08));border-color:rgba(228,196,106,.42);color:#f5d98f;box-shadow:inset 3px 0 0 var(--brand-gold-bright)}
nav a.is-active::after{content:'';position:absolute;right:10px;top:50%;width:5px;height:5px;border-radius:50%;background:var(--brand-gold-bright);transform:translateY(-50%);box-shadow:0 0 0 3px rgba(228,196,106,.12)}
.logout-form button{background:#171719;border-color:#55421d;color:#e7d8b4}
.logout-form button:hover{background:#28231a;border-color:#8f6a24}
main{background:transparent}
header{padding:2px 2px 19px;border-bottom:1px solid #eadfc7;position:relative}
header::after{content:'';position:absolute;left:0;bottom:-1px;width:72px;height:2px;background:linear-gradient(90deg,var(--brand-gold),var(--brand-gold-bright))}
header h1{color:#171719;letter-spacing:-.03em;font-size:32px}
header p{color:#776e5c;max-width:850px}
.card,.panel,.notice,.person-hero{background:rgba(255,253,248,.98);border-color:var(--brand-border);box-shadow:0 10px 28px rgba(28,24,15,.055)}
.panel{border-top:2px solid rgba(201,154,46,.34)}
.panel h2,.person-hero h2{color:#1a1a1b}
.notice{border-left-color:var(--brand-gold);background:linear-gradient(90deg,#fff7e5 0%,#fffdf8 55%);box-shadow:0 8px 22px rgba(73,50,10,.05)}
.kpis{gap:14px}
.card.kpi{position:relative;overflow:hidden;border:1px solid #e6d8b8;border-top:3px solid var(--brand-gold);min-height:138px;padding:19px 20px;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.card.kpi::after{content:'';position:absolute;right:-28px;top:-38px;width:96px;height:96px;border-radius:50%;background:radial-gradient(circle,rgba(228,196,106,.22),rgba(228,196,106,0) 70%);pointer-events:none}
.card.kpi:hover{transform:translateY(-2px);border-color:#d8bd7c;box-shadow:0 14px 30px rgba(68,49,14,.09)}
.kpi span,.muted,header p{color:#766f62}
.kpi span{font-weight:700;letter-spacing:.01em}
.kpi strong{color:#171719;font-size:29px;line-height:1.12;margin:10px 0}
.kpi small{color:#9b8c6e}
th{color:#786744;background:#faf6ed}
th,td{border-bottom-color:#eee3ca}
tbody tr:hover td{background:#fffaf0}
td a,.table-action{color:#8a6117}
td a:hover,.table-action:hover{color:#b47e18}
.formgrid input,.formgrid select,.formgrid textarea,.upload-form input,.upload-form select,.searchbar input,.searchbar select,.mini-filter select,.inline-pay input{border-color:#d9ccb0;background:#fffefb}
.formgrid input:focus,.formgrid select:focus,.formgrid textarea:focus,.upload-form input:focus,.upload-form select:focus,.searchbar input:focus,.searchbar select:focus,.mini-filter select:focus,.inline-pay input:focus{outline:none;border-color:#c89a38;box-shadow:0 0 0 3px rgba(201,154,46,.16)}
.formgrid button,.upload-form button,.button,.receipt-actions button,.searchbar button,.mini-filter button,.small-button,.person-hero button,.inline-pay button,.login-form button{background:linear-gradient(180deg,var(--brand-gold-bright),var(--brand-gold));color:#17120a;border:1px solid #a97a1c;box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 4px 12px rgba(122,82,12,.14)}
.formgrid button:hover,.upload-form button:hover,.button:hover,.receipt-actions button:hover,.searchbar button:hover,.mini-filter button:hover,.small-button:hover,.person-hero button:hover,.inline-pay button:hover,.login-form button:hover{filter:brightness(.96)}
.secondary,.secondary-link{background:#ece7dc!important;color:#3a352d!important;border-color:#d8c8a7!important;box-shadow:none!important}
.subnav a{background:#f4ead2;color:#745217;border:1px solid #e0c991}
.check-item,.favorite-grid a{background:#fffaf0;border-color:#e6d6b5}
.eyebrow{color:#a27219}
.login-page{background:radial-gradient(circle at top,#29261f 0%,#111214 52%,#090909 100%)}
.login-shell{background:#fffdf8;border-color:#bd9140;box-shadow:0 30px 90px rgba(0,0,0,.4);padding:28px}
.login-shell .brand-logo{max-width:220px;max-height:180px;margin:-8px auto 4px}
.login-shell>p{text-align:center;color:#746b5a;margin-top:0}
.login-note{border-top:1px solid #eadfc7;padding-top:14px;color:#827764}
.receipt-sheet{border-top:5px solid var(--brand-gold);background:#fffdf8}
.receipt-sheet h1{color:#171719}
.receipt-number{color:#8b6a2d}
@media(max-width:800px){
  .brand-logo{max-width:148px;max-height:120px}
  aside{padding-top:16px}
  nav{margin-top:4px}
  nav a.is-active::after{display:none}
  header h1{font-size:28px}
  .card.kpi{min-height:120px}
}
.sidebar-brand img,
.brand-logo img,
img.sidebar-logo,
.brand img {
  display: block;
  width: 100%;
  max-width: 220px;
  height: auto;
  object-fit: contain;
  image-rendering: auto;
}

