
:root{
  --bg:#f4f6f8; --card:#fff; --text:#18212b; --muted:#6d7782;
  --line:#dfe4e8; --blue:#275fc2; --blue2:#194a9e; --red:#b42318; --green:#067647;
}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}
.wrap{max-width:1320px;margin:0 auto;padding:28px}
header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}
.actions{display:flex;gap:10px;flex-wrap:wrap}
h1{margin:0 0 6px;font-size:30px} h2{margin-top:0}
.muted{color:var(--muted)} .small{font-size:12px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:22px;margin-bottom:20px}
.card.compact{padding:14px 18px}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.two-cols{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}
label{display:block;font-weight:700;margin-bottom:14px}
input,select{width:100%;margin-top:6px;padding:11px 12px;border:1px solid #cfd6dc;border-radius:8px;font-size:15px;background:white}
select{cursor:pointer}
.check{display:flex;align-items:center;gap:8px;font-weight:700}
.check input{width:auto;margin:0}
.button{display:inline-block;background:var(--blue);color:white;text-decoration:none;border:0;border-radius:8px;padding:12px 16px;font-weight:700;cursor:pointer}
.button:hover{background:var(--blue2)} .secondary{background:#39424e}
.flash{padding:12px 14px;border-radius:8px;margin-bottom:16px}
.flash.success{background:#ecfdf3;color:var(--green)} .flash.error{background:#fef3f2;color:var(--red)}
.totals{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}
.totals.four{grid-template-columns:repeat(4,1fr)}
.stat{background:white;border:1px solid var(--line);border-radius:12px;padding:18px}
.stat span{display:block;color:var(--muted);margin-bottom:5px}.stat strong{font-size:24px}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top}
th{background:#f8fafb}
a{color:var(--blue)}
.danger{border:0;background:#fee4e2;color:var(--red);padding:8px 10px;border-radius:6px;cursor:pointer}
.month-row{display:flex;align-items:end;gap:12px}.month-row label{margin:0;min-width:220px}
.contact-list{margin-top:18px;border-top:1px solid var(--line)}
.contact{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.tag{font-size:11px;background:#eef2f7;border-radius:12px;padding:3px 7px;color:#4c5865}
@media(max-width:900px){
  .grid,.grid.three,.totals,.totals.four,.two-cols{grid-template-columns:1fr}
  header{align-items:flex-start;flex-direction:column}
  .wrap{padding:14px}
  .month-row{align-items:stretch;flex-direction:column}
}
