:root{font-family:Inter,Arial,sans-serif;color:#18233b;background:#f3f5f9;font-synthesis:none}*{box-sizing:border-box}body{margin:0}header{background:#172039;color:white;padding:22px 3.2%;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;gap:13px;align-items:center;font-size:15px;letter-spacing:2px}.brand b{display:block;font-size:22px}.brand small{display:block;letter-spacing:0;font-size:12px;color:#c4cce1;margin-top:4px}.mark{background:#e9ff69;color:#172039;font-size:32px;font-weight:900;padding:10px 17px;border-radius:12px}.edition{display:flex;gap:14px;align-items:center;font-size:13px}.edition label{color:#c4cce1}select,button{font:inherit}select{padding:10px;border:1px solid #d9dfeb;border-radius:7px;background:white;color:#18233b;font-size:14px}main{padding:30px 3.2%}.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:1.7px;color:#5b52b5;margin:0 0 10px}h1{font-size:32px;letter-spacing:-1px;margin:0 0 8px}p{line-height:1.55;margin:0;color:#667187;font-size:14px}.phase{font-size:13px;background:#e9e5fb;color:#534397;border-radius:20px;padding:9px 14px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:25px}.stats article{background:white;border:1px solid #e0e5ed;border-radius:12px;padding:19px}.stats span{font-size:14px;color:#536077}.stats strong{display:block;font-size:29px;margin:10px 0}.stats small{font-size:13px;font-weight:400;color:#667187}.stats p{font-size:12px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px}.mapcol,aside{background:white;border:1px solid #dfe4ed;border-radius:13px;overflow:hidden}.toolbar{padding:20px;display:flex;justify-content:space-between;gap:12px;align-items:center}h2{font-size:18px;margin:0 0 7px}.toolbar span{font-size:12px;color:#718096}.controls{display:flex;gap:12px}.controls label{font-size:12px;color:#67748b}.controls select{display:block;margin-top:5px;max-width:205px}.maptools{padding:10px 20px;background:#f8f9fc;border-block:1px solid #e7ebf2;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#69768b}.maptools button{background:white;border:1px solid #dbe1ec;border-radius:5px;padding:6px 10px;cursor:pointer;color:#243250}.viewport{overflow:auto;background:#edf0f5;min-height:340px;display:flex;align-items:center}#map{position:relative;min-width:100%;width:100%;flex-shrink:0}#map img{width:100%;display:block}#overlay{position:absolute;inset:0;width:100%;height:100%}.space{fill:#ffffff22;stroke:#5735b7;stroke-width:2;cursor:pointer}.space:hover,.space:focus{fill:#c3adffbb;stroke:#172039;stroke-width:4;outline:none}.space.active{fill:#7453dfbb;stroke:#172039;stroke-width:4}.legend{padding:13px 20px;display:flex;gap:15px;flex-wrap:wrap;font-size:12px;color:#67748b}.legend i{display:inline-block;width:10px;height:10px;border:1px solid #5735b7;margin-right:5px}.legend .selected{background:#7453df}aside{padding:24px}.badge{display:inline-block;background:#f0edf9;color:#5b429a;border-radius:5px;padding:6px 9px;font-size:12px;margin-bottom:20px}aside h2{font-size:26px}aside .largeid{font-size:55px;font-weight:800;letter-spacing:-2px;margin:8px 0 20px}dl{margin:20px 0}dt{font-size:12px;color:#748099;margin-top:20px}dd{margin:6px 0;font-size:15px;line-height:1.5}.infobox{background:#f4f5f9;border-radius:8px;padding:14px;font-size:13px;line-height:1.6;color:#5d6980}.bottom{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px}.bottom article{background:white;border:1px solid #e1e5ed;padding:22px;border-radius:12px}.bottom strong{display:block;margin-top:15px;font-size:14px;color:#564496}.note{display:block;font-size:12px;margin-top:14px;color:#68758b}footer{font-size:12px;color:#768298;line-height:1.8;margin-top:22px}button:focus-visible,select:focus-visible{outline:3px solid #7e65db;outline-offset:2px}@media(max-width:1100px){.toolbar{align-items:start;flex-direction:column}.workspace{grid-template-columns:minmax(0,1fr) 260px}.edition span{display:none}}@media(max-width:760px){main{padding:22px 16px}header{padding:16px}.edition label{display:none}.heading{align-items:start;gap:12px;flex-direction:column}h1{font-size:27px}.stats{grid-template-columns:1fr 1fr;gap:10px}.stats article{padding:14px}.workspace,.bottom{grid-template-columns:1fr}.viewport{min-height:0}.controls{flex-wrap:wrap}.maptools{gap:12px}.maptools span{max-width:55%}.brand{font-size:12px}.brand b{font-size:17px}.brand small{font-size:12px}.mark{font-size:24px;padding:8px 12px}}

.map-label{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.space.bar-space{fill:transparent;stroke:transparent}.space.bar-space:hover,.space.bar-space:focus,.space.bar-space.active{fill:#7453df44;stroke:#5735b7;stroke-width:2}
[hidden]{display:none!important}.tabs{display:flex;gap:8px;margin:18px 0;flex-wrap:wrap}.tabs button,.secondary{border:1px solid #d9dfeb;background:#fff;color:#283752;padding:10px 14px;border-radius:7px;cursor:pointer;font-size:14px}.tabs button.on{background:#172039;color:white;border-color:#172039}.primary{background:#6550c7;color:white;border:0;border-radius:7px;padding:12px 16px;cursor:pointer;font-size:14px;font-weight:600}button:disabled{opacity:.45;cursor:not-allowed}.actionbar,.sectionhead{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:space-between;margin:15px 0}.actionbar span{margin-right:auto;font-size:14px}.tabview:not(#mapview){background:white;border:1px solid #dfe4ed;border-radius:12px;padding:24px}.connected{font-size:13px;color:#365f53;background:#e9f4ee;padding:10px 14px;border-radius:7px;display:flex;justify-content:space-between;align-items:center;gap:12px}.connected button{background:transparent;border:0;color:#294c42;text-decoration:underline;cursor:pointer}.error,.formerror{color:#a12636;font-size:14px}.error{padding:12px;background:#fff0f0}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;color:#667187;font-weight:600;background:#f5f7fa}td,th{padding:13px 10px;border-bottom:1px solid #e7ebf2;vertical-align:top}td small{display:block;color:#667187;margin-top:5px}h3{font-size:16px;margin:22px 0 12px}.empty{padding:35px 0}.rule-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid #e7ebf2;font-size:14px}.rule-note{background:#fff4d9;padding:10px 12px;border-radius:7px;color:#77580b;margin:10px 0}.space.occupied{fill:#27a47777;stroke:#187957;stroke-width:2}.space.chosen{fill:#7453df88;stroke:#553aa8;stroke-width:3}.space.custom-space{fill:#e9d9ff77;stroke:#7050bf;stroke-width:1.5}.space.custom-space.occupied{fill:#27a47788;stroke:#187957}.draftrect{fill:#7955df55;stroke:#5735b7;stroke-width:1.5;stroke-dasharray:3 2;pointer-events:none}.drawing{touch-action:none;cursor:crosshair}.drawing .space{pointer-events:none}dialog{border:0;border-radius:14px;width:min(720px,94vw);max-height:90vh;padding:30px;color:#18233b;box-shadow:0 24px 90px #101a3c55}dialog::backdrop{background:#101a3c88}dialog h2{padding-right:25px;font-size:23px}.close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:30px;color:#64718a;cursor:pointer}.formgrid{display:grid;gap:16px;margin-top:22px}.formgrid label{display:grid;gap:7px;font-size:14px;font-weight:600}.formgrid input,.formgrid textarea,.formgrid select{width:100%;padding:11px;border:1px solid #cad2e0;border-radius:7px;font:inherit;color:#18233b;background:#fff}.formgrid textarea{min-height:90px}.formgrid input[readonly]{background:#f0f2f6}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:15px}.receipt-link{display:block;border:1px solid #dfe4ed;background:#fafbfe;padding:12px;border-radius:7px;margin:8px 0;cursor:pointer;color:#443884;width:100%;text-align:left}.receipt p{margin:12px 0}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#172039;color:white;padding:14px 20px;border-radius:9px;font-size:14px;max-width:90vw;display:none;z-index:20}#toast.show{display:block}.printnote{font-size:12px;margin-top:12px}@media(max-width:760px){.actionbar{align-items:stretch}.actionbar span{width:100%}.tabview:not(#mapview){padding:16px}.connected{font-size:12px;word-break:break-word}dialog{padding:22px}.twocol{grid-template-columns:1fr}.tabs button{flex:1}.formgrid input,.formgrid select{font-size:16px}}@media print{body>header,body>main,body>#toast{display:none!important}dialog{position:static;display:block;border:0;box-shadow:none;margin:0;width:100%;max-width:none;max-height:none;padding:15px}dialog:not([open]){display:none}dialog .close,dialog #print,dialog .printnote{display:none!important}dialog::backdrop{background:none}.receipt{color:black}.receipt table{width:100%}body{background:white}}
.stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.bar-number{font:700 14px Arial;fill:#172039;pointer-events:none}.cashcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:20px 0}.cashcards article{padding:18px;background:#f4f6fa;border-radius:9px}.cashcards strong{display:block;font-size:25px;margin:10px 0}.cashcards small{color:#667187}.actions{display:flex;gap:8px;flex-wrap:wrap}#rulesview>section:first-child{border-bottom:1px solid #dfe4ed;padding-bottom:24px;margin-bottom:25px}

.space-stats{margin-top:20px;margin-bottom:10px}.space-stats small{font-size:13px;color:#667187}.availability-note{font-size:13px;margin-bottom:18px}#map-extras{grid-template-columns:1fr}

#map .map-base{display:block;width:100%;height:auto}.viewport{min-height:0}
.login-page{min-height:100vh;display:grid;place-items:center;background:#172039;padding:25px}.login-card{background:white;border-radius:18px;width:min(440px,100%);padding:38px}.login-card .mark{display:inline-block;margin-bottom:25px}.login-card .formgrid input{padding:13px;border:1px solid #cad2e0;font-size:16px}.login-help{margin-top:22px;font-size:13px}.account-actions{display:flex;gap:8px;flex-wrap:wrap}.permission-grid{display:grid;gap:10px;padding:15px;background:#f4f6fa;border-radius:8px}.permission-grid label{display:flex;align-items:center;gap:10px}.permission-grid input{width:auto}.login-card h1{margin:10px 0}

.catalog-tools{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin-top:20px}.catalog-tools label{display:grid;gap:7px;font-size:14px;font-weight:600}.catalog-tools label:first-child{flex:1;min-width:200px}.catalog-tools input,.catalog-tools select{padding:11px;border:1px solid #cad2e0;border-radius:7px;font:inherit;background:white;color:#18233b;min-width:0;width:100%}.catalog-help{font-size:14px}.catalog-pagination,.catalog-pagination>div{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.catalog-pagination{margin-top:16px;font-size:14px}.catalog-pagination button:disabled{opacity:.45;cursor:default}.giro-table td:first-child{overflow-wrap:anywhere}.giro-table td:last-child{width:140px}#giro-catalog .sectionhead p{margin:6px 0 0;font-size:14px}@media(max-width:760px){.catalog-tools label,.catalog-tools label:first-child{width:100%;min-width:0}.catalog-tools input,.catalog-tools select{font-size:16px}.catalog-pagination>div{width:100%}.catalog-pagination{gap:16px}}

.space.a-space{fill:#f6abb0;stroke:#5735b7;stroke-width:1}.space.a-space.occupied{fill:#60bf9e}.space.a-space.chosen,.space.a-space.active{fill:#ae96ed}.space.a-space:hover,.space.a-space:focus{fill:#cab8fa;stroke-width:1.5}.a-number{font:700 8px Arial;fill:#18233b;text-anchor:middle;dominant-baseline:central;pointer-events:none}
.approval-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;margin-top:20px}.approval-card{border:1px solid #dfe4ed;border-radius:12px;padding:20px;overflow-wrap:anywhere}.approval-card .badge{margin-bottom:10px}.approval-card h3{margin:0 0 12px}.approval-card p{margin:12px 0}.approval-card .actions button{min-height:44px;flex:1}
.module-menu{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:16px;margin-top:22px}.module-entry{display:flex;flex-direction:column;gap:10px;padding:24px;text-align:left;border:1px solid #dce1ed;border-radius:12px;background:#f8f9fd;color:#18233b;cursor:pointer;min-height:120px}.module-entry:hover{background:#eee9fb;border-color:#7453df}.module-entry strong{font-size:18px}.module-entry span{font-size:14px;line-height:1.5;color:#536077}.submenu-back{margin-bottom:18px}
.denomination-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.denomination-grid label{padding:12px;background:#f4f6fb;border:1px solid #dce1ed;border-radius:8px}.denomination-grid input{width:100%;min-width:0}.denomination-grid span{font-size:14px;font-weight:600}.formgrid fieldset{min-width:0;border:1px solid #dce1ed;border-radius:8px;padding:14px}.formgrid legend{font-size:14px}.receipt td,.receipt p{overflow-wrap:anywhere}@media print{.receipt .tablewrap{overflow:visible}.receipt table{min-width:0;width:100%}.receipt tr{break-inside:avoid}}

.permit-qr{margin:20px 0;break-inside:avoid}.permit-qr svg{display:block;width:300px;max-width:100%;height:auto;background:white}.permit-qr p{font-size:14px}@media print{.permit-qr svg{width:70mm;height:auto}}

.document-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.mobile-document{font-size:15px;line-height:1.4;overflow-wrap:anywhere}.mobile-document h2{font-size:21px;margin:12px 0;padding:0}.mobile-document h3{margin:12px 0 6px}.mobile-document p{margin:8px 0}.document-folio{font-size:19px;font-weight:700}.document-name{font-size:22px}.document-test{border:2px solid #a12636;padding:8px;font-weight:800;color:#a12636}.permit-validity{border:2px solid #18233b;padding:12px;margin:14px 0}.permit-validity h3{font-size:22px}.permit-validity span{font-size:13px}.permit-bottom{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:16px;align-items:start}.permit-bottom .permit-qr{margin:0}.permit-bottom .permit-qr svg{width:100%}.permit-description{white-space:pre-wrap}.inline-giro{padding:10px;border:1px solid #dce1ed;border-radius:8px}.inline-giro-fields{margin-top:12px}.inline-giro-fields .actions{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}.permit-status{font-size:clamp(36px,9vw,64px);font-weight:900;line-height:1.1;text-align:center;padding:20px 8px;border:3px solid currentColor;border-radius:10px;margin-bottom:20px}.permit-status.is-valid{color:#116239;background:#e9f8ee}.permit-status.is-expired{color:#aa1727;background:#fff0f0}
@media(max-width:520px){.permit-bottom{grid-template-columns:1fr}.permit-bottom .permit-qr{max-width:230px}.document-actions button{flex:1}}
@media print{@page{size:letter portrait;margin:12mm}dialog:has(.mobile-document){padding:0;width:100%;overflow:visible}dialog .document-actions{display:none!important}.mobile-document{font-size:10pt;line-height:1.25;break-inside:avoid}.mobile-document h2{font-size:16pt;margin:6mm 0 3mm}.mobile-document h3{font-size:12pt;margin:3mm 0 2mm}.mobile-document p{margin:2mm 0}.mobile-document .document-name{font-size:17pt}.mobile-document .document-folio{font-size:14pt}.mobile-document .permit-validity{padding:3mm;margin:3mm 0}.mobile-document .permit-validity h3{font-size:16pt}.mobile-document .permit-bottom{display:grid;grid-template-columns:minmax(0,1fr) 54mm;gap:5mm}.mobile-document .permit-qr{max-width:none;width:54mm}.mobile-document .permit-qr svg{width:54mm}.mobile-document .permit-qr p{font-size:9pt}.mobile-document td,.mobile-document th{padding:3mm}.mobile-document .document-test{font-size:12pt;padding:2mm}}

.inline-giro-error{color:#a12636;font-size:14px}@media print{.mobile-document .permit-description{white-space:normal}}
#results-filters label{min-width:150px}#results-content{margin-top:20px}#results-content td button{display:block;margin-top:8px}.results-print .cashcards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media print{.results-print h3{break-after:avoid}.results-print thead{display:table-header-group}.results-print .cashcards{break-inside:avoid}.results-print table{font-size:10pt}.results-print td,.results-print th{padding:5px}.results-print .cashcards strong{font-size:16pt}}
.discount-space{display:flex!important;align-items:center;gap:10px;margin:10px 0}.discount-space input{width:auto!important}.terms-history{border-bottom:1px solid #dce1ed;padding:12px 0}.terms-history p{font-size:14px;margin:8px 0}
/* Touch-first operations dashboard */
.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:980px;margin:24px auto 36px}.tabs .dashboard-card{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr);grid-template-rows:auto auto;column-gap:20px;row-gap:7px;align-content:center;align-items:center;min-height:142px;padding:24px 42px 24px 24px;text-align:left;background:#fff;border:1px solid #dde3ef;border-radius:18px;box-shadow:0 5px 16px #17203906;white-space:normal;transition:background .15s,box-shadow .15s,transform .15s}.dashboard-card:hover{background:#f9f8ff;box-shadow:0 7px 22px #17203912;transform:translateY(-2px)}.dashboard-card .menu-icon{grid-row:1/3;display:grid;place-items:center;width:64px;height:64px;border-radius:18px;background:#eeeafa;color:#6550c7}.menu-icon svg{width:34px;height:34px}.dashboard-card strong{font-size:22px;line-height:1.2;overflow-wrap:anywhere}.dashboard-card .nav-description{font-size:14px;line-height:1.45;color:#68758b}.nav-arrow{position:absolute;right:19px;top:21px;font-size:20px;color:#8791a6}.tone-income .menu-icon{background:#e1f4ec;color:#187453}.tone-expenses .menu-icon{background:#fff0e4;color:#ac581b}.tone-map .menu-icon{background:#e4eefb;color:#3766a4}.tone-mobile .menu-icon{background:#e2f3f4;color:#19777a}.tone-approvals .menu-icon{background:#fff5d9;color:#95711d}.tone-cash .menu-icon{background:#e9edf5;color:#344665}.dashboard-back{min-height:48px;margin:6px 0 20px;font-weight:600}.module-menu{grid-template-columns:repeat(2,minmax(0,1fr))}.module-entry{min-height:154px;border-radius:15px;gap:9px}.submenu-icon{display:block;width:32px;height:32px;color:#6550c7!important}.submenu-icon svg{width:100%;height:100%}.submenu-back{min-height:44px}.dashboard-card:focus-visible,.module-entry:focus-visible{outline:3px solid #6550c7;outline-offset:4px}.connected{flex-wrap:wrap}.connected .account-actions{display:flex;gap:12px;flex-wrap:wrap}.connected button{min-height:36px}
@media(max-width:760px){.dashboard-grid{gap:12px;margin-top:20px}.tabs .dashboard-card{grid-template-columns:1fr;grid-template-rows:auto auto auto;align-content:start;gap:11px;min-height:188px;padding:19px 16px}.dashboard-card .menu-icon{grid-row:auto;width:50px;height:50px;border-radius:14px}.menu-icon svg{width:28px;height:28px}.dashboard-card strong{font-size:19px}.dashboard-card .nav-description{font-size:13px}.nav-arrow{right:14px;top:15px}.module-menu{gap:12px}.module-entry{padding:17px;min-height:170px}.module-entry strong{font-size:17px}.module-entry span{font-size:13px}.edition{gap:4px}button,input,select{touch-action:manipulation}}
@media(prefers-reduced-motion:reduce){.dashboard-card{transition:none}.dashboard-card:hover{transform:none}}
