.owner-shell{min-height:100vh; display:flex; flex-direction:column; background:var(--ivory);}
.owner-header{
  display:flex; justify-content:space-between; align-items:center;
  padding:22px 40px; border-bottom:1px solid var(--hairline); background:var(--paper);
}
.owner-title{font-family:var(--display); font-size:1.25rem; font-weight:700; color:var(--navy); display:flex; align-items:center; gap:10px;}
.owner-title img{height:32px;}
.owner-title em{color:var(--gold); font-style:normal;}
.exit-link{font-size:0.82rem; color:var(--muted); text-decoration:none;}
.exit-link:hover{color:var(--gold);}

.login-screen{flex:1; display:flex; align-items:center; justify-content:center; padding:40px;}
.login-card{width:100%; max-width:380px; border:1px solid var(--hairline); background:var(--paper); border-radius:10px; padding:44px 40px;}
.login-card h2{font-family:var(--display); font-size:1.5rem; margin-bottom:8px; font-weight:700; color:var(--navy);}
.login-card .sub{color:var(--muted); font-size:0.88rem; margin-bottom:28px;}
.login-card form{gap:16px; display:grid;}
.login-card .field input{
  background:var(--ivory); border:1px solid var(--hairline); color:var(--navy);
}
.login-error{color:var(--error); font-size:0.82rem; margin-top:-4px;}

.dash-body{padding:40px; flex:1;}
.dash-metrics{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:36px;}
.dash-metric{background:var(--paper); border:1px solid var(--hairline); border-radius:8px; padding:22px;}
.dash-metric-val{font-family:var(--display); font-size:1.7rem; font-weight:700; color:var(--navy);}
.dash-metric-label{font-size:0.72rem; letter-spacing:0.05em; text-transform:uppercase; color:var(--muted); margin-top:6px;}

.dash-toolbar{display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:20px; flex-wrap:wrap;}
.dash-toolbar input{
  background:var(--paper); border:1px solid var(--hairline); color:var(--navy);
  padding:11px 14px; border-radius:var(--radius); font-family:var(--body); font-size:0.88rem; min-width:220px;
}
.dash-actions{display:flex; gap:12px;}
.btn-small{
  font-size:0.8rem; font-weight:700; color:var(--navy-deep); background:var(--gold);
  border:none; padding:11px 18px; border-radius:var(--radius); cursor:pointer; text-decoration:none; display:inline-block;
}
.btn-small.secondary{background:var(--paper); color:var(--navy); border:1px solid var(--hairline);}

table{width:100%; border-collapse:collapse; font-size:0.87rem; background:var(--paper); border:1px solid var(--hairline); border-radius:8px; overflow:hidden;}
thead th{
  text-align:left; font-size:0.72rem; letter-spacing:0.05em; text-transform:uppercase;
  color:var(--muted); padding:12px 14px; border-bottom:1px solid var(--hairline); font-weight:700; background:var(--ivory);
}
tbody td{padding:14px; border-bottom:1px solid var(--hairline); color:var(--navy);}
tbody tr:hover{background:var(--ivory);}
.empty-state{text-align:center; padding:60px 20px; color:var(--muted); background:var(--paper); border:1px solid var(--hairline); border-radius:8px;}
.empty-state strong{display:block; color:var(--navy); font-family:var(--display); font-size:1.3rem; margin-bottom:8px; font-weight:700;}

.range-bars{display:flex; flex-direction:column; gap:10px; margin-bottom:36px; background:var(--paper); border:1px solid var(--hairline); border-radius:8px; padding:20px;}
.range-bar-row{display:grid; grid-template-columns:160px 1fr 40px; align-items:center; gap:12px; font-size:0.82rem; color:var(--navy);}
.range-bar-track{background:var(--ivory); height:8px; border-radius:2px; overflow:hidden;}
.range-bar-fill{background:var(--gold); height:100%;}
