:root{--primary:#1457d9;--primary2:#0ea5e9;--navy:#071a3c;--bg:#f3f6fb;--card:#fff;--text:#172033;--muted:#6b7485;--border:#e4e9f2;--success:#138a5b;--danger:#d93c4f;--warning:#e59b16;--shadow:0 12px 35px rgba(20,42,90,.08)}
*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{margin:0;font-family:"Segoe UI",Tahoma,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:14px}button,input,select{font:inherit}a{text-decoration:none;color:inherit}.layout{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:22px 15px;background:linear-gradient(180deg,#06152f,#0b347f 65%,#1457d9);color:#fff}.brand{display:flex;align-items:center;gap:12px;padding:4px 8px 25px}.brand-icon{width:46px;height:46px;border-radius:15px;background:linear-gradient(135deg,rgba(255,255,255,.25),rgba(255,255,255,.08));display:grid;place-items:center;font-size:22px}.brand b{display:block;font-size:18px}.brand span{font-size:11px;opacity:.72}.menu{display:grid;gap:6px}.menu a{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:11px;color:#dbe7ff;transition:.2s}.menu a i{width:20px;text-align:center}.menu a:hover,.menu a.active{background:rgba(255,255,255,.15);color:#fff;transform:translateX(2px)}.sidebar-footer{position:absolute;left:15px;right:15px;bottom:18px}.sidebar-footer a{display:block;padding:11px 13px;background:rgba(255,255,255,.1);border-radius:11px}.main{padding:25px;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.title h1{font-size:27px;margin:0;letter-spacing:-.4px}.title p{margin:5px 0 0;color:var(--muted)}.user-box{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--border);padding:8px 12px;border-radius:14px;box-shadow:0 5px 18px rgba(20,42,90,.04)}.user-box small{display:block;color:var(--muted);margin-top:2px}.avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:#e9f1ff;color:var(--primary);font-weight:800}.hero{display:flex;justify-content:space-between;align-items:center;padding:27px 30px;margin-bottom:18px;border-radius:20px;background:linear-gradient(120deg,#0b347f,#1457d9 58%,#0ea5e9);color:#fff;box-shadow:0 18px 40px rgba(20,87,217,.2)}.hero h2{font-size:27px;margin:7px 0}.hero p{margin:0;opacity:.8}.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:800;opacity:.75}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:18px}.cards-3{grid-template-columns:repeat(3,minmax(0,1fr))}.stat{background:#fff;border:1px solid var(--border);border-radius:17px;padding:18px;box-shadow:var(--shadow)}.stat-top{display:flex;justify-content:space-between;align-items:center;color:var(--muted)}.stat-top i{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#edf4ff;color:var(--primary)}.stat h3{font-size:24px;margin:14px 0 3px;letter-spacing:-.4px}.stat small,.stat>span{color:var(--muted)}.grid-2{display:grid;grid-template-columns:1.5fr .7fr;gap:18px}.card{background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.card-header{display:flex;justify-content:space-between;align-items:center;padding:17px 19px;border-bottom:1px solid var(--border);gap:15px}.card-header h2{font-size:17px;margin:0}.card-header p{margin:4px 0 0;color:var(--muted);font-size:12px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:12px 11px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;vertical-align:middle}th{font-size:11px;text-transform:uppercase;letter-spacing:.45px;color:var(--muted);background:#f8faff}tbody tr:hover td{background:#fbfdff}.sub{display:block;color:var(--muted);margin-top:3px;font-size:11px}.btn{border:0;border-radius:11px;padding:10px 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;cursor:pointer;transition:.18s}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,var(--primary),#2778ed);color:#fff;box-shadow:0 7px 16px rgba(20,87,217,.18)}.btn-light{background:#edf4ff;color:var(--primary)}.btn-white{background:#fff;color:var(--primary)}.btn-success{background:#e8f8f0;color:var(--success)}.btn-sm{padding:7px 10px;font-size:12px}.icon-btn{border:0;width:34px;height:34px;border-radius:10px;background:#edf4ff;color:var(--primary);cursor:pointer}.link{color:var(--primary);font-weight:700;font-size:12px}.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px;padding:17px}.quick{padding:15px;border:1px solid var(--border);border-radius:14px;background:#fbfdff;transition:.2s}.quick:hover{border-color:#a8c5ff;transform:translateY(-2px)}.quick i{font-size:19px;color:var(--primary)}.quick b{display:block;margin:9px 0 3px}.quick span{font-size:11px;color:var(--muted)}.badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:800}.badge-pago,.badge-disponível,.badge-concluída{background:#dcf7e9;color:#0d7248}.badge-parcial,.badge-reservada,.badge-pendente,.badge-aberta{background:#fff0cc;color:#956000}.badge-em-aberto,.badge-atrasado,.badge-cancelado{background:#ffe2e5;color:#a82737}.badge-vendida,.badge-info,.badge-em-andamento{background:#e2edff;color:#174ea6}.success-text{color:var(--success)!important}.danger-text{display:block;color:var(--danger)!important;font-size:10px;margin-top:3px}.low-stock td,.overdue td{background:#fffafb}.stock-pill{display:inline-flex;background:#edf4ff;color:#174ea6;padding:5px 8px;border-radius:9px;font-weight:800}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:18px}.product-card{position:relative;display:flex;gap:13px;border:1px solid var(--border);border-radius:16px;padding:15px;background:linear-gradient(180deg,#fff,#fbfdff)}.product-card>.icon-btn{position:absolute;right:12px;top:12px}.product-icon{width:50px;height:50px;flex:0 0 50px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,#e8f0ff,#dff6ff);color:var(--primary);font-size:22px}.product-info h3{font-size:15px;margin:9px 36px 4px 0}.product-info p{font-size:12px;color:var(--muted);margin:0 0 10px}.product-info strong{display:block;font-size:18px;color:var(--primary)}.product-info small{display:block;margin-top:5px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;text-align:left}.form-group label,.report-filter label{display:block;margin-bottom:6px;font-size:11px;font-weight:800;color:#536078;text-transform:uppercase;letter-spacing:.35px}.input,.select{width:100%;padding:11px 12px;border:1px solid #dce3ee;border-radius:11px;background:#fff;color:var(--text);outline:none}.input:focus,.select:focus{border-color:#82aaf7;box-shadow:0 0 0 3px rgba(20,87,217,.1)}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}.swal2-popup.swal-clean{border-radius:20px;padding:24px}.swal2-title{font-size:21px!important}.payment-summary{display:flex;justify-content:space-between;align-items:center;padding:14px;background:#edf4ff;border-radius:13px;color:#174ea6}.payment-summary span{font-size:12px}.report-filter{background:#fff;border:1px solid var(--border);border-radius:16px;padding:15px;margin-bottom:16px;box-shadow:var(--shadow)}.report-filter form{display:flex;align-items:flex-end;gap:12px}.report-filter form>div{min-width:180px}.report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:18px}.report-grid a{display:block;padding:18px;border:1px solid var(--border);border-radius:15px;background:#fbfdff}.report-grid a:hover{border-color:#aac6fa}.report-grid i{font-size:23px;color:var(--primary)}.report-grid b{display:block;margin:12px 0 4px}.report-grid span{font-size:12px;color:var(--muted)}.inline-form{display:inline}.login-page{min-height:100vh;display:grid;grid-template-columns:1.12fr .88fr;background:#eef3fb}.login-hero{padding:70px;background:linear-gradient(135deg,#06152f,#0b347f 58%,#0ea5e9);color:#fff;display:flex;flex-direction:column;justify-content:center}.login-hero h1{font-size:49px;line-height:1.04;margin:0 0 18px}.login-hero p{font-size:18px;max-width:600px;opacity:.82}.feature-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.feature-pill{padding:9px 13px;border-radius:999px;background:rgba(255,255,255,.12)}.login-panel{display:grid;place-items:center;padding:30px}.login-card{width:min(430px,100%);background:#fff;padding:34px;border-radius:22px;box-shadow:0 22px 65px rgba(19,39,82,.14)}.login-card h2{font-size:28px;margin:0 0 6px}.login-card p{color:var(--muted);margin:0 0 23px}.login-card .form-group{margin-bottom:14px}
@media(max-width:1150px){.cards{grid-template-columns:repeat(2,1fr)}.product-grid,.report-grid{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}}@media(max-width:780px){.layout{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.menu{grid-template-columns:repeat(3,1fr)}.menu a{justify-content:center}.menu a span{display:none}.sidebar-footer{position:static;margin-top:14px}.main{padding:14px}.hero{padding:20px}.hero h2{font-size:22px}.cards,.cards-3,.product-grid,.report-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.span-2,.span-3{grid-column:span 1}.report-filter form{flex-direction:column;align-items:stretch}.report-filter form>div{min-width:0}.topbar{align-items:flex-start}.user-box div:last-child{display:none}}

/* Gestão do site público */
.site-settings{display:grid;gap:18px;padding-bottom:85px}.settings-grid{display:grid;grid-template-columns:360px 1fr;gap:28px;align-items:start}.settings-fields{align-content:start}.upload-box{border:1px dashed #c9d5e5;border-radius:16px;padding:14px;background:#f8fafc}.upload-box>label{display:block;font-size:12px;font-weight:700;margin-bottom:10px}.upload-box img,.upload-placeholder{width:100%;height:180px;border-radius:12px;object-fit:contain;background:#fff;border:1px solid #e5ebf3}.banner-box img,.banner-box .upload-placeholder{object-fit:cover}.upload-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#9aabc0;gap:8px}.upload-placeholder i{font-size:34px}.upload-box input{width:100%;margin-top:10px;font-size:11px}.color-input{padding:5px;min-height:44px}.sticky-save{position:fixed;right:28px;bottom:20px;z-index:20;padding:9px;background:rgba(255,255,255,.9);border:1px solid #e1e8f1;border-radius:14px;box-shadow:0 15px 35px rgba(19,43,78,.18);backdrop-filter:blur(8px)}.file-input{padding:9px}.checks-row{display:flex!important;gap:12px;flex-wrap:wrap}.check-card{cursor:pointer}.check-card input{display:none}.check-card span{display:inline-flex;align-items:center;gap:8px;border:1px solid #dce4ee;background:#f8fafc;border-radius:10px;padding:11px 14px;font-size:12px;font-weight:700}.check-card span i{display:none}.check-card input:checked+span{background:#e9f2ff;border-color:#8bb9ff;color:#1457d9}.check-card input:checked+span i{display:inline}.sidebar-footer{display:grid;gap:6px}.sidebar-footer a{display:flex;align-items:center;gap:10px}
@media(max-width:900px){.settings-grid{grid-template-columns:1fr}.sticky-save{left:14px;right:14px}.sticky-save .btn{width:100%}}
