*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--primary:#FF6B35;--primary-dark:#e55a2b;--primary-light:rgba(255,107,53,0.1);--secondary:#004E89;--bg:#0F0F1A;--bg2:#161625;--card:#1C1C2E;--card-border:#2A2A3C;--text:#E0E0E0;--text-muted:#8888AA;--success:#4CAF50;--warning:#FF9800;--danger:#F44336;--info:#2196F3;--purple:#9C27B0;--radius:12px;--shadow:0 4px 24px rgba(0,0,0,0.3)}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh}
a{color:var(--primary);text-decoration:none}
img{max-width:100%;height:auto}

.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}
.login-container{width:100%;max-width:420px}
.login-card{background:var(--card);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow);border:1px solid var(--card-border)}
.login-header{text-align:center;margin-bottom:1.5rem}
.login-header i{font-size:2.5rem;color:var(--primary);margin-bottom:0.5rem;display:block}
.login-header h1{font-size:1.5rem;font-weight:800;color:#fff}
.login-header p{color:var(--text-muted);font-size:0.85rem;margin-top:0.25rem}
.login-form .form-group{margin-bottom:1rem}
.login-form label{display:block;font-size:0.8rem;color:var(--text-muted);margin-bottom:0.3rem;font-weight:600}
.login-form input{width:100%;padding:0.75rem 1rem;background:var(--bg2);border:1px solid var(--card-border);border-radius:8px;color:#fff;font-size:0.95rem;transition:border .2s}
.login-form input:focus{outline:none;border-color:var(--primary)}
.login-note{color:var(--text-muted);font-size:0.75rem;text-align:center;margin-top:1rem}
.login-links{text-align:center;margin-top:1rem;font-size:0.85rem;color:var(--text-muted)}
.login-links a{color:var(--primary);font-weight:600}

.login-tabs{display:flex;gap:0;margin-bottom:1.5rem;border-radius:8px;overflow:hidden;border:1px solid var(--card-border)}
.login-tab{flex:1;text-align:center;padding:0.6rem;font-size:0.85rem;font-weight:600;color:var(--text-muted);background:var(--bg2);border:none;cursor:pointer;transition:all .2s}
.login-tab.active{background:var(--primary);color:#fff}
.login-tab:hover:not(.active){background:var(--card-border)}

.btn{display:inline-flex;align-items:center;gap:0.4rem;padding:0.6rem 1.2rem;border-radius:8px;border:1px solid var(--card-border);background:var(--card);color:var(--text);font-weight:600;font-size:0.85rem;cursor:pointer;transition:all .2s;text-decoration:none}
.btn:hover{background:var(--card-border)}
.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}
.btn-primary:hover{background:var(--primary-dark)}
.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}
.btn-danger:hover{opacity:0.9}
.btn-success{background:var(--success);color:#fff;border-color:var(--success)}
.btn-whatsapp{background:#25D366;color:#fff;border-color:#25D366}
.btn-sm{padding:0.4rem 0.8rem;font-size:0.8rem}
.btn-xs{padding:0.25rem 0.5rem;font-size:0.75rem}
.btn-lg{padding:0.8rem 1.5rem;font-size:1rem}
.btn-block{width:100%;justify-content:center}
.btn-icon{background:none;border:none;color:var(--text);font-size:1.2rem;cursor:pointer;padding:0.5rem}

.admin-layout{display:flex;min-height:100vh}
.admin-sidebar{width:260px;background:var(--bg2);border-right:1px solid var(--card-border);display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;z-index:100;transition:transform .3s}
.admin-logo{padding:1.2rem 1.5rem;display:flex;align-items:center;gap:0.6rem;border-bottom:1px solid var(--card-border)}
.admin-logo i{font-size:1.5rem;color:var(--primary)}
.admin-logo span{font-weight:800;font-size:1.1rem;color:#fff}
.admin-logo small{font-size:0.7rem;color:var(--text-muted);margin-left:auto}
.admin-nav{flex:1;padding:1rem 0;overflow-y:auto}
.adm-link{display:flex;align-items:center;gap:0.6rem;padding:0.7rem 1.5rem;color:var(--text-muted);font-weight:500;font-size:0.9rem;transition:all .2s;border-left:3px solid transparent}
.adm-link:hover{color:#fff;background:rgba(255,255,255,0.03)}
.adm-link.active{color:var(--primary);background:var(--primary-light);border-left-color:var(--primary);font-weight:700}
.admin-user{padding:1rem 1.5rem;border-top:1px solid var(--card-border);display:flex;align-items:center;gap:0.6rem}
.admin-avatar{width:36px;height:36px;border-radius:50%;background:var(--primary-light);display:flex;align-items:center;justify-content:center;color:var(--primary)}
.admin-user strong{display:block;font-size:0.85rem;color:#fff}
.admin-user small{font-size:0.7rem;color:var(--text-muted)}
.admin-user a{margin-left:auto;color:var(--text-muted)}

.admin-main{flex:1;margin-left:260px;display:flex;flex-direction:column;min-height:100vh}
.admin-topbar{padding:1rem 2rem;background:var(--bg2);border-bottom:1px solid var(--card-border);display:flex;align-items:center;gap:1rem;position:sticky;top:0;z-index:50}
.admin-topbar .btn-icon{display:none}
.page-title{font-size:1.2rem;font-weight:700;color:#fff;margin-left:0.5rem}
.topbar-right{margin-left:auto;display:flex;align-items:center;gap:1rem}
.topbar-date{color:var(--text-muted);font-size:0.85rem}
.admin-content{padding:1.5rem 2rem;flex:1}

.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1.5rem}
.stat-card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);padding:1.2rem;display:flex;align-items:center;gap:1rem}
.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.2rem}
.stat-num{display:block;font-size:1.4rem;font-weight:800;color:#fff}
.stat-label{font-size:0.8rem;color:var(--text-muted)}

.adm-card,.loja-card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);overflow:hidden;margin-bottom:1.5rem}
.adm-card-header,.loja-card-header{padding:1rem 1.5rem;border-bottom:1px solid var(--card-border);display:flex;align-items:center;justify-content:space-between}
.adm-card-header h3,.loja-card-header h3{font-size:1rem;font-weight:700;color:#fff;display:flex;align-items:center;gap:0.5rem}
.adm-card-header h3 i,.loja-card-header h3 i{color:var(--primary)}

.adm-tbl,.loja-tbl{width:100%;border-collapse:collapse}
.adm-tbl th,.loja-tbl th{text-align:left;padding:0.7rem 1rem;font-size:0.75rem;text-transform:uppercase;color:var(--text-muted);font-weight:600;background:var(--bg2);border-bottom:1px solid var(--card-border)}
.adm-tbl td,.loja-tbl td{padding:0.7rem 1rem;border-bottom:1px solid var(--card-border);font-size:0.85rem;vertical-align:middle}
.adm-tbl tr:hover,.loja-tbl tr:hover{background:rgba(255,255,255,0.02)}

.admin-grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem;margin-bottom:1.5rem}

.alert{padding:0.8rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:0.85rem;font-weight:500}
.alert-success{background:#1B5E20;color:#A5D6A7;border:1px solid #2E7D32}
.alert-error{background:#B71C1C;color:#EF9A9A;border:1px solid #C62828}
.alert-warning{background:#E65100;color:#FFCC80;border:1px solid #EF6C00}

.badge{display:inline-block;padding:0.2rem 0.6rem;border-radius:20px;font-size:0.7rem;font-weight:700;text-transform:uppercase}
.badge-success{background:#1B5E20;color:#A5D6A7}
.badge-warning{background:#4A2800;color:#FFD180}
.badge-danger{background:#B71C1C;color:#EF9A9A}
.badge-info{background:#0D47A1;color:#90CAF9}
.badge-primary{background:rgba(255,107,53,0.2);color:var(--primary)}
.badge-purple{background:#4A148C;color:#CE93D8}
.badge-secondary{background:var(--card-border);color:var(--text-muted)}

.text-center{text-align:center}
.text-muted{color:var(--text-muted)}

.form-group{margin-bottom:1rem}
.form-group label{display:block;font-size:0.8rem;color:var(--text-muted);margin-bottom:0.3rem;font-weight:600}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:0.65rem 1rem;background:var(--bg);border:1px solid var(--card-border);border-radius:8px;color:#fff;font-size:0.9rem;font-family:inherit}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary)}
.form-row{display:flex;gap:1rem;flex-wrap:wrap}
.flex-1{flex:1;min-width:150px}
.flex-2{flex:2;min-width:200px}
.form-actions{margin-top:1.5rem}

.adm-toolbar{margin-bottom:1.5rem}
.adm-search-form{display:flex;gap:0.5rem;flex-wrap:wrap;align-items:center}
.adm-search-form input,.adm-search-form select{padding:0.5rem 0.8rem;background:var(--card);border:1px solid var(--card-border);border-radius:8px;color:#fff;font-size:0.85rem}
.adm-search-form input:focus,.adm-search-form select:focus{outline:none;border-color:var(--primary)}

.inline-edit-form{display:inline-flex;gap:0.3rem;align-items:center}
.input-sm{padding:0.3rem 0.5rem;font-size:0.8rem;width:auto}
.select-sm{padding:0.3rem 0.5rem;font-size:0.8rem;background:var(--bg);border:1px solid var(--card-border);border-radius:6px;color:#fff}
.actions-cell{white-space:nowrap;display:flex;gap:0.3rem}

.edit-row td{background:var(--bg2)!important;padding:1rem!important}

.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.6);backdrop-filter:blur(4px);z-index:200;display:flex;align-items:center;justify-content:center;padding:1rem}
.modal-lg,.modal-sm{background:var(--card);border-radius:var(--radius);width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow)}
.modal-sm{max-width:400px}
.modal-header{padding:1rem 1.5rem;border-bottom:1px solid var(--card-border);display:flex;align-items:center;justify-content:space-between}
.modal-header h3{font-size:1.1rem;font-weight:700;color:#fff;display:flex;align-items:center;gap:0.5rem}
.btn-close{background:none;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer}
.btn-close:hover{color:#fff}
.modal-form{padding:1.5rem}
.modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--card-border);display:flex;gap:0.5rem;justify-content:flex-end}
.form-section{margin-top:1.5rem;padding:1rem;background:var(--bg2);border-radius:8px;border:1px solid var(--card-border)}
.form-section h4{font-size:0.9rem;margin-bottom:1rem;color:var(--primary);display:flex;align-items:center;gap:0.4rem}
.adicional-row{margin-bottom:0.5rem}
.file-input-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.file-input-sm{font-size:0.75rem!important;padding:0.3rem!important}

.filter-tabs{display:flex;gap:0.5rem;flex-wrap:wrap}
.filter-tab{padding:0.4rem 1rem;border-radius:20px;font-size:0.8rem;font-weight:600;color:var(--text-muted);background:var(--card);border:1px solid var(--card-border);text-decoration:none;transition:all .2s}
.filter-tab.active,.filter-tab:hover{background:var(--primary);color:#fff;border-color:var(--primary)}

.pedidos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1rem}
.pedido-card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);padding:1rem;transition:transform .2s}
.pedido-card:hover{transform:translateY(-2px)}
.pedido-urgente{border-color:var(--warning);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,152,0,0.2)}50%{box-shadow:0 0 0 8px rgba(255,152,0,0)}}
.pedido-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:0.5rem}
.pedido-codigo{font-weight:800;font-size:1rem;color:#fff}
.pedido-hora{color:var(--text-muted);font-size:0.8rem;margin-left:0.5rem}
.pedido-cliente{margin-bottom:0.5rem}
.pedido-cliente strong{display:flex;align-items:center;gap:0.3rem;font-size:0.9rem;color:#fff}
.pedido-tel{display:flex;align-items:center;gap:0.3rem;color:var(--success);font-size:0.85rem;margin-top:0.2rem}
.pedido-tipo{display:flex;gap:0.3rem;margin-bottom:0.5rem}
.pedido-endereco{font-size:0.8rem;color:var(--text-muted);margin-bottom:0.5rem;padding:0.4rem;background:var(--bg2);border-radius:6px}
.pedido-endereco i{color:var(--primary)}
.pedido-itens{padding:0.5rem 0;border-top:1px solid var(--card-border);border-bottom:1px solid var(--card-border);margin:0.5rem 0}
.pedido-item{display:flex;gap:0.5rem;font-size:0.85rem;padding:0.2rem 0}
.item-qtd{font-weight:700;color:var(--primary);min-width:25px}
.item-nome{flex:1}
.item-preco{font-weight:600;color:#fff}
.pedido-item-adic{display:flex;justify-content:space-between;font-size:0.75rem;color:var(--text-muted);padding-left:1.8rem}
.pedido-item-obs{font-size:0.75rem;color:var(--warning);font-style:italic;padding-left:1.8rem}
.pedido-totais{margin-top:0.5rem;font-size:0.85rem}
.pedido-totais div{display:flex;justify-content:space-between;padding:0.15rem 0}
.pedido-total{font-weight:800;font-size:1rem;color:#fff;border-top:1px solid var(--card-border);padding-top:0.3rem;margin-top:0.3rem}
.pedido-obs{font-size:0.8rem;color:var(--text-muted);margin-top:0.5rem;padding:0.4rem;background:var(--bg2);border-radius:6px}
.pedido-actions{display:flex;gap:0.3rem;margin-top:0.5rem;flex-wrap:wrap}

.cardapio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}
.produto-card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);overflow:hidden;transition:transform .2s}
.produto-card:hover{transform:translateY(-2px)}
.produto-fotos{position:relative;height:180px;overflow:hidden;background:var(--bg2)}
.produto-img{width:100%;height:100%;object-fit:cover}
.produto-img-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:2.5rem}
.foto-count{position:absolute;bottom:8px;right:8px;background:rgba(0,0,0,0.7);color:#fff;padding:0.2rem 0.5rem;border-radius:12px;font-size:0.7rem;font-weight:600}
.produto-info{padding:1rem}
.produto-info h4{font-size:1rem;font-weight:700;color:#fff;margin-bottom:0.3rem}
.produto-preco{margin:0.5rem 0}
.preco-atual{font-size:1.1rem;font-weight:800;color:var(--primary)}
.preco-antigo{font-size:0.85rem;color:var(--text-muted);text-decoration:line-through;margin-right:0.5rem}
.produto-desc{font-size:0.8rem;color:var(--text-muted);margin-bottom:0.5rem}
.produto-adics{margin-bottom:0.5rem}
.produto-actions{display:flex;gap:0.3rem;margin-top:0.5rem}

.empty-state{text-align:center;padding:3rem;color:var(--text-muted)}
.empty-state i{font-size:3rem;margin-bottom:1rem;display:block;opacity:0.5}
.empty-state p{font-size:0.95rem}

.loja-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.8rem;padding:1rem}
.info-item{padding:0.6rem;background:var(--bg2);border-radius:8px}
.info-label{display:block;font-size:0.7rem;color:var(--text-muted);text-transform:uppercase;font-weight:600}
.info-value{display:block;font-size:1rem;font-weight:700;color:#fff}

.check-group{display:flex;flex-wrap:wrap;gap:0.8rem;margin:1rem 0}
.check-label{display:flex;align-items:center;gap:0.4rem;font-size:0.85rem;color:var(--text);cursor:pointer}
.check-label input[type="checkbox"]{accent-color:var(--primary)}

.horarios-grid{display:flex;flex-direction:column;gap:0.5rem;padding:1rem}
.horario-row{display:flex;align-items:center;gap:0.8rem;flex-wrap:wrap}
.horario-row input[type="time"]{padding:0.4rem 0.6rem;background:var(--bg);border:1px solid var(--card-border);border-radius:6px;color:#fff;font-size:0.85rem}
.horario-row span{color:var(--text-muted);font-size:0.8rem}

.temas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;padding:1.5rem}
.tema-card{border:2px solid var(--card-border);border-radius:var(--radius);padding:0.8rem;cursor:pointer;transition:all .2s;position:relative}
.tema-card:hover{border-color:var(--text-muted)}
.tema-ativo{border-color:var(--primary)!important}
.tema-preview{border-radius:8px;overflow:hidden;margin-bottom:0.5rem}
.tema-header-bar{height:20px}
.tema-body{padding:8px;background:#eee}
.tema-card-mini{border-radius:4px;padding:6px}
.tema-footer-bar{height:12px}
.tema-nome{text-align:center;font-weight:700;font-size:0.85rem;color:#fff}
.tema-cores{display:flex;gap:4px;justify-content:center;margin-top:0.3rem}
.tema-cores span{width:16px;height:16px;border-radius:50%;border:2px solid var(--card-border)}
.tema-check{position:absolute;top:8px;right:8px;color:var(--primary);font-size:1.2rem}

.color-input{display:flex;align-items:center;gap:0.5rem}
.color-input input[type="color"]{width:40px;height:35px;border:none;border-radius:6px;cursor:pointer;background:none}
.color-input span{font-size:0.8rem;color:var(--text-muted);font-family:monospace}

.loja-card-nova{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;cursor:pointer;border:2px dashed var(--card-border);background:transparent}
.loja-card-nova:hover{border-color:var(--primary)}
.loja-card-nova i{font-size:2.5rem;color:var(--primary);margin-bottom:0.5rem}
.loja-card-nova h3{color:var(--text-muted)}

.lojas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}
.loja-card-link{text-decoration:none}
.loja-card-dashboard{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);padding:1.5rem;text-align:center;transition:all .2s}
.loja-card-link:hover .loja-card-dashboard{border-color:var(--primary);transform:translateY(-2px)}
.loja-card-logo{width:60px;height:60px;border-radius:50%;object-fit:cover;margin-bottom:0.8rem}
.loja-card-logo-placeholder{width:60px;height:60px;border-radius:50%;background:var(--primary-light);display:flex;align-items:center;justify-content:center;margin:0 auto 0.8rem;color:var(--primary);font-size:1.5rem}
.loja-card-dashboard h3{color:#fff;font-size:1rem;margin-bottom:0.3rem}
.loja-card-stats{display:flex;gap:0.5rem;justify-content:center;margin-top:0.8rem;font-size:0.8rem;color:var(--text-muted)}
.loja-card-stats i{margin-right:0.2rem}

@media(max-width:768px){
    .admin-sidebar{transform:translateX(-100%)}
    .admin-sidebar.open{transform:translateX(0)}
    .admin-main{margin-left:0}
    .admin-topbar .btn-icon{display:block}
    .admin-content{padding:1rem}
    .admin-grid-2{grid-template-columns:1fr}
    .stats-grid{grid-template-columns:1fr 1fr}
    .pedidos-grid{grid-template-columns:1fr}
    .form-row{flex-direction:column}
    .adm-tbl,.loja-tbl{font-size:0.8rem}
    .adm-tbl th,.loja-tbl th,.adm-tbl td,.loja-tbl td{padding:0.5rem}
}
@media(max-width:480px){
    .stats-grid{grid-template-columns:1fr}
    .cardapio-grid{grid-template-columns:1fr}
}
