/* Фирменные цвета Latvijas Propāna Gāze (брендбук):
   зелёный C85 M10 Y100 K10/K35/K55, красный Pantone 200c */
:root{
  --brand:#0C9444;
  --brand-strong:#037433;
  --brand-deep:#005A24;
  --brand-red:#C7252B;
  --color-background-primary:#ffffff;
  --color-background-secondary:#f4f6f3;
  --color-text-primary:#1a1a18;
  --color-text-secondary:#6b6a65;
  --color-border-tertiary:rgba(0,0,0,0.12);
  --color-border-secondary:rgba(0,0,0,0.25);
  --color-danger:var(--brand-red);
  --color-ok:var(--brand-strong);
  --border-radius-md:8px;
  --font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
/* Сайт всегда на белом фоне, как макеты брендбука */
html,body{margin:0;padding:0;background:#ffffff;color:var(--color-text-primary);font-family:var(--font-sans);color-scheme:light;}
.wrap{max-width:760px;margin:0 auto;padding:1rem 1.25rem 3rem;}
.wrap-wide{max-width:1100px;}
h1{font-size:22px;font-weight:600;margin:0 0 .25rem;color:var(--brand);text-transform:uppercase;letter-spacing:.3px;}
.wrap > h1::before{content:'';display:inline-block;width:10px;height:20px;margin-right:10px;background:var(--brand-red);border-radius:2px;vertical-align:-2px;}
.sub{font-size:13px;color:var(--color-text-secondary);margin:0 0 1rem;}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);}

/* Кнопки и контролы */
.qbtn,.ybtn,.mbtn,.gbtn{font-family:var(--font-sans);font-size:13px;padding:6px 12px;border-radius:var(--border-radius-md);border:0.5px solid var(--color-border-secondary);background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:all .12s;}
.qbtn:hover,.ybtn:hover,.mbtn:hover,.gbtn:hover{background:var(--color-background-secondary);}
.qbtn.on{background:var(--qc);color:#fff;border-color:var(--qc);}
.ybtn.on,.mbtn.on{background:var(--brand);color:#fff;border-color:var(--brand);}
.gbtn{font-size:12px;padding:5px 10px;color:var(--color-text-secondary);}
.btn-primary{background:var(--brand);color:#fff;border:none;padding:9px 18px;border-radius:var(--border-radius-md);font-size:14px;cursor:pointer;font-family:var(--font-sans);}
.btn-primary:hover{background:var(--brand-strong);}
.btn-primary:disabled{opacity:.5;cursor:default;}
.btn-danger{color:var(--color-danger);border-color:var(--color-danger);}

select,input[type=date],input[type=number],input[type=text],input[type=email],input[type=password],input[type=url]{
  padding:6px 8px;font-family:var(--font-sans);font-size:13px;border-radius:var(--border-radius-md);
  border:0.5px solid var(--color-border-secondary);background:var(--color-background-primary);
  color:var(--color-text-primary);color-scheme:light;
}
select option{background:var(--color-background-primary);color:var(--color-text-primary);}
input:focus,select:focus{outline:none;border-color:var(--brand);}

/* Карточки метрик */
.mcard{background:var(--color-background-secondary);border-radius:var(--border-radius-md);padding:.75rem .85rem;}
.mcard .lbl{font-size:12px;color:var(--color-text-secondary);margin:0 0 4px;}
.mcard .val{font-size:20px;font-weight:500;margin:0;}

/* Панель управления */
.ctl-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:.55rem 0;border-bottom:0.5px solid var(--color-border-tertiary);}
.ctl-row:last-of-type{border-bottom:none;}
.ctl-lbl{font-size:12px;color:var(--color-text-primary);font-weight:600;min-width:96px;letter-spacing:.2px;}
.ctl-hint{font-size:11px;color:var(--color-text-secondary);font-style:italic;}

/* Шапка */
.topbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;padding:.75rem 0;border-bottom:0.5px solid var(--color-border-tertiary);margin-bottom:1rem;}
.topbar-links{display:flex;gap:14px;align-items:center;}
.topbar-logo{height:34px;width:auto;margin-right:6px;}
.topbar-links a{font-size:13px;color:var(--color-text-secondary);text-decoration:none;padding:4px 2px;}
.topbar-links a.on{color:var(--brand);font-weight:600;border-bottom:2px solid var(--brand);}
.topbar-links a:hover{color:var(--brand-strong);}
.topbar-user{display:flex;align-items:center;gap:10px;}
.topbar-email{font-size:12px;color:var(--color-text-secondary);}
.badge{font-size:11px;padding:2px 8px;border-radius:10px;background:var(--color-background-secondary);color:var(--color-text-secondary);border:0.5px solid var(--color-border-tertiary);}
.badge-admin{background:var(--brand);color:#fff;border-color:var(--brand);}

/* Логин */
.login-box{max-width:360px;margin:14vh auto 0;padding:2rem;background:var(--color-background-secondary);border-radius:12px;border-top:4px solid var(--brand);}
.login-box h1{font-size:20px;margin-bottom:1.25rem;}
.login-box label{display:block;font-size:13px;color:var(--color-text-secondary);margin:.75rem 0 .25rem;}
.login-box input{width:100%;box-sizing:border-box;padding:9px 10px;font-size:14px;}
.login-box .btn-primary{width:100%;margin-top:1.25rem;}
.form-error{color:var(--color-danger);font-size:13px;margin-top:.75rem;min-height:1em;}

/* Админ: секции и таблицы */
.panel{background:var(--color-background-secondary);border-radius:var(--border-radius-md);padding:1rem 1.1rem;margin-bottom:1.25rem;}
.panel h2{font-size:16px;font-weight:600;margin:0 0 .75rem;color:var(--brand-strong);text-transform:uppercase;letter-spacing:.3px;}
.panel .note{font-size:12px;color:var(--color-text-secondary);margin:.25rem 0 .75rem;}
.field-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:10px;}
.field-grid label{display:block;font-size:11px;color:var(--color-text-secondary);margin-bottom:3px;}
.field-grid input{width:100%;box-sizing:border-box;}
.data-table{width:100%;border-collapse:collapse;font-size:12px;}
.data-table th,.data-table td{padding:5px 8px;text-align:right;border-bottom:0.5px solid var(--color-border-tertiary);white-space:nowrap;}
.data-table th{color:var(--color-text-secondary);font-weight:500;position:sticky;top:0;background:var(--color-background-secondary);}
.data-table td:first-child,.data-table th:first-child{text-align:left;}
.data-table tbody tr{cursor:pointer;}
.data-table tbody tr:hover{background:var(--color-background-primary);}
.tbl-scroll{max-height:420px;overflow:auto;border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);}
.status-msg{font-size:13px;margin-top:.5rem;min-height:1.2em;}
.status-msg.ok{color:var(--color-ok);}
.status-msg.err{color:var(--color-danger);}
.muted{color:var(--color-text-secondary);}
.loading-overlay{padding:4rem 0;text-align:center;color:var(--color-text-secondary);font-size:14px;}
