*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f3f6fb;color:#172033}.app{display:flex;min-height:100vh}.login-page{min-height:100vh;background:linear-gradient(135deg,#071629,#155eef);display:flex;align-items:center;justify-content:center;padding:20px}.login-box{width:100%;max-width:430px;background:#fff;padding:32px;border-radius:24px;box-shadow:0 20px 50px #00000040}.login-box h1{margin:0;font-size:32px}.login-box p{color:#667085;margin-bottom:24px}.login-box input{margin-bottom:12px}.login-box small{display:block;margin-top:16px;color:#667085}.error{background:#fee4e2;color:#b42318;padding:10px;border-radius:12px;margin-bottom:12px}.sidebar{width:280px;background:linear-gradient(180deg,#071629,#0f2b4c);color:#fff;padding:24px;position:fixed;height:100vh;overflow-y:auto}.sidebar h1{margin:0;font-size:26px}.sidebar p{color:#b8c7dd;margin-bottom:28px}.sidebar button{width:100%;border:none;background:transparent;color:#fff;display:flex;align-items:center;gap:10px;padding:13px;border-radius:12px;cursor:pointer;font-size:15px;margin-bottom:8px;text-align:left}.sidebar button:hover{background:#ffffff1f}.sidebar button.logout{background:#ffffff1a;margin-top:24px}.content{margin-left:280px;padding:32px;width:calc(100% - 280px)}.header h2{font-size:30px;margin:0}.header p{color:#667085;margin-top:6px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:24px}.card,.panel,.room-card{background:#fff;border-radius:18px;box-shadow:0 12px 30px #0f2b4c14;padding:20px}.card span{color:#667085}.card strong{display:block;font-size:32px;margin-top:8px}.panel{margin-top:24px}.form-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}input,select{border:1px solid #d0d5dd;border-radius:12px;padding:12px;font-size:14px;width:100%}button.primary,.room-card button{border:none;border-radius:12px;padding:12px 16px;background:#155eef;color:#fff;cursor:pointer;font-weight:700}.room-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:24px}.room-card{border-left:8px solid #12b76a}.room-card.reserved{border-left-color:#f79009}.room-card strong{display:block;font-size:22px}.room-card span,.room-card small{display:block;margin-top:6px;color:#667085}.room-card p{margin:8px 0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:760px}th{text-align:left;color:#667085;font-size:13px}td,th{padding:12px;border-bottom:1px solid #eaecf0}.qr{text-align:center}.qr img{width:240px;height:240px}@media (max-width:1100px){.cards,.room-grid,.form-grid{grid-template-columns:1fr 1fr}.sidebar{width:230px}.content{margin-left:230px;width:calc(100% - 230px)}}@media (max-width:760px){.app{flex-direction:column}.sidebar{position:relative;width:100%;height:auto}.content{margin-left:0;width:100%;padding:18px}.cards,.room-grid,.form-grid{grid-template-columns:1fr}}.hotel-select{display:flex;align-items:center;gap:8px;background:#ffffff1a;padding:10px;border-radius:12px;margin-bottom:18px}.hotel-select select{background:#fff;color:#172033;padding:8px}.bi-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}.chart-panel h3{margin-top:0;margin-bottom:16px}@media (max-width: 900px){.bi-grid{grid-template-columns:1fr}}.powerbi-page{background:#0b1220;color:#e5e7eb;min-height:calc(100vh - 64px);border-radius:24px;padding:24px;box-shadow:inset 0 0 0 1px #94a3b826}.powerbi-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:22px}.powerbi-header h2{margin:0;font-size:32px;letter-spacing:-.5px}.powerbi-header p{margin:8px 0 0;color:#94a3b8}.powerbi-filters{display:flex;gap:10px;background:#0f172ae6;padding:12px;border-radius:16px;border:1px solid rgba(148,163,184,.2)}.powerbi-filters input{background:#111827;color:#e5e7eb;border:1px solid #334155}.powerbi-filters button{border:none;border-radius:12px;padding:0 16px;background:#38bdf8;color:#082f49;font-weight:700;cursor:pointer}.powerbi-kpis{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:16px;margin-bottom:18px}.powerbi-card,.powerbi-panel,.powerbi-table{background:linear-gradient(180deg,#111827,#0f172a);border:1px solid rgba(148,163,184,.18);border-radius:20px;box-shadow:0 18px 40px #00000040}.powerbi-card{padding:18px;min-height:132px}.powerbi-card span{color:#94a3b8;font-size:13px;text-transform:uppercase;letter-spacing:.7px}.powerbi-card strong{display:block;margin-top:12px;font-size:28px;color:#f8fafc}.powerbi-card small{display:block;margin-top:10px;color:#64748b}.powerbi-card.kpi-main{background:linear-gradient(135deg,#075985,#0f172a);border-color:#38bdf873}.powerbi-card.kpi-main strong{font-size:34px}.powerbi-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:18px}.powerbi-panel{padding:18px}.powerbi-panel.wide{grid-column:span 1}.panel-title{margin-bottom:14px}.panel-title h3{margin:0;font-size:18px;color:#f8fafc}.panel-title span{display:block;margin-top:4px;color:#94a3b8;font-size:13px}.insights{display:grid;grid-template-columns:1fr 1fr;gap:14px}.insights div{background:#0f172ae6;border:1px solid rgba(148,163,184,.15);border-radius:16px;padding:16px}.insights span{display:block;color:#94a3b8;font-size:13px}.insights strong{display:block;margin-top:8px;color:#f8fafc;font-size:22px}.powerbi-table{margin-top:18px;padding:18px}.powerbi-table .panel{margin-top:0;background:transparent;box-shadow:none;padding:0}.powerbi-table table{color:#e5e7eb}.powerbi-table th{color:#94a3b8}.powerbi-table td,.powerbi-table th{border-bottom:1px solid rgba(148,163,184,.15)}@media (max-width: 1200px){.powerbi-kpis{grid-template-columns:1fr 1fr}.powerbi-grid{grid-template-columns:1fr}.powerbi-header{flex-direction:column}}@media (max-width: 760px){.powerbi-kpis,.insights{grid-template-columns:1fr}.powerbi-filters{flex-direction:column;width:100%}}.top-dashboard{background:#08111f;min-height:calc(100vh - 64px);border-radius:26px;padding:24px;color:#e5e7eb;box-shadow:inset 0 0 0 1px #94a3b824}.top-hero{background:radial-gradient(circle at top left,rgba(56,189,248,.22),transparent 36%),linear-gradient(135deg,#0f172a,#111827);border:1px solid rgba(148,163,184,.18);border-radius:24px;padding:26px;display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:18px}.top-badge{display:inline-flex;background:#38bdf829;color:#7dd3fc;padding:7px 12px;border-radius:999px;font-size:12px;text-transform:uppercase;letter-spacing:.8px;margin-bottom:12px}.top-hero h2{margin:0;font-size:34px;color:#f8fafc}.top-hero p{margin:8px 0 0;color:#94a3b8}.top-hero button{border:none;background:#38bdf8;color:#082f49;padding:13px 18px;border-radius:14px;font-weight:700;cursor:pointer}.top-kpis{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:16px;margin-bottom:18px}.top-kpi,.top-panel,.top-alerts{background:linear-gradient(180deg,#111827,#0f172a);border:1px solid rgba(148,163,184,.18);border-radius:22px;box-shadow:0 18px 38px #00000047}.top-kpi{padding:18px;min-height:150px}.top-kpi svg{color:#38bdf8;margin-bottom:10px}.top-kpi.featured{background:linear-gradient(135deg,#075985,#0f172a);border-color:#38bdf873}.top-kpi.warning svg{color:#f59e0b}.top-kpi span{display:block;color:#94a3b8;font-size:13px;text-transform:uppercase;letter-spacing:.7px}.top-kpi strong{display:block;color:#f8fafc;font-size:30px;margin-top:10px}.top-kpi.featured strong{font-size:36px}.top-kpi small{display:block;margin-top:8px;color:#64748b}.top-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:18px}.top-panel{padding:18px}.top-panel-title{margin-bottom:16px}.top-panel-title h3{margin:0;color:#f8fafc;font-size:18px}.top-panel-title span{display:block;color:#94a3b8;font-size:13px;margin-top:4px}.top-insights{display:grid;gap:14px}.top-insights div{background:#0f172ad9;border:1px solid rgba(148,163,184,.14);border-radius:16px;padding:16px}.top-insights span{color:#94a3b8;font-size:13px}.top-insights strong{display:block;margin-top:8px;color:#f8fafc;font-size:20px}.top-alerts{margin-top:18px;padding:18px}.top-alerts h3{margin-top:0;color:#f8fafc}.top-alerts p{color:#94a3b8}.top-alert{background:#f59e0b1a;color:#fbbf24;border:1px solid rgba(245,158,11,.25);padding:12px 14px;border-radius:14px;margin-top:10px}@media (max-width: 1200px){.top-kpis{grid-template-columns:1fr 1fr}.top-grid{grid-template-columns:1fr}.top-hero{flex-direction:column;align-items:flex-start}}@media (max-width: 760px){.top-kpis{grid-template-columns:1fr}}.consumption-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.consumption-grid h3,.checkout-panel h3{display:flex;align-items:center;gap:8px;margin-top:0}.checkout-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:18px;margin-bottom:18px}.checkout-summary div{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;padding:16px}.checkout-summary span{display:block;color:#64748b;font-size:13px;margin-bottom:8px}.checkout-summary strong{font-size:18px;color:#0f172a}.checkout-summary .total{background:#0f172a;border-color:#0f172a}.checkout-summary .total span,.checkout-summary .total strong{color:#fff}@media (max-width: 1100px){.consumption-grid,.checkout-summary{grid-template-columns:1fr}}.consumption-mini{background:#0f172a14;border:1px solid rgba(15,23,42,.12);border-radius:12px;padding:10px;margin:10px 0}.consumption-mini span{display:block;color:#64748b;font-size:12px}.consumption-mini strong{display:block;margin-top:4px;color:#0f172a;font-size:18px}.room-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.room-actions button{border:none;border-radius:10px;padding:9px 11px;cursor:pointer;background:#e2e8f0;color:#0f172a;font-weight:600}.room-actions .primary,.modal-card .primary{background:#2563eb;color:#fff}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172ab8;display:flex;align-items:center;justify-content:center;z-index:999;padding:24px}.modal-card{background:#fff;border-radius:24px;padding:24px;width:520px;max-width:100%;box-shadow:0 24px 70px #00000059}.modal-card.wide{width:920px}.modal-card h3{margin-top:0}.modal-card p{color:#64748b}.mobile-room-list{display:grid;grid-template-columns:1fr;gap:18px}.mobile-room-card{background:#fff;border-radius:24px;padding:22px;box-shadow:0 14px 35px #0f172a1a}.mobile-room-card h3{margin:0 0 6px;font-size:26px}.mobile-room-card p{color:#64748b;margin-top:0}.mobile-products{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.mobile-products button{border:none;border-radius:18px;padding:18px;background:#0f172a;color:#fff;cursor:pointer;text-align:left}.mobile-products button strong{display:block;font-size:16px}.mobile-products button span{display:block;margin-top:10px;color:#93c5fd}.waiter-grid{display:grid;grid-template-columns:1fr;gap:22px}.waiter-room{background:#fff;border-radius:26px;padding:24px;box-shadow:0 16px 38px #0f172a1a}.waiter-room h2{margin:0;font-size:32px}.waiter-room p{color:#64748b}.waiter-products{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}.waiter-products button{border:none;border-radius:20px;background:#0f172a;color:#fff;min-height:92px;font-size:18px;font-weight:800;cursor:pointer}.waiter-products small{display:block;margin-top:10px;color:#93c5fd}.bi-consumption-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.qr-panel{text-align:center;max-width:520px}.qr-panel img{width:280px;max-width:100%}.qr-panel p{color:#64748b;word-break:break-all}@media (max-width: 900px){.bi-consumption-grid{grid-template-columns:1fr}}.manager-grid,.finance-pro-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}@media (max-width: 1000px){.manager-grid,.finance-pro-grid{grid-template-columns:1fr}}.settings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:start}.settings-grid .panel{margin-top:24px}.settings-grid h3{margin-top:0}.settings-form{display:grid;gap:12px}.settings-message{border-left:5px solid #155eef;background:#eff6ff;color:#1e3a8a}@media (max-width:1100px){.settings-grid{grid-template-columns:1fr 1fr}}@media (max-width:760px){.settings-grid{grid-template-columns:1fr}}.finance-expense-form{display:grid;grid-template-columns:1fr;gap:12px}.finance-expense-form button{width:100%}.room-card.limpo,.room-card.inspecionado{border-left-color:#12b76a}.room-card.sujo{border-left-color:#f04438}.room-card.manutencao{border-left-color:#667085}.room-card.ocupado{border-left-color:#7a5af8}@media (min-width:1200px){.finance-pro-grid{grid-template-columns:minmax(360px,.75fr) minmax(0,1.75fr)}}.cash-open{display:grid;grid-template-columns:1fr 260px 180px;gap:14px;align-items:center}.cash-open h3{margin:0 0 6px}.cash-open p{margin:0;color:#667085}.cash-session-banner{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px;background:linear-gradient(135deg,#0f2b4c,#155eef);color:#fff;padding:18px 22px;border-radius:18px}.cash-session-banner span{display:block;color:#cfe1ff;font-size:13px}.cash-session-banner strong{display:block;margin-top:5px;font-size:17px}.cash-kpis{grid-template-columns:repeat(4,1fr)}.cash-kpis .card:last-child{background:#0f172a;color:#fff}.cash-kpis .card:last-child span{color:#cbd5e1}.cash-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.cash-form{display:grid;gap:12px}.cash-form label{font-size:13px;color:#667085;font-weight:700}.cash-form textarea{min-height:92px;border:1px solid #d0d5dd;border-radius:12px;padding:12px;font:inherit;resize:vertical}.cash-difference-preview{display:flex;justify-content:space-between;align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:14px}.cash-difference-preview span{color:#667085}.cash-difference-preview strong{font-size:20px}.danger-action{background:#b42318!important}@media (max-width:1100px){.cash-open{grid-template-columns:1fr}.cash-kpis{grid-template-columns:1fr 1fr}.cash-grid{grid-template-columns:1fr}}@media (max-width:760px){.cash-kpis,.cash-session-banner{grid-template-columns:1fr}}.qr-config-panel{grid-template-columns:minmax(260px,520px)}.qr-warning{border-left:6px solid #f79009;max-width:760px}.qr-warning p{margin:8px 0}.qr-warning small{color:#667085}.guest-qr-card{max-width:680px;text-align:center}.guest-qr-card img{width:min(360px,80vw);height:auto}.guest-badge{display:inline-block;background:#e8f1ff;color:#155eef;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:700;letter-spacing:.6px}.qr-url{word-break:break-all;color:#475467}.qr-note{color:#667085;font-size:13px;max-width:540px;margin:8px auto 16px}.guest-portal{min-height:100vh;background:linear-gradient(160deg,#071629,#0f2b4c 48%,#155eef);padding:18px;color:#172033}.guest-shell{max-width:760px;margin:0 auto;background:#f7f9fc;border-radius:28px;overflow:hidden;box-shadow:0 24px 60px #00000047;padding:22px}.guest-header{background:#fff;border-radius:22px;padding:24px;margin-bottom:18px}.guest-header h1{font-size:32px;margin:14px 0 6px}.guest-header p{color:#475467;margin:0}.guest-shell section{background:#fff;border-radius:22px;padding:20px;margin-top:18px}.guest-shell h2{margin:0 0 6px}.guest-muted{color:#667085;margin:6px 0 18px}.guest-product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.guest-product{border:1px solid #e4e7ec;background:#fff;border-radius:18px;padding:18px;text-align:left;cursor:pointer;box-shadow:0 8px 18px #0f2b4c0f}.guest-product:disabled{opacity:.55}.guest-product span,.guest-product small{display:block;color:#667085;font-size:12px}.guest-product strong{display:block;font-size:18px;margin:8px 0}.guest-product b{display:block;color:#155eef;font-size:20px;margin-bottom:8px}.guest-success{background:#ecfdf3;color:#027a48;border:1px solid #abefc6;padding:14px;border-radius:16px}.guest-inline-error,.guest-error{background:#fff1f0;color:#b42318;border:1px solid #fecdca;padding:14px;border-radius:16px}.guest-error{margin-top:10vh}.guest-order-row{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #eaecf0}.guest-order-row:last-child{border-bottom:0}.guest-order-row small{display:block;color:#667085;margin-top:4px}.guest-order-row>div:last-child{text-align:right}.guest-empty{padding:18px;background:#f2f4f7;border-radius:16px;color:#667085}.guest-footer{text-align:center;color:#d0d5dd;font-size:12px;padding:22px 8px 4px}@media (max-width:600px){.guest-portal{padding:0}.guest-shell{min-height:100vh;border-radius:0;padding:14px}.guest-header{padding:20px}.guest-header h1{font-size:27px}.guest-product-grid{grid-template-columns:1fr}.guest-product{padding:16px}}
