@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap";:root{color:#17201b;font-synthesis:none;background:#f4f7f5;font-family:DM Sans,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}.shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.shell>aside{background:var(--dark);color:#fff;flex-direction:column;padding:27px 18px;display:flex}.brand{align-items:center;gap:11px;margin:0 7px 36px;display:flex}.brand i{background:var(--green);border-radius:12px;place-items:center;width:42px;height:42px;display:grid}.brand svg{width:23px}.brand b,.brand small,.profile b,.profile small{display:block}.brand b{letter-spacing:2px}.brand small{color:#79a28f;letter-spacing:2px;font-size:9px}.shell>aside>p{color:#557366;letter-spacing:1.5px;margin:0 12px 9px;font-size:10px;font-weight:700}nav button{color:#90a99e;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:12px;width:100%;margin:3px 0;padding:12px;display:flex}nav button svg{width:19px}.profile{border-top:1px solid #294137;align-items:center;gap:10px;margin-top:auto;padding:18px 6px 0;display:flex}.profile>span,.client i{color:#76ddb0;background:#25513e;border-radius:50%;place-items:center;width:36px;height:36px;font-size:11px;font-style:normal;font-weight:700;display:grid}.profile b{font-size:12px}.profile small{color:#779287;font-size:10px}main{min-width:0}.mobile-menu,.mobile-backdrop{display:none}header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:86px;padding:0 34px;display:flex}header h1{margin:0;font-size:20px}header span{color:var(--muted);text-transform:capitalize;align-items:center;gap:6px;margin-top:5px;font-size:12px;display:flex}header svg,.primary svg{width:18px}.content{max-width:1450px;margin:auto;padding:30px 34px}.title{justify-content:space-between;align-items:end;margin-bottom:22px;display:flex}.title h2{margin:0;font-size:24px}.title p,.card-title p{color:var(--muted);margin:5px 0 0;font-size:12px}.primary,.force{color:#fff;background:var(--green);border:0;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-size:12px;font-weight:700;display:flex}.primary:disabled{opacity:.45}.card{border:1px solid var(--line);background:#fff;border-radius:13px;box-shadow:0 3px 10px #182d2308}.stats{grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:18px;display:grid}.stat{align-items:center;gap:14px;padding:19px;display:flex}.stat>i{border-radius:12px;place-items:center;width:45px;height:45px;display:grid}.stat>i svg{width:21px}.stat .green{color:#159665;background:#e7f8f0}.stat .orange{color:#dc8d20;background:#fff3e2}.stat .red{color:#d65353;background:#feebeb}.stat .blue{color:#4685c6;background:#e8f1fb}.stat b,.stat span,.stat small{display:block}.stat b{font-size:23px}.stat span{font-size:11px;font-weight:600}.stat small{color:var(--muted);margin-top:3px;font-size:9px}.grid{grid-template-columns:minmax(0,1fr) 300px;gap:18px;display:grid}.card-title{padding:18px 20px}.card-title h3{margin:0;font-size:14px}.card-title p{font-size:10px}.table{overflow:hidden}.scroll{overflow:auto}table{border-collapse:collapse;width:100%;min-width:650px}th{color:#89948d;text-align:left;border-block:1px solid var(--line);background:#fafcfb;padding:11px 18px;font-size:9px}td{color:#626d66;border-bottom:1px solid #eef2ef;padding:13px 18px;font-size:11px}.client{align-items:center;gap:9px;display:flex}.client i{color:#16865a;background:#e5f6ee}.client b{color:#17201b}.table em{border-radius:5px;padding:5px 8px;font-size:9px;font-style:normal;font-weight:700}.mensual{color:#16845a;background:#e8f8f0}.interdiario{color:#3e75af;background:#eaf2fb}.diario{color:#a96d16;background:#fff2dd}.ok{color:#168359;font-size:9px}.warn{color:#b26d08;font-size:9px}.side-card{padding-bottom:12px}.action{border:1px solid var(--line);text-align:left;background:#fff;border-radius:9px;align-items:center;gap:10px;width:calc(100% - 24px);margin:0 12px 9px;padding:11px;display:flex}.action>i{color:#14885c;background:#e8f7f0;border-radius:8px;place-items:center;width:35px;height:35px;display:grid}.action svg{width:17px}.action span{flex:1}.action b,.action small{display:block}.action b{font-size:10px}.action small{color:var(--muted);margin-top:3px;font-size:9px}.toast{z-index:100;color:#fff;background:#113d2c;border-radius:9px;align-items:center;gap:8px;padding:12px 16px;font-size:12px;display:flex;position:fixed;top:18px;right:25px}.toast svg{width:19px}.backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:50;background:#07140e99;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:17px;width:min(410px,100%);padding:28px;position:relative}.close{background:#f0f4f2;border:0;border-radius:50%;width:32px;height:32px;position:absolute;top:14px;right:14px}.close svg{width:16px}.hero-icon{color:#168a5c;background:#e5f7ef;border-radius:13px;width:49px;height:49px;padding:12px}.hero-icon.blue{color:#427db9;background:#e8f1fb}.hero-icon.orange{color:#d38318;background:#fff0da}.modal h2{margin:14px 0 5px;font-size:20px}.modal>p{color:var(--muted);font-size:12px;line-height:1.5}.scanner{color:#34ad75;background:#f7fcf9;border:2px dashed #b8dcca;border-radius:12px;place-items:center;height:150px;margin:18px 0;display:grid}.scanner svg{width:70px;height:70px}.full{width:100%}.modal label{margin:15px 0;font-size:11px;font-weight:700;display:block}.modal input,.modal select{background:#fff;border:1px solid #dce4df;border-radius:8px;outline:0;width:100%;height:42px;margin-top:7px;padding:0 11px;display:block}.expired{background:#fff7eb;border:1px solid #f3dfc5;border-radius:9px;margin-top:16px;padding:11px}.expired b,.expired span{font-size:11px;display:block}.expired span{color:#ae6e16;margin-top:3px}.audit{background:#fff7e9;border-radius:8px;padding:9px;color:#8a5b1c!important}.force{background:#cf7b1d}@media (width<=1000px){.stats{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}}@media (width<=700px){.shell{grid-template-columns:1fr}.shell>aside{z-index:120;width:min(290px,86vw);transition:transform .22s;position:fixed;inset:0 auto 0 0;overflow-y:auto;transform:translate(-105%);box-shadow:16px 0 40px #00192f4d}.shell>aside.mobile-open{transform:translate(0)}.mobile-backdrop{z-index:110;background:#00172b99;border:0;width:100%;height:100%;display:block;position:fixed;inset:0}.mobile-menu{border:1px solid var(--line);color:#0b4f87;background:#fff;border-radius:10px;flex:0 0 42px;place-items:center;width:42px;height:42px;padding:0;display:grid}.mobile-menu svg{width:21px}header{justify-content:flex-start;gap:12px;height:74px}header,.content{padding-left:14px;padding-right:14px}header h1{font-size:17px}header>div span{font-size:10px}.content{padding-top:20px;padding-bottom:28px}.stats{grid-template-columns:1fr 1fr}.title p{display:none}.title{align-items:center;gap:12px}.title>.primary{flex:none}.data-card,.scroll,.dashboard-table{-webkit-overflow-scrolling:touch;overflow-x:auto}th,td{padding-left:12px;padding-right:12px}.backdrop{align-items:end;padding:0}.modal{width:100%;max-height:92vh;padding:24px 18px calc(22px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;overflow-y:auto}}@media (width<=440px){.stats{grid-template-columns:1fr}.title h2{font-size:20px}.title{flex-direction:column;align-items:stretch}.title>.primary{width:100%}}:root{--green:#0b4f87;--dark:#062f55;--muted:#6f7f8e;--line:#e3eaf0}.shell>aside{background:linear-gradient(#073c6b 0%,#052b4d 100%)}.brand{background:#fff;border-radius:12px;height:82px;margin:0 0 28px;overflow:hidden;box-shadow:0 8px 22px #001b3338}.brand-logo{background:url(/logo.jpeg) 50%/140% no-repeat;width:100%;height:100%}.shell>aside>p{color:#87afd0}nav button{color:#aec6da}nav button.active,nav button:hover{color:#fff;background:#0b4f87}.profile{border-top-color:#245b86}.profile>span{color:#dceffc;background:#0d588f}.profile small{color:#9cb9d0}.primary{background:#0b4f87;box-shadow:0 6px 16px #0b4f8729}.primary:hover{background:#073d6a}.stat .green,.client i,.mensual,.action>i,.hero-icon{color:#0b5b96;background:#e7f1f8}.action:hover{border-color:#8bb5d4}.toast{background:#073d6a}.scanner{color:#0b5b96;background:#f4f9fc;border-color:#9fc1da}.connection{border-radius:20px;padding:7px 11px;font-size:10px;margin:0!important;font-weight:700!important}.connection.online{color:#0b5b96;background:#e7f1f8}.connection.demo{color:#a46810;background:#fff4df}.profile>button{color:#9cb9d0;background:0 0;border:0;margin-left:auto;padding:5px}.profile>button svg{width:17px}.phase-grid{grid-template-columns:repeat(3,1fr);gap:17px;display:grid}.summary-card{border:1px solid var(--line);text-align:left;align-items:center;gap:15px;padding:22px;display:flex}.summary-card:hover{border-color:#8bb5d4;transform:translateY(-2px)}.summary-card>i{color:#0b5b96;background:#e7f1f8;border-radius:12px;place-items:center;width:48px;height:48px;display:grid}.summary-card svg{width:22px}.summary-card div{flex:1}.summary-card h3{margin:0;font-size:15px}.summary-card p{color:var(--muted);margin:5px 0 0;font-size:11px;line-height:1.5}.summary-card>b{color:#0b5b96}.phase-note{color:#144f79;background:#eaf3f9;border-radius:11px;gap:12px;margin-top:18px;padding:16px 18px;font-size:11px;display:flex}.phase-note span{color:#54778f}.management-search{border:1px solid var(--line);background:#fff;border-radius:9px;align-items:center;gap:9px;width:min(390px,100%);height:42px;margin-bottom:14px;padding:0 13px;display:flex}.management-search svg{color:#81909a;width:18px}.management-search input{border:0;outline:0;width:100%;font-size:12px}.data-card{border:1px solid var(--line);background:#fff;border-radius:13px;overflow:auto}.row-actions{text-align:right;white-space:nowrap}.row-actions button,.plan-card>button{color:#0b5b96;background:0 0;border:0;margin-left:8px;font-size:10px;font-weight:700}.badge{color:#71808a;background:#eef1f3;border-radius:14px;padding:5px 8px;font-size:9px;font-weight:700;display:inline-block}.active-badge{color:#0b5b96;background:#e7f1f8}.expired-badge{color:#c74747;background:#feebeb}.empty{text-align:center;color:var(--muted);padding:45px 20px}.empty svg{width:30px}.empty p{font-size:12px}.plans-grid{grid-template-columns:repeat(3,1fr);gap:17px;display:grid}.plan-card{padding:22px}.plan-card>span{text-transform:uppercase;letter-spacing:.8px;color:#0b5b96;background:#e7f1f8;border-radius:12px;padding:5px 8px;font-size:9px;font-weight:700}.plan-card h3{margin:16px 0 7px;font-size:16px}.plan-card>strong{color:#073d6a;font-size:25px}.plan-card p{color:var(--muted);font-size:11px}.plan-card small{color:#87949d;min-height:30px;font-size:9px;display:block}.plan-card>button{margin:16px 0 0;padding:0}.modal form{margin-top:18px}.modal form label{color:#28352e}.modal input:focus,.modal select:focus{border-color:#0b4f87;box-shadow:0 0 0 3px #0b4f8714}.two-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-error{color:#b43d3d;background:#feeeee;border-radius:8px;margin:10px 0;padding:10px 12px;font-size:11px}.login-page{background:linear-gradient(135deg,#052b4d,#0b4f87);place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{background:#fff;border-radius:18px;width:min(400px,100%);padding:30px;box-shadow:0 25px 70px #001d3559}.login-logo{background:url(/logo.jpeg) center/135% auto Eh no-repeat;border:1px solid #edf0f2;border-radius:11px;height:105px}.login-card h1{text-align:center;margin:20px 0 4px;font-size:23px}.login-card>p{text-align:center;color:var(--muted);margin:0 0 18px;font-size:11px}.login-card label{margin:14px 0;font-size:11px;font-weight:700;display:block}.login-card input{border:1px solid #dce4e9;border-radius:8px;width:100%;height:43px;margin-top:7px;padding:0 11px;display:block}.login-card input:focus{border-color:#0b4f87;outline:0}@media (width<=1000px){.phase-grid,.plans-grid{grid-template-columns:1fr 1fr}}@media (width<=700px){.phase-grid,.plans-grid{grid-template-columns:1fr}.connection{display:none}.phase-note{flex-direction:column}.two-fields{grid-template-columns:1fr}.management-search{width:100%}.login-page{align-items:start;padding:max(24px,8vh) 14px 24px}.login-card{padding:24px 18px}.login-logo{height:90px}.row-actions button,.plan-card>button{min-height:38px;padding:0 6px}}.login-logo{background:url(/logo.jpeg) 50%/135% no-repeat!important}.delete-link{color:#c44141!important}.delete-warning{background:#fff0f0;border:1px solid #f4cece;border-radius:9px;margin:18px 0 8px;padding:13px}.delete-warning b{font-size:12px}.delete-warning p{color:#9a4949;margin:5px 0 0;font-size:10px;line-height:1.5}.delete-button{color:#fff;background:#c83f3f;border:0;border-radius:9px;padding:11px 16px;font-size:11px;font-weight:700}.delete-button:disabled{opacity:.4;cursor:not-allowed}.qr-modal{text-align:center}.qr-modal>p{color:var(--muted);margin:5px 0}.qr-modal>img{border-radius:10px;width:min(280px,90%);margin:12px auto;display:block}.qr-modal>small{color:#7b8992;margin-bottom:16px;font-size:9px;display:block}.qr-modal .primary svg{width:17px}.access-layout{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:18px;display:grid}.access-main,.access-result{min-height:450px;padding:22px}.access-tabs{background:#edf3f7;border-radius:9px;margin-bottom:24px;padding:4px;display:flex}.access-tabs button{color:#718391;background:0 0;border:0;border-radius:7px;flex:1;justify-content:center;align-items:center;gap:7px;padding:10px;font-size:11px;font-weight:700;display:flex}.access-tabs button.selected{color:#0b4f87;background:#fff;box-shadow:0 2px 8px #1234}.access-tabs svg{width:17px}.token-form{max-width:430px;margin:35px auto}.big-qr{color:#0b5b96;background:#e7f1f8;border-radius:18px;place-items:center;width:105px;height:105px;margin:0 auto 28px;display:grid}.big-qr svg{width:58px;height:58px}.token-form label{font-size:11px;font-weight:700}.token-form input{border:1px solid #d8e2e9;border-radius:9px;width:100%;height:46px;margin:8px 0 15px;padding:0 12px;display:block}.qr-reader{max-width:520px;margin:auto;border:0!important}.waiting,.result-content{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:400px;display:flex}.waiting>svg{color:#b7c5ce;width:60px;height:60px}.waiting h3{margin:15px 0 4px;font-size:14px}.waiting p{color:var(--muted);font-size:10px}.result-content>svg{color:#d14c4c;width:62px;height:62px}.access-result.permitido .result-content>svg,.access-result.autorizado .result-content>svg{color:#0b5b96}.result-content>span{text-transform:uppercase;letter-spacing:1px;margin-top:12px;font-size:9px;font-weight:700}.result-content h2{margin:7px 0;font-size:22px}.result-content h3{color:#566773;margin:0 0 12px;font-size:13px}.result-content>p{margin:3px;font-size:11px}.override-box{color:#955f13;background:#fff5e5;border-radius:10px;width:100%;margin-top:18px;padding:14px}.override-box>svg{width:22px}.override-box p{font-size:10px}.override-box select{background:#fff;border:1px solid #ead2ab;border-radius:7px;width:100%;height:39px;margin-bottom:9px;padding:0 9px}.reset-access{color:#0b5b96;background:0 0;border:0;margin-top:18px;font-size:10px;font-weight:700}@media (width<=900px){.access-layout{grid-template-columns:1fr}.access-main,.access-result{min-height:350px}.waiting,.result-content{min-height:300px}}@media (width<=560px){.access-main,.access-result{min-height:auto;padding:14px}.access-tabs{margin-bottom:18px}.access-tabs button{min-height:44px;padding:8px 5px}.token-form{margin:20px auto 8px}.big-qr{width:82px;height:82px;margin-bottom:20px}.big-qr svg{width:44px;height:44px}.waiting,.result-content{min-height:250px}.qr-reader{width:100%}}.finance-summary{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px;display:grid}.finance-summary article{grid-template-columns:42px 1fr;align-items:center;padding:18px;display:grid}.finance-summary svg{color:#0b5b96;grid-row:1/3;width:24px}.finance-summary span{color:var(--muted);font-size:10px}.finance-summary b{font-size:21px}.modal-buttons{justify-content:flex-end;gap:9px;margin-top:18px;display:flex}.modal-buttons>button:first-child{color:#63717a;background:#edf1f3;border:0;border-radius:8px;padding:10px 15px;font-size:11px}.report-filters{align-items:end;gap:12px;margin-bottom:14px;padding:15px;display:flex}.report-filters label{font-size:10px;font-weight:700}.report-filters input{border:1px solid var(--line);border-radius:7px;height:38px;margin-top:5px;padding:0 9px;display:block}.report-filters button{color:#0b5b96;background:#e7f1f8;border:0;border-radius:7px;align-items:center;gap:6px;height:38px;padding:0 13px;font-size:10px;font-weight:700;display:flex}.report-filters svg{width:15px}.report-stats{color:var(--muted);align-items:center;gap:8px;margin:10px 2px;font-size:10px;display:flex}.report-stats b{color:#0b4f87;font-size:18px}.report-stats em{background:#edf2f5;border-radius:12px;padding:5px 8px;font-style:normal}@media (width<=600px){.finance-summary{grid-template-columns:1fr}.report-filters{flex-direction:column;align-items:stretch}.report-filters input,.report-filters button{width:100%}.modal-buttons{flex-direction:column-reverse}.modal-buttons button{width:100%;min-height:42px}.report-stats{flex-wrap:wrap;align-items:flex-start}}.dashboard-actions{gap:9px;display:flex}.dashboard-actions>button:first-child{border:1px solid var(--line);color:#0b4f87;background:#fff;border-radius:9px;padding:10px 15px;font-size:11px;font-weight:700}.dashboard-table{overflow:hidden}.dashboard-table .card-title>span{color:var(--muted);font-size:9px}.dashboard-stats .stat>i.blue{color:#0b5b96;background:#e7f1f8}@media (width<=560px){.dashboard-actions>button:first-child{display:none}}.app-toast{z-index:200;color:#fff;background:#163d5c;border-radius:11px;align-items:flex-start;gap:10px;width:min(390px,100vw - 32px);padding:13px 14px;font-size:11px;line-height:1.45;animation:.2s toast-in;display:flex;position:fixed;top:20px;right:22px;box-shadow:0 14px 40px #001a3040}.app-toast.success{background:#0b5b46}.app-toast.error{background:#a93838}.app-toast>svg{flex:none;width:19px}.app-toast span{flex:1}.app-toast button{color:#fff;background:0 0;border:0;padding:0}.app-toast button svg{width:16px}@keyframes toast-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}@media (width<=560px){.app-toast{width:calc(100vw - 20px);top:10px;right:10px}}
