:root{font-family:Inter,Arial,sans-serif;color:#172342;background:#f3f5f9;font-size:15px}*{box-sizing:border-box}body{margin:0}header{background:#101a37;color:white;padding:24px 4%;display:flex;align-items:center;justify-content:space-between;gap:20px}header b{font-size:23px}header small{display:block;color:#abbada;margin-top:6px}nav{display:flex;gap:8px;flex-wrap:wrap}nav a{color:#bdcbea;text-decoration:none;padding:12px 16px;border-radius:8px}nav a.active{background:#293b65;color:white}.demo{padding:10px 4%;background:#fff0d3;color:#77520f;font-size:13px}main{max-width:1400px;margin:auto;padding:30px 24px}h1{font-size:28px;margin:0}h2{font-size:20px;margin:0 0 16px}h3{font-size:16px;margin:0 0 10px}p{line-height:1.6}.muted{color:#71809c;font-size:13px}.top,.actions,.filters,.stats,.legend{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.top{justify-content:space-between;margin-bottom:22px}.stats{margin-bottom:24px}.stat{background:white;border:1px solid #e0e5ef;border-radius:12px;padding:16px 22px;min-width:155px}.stat b{font-size:28px;display:block;margin-bottom:5px}.stat span{font-size:13px;color:#71809c}.card{background:white;border:1px solid #e0e5ef;border-radius:14px;padding:24px;margin-bottom:24px}.filters{margin-bottom:20px;justify-content:space-between}.filters input{max-width:350px}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:8px;padding:11px 15px;background:#285dd8;color:white}button.secondary{background:#e9eef8;color:#23365d}button.danger{background:#fff0ef;color:#b3443c}button:disabled{opacity:.45;cursor:default}input,select,textarea{padding:11px;border:1px solid #ccd5e5;border-radius:8px;background:white;color:#172342}textarea{width:100%;resize:vertical;line-height:1.55}label{display:block;font-size:14px;margin:18px 0 8px}table{border-collapse:collapse;width:100%;font-size:14px}td,th{text-align:left;padding:16px 12px;border-bottom:1px solid #e4e9f2;vertical-align:top}th{font-size:12px;color:#71809c;font-weight:500}td small{display:block;color:#71809c;margin-top:6px}.table-wrap{overflow:auto}tr.needs{background:#fffaf0}tr[data-id]{cursor:pointer}tr[data-id]:hover{background:#f2f5fd}.badge{display:inline-block;font-size:12px;padding:6px 10px;border-radius:20px;white-space:nowrap}.pending{background:#fff0d3;color:#87601b}.invoiced{background:#ffebc1;color:#805410}.confirmed{background:#e4ecff;color:#355da5}.cancelled,.expired{background:#eef0f4;color:#73809b}.legend{font-size:13px;margin-bottom:20px}.dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px}.maps{display:grid;gap:20px;max-width:1100px;margin:auto}.map{overflow:auto;background:#f9fafe;border-radius:10px;padding:14px}.map h3{margin:3px 0 10px}svg{display:block;width:100%;min-width:620px;height:auto}g[role=button]{cursor:pointer}g[role=button]:hover{opacity:.8}g:focus rect{stroke:#172342;stroke-width:4}dialog{border:0;border-radius:16px;padding:28px;width:min(680px,94vw);max-height:90vh;overflow:auto;color:#172342;box-shadow:0 20px 90px #17234244}dialog::backdrop{background:#0f193980}dialog h2{padding-right:10px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:18px 0}.detail-grid div small{display:block;color:#71809c;margin-bottom:5px}.history{margin:20px 0;padding:0;list-style:none}.history li{border-left:2px solid #dfe5ef;padding:0 0 18px 16px;font-size:13px}.history small{display:block;color:#71809c;margin-top:5px}.actions{margin-top:18px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.settings-grid .card{margin:0}.hint{background:#f2f5fb;padding:14px;border-radius:8px;line-height:1.6;font-size:13px}.empty{text-align:center;color:#71809c;padding:30px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#142440;color:white;padding:14px 24px;border-radius:10px;display:none;z-index:10;max-width:90vw}.inline-error{color:#b3443c;font-size:13px}.toolbar-end{margin-left:auto}.note{background:#fff7e7;padding:12px;border-radius:8px;font-size:13px}button:focus-visible,a:focus-visible{outline:3px solid #8056d9;outline-offset:3px}@media(max-width:750px){header{align-items:flex-start;flex-direction:column}main{padding:20px 12px}.settings-grid{grid-template-columns:1fr}.card{padding:16px}.stats{gap:8px}.stat{min-width:130px;flex:1;padding:12px}.stat b{font-size:24px}table{min-width:790px}.detail-grid{grid-template-columns:1fr}h1{font-size:24px}}
