:root{
  --ink:#102033;--blue:#1577d2;--blue2:#0f5ea8;--line:#dbe6f2;--soft:#f4f8fd;
  --good:#22a06b;--bad:#c0392b;--warn:#d97706;--muted:#64748b;
}
*{box-sizing:border-box}
body{margin:0;font-family:Segoe UI,Arial,sans-serif;color:var(--ink);background:linear-gradient(135deg,#f7fbff,#eef5ff)}
a{color:var(--blue);text-decoration:none}
.topbar{min-height:92px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:12px 34px;box-shadow:0 8px 24px rgba(15,45,80,.06);gap:20px}
.topbar .left{display:flex;align-items:center;gap:18px}
.brand{display:flex;align-items:center;gap:16px}
.brand-logo{width:260px;max-height:104px;object-fit:contain;display:block}
.brand-logo.compact{width:220px;max-height:86px}
.brand-copy{display:flex;flex-direction:column;gap:3px;line-height:1.1}
.brand-copy strong{font-size:21px;letter-spacing:.01em;color:var(--ink)}
.brand-copy span{font-size:13px;color:var(--muted)}
.brand-compact .brand-copy strong{font-size:19px}
.brand-compact .brand-copy span{font-size:12px}
.section-label{border-left:1px solid var(--line);padding-left:16px;color:var(--muted);font-weight:600}

.brand-badges{display:flex;gap:7px;align-items:center;margin-top:5px}
.brand-badges img{width:30px;height:30px;object-fit:contain;border-radius:8px;background:white;border:1px solid var(--line);padding:2px}
.topbar b{font-size:19px;margin-right:8px}
.topbar span{color:var(--muted)}
.topbar nav{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.nav-menu{position:relative;display:inline-block}
.nav-menu summary{cursor:pointer;list-style:none;font-weight:700;color:var(--blue)}
.nav-menu summary::-webkit-details-marker{display:none}
.nav-menu .drop{position:absolute;right:0;top:28px;background:white;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 35px rgba(30,60,90,.14);min-width:210px;z-index:10;padding:8px}
.nav-menu .drop a{display:block;padding:10px 12px;border-radius:10px;color:var(--ink)}
.nav-menu .drop a:hover{background:var(--soft)}
.container{max-width:1180px;margin:0 auto;padding:28px}
.container.narrow{max-width:760px}
.hero,.card{background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:20px;padding:24px;margin-bottom:18px;box-shadow:0 14px 35px rgba(30,60,90,.06)}
.hero h1,.page-title h1{margin:0 0 8px;font-size:32px}
.hero p,.page-title p,.muted{color:var(--muted)}
.grid{display:grid;gap:18px}
.grid.two{grid-template-columns:1fr 1fr}
.grid.three{grid-template-columns:repeat(3,1fr)}
.page-title{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:18px;gap:20px}
.btn{display:inline-block;border:1px solid var(--line);border-radius:12px;background:white;padding:10px 14px;font-weight:700;cursor:pointer;color:var(--blue)}
.btn.primary{background:var(--blue);border-color:var(--blue);color:white}
.btn.primary:hover{background:var(--blue2)}
.btn.small{padding:7px 10px;font-size:13px}
.btn.danger{color:var(--bad)}
.btn.full{width:100%;text-align:center}
table{width:100%;border-collapse:collapse}
th{text-align:left;color:#64748b;font-size:12px;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--line);padding:10px}
td{border-bottom:1px solid #edf2f7;padding:12px 10px;vertical-align:top}
.badge{border-radius:999px;padding:3px 8px;font-size:12px;font-weight:700}
.badge.good{background:#eaf7f1;color:var(--good)}
.badge.bad{background:#fdeceb;color:#a5271d}
.badge.warn{background:#fff4e5;color:var(--warn)}
.form label{display:block;font-weight:700;margin:12px 0 6px}
.form input,.form textarea,.form select{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px;font-size:15px;background:white}
.form textarea{min-height:120px}
.check{display:flex!important;gap:10px;align-items:center}
.check input{width:auto}
.alert{padding:12px 14px;border-radius:12px;margin:12px 0}
.alert.bad{background:#fdeceb;color:#a5271d}
.alert.ok{background:#eaf7f1;color:#126d47}
.alert.warn{background:#fff4e5;color:#8a4b00}
.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}
.login-card{background:white;border:1px solid var(--line);border-radius:24px;padding:34px;width:min(460px,94vw);box-shadow:0 20px 60px rgba(20,60,100,.12)}
.login-card h1{margin:12px 0 4px;font-size:28px}
.login-card p{color:#64748b;margin-top:0;line-height:1.45}
.login-card .brand{justify-content:center;display:flex;flex-direction:column;text-align:center;gap:12px}
.login-card .brand-logo{width:260px;max-height:104px;object-fit:contain;display:block}
.login-card .brand-badges img{width:30px;height:30px;object-fit:contain;border-radius:8px;background:white;border:1px solid var(--line);padding:2px}
.login-card label{display:block;font-weight:700;margin:14px 0 6px}
.login-card input{width:100%;padding:13px;border:1px solid var(--line);border-radius:12px;margin-bottom:8px}
.footer-note{margin-top:18px;color:var(--muted);font-size:12px;line-height:1.45;border-top:1px solid var(--line);padding-top:14px}
.metric{background:white;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 10px 25px rgba(30,60,90,.05)}
.metric b{display:block;font-size:28px;margin-bottom:4px}
.metric span{color:var(--muted);font-size:13px}
.actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:850px){
  .grid.two,.grid.three{grid-template-columns:1fr}.page-title{display:block}.topbar{min-height:92px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:12px 34px;box-shadow:0 8px 24px rgba(15,45,80,.06);gap:20px}.topbar nav{margin-top:10px}.brand-logo{width:260px;max-height:104px;object-fit:contain;display:block}.brand-badges{display:flex;gap:7px;align-items:center;margin-top:5px}
}

.login-card .brand-logo{width:280px;max-height:112px;margin:0 auto}
.login-card .brand-copy{align-items:center}
.login-card .brand-copy strong{font-size:24px}
.login-card .brand-badges img{width:36px;height:36px}
@media(max-width:760px){
  .topbar{align-items:flex-start;flex-direction:column;padding:14px 18px}
  .brand-logo.compact{width:190px;max-height:74px}
  .brand-copy strong{font-size:18px}
  .section-label{border-left:0;padding-left:0}
}
