.company-control{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.company-control select{appearance:auto;width:100%;margin:5px 0 3px;border:1px solid rgba(255,255,255,.24);background:#fff;color:var(--ink);font:700 14px Manrope;padding:9px 10px;border-radius:9px;outline:0;cursor:pointer}
.company-control select option{color:var(--ink);background:#fff}
.select-chevron{display:grid!important;place-items:center;width:32px;height:32px;border-radius:9px;background:rgba(255,255,255,.08);pointer-events:none;font-size:14px!important}
.captcha-wrap{margin-top:18px;min-height:78px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:11px}
.primary:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}
.login-error{min-height:18px;margin-top:8px;color:#b42318;font-size:11px;font-weight:700;text-align:center}
.field-error{display:block;min-height:14px;margin-top:5px;color:#b42318;font-size:10px;font-weight:700}.field-error:empty{min-height:0;margin:0}
.field-help{display:block;margin-top:6px;color:var(--muted);font-size:10px;font-weight:500;line-height:1.35}.field-help.status-error{margin-top:8px;padding:10px 12px;border:1px solid #fda29b;border-radius:9px;background:#fef3f2;color:#b42318;font-size:14px;font-weight:800;line-height:1.4}.field-help.status-success{color:#087a55;font-size:12px;font-weight:700}.form-error{min-height:16px;margin-top:10px;color:#b42318;font-size:11px;font-weight:700;text-align:center}.form-error:not(:empty){padding:11px 13px;border:1px solid #fda29b;border-radius:9px;background:#fef3f2;font-size:14px;line-height:1.4}.form-error:empty{min-height:0;margin:0}
.access-form input[aria-invalid="true"]{border-color:#d92d20;box-shadow:0 0 0 3px rgba(217,45,32,.08)}
.access-form select:disabled{cursor:not-allowed;color:#7d8984;background:#eef2f0}
.app-nav{position:fixed;z-index:8;left:0;right:0;bottom:0;width:100%;box-shadow:0 -10px 28px rgba(14,45,35,.08)}
.app-nav[hidden]{display:none!important}.app-nav button{min-width:64px;cursor:pointer}.app-nav button.selected{color:var(--green)}
.module-screen{background:var(--paper);padding-bottom:86px}.module-header{display:flex;align-items:center;justify-content:space-between;background:#fff;padding:26px 20px 18px;border-bottom:1px solid var(--line)}
.module-header h2{font:800 25px/1.1 Manrope;margin:6px 0 0}.refresh-button{border:1px solid var(--line);background:#fff;color:var(--green);border-radius:10px;padding:9px 11px;font-weight:700}
.module-content{padding:20px}.empty-state{display:flex;min-height:260px;align-items:center;justify-content:center;flex-direction:column;text-align:center;background:#fff;border:1px solid var(--line);border-radius:17px;padding:28px}
.empty-state>span{font-size:34px;color:var(--green);margin-bottom:12px}.empty-state strong{font:800 17px Manrope}.empty-state small{max-width:250px;margin-top:7px;color:var(--muted);line-height:1.45}
.module-item{display:flex;align-items:center;gap:12px;margin-bottom:10px;padding:15px;background:#fff;border:1px solid var(--line);border-radius:14px}.module-item-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#e7f3ee;color:var(--green)}
.module-item>div{display:flex;flex:1;flex-direction:column}.module-item strong{font-size:13px}.module-item small{margin-top:3px;color:var(--muted);font-size:10px}.module-item time{color:#8b9691;font-size:10px}
.presence-item{gap:12px}.presence-item .module-item-icon.car{background:var(--blue);color:var(--navy)}.presence-mode{display:flex;flex:none;min-width:76px;flex-direction:column;align-items:flex-end;gap:2px;border-radius:10px;padding:8px 10px;text-align:right}.presence-mode b{font-size:10px;line-height:1}.presence-mode small{margin:0;font-size:9px;font-weight:700}.presence-mode.vehicle{background:var(--blue);color:var(--navy)}.presence-mode.vehicle small{color:var(--navy)}.presence-mode.pedestrian{background:#e7f3ee;color:var(--green)}
.presence-search{position:sticky;z-index:1;top:0;box-shadow:0 7px 20px rgba(13,48,37,.05)}.presence-search small{flex:none;color:var(--green);font-size:10px;font-weight:800;white-space:nowrap}
@media(max-width:28rem){.presence-item{align-items:flex-start}.presence-mode{min-width:auto;padding:7px 8px}.presence-item>div{min-width:0}.presence-item strong,.presence-item small{overflow-wrap:anywhere}}
.authorization-content{display:flex;flex-direction:column;gap:18px}.module-section{min-width:0}.module-section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:10px}.module-section-head h3{margin:4px 0 0;font:800 18px Manrope}.record-count{display:grid;place-items:center;min-width:30px;height:28px;padding:0 9px;border-radius:16px;background:#e7f3ee;color:var(--green);font-size:11px;font-weight:800}.authorization-search{display:flex;align-items:center;gap:8px;margin-bottom:10px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--muted)}.authorization-search input{width:100%;border:0;background:transparent;padding:13px 0;outline:0;font:500 12px DM Sans;color:var(--ink)}.empty-state.compact{min-height:170px;padding:20px}.authorization-item{margin-bottom:10px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:14px}.authorization-main{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.authorization-main>div{display:flex;min-width:0;flex-direction:column}.authorization-main strong{font-size:13px;line-height:1.25}.authorization-main small{margin-top:3px;color:var(--muted);font-size:10px}.status-chip{flex:none;border-radius:14px;padding:5px 7px;background:#eef1ef;color:#65716c;font-size:9px;font-weight:800;text-transform:uppercase}.status-chip.active{background:#e4f4e3;color:#2f7c2f}.status-chip.inactive{background:#fce9e7;color:#a33a30}.authorization-item dl{display:grid;grid-template-columns:1fr 1fr;gap:9px 12px;margin:13px 0 0;padding-top:11px;border-top:1px solid #edf1ef}.authorization-item dl div{min-width:0}.authorization-item dt{color:#87918d;font-size:9px;font-weight:700;text-transform:uppercase}.authorization-item dd{overflow-wrap:anywhere;margin:3px 0 0;font-size:10px;line-height:1.35}
.authorization-search small{flex:none;color:var(--green);font-size:10px;font-weight:800;white-space:nowrap}.authorization-search-wide{grid-column:1/-1;margin-bottom:0}.activity-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:12px;padding:4px;border-radius:12px;background:#e9eeeb}.activity-tabs button{border:0;border-radius:9px;background:transparent;padding:11px;color:var(--muted);font:800 12px Manrope;cursor:pointer}.activity-tabs button.selected{background:#fff;color:var(--green);box-shadow:0 3px 12px rgba(13,48,37,.09)}.history-date-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:10px}.history-date-filters[hidden]{display:none}.history-date-filters label{display:flex;min-width:0;flex-direction:column;gap:5px;color:var(--muted);font-size:10px;font-weight:800}.history-date-filters input{min-width:0;border:1px solid var(--line);border-radius:10px;background:#fff;padding:10px;color:var(--ink);font:600 12px DM Sans}.movement-chip{display:flex;flex:none;min-width:72px;flex-direction:column;align-items:flex-end;gap:2px;border-radius:10px;padding:8px 10px;text-align:right}.movement-chip b{font-size:10px}.movement-chip small{margin:0;font-size:9px}.movement-chip.entry{background:#e7f3ee;color:var(--green)}.movement-chip.exit{background:#fff0e4;color:#a95012}
.activity-empty{padding:18px 0 4px;border-top:1px solid #edf1ef;color:var(--muted);font-size:11px;text-align:center}
.settings-list{display:flex;flex-direction:column;gap:10px}.setting-row{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px}.setting-row>div{display:flex;flex-direction:column;gap:4px}.setting-row strong{font-size:13px}.setting-row small{color:var(--muted);font-size:10px}.setting-row button{border:0;background:#e7f3ee;color:var(--green);border-radius:9px;padding:8px 10px;font-weight:700}
.logout-wide{width:100%;margin-top:10px;border:1px solid #efc8c3;background:#fff;color:#a93327;border-radius:12px;padding:14px;font-weight:800}
.qr-modal{position:fixed;z-index:20;inset:0;background:rgba(4,24,18,.72);display:flex;align-items:flex-end;justify-content:center}.qr-modal[hidden]{display:none}.qr-sheet{width:100%;background:#fff;border-radius:22px 22px 0 0;padding:clamp(1rem,3vw,2rem) clamp(.875rem,4vw,3rem) calc(1.25rem + env(safe-area-inset-bottom))}
.qr-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.qr-head h3{font:800 20px Manrope;margin:5px 0 0}.qr-head button{width:38px;height:38px;border:1px solid var(--line);background:#fff;border-radius:10px;font-size:25px}
.camera-frame{position:relative;overflow:hidden;aspect-ratio:1/1;border-radius:16px;background:#0b1814}.camera-frame video{width:100%;height:100%;object-fit:cover}.scan-frame{position:absolute;inset:18%;border:3px solid var(--lime);border-radius:16px;box-shadow:0 0 0 999px rgba(0,0,0,.2)}
#qr-status{text-align:center;color:var(--muted);font-size:12px;min-height:18px}.photo-fallback{display:flex;justify-content:center;border:1px solid var(--line);border-radius:11px;padding:12px;color:var(--green);font-weight:700;font-size:12px}.photo-fallback input{display:none}.scan[hidden]{display:none!important}
html,body{inline-size:100%;max-inline-size:100%;min-block-size:100%;overflow-x:hidden}body{padding:0}.app-shell{inline-size:100%;max-inline-size:none;min-block-size:100dvh;margin:0;border-radius:0;box-shadow:none}.screen{inline-size:100%;max-inline-size:none;min-block-size:100dvh}.login-card,.access-form,.module-content,.form-header{min-inline-size:0;max-inline-size:100%}
#login-screen.active{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,28rem),1fr));min-block-size:100dvh}.login-art{display:flex;min-block-size:clamp(18rem,42dvh,36rem);flex-direction:column;justify-content:center;padding:clamp(2rem,6vw,6rem);border-radius:0}.login-art h1{font-size:clamp(2rem,5vw,4.5rem)}.login-card{--login-gutter:clamp(0px,4vw,6rem);display:flex;min-block-size:0;margin:0;border-radius:0;flex-direction:column;justify-content:center;padding-block:clamp(2rem,6vw,6rem);padding-inline:var(--login-gutter)}.login-card .captcha-wrap{margin-inline:calc(-1 * var(--login-gutter));padding-inline:max(0px,calc((100% - 304px)/2))}
.topbar,.module-header{padding:clamp(1rem,3vw,2.5rem) clamp(.875rem,4vw,4rem)}.site-card{margin-inline:clamp(.875rem,4vw,4rem);padding:clamp(.875rem,2vw,1.5rem)}.status-row{padding-inline:clamp(.875rem,4vw,4rem)}.section-title{padding-inline:clamp(.875rem,4vw,4rem)}.action-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:clamp(.75rem,2vw,1.5rem);padding-inline:clamp(.875rem,4vw,4rem)}.action-card{min-block-size:clamp(10rem,24vw,13rem)}.activity-card{margin:clamp(.875rem,4vw,4rem)}
.form-header{display:flex;flex-wrap:wrap;gap:clamp(.5rem,2vw,1rem);padding:clamp(.875rem,3vw,2rem) clamp(.875rem,4vw,4rem)}.form-header>div{min-inline-size:0;flex:1 1 15rem}.form-header .online{margin-inline-start:auto}.access-form{inline-size:min(100%,74rem);margin-inline:auto;padding:clamp(1rem,3vw,2.5rem) clamp(.875rem,5vw,5rem) calc(clamp(2rem,5vw,4rem) + env(safe-area-inset-bottom))}.two-col{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:clamp(.75rem,2vw,1.5rem)}.access-form label,.two-col>*{min-inline-size:0}.login-card input,.access-form input,.access-form select,.access-form textarea,.company-control select{min-inline-size:0;max-inline-size:100%}.access-form select{white-space:nowrap;text-overflow:ellipsis}.field-help,.field-error{overflow-wrap:anywhere}.captcha-wrap,.captcha-wrap>div{max-inline-size:100%}
.module-content{padding:clamp(.875rem,4vw,4rem)}.authorization-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr));gap:clamp(1rem,3vw,2rem)}.authorization-item dl{grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr))}.settings-list{inline-size:min(100%,58rem);margin-inline:auto}.qr-sheet>*{max-inline-size:42rem;margin-inline:auto}
.decision-modal{position:fixed;z-index:30;inset:0;display:grid;place-items:center;padding:clamp(.875rem,4vw,3rem);background:rgba(4,24,18,.76);backdrop-filter:blur(5px)}.decision-modal[hidden]{display:none}.decision-card{inline-size:min(100%,34rem);max-block-size:calc(100dvh - 2rem);overflow-y:auto;border-radius:22px;background:#fff;padding:clamp(1.25rem,5vw,2.25rem);box-shadow:0 28px 80px rgba(3,26,19,.34)}.decision-icon{display:grid;place-items:center;inline-size:3.25rem;block-size:3.25rem;margin-block-end:1rem;border-radius:16px;background:#e7eefc;color:var(--navy);font-size:1.75rem;font-weight:800}.decision-icon.warning{background:#fff0db;color:#b54708}.decision-card h3{margin:.45rem 0 .5rem;font:800 clamp(1.35rem,5vw,1.75rem)/1.2 Manrope}.decision-card>p{margin:0 0 1.25rem;color:var(--muted);font-size:clamp(1rem,3.6vw,1.125rem);line-height:1.55}.vehicle-options{display:grid;gap:.75rem}.vehicle-choice{display:flex;inline-size:100%;align-items:center;justify-content:space-between;gap:1rem;border:2px solid var(--line);border-radius:15px;background:#fff;padding:1rem;text-align:left;color:var(--ink);cursor:pointer}.vehicle-choice:focus,.vehicle-choice:hover{border-color:var(--green);box-shadow:0 0 0 4px rgba(18,104,79,.1);outline:0}.vehicle-choice strong{font:800 1.2rem Manrope}.vehicle-choice small{display:block;margin-block-start:.25rem;color:var(--muted);font-size:.82rem}.vehicle-choice span:last-child{color:var(--green);font-size:1.4rem}.decision-secondary{inline-size:100%;margin-block-start:1rem;border:1px solid var(--line);border-radius:12px;background:#fff;padding:.9rem;color:var(--muted);font-weight:800}.decision-confirm{margin-block-start:1.25rem;font-size:1rem}.warning-card{border-top:6px solid #f79009}
