:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#17201d;background:#edf3f1}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(180deg,#f8fbfa,#edf3f1);color:#17201d}button,input,select{font:inherit}.top{min-height:76px;padding:0 34px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#0c1814;color:#fff;position:sticky;top:0;z-index:20;box-shadow:0 1px 0 #0003}.brand{display:flex;align-items:center;gap:12px}.brandmark{width:39px;height:39px;border-radius:11px;background:#07110e;border:1px solid #ffffff18;display:grid;place-items:center;color:#38f08a;font-size:22px;font-weight:1000;font-style:italic}.brand>div:last-child{display:grid;gap:3px}.brand b{font-size:16px}.brand span{font-size:10px;letter-spacing:.08em;color:#b8cbc4}.top-status{display:flex;align-items:center;gap:7px}.status-chip{border:1px solid #ffffff18;background:#ffffff0b;color:#d8e2de;border-radius:99px;padding:7px 10px;font-size:10px;white-space:nowrap}.status-chip.active{border-color:#fff;color:#fff}.status-chip i,.system-ok i{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:6px}.green{background:#22c55e}.red{background:#ef4444}.gray{background:#94a3b8}.system-ok{font-size:10px;color:#d7e4df;white-space:nowrap}.system-ok i{background:#9be63c;box-shadow:0 0 8px #9be63c}.logout-top{margin-left:8px;border:0;border-radius:12px;background:#f7f9f8;padding:11px 18px;font-size:11px;font-weight:800;color:#26312d;cursor:pointer}.modulebar{min-height:55px;background:#fff;border-bottom:1px solid #dbe5e1;display:flex;align-items:center;padding:0 34px;gap:7px;position:sticky;top:76px;z-index:19}.module{border:0;background:transparent;color:#74817c;padding:11px 15px;border-radius:10px;cursor:pointer;font-size:13px}.module.active{background:#101a17;color:#fff}.module-actions{margin-left:auto;display:flex;align-items:center;gap:10px;color:#84908c;font-size:10px}.module-actions b{color:#26312d}.entry-mini{border:0;border-radius:10px;background:#e8f6ed;color:#167342;padding:10px 13px;font-weight:800;cursor:pointer}.operation{padding:17px 34px 50px;max-width:none}.filterline{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.filterline>span{font-size:10px;color:#87948f}.filters{display:flex;gap:6px}.filters button{border:1px solid #d8e2de;background:#fff;color:#65736e;border-radius:99px;padding:7px 12px;font-size:10px;cursor:pointer}.filters button.on{background:#101a17;border-color:#101a17;color:#fff}.grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px}.space{position:relative;overflow:hidden;min-height:132px;padding:13px;border:0;border-radius:15px;color:#fff;text-align:left;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;box-shadow:0 10px 25px #263a3214}.space-title{width:100%;display:flex;flex-direction:column;gap:8px;z-index:2}.space-title b{font-size:23px;line-height:1}.space-title small{font-size:9px;letter-spacing:.05em;font-weight:900}.space strong{font-size:11px;margin-top:9px;z-index:2}.space>span{font-size:9px;margin-top:5px;opacity:.9;z-index:2}.space.available{background:#1e8957}.space.occupied{background:#c73b40}.space.blocked{background:#58625f}.space:not(.available):not(.occupied):not(.blocked){background:#3684c9}.card-orb{position:absolute;width:100px;height:100px;border-radius:50%;right:-30px;bottom:-35px;background:#ffffff0c}.overlay{position:fixed;inset:0;background:#07110ea8;z-index:100;display:grid;place-items:center;padding:16px;backdrop-filter:blur(5px)}.modal{position:relative;width:min(430px,100%);background:#fff;border:1px solid #dbe5e1;border-radius:18px;padding:23px;color:#17201d;box-shadow:0 30px 80px #0005}.modal .x{position:absolute;right:13px;top:11px;background:transparent;border:0;color:#82908a;font-size:25px;cursor:pointer}.modal>small,.login small{font-size:10px;letter-spacing:.14em;color:#168655;font-weight:900}.modal h2{margin:5px 0;font-size:24px}.muted{color:#7c8984;font-size:12px;margin:0 0 18px}.modal form{display:grid;gap:13px}.modal label{display:grid;gap:6px;color:#66736e;font-size:11px;font-weight:800}.modal input,.modal select{width:100%;border:1px solid #d7e1dd;background:#f7faf9;color:#17201d;border-radius:10px;padding:12px;outline:none}.modal input:focus{border-color:#1e8957}.tariff,.vehicle>div,.stay,.amount{background:#f3f7f5;border:1px solid #e3ebe8;border-radius:11px;padding:12px}.tariff{color:#77847f;font-size:11px;display:flex;justify-content:space-between}.tariff b{color:#26312d}.actions{display:flex;justify-content:flex-end;gap:8px;margin-top:5px}.primary,.secondary,.danger{border:0;border-radius:10px;padding:11px 15px;font-weight:800;cursor:pointer}.primary{background:#101a17;color:#fff}.secondary{background:#e9efed;color:#34413c}.danger{background:#fbe8e8;color:#b42e34}.wide{width:100%;margin-top:18px}.vehicle{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0 8px}.vehicle span,.amount span{display:block;color:#84908c;font-size:9px}.vehicle b{font-size:19px}.stay{display:flex;justify-content:space-between;color:#7d8985;font-size:11px}.stay b{color:#26312d}.amount{margin-top:8px}.amount>b{display:block;font-size:30px;margin:3px 0}.amount small{color:#7c8984}.loading{padding:25px 0;color:#7c8984}.paymethods{display:grid;grid-template-columns:1fr 1fr;gap:8px}.paymethods button{border:1px solid #dbe5e1;background:#f7faf9;color:#26312d;border-radius:10px;padding:13px;font-weight:800;cursor:pointer}.paymethods button:hover{border-color:#1e8957}.toast{position:fixed;right:18px;bottom:18px;z-index:200;background:#153d2b;color:#d7ffe8;border-radius:10px;padding:12px 15px;font-size:12px;box-shadow:0 15px 40px #0004}.toast.error{background:#6f2528;color:#ffe2e2}.toast.info{background:#24465a;color:#e2f5ff}.space-search{margin-top:-5px}.space-picker{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;max-height:132px;overflow:auto}.pick-space{min-height:38px;border:1px solid #dbe5e1;background:#f7faf9;color:#66736e;border-radius:9px;font-size:11px;font-weight:800;cursor:pointer}.pick-space.selected{background:#dff4e7;border-color:#1e8957;color:#12683e}.empty-picker{grid-column:1/-1;color:#84908c;font-size:11px;padding:14px 4px}.login{min-height:100vh;display:grid;place-items:center;background:#edf3f1}.login section{width:min(400px,calc(100% - 30px));background:#fff;border:1px solid #dbe5e1;border-radius:18px;padding:25px}.login h1{margin:5px 0}.login p{color:#7c8984}.login form{display:grid;gap:10px;margin-top:20px}.login input{padding:12px;border-radius:10px;border:1px solid #dbe5e1;background:#f7faf9}.login button{padding:12px;border:0;border-radius:10px;background:#101a17;color:#fff;font-weight:800}.login #loginMsg{min-height:18px;color:#7c8984;font-size:11px}@media(max-width:1150px){.grid{grid-template-columns:repeat(6,1fr)}.system-ok{display:none}}@media(max-width:850px){.grid{grid-template-columns:repeat(4,1fr)}.top-status .status-chip{display:none}.module-actions span{display:none}}@media(max-width:680px){.top{min-height:62px;padding:8px 12px}.brandmark{width:34px;height:34px}.brand b{font-size:14px}.brand span{font-size:8px}.logout-top{padding:9px 12px}.modulebar{top:62px;padding:6px 10px;overflow:auto}.module{padding:9px 10px;white-space:nowrap}.module-actions{margin-left:0}.operation{padding:12px 10px 35px}.grid{grid-template-columns:repeat(2,1fr);gap:8px}.space{min-height:112px;padding:12px}.space-title b{font-size:22px}.filterline{margin-bottom:9px}.filterline>span{display:none}.modal{padding:20px}.actions>*{flex:1}.space-picker{grid-template-columns:repeat(5,1fr);max-height:142px}}
/* Parking-density pass: compact cards, no motel-style empty vertical space */
.space{min-height:116px}
.space-title{gap:6px}
.space strong{margin-top:8px}
.space>span{margin-top:5px}
.live-elapsed{font-weight:800}
@media(min-width:1450px){.grid{grid-template-columns:repeat(10,minmax(0,1fr))}}
@media(max-width:680px){.space{min-height:102px}.space-title b{font-size:21px}}

