:root{--red:#e21d2f;--red-dark:#b51222;--ink:#19212b;--muted:#667085;--line:#e3e7ec;--bg:#f5f7f9;--green:#087a55}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif}header{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100% - 980px)/2))}.brand{display:flex;align-items:center;gap:10px}.brand div{display:flex;flex-direction:column}.brand strong{letter-spacing:.03em}.brand small{color:var(--muted)}.mark{width:38px;height:38px;background:var(--red);border-radius:11px;color:#fff;display:grid;place-items:center;font-weight:900;font-size:21px}.user{font-size:14px;font-weight:650}main{max-width:980px;margin:0 auto;padding:36px 24px 64px}.heading{display:flex;gap:16px;align-items:flex-start;margin-bottom:24px}.heading>a{font-size:36px;color:var(--ink);text-decoration:none;line-height:.9}.heading small,.section-title small{color:var(--red);font-size:11px;font-weight:800;letter-spacing:.12em}.heading h1{font-size:30px;margin:3px 0 5px}.heading p{margin:0;color:var(--muted)}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:0 2px 8px #19212b08}.upload-card{text-align:center;border:2px dashed #ccd2d9;padding:64px 24px;transition:.2s}.upload-card.drag{border-color:var(--red);background:#fff7f8}.upload-icon{margin:auto;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#fff0f2;color:var(--red);font-size:30px;font-weight:700}.upload-card h2{margin:15px 0 6px}.upload-card p{color:var(--muted);margin:0 0 20px}.upload-card small{display:block;color:var(--muted);margin-top:12px}.primary,.secondary{border:0;border-radius:9px;padding:12px 18px;font:inherit;font-weight:700;cursor:pointer}.primary{background:var(--red);color:#fff}.primary:hover{background:var(--red-dark)}.secondary{background:#fff;color:var(--ink);border:1px solid #cfd5dc}.hidden{display:none!important}#loading{text-align:center;padding:72px}.spinner{width:42px;height:42px;border:4px solid #f2c9cf;border-top-color:var(--red);border-radius:50%;margin:auto;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.success{background:#e9f8f1;border:1px solid #b6e5d1;color:#075e43;border-radius:12px;padding:14px 18px;display:flex;align-items:center;gap:12px;margin-bottom:16px}.success>span{font-size:22px}.success div{display:flex;flex:1;flex-direction:column}.success small{color:#477869}.success button{border:0;background:transparent;color:#075e43;font-weight:700;cursor:pointer}.form-card{margin-bottom:16px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.section-title h2{margin:4px 0 0;font-size:20px}.section-title>span{font-size:13px;color:var(--muted)}.grid{display:grid;grid-template-columns:1fr 2fr;gap:16px}label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700;margin-bottom:16px}input,textarea{border:1px solid #cfd5dc;border-radius:8px;padding:12px;font:inherit;color:var(--ink);width:100%}input:focus,textarea:focus{outline:3px solid #f8dce0;border-color:var(--red)}.item-row{display:grid;grid-template-columns:44px 1fr 120px 40px;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.item-number{width:34px;height:34px;border-radius:50%;background:#f3f4f6;display:grid;place-items:center;font-weight:800}.item-row label{margin:0}.item-row button{border:0;background:transparent;font-size:22px;color:#98a2b3;cursor:pointer}.items-card{margin-bottom:18px}.actions{display:flex;justify-content:flex-end;gap:12px}.actions .primary{min-width:180px}.done{text-align:center;padding:64px}.done-icon{margin:auto;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#daf4e9;color:var(--green);font-size:34px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#3b1016;color:white;padding:13px 18px;border-radius:9px;box-shadow:0 6px 24px #0003}.shake{animation:shake .25s}@keyframes shake{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}@media(max-width:650px){header{height:62px;padding:0 16px}.user{display:none}main{padding:24px 14px 40px}.heading h1{font-size:26px}.upload-card{padding:48px 15px}.card{padding:20px}.grid{grid-template-columns:1fr}.section-title{align-items:flex-start;gap:12px}.section-title>span{display:none}.item-row{grid-template-columns:34px 1fr 72px 30px}.item-row label{font-size:11px}.actions{position:sticky;bottom:0;background:var(--bg);padding:12px 0}.actions button{flex:1;padding:14px 8px}.success{align-items:flex-start}.success button{padding:6px}.items-card .section-title{flex-direction:column}.items-card .secondary{width:100%}}

/* Identidade visual oficial da ALVIM PETS */
header{height:78px}.brand{height:100%;gap:13px}.brand img{width:118px;height:68px;object-fit:contain}.brand-divider{width:1px;height:30px;background:var(--line)}.brand>small{color:var(--muted);font-weight:650}@media(max-width:650px){header{height:68px}.brand{gap:8px}.brand img{width:92px;height:60px}.brand-divider{height:26px}.brand>small{font-size:11px}}

/* Login e painel */
select{border:1px solid #cfd5dc;border-radius:8px;padding:12px;font:inherit;color:var(--ink);background:#fff;width:100%}
.page-toolbar{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:22px}.page-toolbar small,.eyebrow{color:var(--red);font-size:11px;font-weight:800;letter-spacing:.12em}.page-toolbar h1{margin:5px 0}.page-toolbar p{color:var(--muted);margin:0}.button-link{text-decoration:none}.filter-card{display:grid;grid-template-columns:2fr 1fr;gap:15px;padding:18px;margin-bottom:14px}.filter-card label{margin:0}.orders-list{display:flex;flex-direction:column;gap:10px}.order-card{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;background:#fff;border:1px solid var(--line);border-radius:13px;padding:17px 20px;color:var(--ink);cursor:pointer}.order-card:hover{border-color:#e29ca5;box-shadow:0 3px 12px #19212b0d}.order-main{display:flex;align-items:center;gap:14px}.order-main div{display:flex;flex-direction:column;gap:4px}.order-main small,.order-meta{color:var(--muted);font-size:13px}.order-number{width:48px;height:48px;display:grid;place-items:center;background:#fff0f2;color:var(--red);border-radius:11px;font-weight:800}.order-meta{display:flex;align-items:center;gap:20px}.order-meta b{font-size:25px;color:var(--ink)}.status-badge{background:#fff4d6;color:#7b5300;border-radius:99px;padding:7px 10px;font-weight:700;font-size:12px}.empty-state{text-align:center;padding:50px}.empty-state p{color:var(--muted)}.modal{position:fixed;inset:0;background:#10182899;display:grid;place-items:center;padding:18px;z-index:10}.modal-card{position:relative;width:min(680px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:17px;padding:28px;box-shadow:0 22px 60px #0004}.modal-close{position:absolute;right:16px;top:12px;border:0;background:transparent;font-size:28px;cursor:pointer}.modal-card h2{margin:5px 0 20px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-grid>div{display:flex;flex-direction:column;gap:4px;background:#f6f7f8;border-radius:9px;padding:12px}.detail-grid small,.detail-notes small{color:var(--muted);font-size:11px;font-weight:700}.detail-notes{margin:15px 0;background:#fff8e8;border-radius:9px;padding:13px}.detail-notes p{margin:6px 0 0}.detail-items>div{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;border-top:1px solid var(--line);padding:13px 0}.detail-items span{width:28px;height:28px;display:grid;place-items:center;background:#f2f4f6;border-radius:50%;font-weight:700}.detail-items b{color:var(--red)}@media(max-width:650px){.page-toolbar{align-items:flex-start;gap:15px}.page-toolbar .button-link{padding:11px;font-size:13px;white-space:nowrap}.filter-card{grid-template-columns:1fr}.order-card{align-items:flex-start;padding:14px}.order-meta{align-items:flex-end;flex-direction:column;gap:7px}.order-meta>span:not(.status-badge){display:none}.order-meta b{position:absolute;right:22px;margin-top:35px}.detail-grid{grid-template-columns:1fr 1fr}.modal-card{padding:23px 18px}}
.login-page{min-height:100vh;background:linear-gradient(135deg,#fff 0 50%,#fff2f3 50%)}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;padding:36px;box-shadow:0 20px 55px #2e11151a}.login-card>img{display:block;width:190px;height:150px;object-fit:contain;margin:-20px auto 4px}.login-card h1{margin:5px 0}.login-card p{color:var(--muted);margin-top:0}.login-card>div>small,.dashboard-heading small{color:var(--red);font-size:11px;font-weight:800;letter-spacing:.12em}.login-card form button{width:100%;padding:14px}.login-help{display:block;text-align:center;color:var(--muted);margin-top:20px}.form-error{background:#fff0f2;color:#9c1724;padding:10px;border-radius:8px;font-size:13px}.user-menu{display:flex;align-items:center;gap:14px;font-size:14px;font-weight:700}.user-menu a{color:var(--ink);text-decoration:none}.user-menu button{border:0;background:#f2f4f6;border-radius:7px;padding:8px 12px;cursor:pointer}.dashboard-heading h1{font-size:30px;margin:5px 0}.dashboard-heading p{color:var(--muted);margin:0 0 24px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.quick{display:flex;align-items:center;gap:15px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;color:var(--ink);text-decoration:none;box-shadow:0 2px 8px #19212b08}.quick:hover{border-color:#e7a2aa}.quick.primary-card{background:var(--red);color:#fff}.quick-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:12px;background:#fff0f2;color:var(--red);font-size:24px}.primary-card .quick-icon{background:#ffffff26;color:#fff}.quick div{display:flex;flex:1;flex-direction:column;gap:4px}.quick strong{font-size:17px}.quick small{opacity:.72}.quick b{font-size:28px}.stats{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.stats article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px}.stats small{display:block;color:var(--muted);font-weight:700;font-size:11px}.stats strong{display:block;font-size:30px;margin-top:8px}@media(max-width:650px){.login-card{padding:25px}.login-card>img{width:155px;height:125px}.user-menu span,.user-menu a{display:none}.quick-grid{grid-template-columns:1fr}.quick{padding:18px}.stats{grid-template-columns:1fr 1fr}.stats article{padding:16px}.stats strong{font-size:25px}}
.separation-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.separation-card h2{font-size:19px;margin:15px 0 3px}.separation-card>small{color:var(--muted)}.sep-top,.sep-bottom{display:flex;align-items:center;justify-content:space-between}.sep-top>span:first-child{color:var(--red);font-weight:800}.active-status{background:#e8f4ff;color:#175c92}.progress{height:8px;background:#edf0f2;border-radius:9px;overflow:hidden;margin:20px 0 12px}.progress i{display:block;height:100%;background:var(--red);border-radius:9px}.sep-bottom span{color:var(--muted);font-size:12px}.sep-bottom button{padding:10px 13px}.attention{background:#fff3cf;border-left:4px solid #e7a600;border-radius:8px;padding:12px;margin:14px 0}.attention p{margin:4px 0 0}.check-summary{display:flex;gap:8px;align-items:baseline;margin:18px 0 8px}.check-summary strong{font-size:22px;color:var(--red)}.check-summary span{color:var(--muted)}.check-list{border-top:1px solid var(--line)}.check-item{display:grid;grid-template-columns:30px 28px 1fr auto;gap:9px;align-items:center;margin:0;padding:15px 3px;border-bottom:1px solid var(--line);cursor:pointer}.check-item input{position:absolute;opacity:0;pointer-events:none}.check-box{width:28px;height:28px;display:grid;place-items:center;border:2px solid #c8ced5;border-radius:7px;color:transparent}.check-item>b{width:24px;height:24px;display:grid;place-items:center;background:#f2f4f6;border-radius:50%;font-size:12px}.check-item em{font-style:normal;font-weight:800;color:var(--red)}.check-item.checked{background:#f1faf6}.check-item.checked .check-box{background:var(--green);border-color:var(--green);color:#fff}.check-item.checked>strong{text-decoration:line-through;color:var(--muted)}.finish-button{width:100%;margin-top:18px;padding:14px}.finish-button:disabled{background:#c9ced4;cursor:not-allowed}@media(max-width:650px){.separation-grid{grid-template-columns:1fr}.separation-card{padding:18px}.sep-bottom{gap:8px}.sep-bottom button{font-size:12px}.check-item{grid-template-columns:30px 23px 1fr auto}.separation-modal{padding-top:38px}}
.driver-page main{max-width:760px}.driver-heading small{color:var(--red);font-size:11px;font-weight:800;letter-spacing:.12em}.driver-heading h1{font-size:32px;margin:5px 0}.driver-heading p{color:var(--muted);margin:0 0 22px}.delivery-list{display:flex;flex-direction:column;gap:14px}.delivery-card{border-left:5px solid #d5dae0}.delivery-active{border-left-color:var(--red)}.delivery-top{display:flex;justify-content:space-between}.delivery-top span{color:var(--red);font-weight:900}.delivery-top b{background:#eef2f5;border-radius:99px;padding:7px 11px;font-size:12px}.delivery-card h2{margin:15px 0 5px}.delivery-card>p{color:var(--muted);font-size:16px;margin:0 0 18px}.driver-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px}.route-button,.driver-action,.delivered-ok{display:grid;place-items:center;min-height:54px;border-radius:10px;font-weight:800;text-decoration:none}.route-button{background:#eaf4ff;color:#145b91;border:1px solid #b9daf3}.driver-buttons button{font-size:16px}.delivered-ok{color:var(--green);background:#e8f7f0}.delivery-card details{margin-top:15px;border-top:1px solid var(--line);padding-top:12px;text-align:center}.delivery-card summary{cursor:pointer;font-weight:700;color:var(--muted)}.route-qr{display:block;width:220px;height:220px;margin:15px auto 5px}.delivery-card details small{display:block;color:var(--muted)}@media(max-width:650px){.driver-page main{padding:20px 12px 36px}.delivery-card{padding:20px 16px}.driver-buttons{grid-template-columns:1fr}.route-button,.driver-action,.delivered-ok{min-height:60px;font-size:17px}.driver-heading h1{font-size:28px}}
.helper{color:var(--muted);font-size:13px}.print-sequence{display:flex;flex-direction:column;gap:12px}.print-choice{display:flex;align-items:center;gap:15px;border:2px solid var(--line);border-radius:12px;padding:16px;text-decoration:none;color:var(--ink)}.print-choice:hover{border-color:var(--red)}.print-choice>b{width:38px;height:38px;display:grid;place-items:center;background:var(--red);color:#fff;border-radius:50%;font-size:20px}.print-choice span{display:flex;flex-direction:column}.print-choice small{color:var(--muted);margin-top:3px}.photo-proof{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:center;background:#f6f7f8;border:1px solid var(--line);border-radius:12px;padding:15px;margin-top:18px}.photo-proof p{grid-column:1/-1;margin:0;color:var(--muted)}.photo-proof input{grid-column:1/-1;background:#fff}.photo-proof span{font-size:12px;color:var(--green);font-weight:700}@media(max-width:650px){.photo-proof{grid-template-columns:1fr}.photo-proof>*{grid-column:1!important}.photo-proof button{min-height:48px}}
.printer-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.printer-card{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center}.printer-card>button{grid-column:1/-1;min-height:50px}.printer-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:13px;background:#fff0f2;color:var(--red);font-size:25px}.printer-card small{color:var(--red);font-weight:800;font-size:10px}.printer-card h2{font-size:17px;margin:4px 0}.printer-card p{color:var(--muted);margin:0}.print-history{margin-top:16px}.print-history h2{font-size:18px}.print-job{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--line)}.print-job div{display:flex;flex-direction:column;gap:3px}.print-job small{color:var(--muted)}.print-job em{color:#a41424;font-style:normal;font-size:12px}.job-status{border-radius:99px;padding:6px 9px;font-size:11px;font-weight:800}.job-ok{background:#e4f6ed;color:var(--green)}.job-fail{background:#fff0f2;color:#a41424}@media(max-width:650px){.printer-grid{grid-template-columns:1fr}}
.delivery-tabs{display:flex;gap:8px;margin:20px 0 12px}.delivery-tabs button{border:1px solid var(--line);background:#fff;border-radius:99px;padding:10px 16px;font-weight:700;cursor:pointer}.delivery-tabs button.active{background:var(--red);color:#fff;border-color:var(--red)}.admin-delivery-footer{display:flex;align-items:center;justify-content:space-between}.admin-delivery-footer>strong{font-size:20px}.delivery-stats{margin-top:0}
.admin-month-stats{margin-top:14px}.notification-banner{position:fixed;right:18px;bottom:18px;z-index:30;width:min(360px,calc(100% - 36px));display:grid;grid-template-columns:1fr auto;background:#20262f;color:#fff;border-left:5px solid var(--red);border-radius:10px;padding:15px;box-shadow:0 12px 35px #0004}.notification-banner span{grid-column:1;opacity:.8;margin-top:4px}.notification-banner button{grid-column:2;grid-row:1/3;border:0;background:transparent;color:#fff;font-size:22px;cursor:pointer}
.danger-zone{margin-top:24px;border:1px solid #f0a8b0;background:#fff7f8;border-radius:10px;padding:14px}.danger-zone p{color:var(--muted);margin:5px 0 12px}.danger-button{border:1px solid var(--red);background:#fff;color:var(--red);border-radius:8px;padding:10px 14px;font-weight:800;cursor:pointer}.danger-button:hover{background:var(--red);color:#fff}
.date-filter{display:grid;grid-template-columns:1fr 1fr auto;gap:14px;align-items:end;margin:16px 0}.date-filter label{margin:0}.date-filter button{height:44px}.period-stats{margin-top:0}.report-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:15px;margin-top:16px}.report-layout h2{font-size:18px;margin-top:0}.report-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:11px 0;border-top:1px solid var(--line)}.report-row b{font-size:12px;color:var(--muted)}.report-row strong{color:var(--red)}.muted-text{color:var(--muted)}@media(max-width:700px){.date-filter{grid-template-columns:1fr 1fr}.date-filter button{grid-column:1/-1}.report-layout{grid-template-columns:1fr}.delivery-report-row{grid-template-columns:1fr auto}.delivery-report-row b{grid-column:1}.delivery-report-row strong{grid-column:2;grid-row:1/3}}
.users-list{display:flex;flex-direction:column;gap:10px}.user-card{display:grid;grid-template-columns:auto 1fr auto auto;gap:14px;align-items:center;padding:18px}.user-avatar{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#fff0f2;color:var(--red);font-weight:900}.user-card>div:nth-child(2){display:flex;flex-direction:column;gap:4px}.user-card small{color:var(--muted)}.user-state{font-size:12px;font-weight:800;color:var(--green)}.inactive-user{opacity:.65}.inactive-user .user-state{color:var(--muted)}.user-actions{display:flex;gap:7px}.history-list{background:#fff;border:1px solid var(--line);border-radius:14px;padding:5px 22px}.history-row{display:grid;grid-template-columns:16px 1fr;gap:10px;padding:15px 0;border-bottom:1px solid var(--line)}.history-row:last-child{border:0}.history-dot{width:10px;height:10px;background:var(--red);border-radius:50%;margin-top:5px}.history-row div{display:flex;flex-direction:column;gap:3px}.history-row small{color:var(--muted)}.history-row p{margin:3px 0 0}@media(max-width:650px){.user-card{grid-template-columns:auto 1fr}.user-state{grid-column:2}.user-actions{grid-column:1/-1}.user-actions button{flex:1}}
.backup-hero{display:flex;align-items:center;justify-content:space-between;gap:20px}.backup-hero small{color:var(--red);font-weight:800}.backup-hero h2{margin:5px 0}.backup-hero p{color:var(--muted);margin-bottom:0}.backup-list{margin-top:15px}.backup-list h2{font-size:18px}.backup-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 0;border-top:1px solid var(--line)}.backup-row div{display:flex;flex-direction:column;gap:4px}.backup-row small{color:var(--muted)}.restore-warning{margin-top:15px;background:#fff8e7;border-color:#edcf83}.restore-warning p{margin-bottom:0}@media(max-width:650px){.backup-hero{align-items:stretch;flex-direction:column}.backup-row{align-items:flex-start;flex-direction:column}.backup-row a{width:100%;text-align:center}}
.mobile-access{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}.mobile-access small{color:var(--red);font-weight:800}.mobile-access h2{margin:5px 0}.mobile-access #accessUrl{font-size:18px;font-weight:800}.mobile-access img{width:170px;height:170px}@media(max-width:650px){.mobile-access{flex-direction:column;text-align:center}}
