:root{--ink:#1f2c35;--muted:#5d6e79;--blue:#315f7d;--blue2:#e9f3fa;--bg:#eff3f6;--line:#cfdae2;--green:#245b35;--red:#a53333}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 Arial,Helvetica,sans-serif}.site{max-width:1100px;margin:auto;min-height:100vh}main{padding:18px 16px 50px}.bar{padding:14px 18px;background:#fff;border-bottom:2px solid var(--ink);display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:space-between}.bar nav{display:flex;gap:15px;align-items:center}.bar a{text-decoration:none;color:var(--blue)}.brand{font-weight:800;font-size:18px;color:var(--ink)!important}.brand span{display:block;font-size:10px;letter-spacing:.08em;color:var(--muted);font-weight:500}.bar form{margin:0}.panel{background:#fff;border:1px solid var(--line);padding:18px;margin-bottom:15px;border-radius:7px;box-shadow:0 1px 4px #00000008}.panel h2{font-size:18px;margin:0 0 10px}.panel h3{font-size:15px;margin:14px 0 8px}.panel>h2:not(:first-child){margin-top:25px}.panel>label{display:block;margin:8px 0}.auth{max-width:440px;background:white;border:1px solid var(--line);padding:26px;margin:9vh auto;border-radius:10px}.auth form{display:grid;gap:10px}.auth h1{font-size:21px}h1{font-size:25px;line-height:1.2;margin:4px 0 9px}p{margin:5px 0 11px}.hint{font-size:12px;color:var(--muted)}.warn{padding:11px;background:#fff3df;border-left:4px solid #c18a2f;font-size:12px}.notice{background:#eaf5ed;border-left:4px solid #418553;padding:12px 14px;margin-bottom:14px;font-size:12px}label{font-weight:700;font-size:12px;display:grid;gap:4px}input,select,textarea{width:100%;font-family:inherit;padding:9px 10px;font-size:14px;border:1px solid #9fb0ba;background:white;color:var(--ink);border-radius:4px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #b8d8eb;border-color:var(--blue)}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:9px 13px;background:#e6edf1;color:#203d50;text-decoration:none;border:1px solid #9eb3c0;border-radius:4px;font:700 12px Arial;cursor:pointer;white-space:normal}button:hover,.button:hover{filter:brightness(.95)}button.primary,.button.primary{background:var(--green);color:white;border-color:var(--green)}button.quiet,.button.quiet{background:#f6f9fb;color:var(--blue);border-color:#b5ccd9}button.danger{background:#fff1f1;color:var(--red);border-color:#d9aaa9}button.mini,.button.mini{padding:5px 8px;font-size:11px}button.big{font-size:14px;padding:13px 19px}button:disabled{opacity:.45;cursor:not-allowed}.grid{display:grid;gap:12px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.title-row{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-bottom:14px}.title-row h2{margin:0}.actions-inline{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.actions-inline form{display:inline-flex}.table-scroll{width:100%;overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th,td{padding:8px 9px;border-bottom:1px solid #d8e1e7;text-align:left;vertical-align:top}th{background:#ecf2f5;color:#334955}td input{min-width:76px;font-size:12px;padding:6px}td:first-child input{min-width:145px}tr:last-child td{border-bottom:0}.status{display:inline-block;border-radius:4px;background:#edf1f4;color:#5d6e79;padding:3px 5px;font-size:11px}.status.submitted{background:#e3f0fa;color:#195f8c}.status.confirmed{background:#e0f5e6;color:#1a6c34}.status.revoked{background:#f6e5e5;color:#a43b3b}.copyline{display:flex;gap:6px;align-items:center}.copyline input{flex:1;min-width:80px}.trip-code{background:#eaf1f5;border:1px solid #d2e0e7;padding:8px 11px;font-size:12px;font-weight:700;white-space:nowrap}.pre{white-space:pre-wrap}.client{max-width:950px;margin:auto}.client .panel{padding:18px}.room-card{border:2px solid #869eac;border-radius:5px;background:#f8fbfd;padding:12px;margin:13px 0}.room-head{display:flex;align-items:end;justify-content:space-between;gap:9px;flex-wrap:wrap;border-bottom:1px solid #c8d8e1;padding-bottom:9px}.room-head label{flex:1;max-width:370px}.person-card{background:#fff;border:1px solid #bacbd5;border-radius:5px;margin:10px 0;padding:11px}.person-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:8px}.person-header strong{font-size:13px}.person-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.person-extras{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;border-top:1px dashed #d3dde3;padding:8px 0 0}.person-extras .check{font-size:12px;font-weight:400}.check{display:flex;align-items:flex-start;gap:7px;font-size:12px;font-weight:500;margin:12px 0}.check input{width:16px;min-width:16px;height:16px;padding:0;margin:1px 0 0}.person-cost{background:#edf5ed;border:1px solid #d0e2d0;border-radius:4px;padding:8px;margin-top:9px;font-size:13px}.cost-table{max-width:630px}.cost-table th,.cost-table td{padding:9px 8px;font-size:13px}.cost-table td:last-child{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.cost-table .grand{background:#e7f0e3;font-size:16px}.payment-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:15px;margin-top:20px;align-items:center}.qrbox{width:192px;height:192px;padding:8px;background:white;border:1px solid #d3dee4;display:flex;align-items:center;justify-content:center}.qrbox svg{display:block;width:100%;height:100%}.status-message{font-weight:700;font-size:12px;color:var(--blue);white-space:pre-wrap}.status-message.error{color:var(--red)}.legal{font-size:10.5px;line-height:1.6;text-align:justify;padding:13px;border:1px solid #cbd8df;background:#fafcfd}.legal a{color:var(--blue)}.print-document{background:white;border:1px solid var(--line);margin:15px auto;padding:22px;max-width:1000px}.printhead{display:flex;gap:18px;justify-content:space-between;border-bottom:2px solid #444;padding-bottom:12px;margin-bottom:10px}.printhead h1{font-size:22px;text-align:right}.right{text-align:right}.print-document h3{background:#e6ecef;padding:6px 8px;font-size:13px;margin:17px 0 7px}.print-document .legal{font-size:9px;border:none;padding:0}.print-document table td,.print-document table th{border:1px solid #aaa}.print-document table th{background:#e8e8e8}.print-document .block{display:block;color:#53636f;font-size:10px;margin-top:3px}.signatures{display:flex;justify-content:space-between;gap:30px;margin-top:50px}.signatures p{width:43%;border-top:1px solid #777;text-align:center;padding-top:8px}.pilot{font-size:10px;color:#a03f30;font-weight:700;text-align:center;margin:25px 0 0}@media(max-width:680px){input,select,textarea{font-size:16px}.grid.two,.person-fields,.payment-layout{grid-template-columns:1fr}.bar{padding:12px}.bar nav{gap:9px}main{padding:12px 8px 35px}.client .panel{padding:12px}.room-card{padding:9px}.person-card{padding:10px}.copyline{flex-direction:column;align-items:stretch}.copyline button{width:100%}.qrbox{margin:auto}.title-row .button{width:100%}.person-header button{font-size:11px}.panel>h2:not(:first-child){margin-top:17px}}@media print{@page{size:A4;margin:9mm}body{background:white;font-size:10px}.site{max-width:none}.bar,.no-print,.notice{display:none!important}.print-document{margin:0;border:0;padding:0;max-width:none}.printhead h1{font-size:15px}.print-document h3{font-size:10px;margin:9px 0 5px}.print-document table{font-size:9px}.print-document th,.print-document td{padding:4px}.print-document .legal{font-size:8px;line-height:1.25}.print-table tr{break-inside:avoid}.signatures{margin-top:30px}.pilot{font-size:8px}}


/* CK TURISTA e-Smlouvy — volitelný vzhled v1.0.2 (pouze obrazovka).
   Všechny funkce formuláře, administrace, tisku a výpočtů zůstávají původní. */
@media screen {
  :root {--ink:#1b2e41;--muted:#657789;--blue:#255f86;--blue2:#edf5fa;--bg:#f0f4f7;--line:#dce5ec;--green:#23634b;--red:#a83c41;}
  html {background:#f0f4f7;}
  body {background:radial-gradient(ellipse 1300px 500px at 50% -350px,#dae9f3,transparent),#f0f4f7;color:var(--ink);font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif;font-size:14px;line-height:1.55;}
  .site {max-width:1160px;}
  .bar {position:relative;background:#17374f;color:#fff;border:0;padding:17px 24px;gap:14px;box-shadow:0 4px 18px rgba(18,52,75,.12);}
  .bar a,.bar .brand {color:#fff!important;}
  .bar .brand {font-size:19px;letter-spacing:.02em;line-height:1.25;}
  .bar .brand span {color:#bad3e4;letter-spacing:.06em;font-weight:550;margin-top:4px;}
  .bar nav a {color:#d7e7f0!important;padding:5px 0;border-bottom:2px solid transparent;}
  .bar nav a:hover {color:#fff!important;border-bottom-color:#77b5d8;}
  .bar nav {gap:17px;}
  .bar .quiet {background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.25);}
  main {padding:26px 18px 62px;}
  h1 {font-size:clamp(24px,2.5vw,31px);font-weight:750;letter-spacing:-.035em;}
  .panel {border:1px solid var(--line);border-radius:14px;padding:22px 24px;margin-bottom:17px;box-shadow:0 5px 20px rgba(23,50,77,.055);}
  .panel h2 {font-size:18px;letter-spacing:-.015em;margin-bottom:13px;}
  .panel h3 {font-size:15px;}
  .auth {max-width:465px;background:#fff;border:1px solid #d8e4ed;padding:32px;border-radius:17px;box-shadow:0 15px 40px #1c354b18;}
  .auth h1 {font-size:24px;}
  .hint {color:#657889;}
  .notice {background:#e9f5ed;border:1px solid #cde5d5;border-left:4px solid #32885c;border-radius:9px;padding:13px 15px;}
  .warn {border-radius:9px;background:#fff7e9;border:1px solid #eedab6;border-left:4px solid #c48e40;padding:12px;}
  label {color:#3e5364;font-weight:680;}
  input,select,textarea {border:1px solid #bbcbd6;padding:11px 12px;border-radius:7px;font-family:inherit;box-shadow:0 1px 1px #182f4108;transition:border-color .15s,box-shadow .15s;min-width:0;}
  input:focus,select:focus,textarea:focus {outline:none;border-color:#3e8db6;box-shadow:0 0 0 3px #4696c321;}
  input:disabled,select:disabled,textarea:disabled {background:#f3f6f8;color:#768593;}
  button,.button {border-radius:8px;font-family:inherit;font-weight:700;font-size:12px;padding:10px 14px;transition:background-color .15s,border-color .15s,transform .15s;}
  button.primary,.button.primary {background:#23634b;border-color:#23634b;box-shadow:0 2px 7px #23634b15;}
  button.primary:hover,.button.primary:hover {background:#1b533e;border-color:#1b533e;}
  button.quiet,.button.quiet {background:#f4f9fc;color:#245e83;border-color:#bcd0df;}
  button.quiet:hover,.button.quiet:hover {background:#eaf4fa;}
  button:focus-visible,.button:focus-visible,a:focus-visible {outline:3px solid #64a8d1;outline-offset:2px;}
  .trip-code {border-radius:8px;background:#e9f3fa;color:#214e69;border-color:#cadee9;padding:10px 13px;}
  .table-scroll {border-radius:8px;border:1px solid #e2e9ee;}
  table {font-size:13px;}
  th {background:#eef4f8;color:#365569;font-weight:750;}
  th,td {padding:11px 12px;}
  tbody tr:nth-child(even) {background:#fbfcfd;}
  tbody tr:hover {background:#f3f8fb;}
  .status {padding:5px 8px;border-radius:99px;font-weight:700;}
  .client {max-width:1020px;}
  .client .panel {padding:23px 25px;}
  .room-card {background:#f5f9fc;border:1px solid #c9dbe7;border-left:4px solid #447e9f;border-radius:11px;padding:15px;box-shadow:0 2px 10px #1d41510b;}
  .room-head {border-color:#d8e4eb;padding-bottom:12px;}
  .person-card {border:1px solid #d9e4eb;border-radius:10px;padding:15px;box-shadow:0 2px 7px #1d41510a;}
  .person-header {padding-bottom:7px;border-bottom:1px solid #eef1f4;}
  .person-header strong {font-size:14px;color:#203a50;}
  .person-fields {gap:11px;}
  .person-cost {background:#ecf7ef;border:1px solid #cbe5d3;border-radius:8px;padding:11px 12px;color:#1b5e3d;}
  .cost-table {max-width:750px;border:1px solid #dde6ec;border-radius:9px;overflow:hidden;}
  .cost-table td:last-child {font-size:14px;color:#1d3e56;}
  .cost-table .grand {background:#e3f0e7;}
  .qrbox {border:1px solid #d3e1e9;border-radius:12px;box-shadow:0 3px 15px #1c425014;}
  .legal {border:1px solid #dae5ec;border-radius:9px;padding:16px;background:#f8fafc;font-size:11px;}
  .status-message {line-height:1.65;}
  .print-document {border-radius:13px;box-shadow:0 5px 25px #20394c14;}
}
@media screen and (max-width:680px) {
  .bar {padding:15px;gap:10px;}
  .bar nav {gap:10px;flex-wrap:wrap;}
  .bar nav a {font-size:12px;}
  main {padding:12px 9px 45px;}
  .panel,.client .panel {padding:17px 15px;border-radius:11px;}
  .auth {padding:24px 19px;margin:25px 9px;}
  .room-card {padding:12px;}
  .person-card {padding:12px;}
  .person-fields {gap:10px;}
  .title-row {align-items:flex-start;}
  .payment-layout {grid-template-columns:1fr;}
  .actions-inline button.big {width:100%;}
  .bar .brand {font-size:17px;}
}
