:root{
  --navy:#1c3d63;
  --navy-2:#27517f;
  --slate:#8a99ab;
  --ink:#1a2a3a;
  --paper:#fbf8f0;
  --paper-2:#f4f1e4;
  --line:#e2dcc8;
  --rule:#c9b896;
  --rule-strong:#8b7355;
  --head:#eef1f5;
  --danger:#7a1f2b;
  --ok:#2f6b4f;
}
*{box-sizing:border-box;}
body{
  margin:0;font-family:"Segoe UI",system-ui,-apple-system,sans-serif;
  background:var(--paper-2);color:var(--ink);line-height:1.5;
}
a{color:var(--navy);}

/* ---- Top bar ---- */
.topbar{
  background:var(--navy);color:#fff;
  display:flex;align-items:center;gap:14px;
  padding:10px 20px;
}
.topbar .brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px;letter-spacing:.5px;}
.topbar .brand svg{height:34px;width:auto;}
.topbar .sub{font-size:11px;letter-spacing:3px;color:#aab8c9;font-weight:400;}
.topbar .spacer{flex:1;}
.topbar .user{font-size:13px;color:#cdd8e4;}
.topbar a.btn-top{
  color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.4);
  padding:5px 12px;border-radius:4px;font-size:13px;
}
.topbar a.btn-top:hover{background:rgba(255,255,255,.12);}

/* ---- Layout ---- */
.wrap{max-width:1300px;margin:0 auto;padding:20px;}
.card{
  background:var(--paper);border:1px solid var(--line);border-radius:8px;
  padding:22px 24px;box-shadow:0 4px 18px rgba(0,0,0,.06);
}

/* ---- Buttons ---- */
button,.btn{
  font-family:inherit;font-size:14px;cursor:pointer;
  border:1px solid var(--navy);background:var(--navy);color:#fff;
  padding:9px 16px;border-radius:5px;text-decoration:none;display:inline-block;
  transition:background .15s,transform .05s;
}
button:hover,.btn:hover{background:var(--navy-2);}
button:active,.btn:active{transform:translateY(1px);}
.btn-ghost{background:var(--head);color:var(--ink);border-color:var(--rule-strong);}
.btn-ghost:hover{background:#e4e9f0;}
.btn-danger{background:var(--danger);border-color:var(--danger);}
button:focus-visible,.btn:focus-visible,input:focus-visible{outline:2px solid var(--navy-2);outline-offset:2px;}

/* ---- Auth pages ---- */
.auth{max-width:420px;margin:8vh auto;}
.auth .card{padding:30px;}
.auth h1{margin:0 0 4px;font-size:22px;color:var(--navy);}
.auth .muted{color:#7a6f5a;font-size:13px;margin-bottom:20px;}
.auth-logo{display:flex;justify-content:center;margin-bottom:18px;}
.auth-logo svg{height:120px;}
.field{display:flex;flex-direction:column;gap:5px;margin-bottom:14px;}
.field label{font-size:12px;font-weight:600;color:#5a5040;text-transform:uppercase;letter-spacing:.5px;}
input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],textarea,select{
  font-family:inherit;font-size:15px;padding:9px 11px;
  border:1px solid var(--rule-strong);border-radius:5px;background:#fffdf7;color:var(--ink);width:100%;
}
textarea{resize:vertical;min-height:46px;}
.msg{padding:10px 14px;border-radius:5px;font-size:14px;margin-bottom:14px;}
.msg.err{background:#f7e4e6;color:var(--danger);border:1px solid #e3b9bf;}
.msg.ok{background:#e3f0e9;color:var(--ok);border:1px solid #b5d6c5;}
.auth .alt{text-align:center;margin-top:16px;font-size:14px;}

/* ---- Toolbar ---- */
.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:16px;}
.toolbar .spacer{flex:1;}

/* ---- Table ---- */
.table-wrap{overflow-x:auto;border:1.5px solid var(--rule-strong);border-radius:6px;background:var(--paper);}
table{border-collapse:collapse;width:100%;min-width:1040px;}
th,td{border:1px solid var(--rule);padding:7px 9px;font-size:13px;text-align:center;vertical-align:middle;}
thead th{background:var(--head);font-weight:700;line-height:1.2;border-color:var(--rule-strong);color:var(--navy);}
thead .en{display:block;font-size:9px;font-weight:400;color:#8a7d63;letter-spacing:.4px;text-transform:uppercase;margin-top:2px;}
tbody td{height:34px;}
tbody tr:nth-child(even){background:rgba(238,241,245,.5);}
td.track,td.remarks{text-align:left;font-size:12px;}
td.num{font-variant-numeric:tabular-nums;}
.row-actions{white-space:nowrap;}
.row-actions a{font-size:12px;margin:0 3px;text-decoration:none;}
.row-actions a.del{color:var(--danger);}
tfoot td{font-weight:700;background:var(--head);border-color:var(--rule-strong);}
tfoot .label{text-align:right;font-size:12px;}
tfoot .label .en{display:block;font-size:9px;font-weight:400;color:#8a7d63;}
tfoot .total td.num{color:var(--navy);font-size:14px;}
.empty{color:#9a8d72;font-style:italic;padding:18px!important;}

/* ---- Modal ---- */
.overlay{position:fixed;inset:0;background:rgba(20,16,10,.55);display:none;align-items:flex-start;justify-content:center;padding:24px 12px;z-index:50;overflow-y:auto;}
.overlay.open{display:flex;}
.modal{background:var(--paper);border:1.5px solid var(--rule-strong);border-radius:8px;width:100%;max-width:580px;padding:24px;box-shadow:0 20px 60px rgba(0,0,0,.5);}
.modal h2{margin:0 0 4px;font-size:19px;color:var(--navy);}
.modal .modal-sub{font-size:12px;color:#8a7d63;margin-bottom:18px;}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px;}
.grid .full{grid-column:1/-1;}
.grid label{font-size:11px;font-weight:600;color:#5a5040;text-transform:uppercase;letter-spacing:.4px;}
.grid label .en{font-weight:400;text-transform:none;color:#9a8d72;font-size:10px;}
.grid .field{margin-bottom:0;}
.hint{font-size:10px;color:#9a8d72;}
.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:20px;}

@media(max-width:640px){
  .grid{grid-template-columns:1fr;}
  .topbar .sub{display:none;}
  .wrap{padding:12px;}
}

/* ---------- Přihlášení přes Google + oddělovač ---------- */
.auth-divider{
  display:flex;align-items:center;text-align:center;
  color:#8a7d63;font-size:13px;margin:18px 0;
}
.auth-divider::before,.auth-divider::after{
  content:"";flex:1;height:1px;background:#dfd9c8;
}
.auth-divider span{padding:0 12px;}

/* Stejná velikost a šířka jako modré tlačítko, ale bílé v Google stylu */
.btn-google{
  display:flex;align-items:center;justify-content:center;gap:10px;
  width:100%;box-sizing:border-box;
  font-family:inherit;font-size:14px;cursor:pointer;
  padding:9px 16px;border-radius:5px;
  background:#fff;color:#3c4043;border:1px solid var(--rule-strong);
  text-decoration:none;font-weight:600;
  transition:background .15s,transform .05s;
}
.btn-google:hover{background:#f7f4ea;}
.btn-google:active{transform:translateY(1px);}

