/* Kystkontroll base component theme: system typography and own navy/teal palette. */400;700&family=Nunito:wght@300;600;800&display=swap');
:root{--kk-blue:#177c80;--kk-ink:#19254f;--kk-canvas:#f4f7fc;--kk-line:#dee2e6;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#3f3b3b;background:var(--kk-canvas)}
body{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--kk-canvas);color:#3f3b3b}button,input,select,textarea{font-family:inherit}a,.link{color:var(--kk-blue)}
h1,h2,h3,.exercise-dialog-head{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--kk-ink);font-weight:600}h1{font-size:26px}h2{font-size:21px}h3{font-size:18px}
aside{background:#19254f;border-color:#19254f}.globalrail{background:#2e618b}.globalrail button{font-size:14px;padding:12px 4px}.globalrail button:hover{background:#19254f}aside .brand,aside .sub{background:#19254f}aside nav button{background:#9ebed1;color:#19254f;border-bottom:2px solid #19254f;font-size:14px;min-height:42px;padding:10px 16px}aside nav button.active{background:#cedfe8;color:#19254f}aside nav button:hover{background:#edf3f7}aside footer{color:#e8f2f8}.navcount{background:#19254f;font-size:12px}.top{background:var(--kk-canvas);border:0}.top select{background:transparent;border:1px solid #77a2bc;border-radius:8px;color:var(--kk-ink);font-size:14px}.circlebutton{border-color:#608da9;color:var(--kk-blue)}
.entityhead{flex-direction:row;gap:22px;justify-content:flex-start;padding:12px 0;color:var(--kk-blue)}.entityhead strong{margin:0;font-size:20px}.entitymark{letter-spacing:1px;font-size:11px;padding:12px;background:#fff;border-color:var(--kk-line)}.intro{margin:20px 0}.intro p{font-size:14px;color:#6c757d}.workspacehint{font-size:12px;color:#687783}
.card,.stat,.vessel,.fleetcard{border:1px solid var(--kk-line);border-radius:8px;box-shadow:0 1px 2px #00000005}.card{padding:16px}.primary,.secondary,.exercise-show{font-size:14px;line-height:1.5;border-radius:8px;padding:4px 8px;min-height:31px}.primary{background:var(--kk-blue);border:1px solid var(--kk-blue);color:white}.secondary{background:transparent;border:1px solid #608da9;color:var(--kk-blue)}.primary:hover{background:#196690}.secondary:hover{background:#e2eef5}.hubbar{flex-wrap:wrap;gap:12px 16px;margin:18px 0 25px}.hubbar button{flex:0 0 auto;white-space:nowrap}.hubbar button .kk-icon{display:inline-block;margin-right:5px}.operation{min-width:0;padding:4px 10px;line-height:1.5;font-size:14px}.operation.running{background:#047c02}.hubbuttons button{font-size:14px;min-height:32px;padding:4px 8px}.toolbar{margin-bottom:16px}.toolbar input{max-width:240px}
input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select{border-color:#80a5ba;border-radius:8px;padding:6px 12px;font-size:14px;line-height:1.5}input[type=checkbox],input[type=radio]{accent-color:var(--kk-blue)}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid #177c80;outline-offset:2px}label{font-size:14px}
.tablewrap table,table{font-size:14px}th{font-size:14px;font-weight:700;background:#ededed;color:#3f3b3b;padding:8px;border-bottom:2px solid #dee2e6}td{padding:8px;border-bottom:1px solid #dee2e6}tbody tr:hover{background:#f1f6fa}.infotable td{font-size:14px;padding:5px 8px}.infotable td:first-child{color:#6c757d}.tablewrap .link{font-size:14px}.total-count,.exercise-controls{font-size:13px}
.tabs,.mini-tabs,.maintenance-tabs,.exercise-tabs{gap:4px;border-bottom:1px solid #dee2e6;margin-bottom:16px;flex-wrap:wrap}.tabs button,.mini-tabs button,.maintenance-tabs button,.maintenance-tabs.minor button,.exercise-tabs button{background:#edf3f7;color:#19254f;border:1px solid transparent;border-radius:8px 4px 0 0;padding:8px 16px;font-size:14px;line-height:1.5}.tabs button.selected,.mini-tabs button.selected,.maintenance-tabs button.selected,.exercise-tabs button.selected{background:#fff;color:#19254f;border:1px solid #dee2e6;border-bottom-color:#fff;margin-bottom:-1px}.maintenance-card{border-top:0}.maintenance-add summary{background:var(--kk-blue)!important;padding:5px 10px;font-size:14px;border-radius:3px}.maintenance-controls{font-size:13px}
dialog{background:var(--kk-canvas);border:1px solid #b7c5d3;border-radius:8px;padding:20px;box-shadow:0 8px 45px #0005}dialog::backdrop{background:#0007}dialog h2,.exercise-dialog-head{font-size:23px;color:var(--kk-ink);font-weight:600}dialog form,.exercise-input{background:#edf3f7!important}dialog .detailbody,.exercise-description,.exercise-meta,.manual-paper{background:white;border:1px solid #dee2e6;border-radius:3px;font-size:14px}.exercise-dialog-head span{font-size:16px}.exercise-input label{font-size:14px}.exercise-meta{font-size:14px}.exercise-meta span{color:#6c757d}.exercise-meta b{color:#3f3b3b}.closex{background:transparent;color:var(--kk-blue);font-size:18px}.training-form-section{border-color:#adc6d5}.actions{gap:8px}.notice{background:#e7eff6;border-color:#7babc8;color:#526c7f;font-size:12px}
@media(min-width:1200px){aside{width:370px;padding-left:110px}.globalrail{width:110px}main{margin-left:370px;padding-left:24px;padding-right:24px}.globalrail b{font-size:24px}.hubgrid{grid-template-columns:minmax(280px,1fr) minmax(300px,1fr)}}
@media(max-width:850px){.entityhead{gap:12px}.entityhead strong{font-size:18px}.hubbar{gap:8px}.tabs button,.mini-tabs button,.maintenance-tabs button,.exercise-tabs button{padding:8px 10px}.globalrail button{font-size:12px}dialog{padding:12px}.exercise-dialog-head{font-size:20px}}
@media print{body,dialog{background:white!important;color:black}.card,.manual-paper{box-shadow:none}.entityhead{display:none!important}}

/* White settings button on the vessel front page; night mode keeps its own palette. */
html:not(.night-mode) .hubbar .vessel-settings{background:#fff;color:#162249;border-color:#a6bad2}html:not(.night-mode) .hubbar .vessel-settings:hover{background:#f1f6fb}

.hubbar .passenger-front-button{display:inline-flex;align-items:center;gap:10px;font-weight:600}.passenger-front-count{display:inline-grid;place-items:center;min-width:36px;min-height:28px;padding:2px 9px;border-radius:6px;background:#69c8f5;color:#162249;font-size:19px;font-weight:800;line-height:1.2;border:1px solid #409dc9}@media screen{html.night-mode .passenger-front-count{background:#000!important;color:#ff7373!important;border-color:#b84444!important}}

.hubbuttons .passenger-shortcut{display:flex;align-items:center;justify-content:center;gap:10px;font-weight:700}.hubbuttons .passenger-shortcut .passenger-front-count{font-size:19px}
