:root{--bg-1:#d5dee8;--bg-2:#d1dbe7;--ink:#1d3652;--ink-soft:#5f7692;--brand:#0f6f95;--line:#c4d1df;--ok:#2f7d64;--warn:#9b2c2c;--panel:#f5f8fb;--font-main:"Segoe UI", "Trebuchet MS", sans-serif}*{box-sizing:border-box}body{background:linear-gradient(180deg, var(--bg-1) 0%, var(--bg-2) 100%);min-height:100vh;color:var(--ink);font-family:var(--font-main);margin:0}#app{width:100%;max-width:none;margin:0;padding:8px 10px}main{gap:14px;display:grid}.login-panel{border:1px solid var(--line);background:var(--panel);border-radius:16px;gap:12px;width:min(420px,100%);margin:8vh auto 0;padding:24px;display:grid}.login-logo{justify-self:center;width:180px;max-width:100%;height:auto}.login-form{gap:10px;display:grid}.login-form label{gap:4px;font-weight:600;display:grid}.login-form input{border:1px solid var(--line);width:100%;font:inherit;border-radius:8px;padding:10px 12px}.login-form button{margin-top:6px}.login-reset{justify-self:start}.nav-tabs{justify-content:space-between;align-items:center;gap:10px;display:flex}.nav-tabs-left{align-items:center;gap:10px;display:flex}.nav-tabs-right{align-items:center;gap:8px;display:flex}.lang-select{text-align:center;min-width:58px;padding:8px;font-size:1rem}.tab-btn{min-width:120px}.tab-active{color:#fff;background:linear-gradient(135deg,#0f6f95,#0d5f83);border-color:#0000;box-shadow:0 6px 14px #0f6f9540}header{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:22px 24px}.header-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.header-logo{object-fit:contain;width:170px;max-width:36vw;height:auto}h1{letter-spacing:.01em;margin:0;font-size:clamp(1.2rem,2.4vw,1.8rem)}h2{margin:0 0 10px;font-size:1rem}p{color:var(--ink-soft);margin:8px 0 0}.filters{background:var(--panel);border:1px solid var(--line);border-radius:16px;grid-template-columns:minmax(220px,1fr) max-content max-content max-content max-content max-content;justify-content:start;align-items:end;gap:10px;padding:14px;display:grid}.filters label:nth-child(2) input,.filters label:nth-child(3) input{width:165px}.filters label:nth-child(4) select{width:110px}.filters>button{white-space:nowrap;align-self:end}.disponering-filters{grid-template-columns:max-content max-content minmax(220px,320px)}.disponering-filters label input,.disponering-filters label select{width:180px}.disponering-filters label:last-child select{width:100%}label{color:var(--ink-soft);gap:6px;font-size:.86rem;display:grid}input,select,button{border:1px solid var(--line);font-size:.95rem;font-family:var(--font-main);border-radius:10px;padding:9px 10px}button{cursor:pointer;background:linear-gradient(135deg, #1b7fa6, var(--brand));color:#fff;border:none;border-radius:999px;font-weight:600}button:disabled{opacity:.65;cursor:default}.error{color:var(--warn);background:#ffffffc2;border:1px solid #f4b6b6;border-radius:10px;margin:0;padding:10px}.perf-panel{color:#d9e8f6;background:#0e1c2ceb;border:1px solid #8fabc473;border-radius:10px;padding:10px 12px;font-family:Consolas,Courier New,monospace;font-size:.82rem;line-height:1.35}.perf-title{margin-bottom:6px;font-weight:700}.success{color:var(--ok);background:#ffffffd1;border:1px solid #bde4c8;border-radius:10px;margin:0;padding:10px}.booking-validation-hint{color:#5a4a06;background:#fff7da;border:1px solid #ecd58d;border-radius:8px;margin:-4px 0 0;padding:8px 10px;font-size:.9rem}.booking-validation-hint p{color:#5a4a06;margin:0;font-weight:600}.booking-validation-hint ul{margin:6px 0 0 18px;padding:0}.booking-validation-hint li{margin:2px 0}.booking-panel{min-height:auto}.novo-note-title,.novo-note-user{text-align:center;color:#273746;margin:0}.novo-note-title{font-weight:700}.novo-note-user{margin-bottom:10px}.booking-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;gap:10px;display:grid}.booking-grid>label{flex-direction:column;gap:6px;min-width:0;display:flex}.booking-grid>label>input,.booking-grid>label>select{box-sizing:border-box;width:100%;min-width:0}.booking-grid-normal .booking-wide,.booking-grid-novo .booking-wide{grid-column:1/-1}.booking-grid-normal .booking-service,.booking-grid-normal .booking-hawb,.booking-grid-normal .booking-mawb,.booking-grid-normal .booking-destination,.booking-grid-normal .booking-remark{min-width:0}.line-list{gap:8px;margin-top:6px;display:grid}.line-item{background:#ffffff8c;border:1px solid #e8dece;border-radius:10px;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;gap:8px;padding:8px;display:grid}.booking-actions{gap:8px;margin-top:10px;display:flex}.booking-lines-scroll{margin-top:6px;overflow:auto}.booking-lines-table{border-collapse:collapse;width:100%;min-width:980px}.booking-lines-table th,.booking-lines-table td{white-space:nowrap;border-bottom:1px solid #e0d7ca;padding:6px}.booking-lines-table input,.booking-lines-table select{border-radius:8px;width:100%;min-width:80px;padding:6px 8px}.booking-lines-remove{justify-content:flex-end;align-items:center;gap:6px;width:90px;display:flex}.booking-line-icon{width:32px;min-width:32px;height:32px;padding:0;font-size:1.1rem;font-weight:700;line-height:1}.booking-address-head{margin-top:12px}.booking-address-head>div{color:#202020;text-align:center;background:#bfbfbf;border-radius:8px;padding:8px 10px;font-size:.92rem;font-weight:600}.booking-address-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:end;gap:10px 14px;display:grid}.booking-address-grid>label{flex-direction:column;gap:6px;min-width:0;display:flex}.booking-address-grid>label>input,.booking-address-grid>label>select{box-sizing:border-box;width:100%;min-width:0}.pickup-search,.pickup-name,.pickup-address,.pickup-zip{grid-column:1}.delivery-search,.delivery-name,.delivery-address,.delivery-zip{grid-column:2}.pickup-search,.delivery-search{grid-row:1}.pickup-name,.delivery-name{grid-row:2}.pickup-address,.delivery-address{grid-row:3}.pickup-zip,.delivery-zip{grid-row:4}.lookup-input-row{grid-template-columns:1fr auto;align-items:center;gap:6px;display:grid}.lookup-trash-btn{width:34px;min-width:34px;height:34px;padding:0;font-size:1rem;line-height:1}.secondary{color:#fff;background:linear-gradient(135deg,#0f6f95,#0d5f83);border:none;box-shadow:0 6px 14px #0f6f9540}.grid-wrap{grid-template-columns:1fr;gap:12px;display:grid}.disponering-wrap{grid-template-rows:auto 1fr;grid-template-columns:1fr;gap:14px;height:calc(100vh - 200px);min-height:600px;display:grid}.kort-map-wrap{border:1px solid var(--line);background:#d5e3f0;border-radius:12px;height:100%;min-height:0;margin-top:0;overflow:hidden}.kort-map{width:100%;height:100%;min-height:0}.kort-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.kort-panel{flex-direction:column;height:calc(100vh - 214px);min-height:560px;display:flex}.kort-layout{flex:1;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1.6fr) minmax(220px,.5fr);align-items:stretch;gap:12px;min-height:0;display:grid}.kort-grid-wrap{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.kort-grid-wrap .table-scroll{flex:1;min-height:0;max-height:none}.vehicle-panels-scroll{overflow:auto hidden}.vehicle-panels-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;min-width:0;display:grid}.vehicle-panel-card{cursor:copy;background:#f0f5fb;border:2px dashed #9ab6cd;border-radius:12px;flex-direction:column;justify-content:flex-start;align-items:center;gap:6px;min-height:80px;padding:10px 12px;display:flex}.vehicle-panel-card:hover{border-color:var(--brand);background:#e8f3fa}.vehicle-panel-label{color:#244866;text-align:center;font-size:1rem;font-weight:700}.vehicle-panel-orders{color:#3a5570;width:100%;margin:0;padding-left:16px;font-size:.84rem}.vehicle-panel-orders li{margin:2px 0}.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;min-height:auto;padding:12px}.settings-panel{max-width:820px}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:10px;display:grid}.settings-wide{grid-column:span 2}.settings-password-row{grid-template-columns:1fr auto;align-items:center;gap:8px;display:grid}.settings-eye{width:40px;min-width:40px;height:38px;padding:0;font-size:1.1rem;line-height:1}.settings-actions{gap:8px;margin-top:12px;display:flex}.report-controls{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;gap:10px;margin-bottom:10px;display:grid}.report-controls>label{flex-direction:column;gap:6px;min-width:0;display:flex}.report-controls>label>input,.report-controls>label>select{box-sizing:border-box;width:100%;min-width:0}.report-actions{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px;display:flex}.report-running{color:var(--ink-soft);grid-column:1/-1;align-items:center;gap:8px;font-size:.9rem;display:inline-flex}.report-spinner{border:2px solid #b9c8d8;border-top-color:var(--brand);border-radius:50%;width:16px;height:16px;animation:.75s linear infinite report-spin}@keyframes report-spin{to{transform:rotate(360deg)}}.grid-wrap .panel:first-child .table-scroll{max-height:56vh}.grid-wrap .panel:last-child .table-scroll{max-height:220px}.disponering-wrap{grid-template-rows:auto 1fr}.disponering-wrap .panel:last-child{flex-direction:column;min-height:0;display:flex;overflow:hidden}.disponering-wrap .panel:last-child .table-scroll{flex:1;max-height:none!important;overflow:auto!important}.table-scroll{max-height:480px;overflow:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #e9dfd1;padding:9px 8px;font-size:.9rem}th{background:#eef4fa;position:sticky;top:0}tr.selected td{background:#e7f2fa}.orderno-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0f6f95,#0d5f83);border:none;border-radius:6px;padding:4px 10px;font-size:.9rem;font-weight:600;box-shadow:0 6px 14px #0f6f9533}.orderno-btn:hover{background:linear-gradient(135deg,#116f95,#0c5882)}.th-btn{all:unset;cursor:pointer;color:#34495e;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;gap:4px;width:100%;min-height:100%;padding:9px 8px;font-weight:700;transition:background-color .15s,color .15s;display:flex}.th-btn:hover{color:#1b7fa6;background-color:#1b7fa61a}.th-btn:active{background-color:#1b7fa633}th.sortable-th{padding:0}.empty{color:var(--ink-soft);text-align:center}.unread-row td{font-weight:700}.beskeder-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.beskeder-preview{margin-top:14px}.beskeder-preview label{gap:6px;display:grid}.beskeder-preview textarea{resize:vertical;width:100%;min-height:140px;font:inherit;color:#1f2937;background:#fbfcfe;border:1px solid #cfd7df;border-radius:8px;padding:10px 12px}@media (width<=900px){#app{padding:8px}.filters,.disponering-filters{grid-template-columns:1fr}.disponering-filters label input,.disponering-filters label select,.disponering-filters label:last-child select{width:100%}.grid-wrap,.booking-grid,.booking-grid-normal,.booking-grid-novo,.booking-address-grid{grid-template-columns:1fr}.pickup-search,.pickup-name,.pickup-address,.pickup-zip,.delivery-search,.delivery-name,.delivery-address,.delivery-zip{grid-area:auto}.booking-wide{grid-column:auto}.line-item,.settings-grid{grid-template-columns:1fr}.settings-wide{grid-column:auto}.kort-layout{grid-template-columns:1fr;height:auto;min-height:auto}.kort-panel{height:auto;min-height:auto}.kort-map{min-height:340px}.booking-lines-table{min-width:760px}.header-logo{width:120px}}
