:root{
 --cream:#f5efe3;--paper:#fbf7ef;--burg:#6e1831;--gold:#b99146;--dark:#2c2927;
 --mid:#6c6661;--line:#e8ded0;--green:#5f7c65;--amber:#b9852b;--red:#a64a4a;--white:#fff;
}
*{box-sizing:border-box}html{min-height:100%}
body{
 margin:0;font-family:Georgia,"Times New Roman",serif;color:var(--dark);min-height:100vh;
 background-color:var(--cream);
 background-image:
   linear-gradient(rgba(245,239,227,.86),rgba(245,239,227,.86)),
   url("/static/brand/basic-background.webp"),
   radial-gradient(circle at 72% 15%,rgba(185,145,70,.10) 0 2px,transparent 2.5px),
   radial-gradient(circle at 96% 55%,rgba(110,24,49,.06),transparent 25%);
 background-size:auto,cover,22px 22px,auto;
 background-attachment:fixed;
}
body:before{
 content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;
 background:
 radial-gradient(ellipse at -8% 0%,rgba(110,24,49,.22),transparent 35%),
 radial-gradient(ellipse at 100% 100%,rgba(185,145,70,.12),transparent 30%);
}
button,input,select,textarea{font:inherit}
.topbar{height:92px;background:rgba(251,247,239,.92);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:12px 28px;gap:24px;position:sticky;top:0;z-index:10;backdrop-filter:blur(10px)}
.brand-area{min-width:235px}.portal-name strong{font-size:24px;color:var(--burg)}.portal-name strong span{color:var(--gold)}.portal-name small{display:block;color:var(--burg);margin-top:3px}
.logo-slot{margin-left:auto;display:flex;align-items:center;min-width:90px;justify-content:flex-end}
.logo-slot img{width:66px;height:66px;object-fit:contain}
.logo-missing{display:none;border:1px dashed var(--gold);color:var(--burg);padding:8px 14px;border-radius:10px;text-align:center;background:#fff9}
.env{background:var(--gold);color:#fff;padding:7px 11px;border-radius:999px;font:700 11px Arial}
.shell{display:grid;grid-template-columns:265px 1fr;min-height:calc(100vh - 92px)}
.sidebar{
 background:linear-gradient(180deg,#7b1738,#5f1029);
 padding:25px 16px;color:white;position:relative;overflow:hidden
}
.sidebar:after{content:"";position:absolute;inset:auto -50px -70px -40px;height:220px;border:1px solid rgba(185,145,70,.65);border-radius:50%;transform:rotate(-12deg)}
.sidebar a,.linklike{display:block;width:100%;color:#fff;text-decoration:none;background:transparent;border:0;text-align:left;padding:13px 16px;border-radius:11px;margin:3px 0;cursor:pointer}
.sidebar a:hover,.linklike:hover{background:rgba(255,255,255,.12)}
.side-claim{position:absolute;left:30px;bottom:70px;font-size:22px;font-style:italic;color:#fff;line-height:1.25}
main{padding:34px;min-width:0}.login-main{grid-column:1/-1;padding:42px}
.pagehead{display:flex;justify-content:space-between;margin-bottom:22px}.pagehead h1{margin:0;color:var(--burg);font-size:38px}.pagehead p{margin:7px 0;color:var(--mid)}
.eyebrow{font:700 11px Arial;letter-spacing:.18em;color:var(--gold);margin-bottom:8px}
.status-card,.panel,.card,.qmcard,.login-card{background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:20px;box-shadow:0 12px 32px rgba(80,45,30,.06)}
.status-card{display:grid;grid-template-columns:210px 1fr 250px;align-items:center;gap:20px;padding:22px;margin-bottom:18px}
.status-card h2{margin:0;color:var(--burg)}.status-card strong{display:block;color:var(--burg);font-size:45px}.status-card small{display:block;color:var(--mid);margin-top:5px}
.progress{height:15px;background:#eee5d9;border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,#9a6a26,var(--gold));border-radius:999px}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.card{padding:20px}.card strong{display:block;color:var(--burg);font-size:34px}.card span{font-family:Arial,sans-serif}
.two,.cards2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.panel,.qmcard{padding:20px}.panel h2,.qmcard h2{color:var(--burg);margin-top:0}
.qmcard strong{font-size:24px;color:var(--burg)}.qmcard>div:first-child{display:flex;justify-content:space-between;gap:10px}
.listrow{display:flex;gap:14px;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #efe6da}.listrow small{display:block;color:var(--mid);margin-top:4px}.listrow:last-child{border-bottom:0}
.pill{display:inline-block;background:var(--green);color:#fff;border-radius:999px;padding:5px 10px;font:700 11px Arial}.pill.p1{background:var(--red)}.pill.p2{background:var(--gold)}
table{width:100%;border-collapse:collapse}th,td{padding:12px;text-align:left;border-bottom:1px solid var(--line);font-family:Arial,sans-serif;font-size:13px}th{color:var(--burg)}
button{background:var(--burg);color:#fff;border:0;border-radius:10px;padding:9px 12px;cursor:pointer;font-weight:700}.green{background:var(--green)}.danger{background:var(--red)}.secondary{background:#fff;color:var(--burg);border:1px solid var(--burg)}
.inline{display:inline-block;margin-right:6px}.actions{display:flex;gap:9px;margin-top:15px}
.login-card{max-width:1120px;margin:18px auto;display:grid;grid-template-columns:1fr 1fr;overflow:hidden}
.login-photo{min-height:600px;padding:52px;color:#fff;display:flex;align-items:center;
 background:
 linear-gradient(135deg,rgba(110,24,49,.94),rgba(110,24,49,.76)),
 url("/static/brand/basic-background.webp");
 background-size:cover;
}
.login-photo h1{font-size:52px;margin:12px 0;max-width:440px}.login-photo p{font-size:22px}.login-form{padding:58px;background:#fff}.login-form h1{font-size:42px;color:var(--burg);margin:5px 0 8px}.login-form label,dialog label{display:block;font:700 12px Arial;color:var(--mid);margin:18px 0 7px}.login-form input,dialog select,dialog textarea{width:100%;border:1px solid var(--line);border-radius:11px;padding:13px 14px}.login-form button{width:100%;margin-top:18px;padding:13px}
.alert{background:#f8e7e7;color:var(--red);padding:10px;border-radius:10px}
.feedback-btn{position:fixed;right:24px;bottom:24px;background:var(--gold);z-index:20}dialog{border:0;border-radius:18px;padding:26px;width:min(520px,92vw);box-shadow:0 30px 80px #0004}dialog textarea{min-height:120px}
@media(max-width:950px){.shell{grid-template-columns:1fr}.sidebar{display:flex;overflow:auto;position:static;padding:10px}.sidebar a,.linklike{white-space:nowrap;width:auto}.side-claim{display:none}.status-card{grid-template-columns:1fr}.kpis{grid-template-columns:1fr 1fr}.logo-slot{min-width:180px}.logo-slot img{max-width:180px}.portal-name small{display:none}}
@media(max-width:650px){.topbar{height:auto;flex-wrap:wrap}.logo-slot{order:3;width:100%;justify-content:flex-start}.kpis,.two,.cards2,.login-card{grid-template-columns:1fr}.login-photo{min-height:300px}.login-main,main{padding:16px}.pagehead h1{font-size:30px}}
