body{min-height:100dvh;background:#e8eff7}
.app-shell{display:block;width:100%;max-width:420px;min-height:100dvh;margin:0 auto;background:var(--page);position:relative;box-shadow:0 0 45px rgba(12,43,77,.14);overflow-x:hidden}
.content-shell{width:100%;min-height:100dvh}
.topbar{height:94px;padding:0 20px;background:linear-gradient(110deg,#075397,#0872c5);border:0;border-radius:0 0 20px 20px;justify-content:space-between;position:sticky;top:0;z-index:20}
.topbar:after{content:"";position:absolute;left:50%;bottom:-12px;transform:translateX(-50%);width:142px;height:25px;background:var(--page);border-radius:0 0 80px 80px;z-index:1}
.menu-button,.notification-button{display:grid;width:48px;height:48px;place-items:center;border:0;background:transparent;color:#fff;z-index:3;padding:0}
.menu-button svg,.notification-button svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.top-logo{position:absolute;z-index:4;left:50%;top:6px;transform:translateX(-50%);width:175px;height:72px;object-fit:contain;filter:drop-shadow(0 2px 2px rgba(0,0,0,.12))}
.login-brand{width:min(100%,430px);justify-content:center}.login-logo{display:block;width:min(250px,72vw);height:92px;object-fit:contain;filter:drop-shadow(0 3px 4px rgba(0,0,0,.18))}
.notification-button{position:relative}.notification-button i{position:absolute;right:7px;top:7px;width:10px;height:10px;background:#63d6f4;border-radius:50%;box-shadow:0 0 0 3px rgba(255,255,255,.2)}
.connection,.mobile-brand{display:none}
main{max-width:none;margin:0;padding:30px 15px 108px}
.sidebar{display:flex;position:fixed;z-index:50;top:0;left:max(0px,calc(50% - 210px));width:min(84vw,330px);height:100dvh;transform:translateX(-110%);transition:transform .22s ease;box-shadow:16px 0 45px rgba(7,44,78,.26)}
.sidebar.open{transform:translateX(0)}
.side-scrim{display:block;position:fixed;z-index:45;inset:0;background:rgba(8,31,54,.48);opacity:0;pointer-events:none;transition:opacity .2s}
.side-scrim.show{opacity:1;pointer-events:auto}
.bottom-nav{position:fixed;z-index:30;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,420px);height:70px;padding:7px 8px max(7px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid #dbe4ee;display:grid;grid-template-columns:repeat(4,1fr);gap:3px}
.bottom-nav button{border:0;background:transparent;color:#111e2c;border-radius:17px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:.68rem;font-weight:800;min-width:0}
.bottom-nav button.active{background:#cfe6fa;color:#0569b5}
.bottom-nav svg{width:22px;height:22px;fill:currentColor}.bottom-nav svg.stroke{fill:none;stroke:currentColor;stroke-width:2}
#view-dashboard{padding:0 3px}
.home-greeting{margin:0 3px 14px}.home-greeting h1{margin:0;color:#153966;font-size:23px;line-height:1.08;letter-spacing:-.3px}.home-greeting p{margin:7px 0 0;color:#637a97;font-size:13.5px;font-weight:650}.home-greeting p b{font-weight:900;margin:0 7px;color:#698099}
.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:13px}
.home-card{border:0;color:#fff;min-height:94px;border-radius:17px;padding:12px;display:flex;align-items:center;gap:9px;text-align:left;position:relative;box-shadow:0 9px 23px rgba(23,58,97,.1);overflow:hidden;min-width:0}
.home-card:after{content:"";position:absolute;width:95px;height:95px;border-radius:50%;right:-35px;bottom:-40px;background:rgba(255,255,255,.09)}
.home-card.teal{background:linear-gradient(135deg,#138b80,#07988e)}.home-card.orange{background:linear-gradient(135deg,#e97a00,#f49500)}.home-card.violet{background:linear-gradient(135deg,#5741e5,#6a55f1)}.home-card.green{background:linear-gradient(135deg,#18a34e,#14b558)}
.home-icon{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;z-index:1}.home-icon svg{width:35px;height:35px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.home-copy{min-width:0;z-index:1}.home-copy strong{display:block;font-size:16px;line-height:1.04}.home-copy small{display:block;margin-top:5px;font-size:10.5px;line-height:1.2;color:rgba(255,255,255,.92)}.home-chevron{margin-left:auto;font-size:28px;line-height:1;font-weight:300;z-index:1}.home-title-break{display:block}
.new-order-card{width:100%;border:1px solid #c8e6f8;background:linear-gradient(135deg,#eaf8ff,#dff2ff);border-radius:19px;min-height:104px;padding:14px 17px;display:flex;align-items:center;gap:13px;color:#105d92;box-shadow:0 8px 24px rgba(44,133,190,.08);text-align:left}
.new-order-plus{width:56px;height:56px;border-radius:50%;background:linear-gradient(145deg,#08a1d3,#087bc2);color:#fff;display:grid;place-items:center;font-size:38px;font-weight:300;flex:0 0 auto;box-shadow:0 8px 18px rgba(0,126,191,.18)}
.new-order-card strong{display:block;color:#10618d;font-size:20px;line-height:1.05}.new-order-card small{display:block;margin-top:6px;color:#4c8ab0;font-size:12.5px;line-height:1.3}.new-order-arrow{margin-left:auto;font-size:35px;font-weight:300}
.today-panel{margin-top:14px;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 10px 28px rgba(23,58,97,.06)}
.today-head{min-height:59px;display:flex;align-items:center;justify-content:space-between;gap:9px;padding:15px 15px 8px;background:#fff;color:#143e70}.today-head>div,.today-head>span{display:flex;align-items:center;gap:9px}.today-head svg{width:24px;height:24px;fill:none;stroke:#0a5ea8;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.today-head h2{margin:0;font-size:20px;line-height:1.1}.today-all,.today-more{border:0;background:transparent;color:#07579b;font-weight:850;padding:7px 5px}.today-all{font-size:12.5px}.today-more{font-size:21px;letter-spacing:1px;color:#526476}
.today-panel .empty-state{min-height:226px;padding:24px}.today-panel .empty-state .empty-icon{width:72px;height:72px;background:transparent;color:#bdc8d4;margin-bottom:10px}.today-panel .empty-state .empty-icon svg{width:62px;height:62px;fill:none;stroke:currentColor;stroke-width:1.5}.today-panel .empty-state b{font-size:15px;line-height:1.25;color:#111;margin-bottom:8px}.today-panel .empty-state span{font-size:11.5px;color:#8190a3}.today-panel .list-row{grid-template-columns:54px minmax(0,1fr);padding:13px 15px;gap:10px}.today-panel .list-row .status{grid-column:2;justify-self:start}
.page-heading{display:grid;align-items:start}.page-heading h1{font-size:1.75rem}.primary-button.compact{width:100%}.card-grid{grid-template-columns:1fr}.order-card,.charge-card{grid-template-columns:1fr}.order-actions,.charge-actions{justify-content:flex-start}.charge-value{text-align:left}
@media(min-width:481px){.app-shell{border-radius:22px 22px 0 0}.topbar{border-radius:22px 22px 20px 20px}}
@media(max-width:370px){.home-card{padding:10px 9px;gap:6px}.home-icon{width:32px}.home-icon svg{width:31px;height:31px}.home-copy strong{font-size:14px}.home-copy small{font-size:9.5px}.new-order-card{padding:13px}.new-order-card strong{font-size:18px}.top-logo{width:170px}}

/* Cadastros homologados */
.catalog-title{margin:0 3px 18px}.catalog-title h1{margin:0;color:#153966;font-size:28px;letter-spacing:-.5px}.catalog-title p{margin:7px 0 0;color:#70839a;font-size:14px}.catalog-grid{display:grid;gap:11px}.catalog-card{width:100%;min-height:94px;border:1px solid #dfe7ef;background:#fff;border-radius:18px;padding:15px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:13px;align-items:center;text-align:left;color:#1b3d5f;box-shadow:0 7px 22px rgba(23,58,97,.06)}.catalog-icon{width:48px;height:48px;border-radius:15px;background:#e7f3fc;color:#086bac;display:grid;place-items:center}.catalog-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.catalog-card strong,.catalog-card small{display:block}.catalog-card strong{font-size:17px}.catalog-card small{margin-top:5px;color:#70839a;font-size:12px;line-height:1.3}.catalog-card>b{font-size:29px;font-weight:300;color:#6c8297}.catalog-note{margin-top:15px;border:1px solid #cfe2f2;background:#edf7fe;border-radius:16px;padding:14px 15px;color:#436985;font-size:12px;line-height:1.4}.catalog-note strong,.catalog-note span{display:block}.catalog-note strong{color:#145a89;margin-bottom:4px}
.module-head{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:start;margin-bottom:15px}.module-head.simple{grid-template-columns:38px minmax(0,1fr)}.module-head h1{margin:0;color:#153966;font-size:25px;line-height:1.05}.module-head p{margin:6px 0 0;color:#70839a;font-size:12.5px;line-height:1.35}.back-button{width:36px;height:36px;border:0;border-radius:11px;background:#e7f1f9;color:#07579b;font-size:30px;line-height:1}.module-add{border:0;border-radius:12px;background:#07579b;color:#fff;min-height:39px;padding:0 12px;font-size:12px;font-weight:850;white-space:nowrap}.module-info{background:#edf7fe;border:1px solid #cfe4f4;border-radius:15px;padding:13px 14px;color:#56758e;font-size:12px;line-height:1.4;margin-bottom:13px}.module-info strong,.module-info span{display:block}.module-info strong{color:#126293;margin-bottom:3px}.module-search{height:49px;background:#fff;border:1.5px solid #d5dee8;border-radius:14px;display:flex;align-items:center;gap:8px;padding:0 14px;margin-bottom:13px}.module-search>span{font-size:24px;color:#334c65}.module-search input{border:0;box-shadow:none;padding:0;font-size:14px}.module-list{display:grid;gap:10px}.catalog-item{background:#fff;border:1px solid #dfe7ef;border-radius:17px;padding:15px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px 12px;align-items:center;box-shadow:0 7px 22px rgba(23,58,97,.05)}.catalog-item h3,.stock-item h3,.movement-item h3{margin:0;color:#193c5d;font-size:16px}.catalog-item p,.stock-item p,.movement-item p{margin:4px 0 0;color:#718398;font-size:12px}.item-price{color:#07579b;font-size:16px}.item-edit{grid-column:1/-1;justify-self:end;border:0;background:#e9f3fb;color:#07579b;border-radius:10px;padding:8px 13px;font-size:12px;font-weight:850}.stock-tag{display:inline-block;margin-top:8px;color:#718398;font-size:11px}.stock-tag.on{color:#24794a;font-weight:800}.history-button{width:100%;border:1px solid #bedcf1;background:#fff;color:#07579b;border-radius:13px;min-height:45px;font-weight:850;margin:0 0 13px}.stock-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:13px}.stock-summary>div{background:#fff;border:1px solid #dfe7ef;border-radius:15px;padding:13px}.stock-summary span,.stock-summary strong{display:block}.stock-summary span{font-size:9px;letter-spacing:.08em;color:#75879a;font-weight:850}.stock-summary strong{font-size:24px;color:#07579b;margin-top:4px}.stock-summary .alert strong{color:#d47800}.stock-filters{display:flex;gap:8px;margin:0 0 13px}.stock-filters button{border:0;border-radius:999px;background:#e7edf3;color:#526b83;padding:8px 13px;font-size:12px;font-weight:800}.stock-filters button.active{background:#07579b;color:#fff}.stock-item{background:#fff;border:1px solid #dfe7ef;border-radius:18px;padding:15px;box-shadow:0 7px 22px rgba(23,58,97,.05)}.stock-item.low{border-color:#f0c784}.stock-item-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}.stock-quantity{text-align:right}.stock-quantity strong,.stock-quantity span{display:block}.stock-quantity strong{font-size:25px;color:#153966}.stock-quantity span{font-size:10px;color:#718398}.low-tag{display:inline-block;margin-top:7px;background:#fff0d6;color:#996000;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:850}.stock-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:13px}.stock-actions button{border:0;border-radius:10px;background:#e9f3fb;color:#07579b;min-height:36px;font-size:11px;font-weight:850}.last-movement{border-top:1px solid #edf1f5;margin-top:12px!important;padding-top:10px;font-size:10.5px!important}.movement-item{background:#fff;border:1px solid #dfe7ef;border-radius:16px;padding:13px;display:grid;grid-template-columns:38px minmax(0,1fr);gap:11px;align-items:center}.movement-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#e7f2fb;color:#07579b;font-size:20px;font-weight:900}.movement-icon.entrada{background:#e5f5eb;color:#168646}.movement-icon.saida{background:#fdebed;color:#bd3540}.movement-item time{grid-column:2;color:#8795a5;font-size:10px}.movement-item small{display:block;color:#536b82;margin-top:5px}.optional{color:#8291a0;font-size:11px;font-weight:500}.form-grid label small{color:#7c8d9e;font-size:11px;font-weight:500}.complete-fields{border:1px solid #dbe6ee;border-radius:14px;padding:0 13px}.complete-fields summary{list-style:none;cursor:pointer;padding:14px 0;color:#214b70;font-weight:850}.complete-fields summary span{display:block;color:#8090a0;font-size:10px;font-weight:500;margin-top:3px}.complete-fields>.form-grid{padding:3px 0 14px}.switch-field{display:flex!important;grid-template-columns:1fr auto;align-items:center;background:#eef7fd;border:1px solid #cee4f4;border-radius:14px;padding:13px}.switch-field span b,.switch-field span small{display:block}.switch-field span small{margin-top:3px}.switch-field input{width:24px;height:24px;accent-color:#07579b}.current-stock,.stock-form-product{background:#f1f5f9;border-radius:13px;padding:13px;color:#60758a}.current-stock span,.current-stock strong,.current-stock small,.stock-form-product span,.stock-form-product strong,.stock-form-product small{display:block}.current-stock strong,.stock-form-product strong{color:#173e62;font-size:18px;margin:3px 0}.current-stock small,.stock-form-product small{font-size:10px}.stock-form-product{margin-bottom:15px}.stock-form-note{margin-top:14px;border-radius:13px;background:#fff4df;color:#7b5c23;padding:12px;font-size:11px}.stock-form-note b,.stock-form-note span{display:block}.stock-form-note span{margin-top:3px}
