/* AULIX Evidence návštěv STUDIO v5.4 – design adapted for Evidence provizí.
   Shared palette, header, navigation, cards, fields and responsive rhythm. */
:root {
  --bg:#f3f4f2; --ink:#101012; --text:#101012; --paper:#fff;
  --muted:#646a60; --line:#e2e4df; --accent:#e8ee57;
  --primary:#e8ee57; --primary-2:#dae440; --green:#168a55;
  --danger:#c53b32; --radius:16px;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
html { min-height:100%; background:var(--bg); }
body { min-height:100vh; background:var(--bg); }
h1 { font-size:32px; font-weight:750; letter-spacing:-.045em; line-height:1.15; }
h2 { font-size:16px; letter-spacing:-.02em; }
button { border-radius:9px; padding:10px 14px; font-size:12px; font-weight:650; }
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:3px solid #7a8600; outline-offset:3px; }
.primary { background:var(--primary); color:#222610; border:1px solid #d9df46; border-radius:10px; box-shadow:none; padding:12px 18px; font-weight:750; }
.primary:hover:not(:disabled) { background:var(--primary-2); }
button:hover:not(:disabled) { border-color:#c8cfbd; }
.eyebrow { color:#767c70; font-size:10px; letter-spacing:.14em; }
.shell { display:block; min-height:100vh; }
.topbar { position:static; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:17px 32px; min-height:86px; background:#171a16; color:#fff; border:0; }
.studio-brand { display:flex; align-items:center; gap:22px; min-width:0; }
.studio-brand>img { display:block; width:132px; height:auto; flex:0 0 auto; }
.brand-divider { width:1px; height:36px; background:#ffffff38; flex:0 0 auto; }
.brand-copy { display:grid; gap:4px; }
.brand-copy span { color:#f2ea0b; font-size:10px; font-weight:900; letter-spacing:.16em; }
.brand-copy strong { color:#c8cec4; font-size:14px; font-weight:500; }
.user { display:flex; align-items:center; justify-content:flex-end; gap:14px; min-width:0; }
.user-name { max-width:320px; font-size:12px; color:#d0d0d4; overflow-wrap:anywhere; }
.topbar .logout { padding:10px 14px; min-height:40px; background:#252529; color:#fff; border:1px solid #404046; border-radius:9px; }
.topbar .logout:hover:not(:disabled) { background:#333338; }
.workspace { min-width:0; width:min(1360px,calc(100% - 64px)); margin:0 auto; }
.studio-nav { display:flex; gap:28px; overflow-x:auto; border-bottom:1px solid #daddd6; margin-bottom:30px; }
.studio-nav .nav { display:inline-flex; width:auto; flex:none; gap:5px; margin:0; padding:22px 0 18px; border:0; border-bottom:3px solid transparent; border-radius:0; background:transparent; color:#6c7267; white-space:nowrap; font-size:14px; font-weight:650; }
.studio-nav .nav span { font-size:10px; margin-right:6px; opacity:.5; }
.studio-nav .nav.active { color:#161a14; background:transparent; border-bottom-color:#abb200; }
.studio-nav .nav:hover:not(:disabled) { color:#161a14; background:transparent; }
.main { max-width:none; padding:0 0 28px; margin:0; }
.page-head { margin-bottom:24px; align-items:center; gap:20px; }
.page-head p { color:var(--muted); font-size:14px; line-height:1.5; }
.page-head h1 { margin:8px 0; }
.page-head .eyebrow { font-size:10px; }
.page-tools { gap:16px; }
.page-tools .ghost { background:#e8ee57; color:#222610; border-color:#d9df46; font-weight:750; padding:12px 18px; border-radius:10px; }
.layout { grid-template-columns:minmax(0,1fr) 320px; gap:20px; align-items:start; }
.card { border-radius:16px; background:#fff; border-color:var(--line); padding:24px; box-shadow:none; }
.card-head { margin-bottom:20px; }
.card-head h2 { font-size:16px; }
.step { color:#616b4b; background:#f0f3e6; border-color:#e2e8d7; border-radius:8px; }
.stats { gap:12px; margin-bottom:22px; }
.stat { min-height:140px; padding:19px; border-radius:14px; border:1px solid var(--line); background:#fff; }
.stat:first-child { background:#20281b; border-color:#20281b; color:white; }
.stat .label { font-size:11px; font-weight:600; color:#646a60; }
.stat:first-child .label { color:#c6d0bf; }
.stat .value { font-size:32px; margin-top:15px; font-weight:750; letter-spacing:-.035em; }
.stat:first-child .value { color:#ebf26e; }
.stat small { color:#747d6c; font-size:10px; line-height:1.5; }
.stat:first-child small { color:#aebfa1; }
.field { color:#50564a; font-size:12px; }
.field input,.field select,.field textarea,input.cell { min-height:42px; border-radius:9px; background:#fafbf8; border-color:#dfe3d9; color:#1e251a; }
.field input:focus,.field select:focus,.field textarea:focus,input.cell:focus { border-color:#94a374; box-shadow:0 0 0 3px #94a37420; }
input[type=checkbox] { accent-color:#7a8600; }
.dropzone { border:1px dashed #cbd2c1; background:#fafbf8; border-radius:14px; }
.dropzone.dragging { background:#f3f6d6; border-color:#9da900; }
.drop-icon { background:#eff2de; color:#657139; }
.dropzone .ghost { background:white; }
.segmented { padding:4px; gap:4px; background:#e7eae3; border:0; border-radius:11px; }
.segmented button { background:transparent; border:0; border-radius:8px; color:#67705d; }
.segmented button.active { background:#fff; color:#1f2718; box-shadow:0 2px 5px #1825120a; }
.invoice { border-color:var(--line); border-radius:12px; }
.invoice-head { background:#fafbf8; }
.invoice-icon { background:#eef2e4; color:#667446; }
.invoice summary { color:#535b49; font-size:12px; }
th { background:#f6f8f2; color:#707963; font-size:10px; text-transform:none; letter-spacing:0; }
td { font-size:12px; padding:14px 16px; }
tbody tr:nth-child(even) { background:#fafbf8; }
tbody tr:hover { background:#f0f4e6; }
tr.excluded { opacity:.65; }
.result { top:20px; }
.result-main { background:#20281b; color:white; border:1px solid #20281b; border-radius:16px; padding:26px; }
.result-main .eyebrow { color:#c6d0bf; }
.result-main .total { color:#ebf26e; }
.result-main .basis,.result-meta { color:#b7c5ac; }
.result-breakdown { border-color:#ffffff20; color:#c6d0bf; }
.result-breakdown strong { color:#fff; }
.result-main .primary { width:100%; background:#e8ee57; border-color:#d9df46; color:#222610; }
.result-main .primary:hover:not(:disabled) { background:#dae440; }
.notice { border-radius:10px; }
.notice.info { background:#f4f6ed; border-color:#e1e7d6; color:#535e46; }
.pill.green { background:#f2f6eb; border-color:#dde7d2; color:#657b45; }
.history-entry,.check-card { background:#fff; border:1px solid var(--line); border-radius:14px; }
.footer { border-top:1px solid #dfe3d8; padding-top:18px; margin-top:32px; color:#939b88; font-size:10px; letter-spacing:.08em; }
/* Same centered login card and dark logo strip as the supplied STUDIO app. */
.auth { min-height:100vh; display:grid; grid-template-columns:1fr; place-items:center; padding:28px; background:linear-gradient(135deg,#f2ea0b14,transparent 35%),#f4f4f5; }
.auth-box.studio-login { width:min(460px,100%); max-width:460px; padding:34px; margin:0; background:#fff; border:1px solid #dedee2; border-radius:18px; box-shadow:0 18px 45px #00000014; }
.login-brand { margin:-34px -34px 26px; padding:22px 28px; background:#0b0b0d; border-radius:18px 18px 0 0; }
.login-brand img { display:block; width:220px; max-width:75%; height:auto; }
.studio-login h1 { font-size:34px; margin:10px 0; letter-spacing:-.03em; }
.studio-login .login-description { margin:0 0 28px; line-height:1.55; font-size:14px; }
.studio-login #login-form { display:grid; gap:16px; }
.studio-login .field { margin:0; }
.studio-login .auth-submit { width:100%; margin:0; }
.studio-login .auth-label { font-size:11px; margin:20px 0 0; line-height:1.6; color:var(--muted); }
.login-version { font-size:10px; color:#939b88; margin:18px 0 0; }
@media(min-width:1500px) { .main { padding-top:0; } .layout { grid-template-columns:minmax(0,1fr) 345px; gap:20px; } }
@media(max-width:1100px) {
  .layout { grid-template-columns:1fr; }
  .result { position:static; grid-template-columns:1fr 1fr; align-items:start; }
  .result-main { grid-row:span 2; }
}
@media(max-width:720px) {
  .workspace { width:calc(100% - 28px); }
  .topbar { padding:15px 18px; gap:12px; flex-wrap:wrap; }
  .studio-brand { gap:14px; }
  .studio-brand>img { width:110px; }
  .brand-copy strong { font-size:12px; }
  .brand-divider { height:30px; }
  .user { width:100%; justify-content:space-between; gap:10px; }
  .user-name { display:block; max-width:calc(100% - 125px); font-size:11px; }
  .studio-nav { gap:22px; margin-bottom:22px; }
  .studio-nav .nav { font-size:12px; padding-top:18px; }
  .studio-nav .nav span { display:none; }
  .main { padding:0 0 28px; }
  .page-head { align-items:flex-start; gap:14px; }
  .page-head h1 { font-size:26px; }
  .page-head p { font-size:12px; }
  .page-tools { width:100%; justify-content:space-between; }
  .page-tools .ghost { font-size:11px; padding:10px; white-space:nowrap; }
  .stats { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  .stat { display:block; padding:16px; min-height:125px; }
  .stat:first-child { grid-column:1/-1; }
  .stat .label { font-size:11px; margin:0; }
  .stat .value { font-size:clamp(21px,5.8vw,32px); margin-top:15px; overflow-wrap:anywhere; }
  .stat small { display:block; margin-top:8px; }
  .card { padding:18px; }
  .card-head { flex-wrap:wrap; }
  .form-grid { gap:14px; }
  .layout { gap:18px; }
  .result { grid-template-columns:1fr; }
  .result-main { grid-row:auto; padding:24px; }
  .result-main .total { font-size:clamp(28px,9vw,38px); overflow-wrap:anywhere; }
  .footer { flex-direction:column; gap:8px; }
  .auth { padding:14px; }
  .auth-box.studio-login { padding:24px; }
  .login-brand { margin:-24px -24px 24px; }
  .studio-login h1 { font-size:28px; }
}
@media(max-width:400px) { .form-grid { grid-template-columns:1fr; } .span2 { grid-column:auto; } .brand-copy strong { font-size:11px; } .studio-nav { gap:17px; } }
@media(prefers-reduced-motion:reduce) { * { transition:none!important; animation:none!important; } }
@media print { html,body { background:white; } }
/* Explicit icon dimensions keep summary cards compact at every viewport. */
.stat .label { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.stat .label svg { width:16px; height:16px; flex:0 0 16px; opacity:.55; }
.result-breakdown>div>span { color:#c6d0bf; }
@media(max-width:720px) { .stat .label { align-items:flex-start; } .stat .label svg { width:14px; height:14px; flex-basis:14px; } }
/* Cross-application navigation belongs to the header; all links remain visible. */
.topbar { flex-wrap:wrap; }
.app-links { display:flex; flex:0 0 100%; order:3; gap:8px; flex-wrap:wrap; padding-top:14px; border-top:1px solid #ffffff1f; }
.app-links a { display:inline-flex; align-items:center; min-height:38px; padding:9px 13px; border:1px solid #40463a; border-radius:9px; background:#252b21; color:#e5eadf; font-size:12px; font-weight:650; text-decoration:none; }
.app-links a:hover { background:#343c2b; border-color:#9fa958; color:#f1f58d; }
@media(max-width:720px) { .app-links { gap:7px; padding-top:12px; } .app-links a { min-height:44px; padding:10px 12px; font-size:11px; } }