.entry-mini kbd{margin-left:5px;padding:2px 5px;border:1px solid #16734244;border-radius:5px;background:#fff8;font:700 9px/1 Inter,system-ui;color:#167342}@media(max-width:680px){.entry-mini kbd{display:none}}

.cash-modal{width:min(520px,100%)}.cash-total{background:#101a17;color:#fff;border-radius:14px;padding:16px;margin:15px 0}.cash-total span,.cash-total small{display:block;color:#b8c8c2;font-size:10px}.cash-total b{display:block;font-size:30px;margin:3px 0}.cash-methods{display:grid;grid-template-columns:1fr 1fr;gap:7px}.cash-methods>div{background:#f3f7f5;border:1px solid #e3ebe8;border-radius:10px;padding:10px;display:flex;justify-content:space-between;font-size:11px}.cash-modal h3{font-size:12px;margin:18px 0 8px}.cash-list{max-height:210px;overflow:auto}.cash-row{display:flex;justify-content:space-between;align-items:center;padding:10px 3px;border-bottom:1px solid #e5ece9;font-size:11px}.cash-row span{display:grid;gap:2px}.cash-row small{color:#84908c}.cash-row strong{font-size:12px}

/* Operational navigation refinement */
.plate-search{height:30px;display:flex;align-items:center;gap:5px;border:1px solid #d8e2de;background:#fff;border-radius:99px;padding:0 9px;color:#73817c;transition:.15s}.plate-search:focus-within{border-color:#1e8957;box-shadow:0 0 0 2px #1e895712}.plate-search span{font-size:15px;line-height:1}.plate-search input{width:0;min-width:0;border:0;outline:0;background:transparent;padding:0;font-size:10px;color:#26312d;transition:width .18s}.plate-search:hover input,.plate-search:focus-within input,.plate-search input:not(:placeholder-shown){width:92px}.module kbd{margin-left:4px;padding:2px 4px;border:1px solid #b8c4bf;border-radius:4px;background:#f5f8f7;color:#75817d;font:700 8px/1 Inter,system-ui}.module.active kbd{border-color:#ffffff33;background:#ffffff10;color:#dce5e1}
@media(min-width:681px){.filterline{display:none}.operation{padding-top:14px}}
@media(max-width:680px){.modulebar{overflow:visible;padding-right:10px;gap:3px}.module{padding:9px 8px;font-size:11px}.module-actions{margin-left:auto}.entry-mini{padding:10px 9px;white-space:nowrap}.module kbd{display:none}.operation{padding-top:0}.filterline{position:sticky;top:117px;z-index:18;background:#f8fbfa;padding:10px 0 9px;margin:0 0 8px;border-bottom:1px solid #e5ece9}.filters{width:100%;align-items:center;gap:5px}.filters button{padding:8px 12px}.plate-search{margin-left:auto}.plate-search input{width:0}.plate-search:focus-within input,.plate-search input:not(:placeholder-shown){width:82px}}
@media(max-width:390px){.module{padding:9px 6px;font-size:10px}.entry-mini{padding:9px 7px;font-size:10px}.brand span{display:none}}

/* Mobile parking cards: same geometry in every state, slightly denser for field operation */
@media(max-width:680px){
  .space{min-height:94px;height:94px;padding:11px 12px}
  .space-title{gap:4px}
  .space-title b{font-size:20px}
  .space-title small{font-size:8px}
  .space strong{margin-top:6px;font-size:10px}
  .space>span{margin-top:4px;font-size:8px}
  .card-orb{width:82px;height:82px;right:-26px;bottom:-30px}
}

/* Desktop quick operational controls */
.top-filter{cursor:pointer;font:inherit}.top-filter:hover,.top-filter.selected{border-color:#dce8e3;background:#ffffff12}.top-filter.selected{box-shadow:inset 0 0 0 1px #ffffff28}
.top-plate-search{height:30px;display:flex;align-items:center;gap:5px;border:1px solid #ffffff25;border-radius:99px;padding:0 9px;color:#c9d5d0;background:#ffffff08}.top-plate-search:focus-within{border-color:#ffffff80;background:#ffffff12}.top-plate-search span{font-size:15px}.top-plate-search input{width:0;min-width:0;border:0;outline:0;background:transparent;color:#fff;padding:0;font-size:10px;transition:width .18s}.top-plate-search input::placeholder{color:#9aaba4}.top-plate-search:hover input,.top-plate-search:focus-within input,.top-plate-search input:not(:placeholder-shown){width:72px}
@media(max-width:680px){.top-filter,.top-plate-search{display:none}}

/* Optional vehicle metadata */
.optional-entry{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.optional-entry .entry-notes{grid-column:1/-1}.modal label small{font-weight:500;color:#87938e;margin-left:4px}.session-note{margin:10px 0 0;padding:9px 11px;border:1px solid #e2eae7;background:#f7f9f8;border-radius:9px;font-size:10px;color:#53615c}.modal textarea{width:100%;resize:vertical;min-height:68px}
@media(max-width:680px){.optional-entry{grid-template-columns:1fr}.optional-entry .entry-notes{grid-column:auto}}

/* Gerencial / tarifas */
.manager-list{display:grid;gap:7px;margin:16px 0}.manager-row{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;border:1px solid #e1e9e6;background:#f8faf9;border-radius:11px;padding:12px;cursor:pointer}.manager-row:hover{border-color:#b8cec4}.manager-row span{display:grid;gap:3px}.manager-row small{font-size:9px;color:#7a8782}.manager-row strong{font-size:10px;color:#187348}.tariff-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.modal select{width:100%;border:1px solid #dbe4e0;border-radius:9px;padding:11px;background:#fff;color:#27332e}#fixedFields[hidden],#rotativeFields[hidden]{display:none}@media(max-width:680px){.tariff-fields{grid-template-columns:1fr}}

/* Mensalistas */
.monthly-modal{width:min(600px,100%)}.monthly-list{display:grid;gap:7px;margin:16px 0;max-height:330px;overflow:auto}.monthly-row{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;border:1px solid #e1e9e6;background:#f8faf9;border-radius:11px;padding:12px;cursor:pointer}.monthly-row:hover{border-color:#b8cec4}.monthly-row span{display:grid;gap:4px}.monthly-row small{font-size:9px;color:#78857f}.monthly-row strong{font-size:11px;color:#187348}.monthly-modal textarea{font:inherit}

.monthly-hit{display:grid;gap:3px;margin:10px 0;padding:10px 12px;border-radius:10px;border:1px solid #cce2d7;background:#f2faf6}.monthly-hit b{font-size:11px;color:#176b46}.monthly-hit span{font-size:9px;color:#53665d}.monthly-hit.limit{border-color:#ead1cb;background:#fff6f3}.monthly-hit.limit b{color:#9b3d2d}

.manager-tools{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.manager-card{display:grid;gap:4px;text-align:left;padding:13px;border:1px solid #d9e5e0;background:#f5faf7;border-radius:11px;cursor:pointer}.manager-card b{color:#155f40}.manager-card small{color:#718078}.report-kpis{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.report-kpis>div{display:grid;gap:3px;padding:11px;border:1px solid #e1e9e6;border-radius:10px;background:#f8faf9}.report-kpis span{font-size:9px;color:#738078}.report-kpis b{font-size:15px}.report-list{max-height:260px;overflow:auto}@media(max-width:480px){.report-kpis{grid-template-columns:1fr 1fr}}

.audit-modal{width:min(620px,100%)}.audit-list{display:grid;gap:7px;max-height:420px;overflow:auto;margin:14px 0}.audit-row{border-left:3px solid #b9d7c8;background:#f8faf9;border-radius:7px;padding:9px 11px}.audit-row span{display:grid;gap:2px}.audit-row b{font-size:9px;text-transform:uppercase;color:#1b704b}.audit-row strong{font-size:11px}.audit-row small{font-size:9px;color:#78847f}@media(max-width:520px){.manager-tools{grid-template-columns:1fr}}

.settings-group{display:grid;gap:7px;margin:12px 0;padding:11px;border:1px solid #e0e9e5;border-radius:10px;background:#f8faf9}.settings-group>b{font-size:10px;color:#245d46}.checkline{display:flex!important;align-items:center;gap:8px;font-size:10px;color:#4f5f58}.checkline input{width:auto!important;margin:0}


/* Viewport-safe operational modals: keep header/close reachable and scroll content instead of clipping */
.overlay{overflow-y:auto;align-items:start}
.modal{margin:auto;max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain}
@media(max-width:680px){
  .overlay{padding:8px}
  .modal{max-height:calc(100dvh - 16px);padding:20px;margin:auto}
  .modal .x{position:sticky;float:right;right:0;top:0;z-index:3;margin:-9px -8px 0 8px;background:#fff;border-radius:8px}
}

/* Desktop keyboard guidance */
.desktop-hint{font-size:10px;color:#7b8883;text-align:right;margin-top:-2px}
.desktop-hint kbd,.actions .primary kbd{display:inline-block;padding:2px 5px;border:1px solid #cbd7d2;border-radius:5px;background:#f7faf9;color:#53615c;font:700 9px/1 Inter,system-ui}
.actions .primary kbd{margin-left:6px;border-color:#ffffff35;background:#ffffff12;color:#fff}
@media(max-width:680px){.desktop-hint,.actions .primary kbd{display:none}}

.top-plate-search kbd{margin-left:2px;padding:2px 4px;border:1px solid #ffffff30;border-radius:4px;background:#ffffff0b;color:#d8e2de;font:700 8px/1 Inter,system-ui}

/* Desktop modal ergonomics: stable viewport, single scroll area and visible actions */
@media(min-width:681px){
  .overlay{padding:18px;align-items:center}
  .modal{width:min(520px,calc(100vw - 36px));max-height:calc(100dvh - 36px);padding:22px 24px;scrollbar-gutter:stable;box-shadow:0 24px 70px #0005}
  .modal.cash-modal{width:min(540px,calc(100vw - 36px))}
  .modal.monthly-modal,.modal.audit-modal{width:min(620px,calc(100vw - 36px))}
  .modal h2{margin-top:6px;margin-bottom:5px}
  .modal>.muted{margin-top:0}
  .modal .actions{position:sticky;bottom:-22px;z-index:5;margin:14px -24px -22px;padding:12px 24px 14px;background:linear-gradient(#ffff,#fff 24%);border-top:1px solid #e5ece9}
  .audit-list{max-height:min(390px,calc(100dvh - 260px))}
  .report-list{max-height:min(300px,calc(100dvh - 390px))}
  .cash-list{max-height:min(230px,calc(100dvh - 430px))}
  .monthly-list{max-height:min(340px,calc(100dvh - 300px))}
}

.brandmark{overflow:hidden;padding:0;background:#06130e}
.brandmark img{display:block;width:100%;height:100%;object-fit:cover}

.top-clock{font-size:12px;font-weight:800;color:#eef7f3;white-space:nowrap;font-variant-numeric:tabular-nums}
@media(max-width:900px){.top-clock{display:none}}

/* Consolidated desktop header rhythm */
@media(min-width:901px){
 .top{padding:10px 34px;gap:18px}
 .top-status{gap:7px}
 .status-chip{min-height:36px;padding:0 13px}
 .top-plate-search{height:36px}
 .system-ok{margin-left:1px}
 .top-clock{margin-left:5px;font-size:13px}
 .logout-top{margin-left:5px}
 .modulebar{padding-left:34px;padding-right:34px}
}
