/* ============================================================
   PLANTA DE EVENTOS — v5 (redesign)
   Novo visual (verde/dourado/creme) sobre o motor de produção.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500&family=Raleway:wght@300;400;500;600;700&display=swap');

:root{
  --green-900:#0f2418; --green-800:#143024; --green-700:#234a34; --green-600:#2f6044;
  --gold:#b08d3a; --gold-soft:#e3cf90; --gold-line:#cbb27a; --gold-deep:#8a6a12;
  --cream:#f4f1ea; --panel:#fbfaf7; --panel-2:#f1ede2; --canvas-bg:#eae4d6;
  --line:#e6ddcb; --line-2:#e0d6c2; --ink:#2c3a2f; --ink-2:#4a564c;
  --muted:#8a9187; --muted-2:#9a927e; --danger:#a33b2e; --danger-bg:#fbeeeb; --danger-line:#f0d3cc;
  --serif:'Cormorant Garamond',serif; --sans:'Raleway',sans-serif;
  --r:9px; --r-sm:7px;
}

*{margin:0;padding:0;box-sizing:border-box;}
html,body{height:100%;}
body{background:var(--green-900);font-family:var(--sans);color:var(--ink);}
::selection{background:var(--gold-line);color:var(--green-700);}

/* scrollbars */
.pe-scroll::-webkit-scrollbar{width:9px;height:9px;}
.pe-scroll::-webkit-scrollbar-thumb{background:#d6cbb2;border-radius:100px;border:2px solid transparent;background-clip:content-box;}
.pe-scroll::-webkit-scrollbar-track{background:transparent;}

/* ===== APP SHELL ===== */
.pe-app{display:flex;flex-direction:column;height:100vh;background:var(--cream);overflow:hidden;}

/* ===== TOP BAR ===== */
.pe-top{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;
  padding:0 22px;height:64px;background:var(--green-800);border-bottom:1px solid rgba(197,169,81,.28);}
.pe-top-l{display:flex;align-items:center;gap:20px;}
.pe-logo{height:34px;width:auto;display:block;filter:brightness(0) invert(1);}
.pe-vline{width:1px;height:26px;background:rgba(255,255,255,.16);}
.pe-title-k{font:600 9px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold-soft);}
.pe-title{font-family:var(--serif);font-weight:600;font-size:19px;color:#fff;}
.pe-top-r{display:flex;align-items:center;gap:14px;}

/* net badge (Online / Sem rede) */
#net-badge{display:inline-flex;align-items:center;gap:7px;font:500 12px/1 var(--sans);
  color:rgba(255,255,255,.72);padding:7px 12px;border-radius:100px;border:1px solid rgba(255,255,255,.12);}
#net-badge::before{content:'';width:7px;height:7px;border-radius:50%;background:#3f8f5f;box-shadow:0 0 0 3px rgba(63,143,95,.22);}
#net-badge.offline{color:#f3c8c0;}
#net-badge.offline::before{background:#c56a5a;box-shadow:0 0 0 3px rgba(197,106,90,.22);}

/* deal context pill */
#deal-context{font:500 11px/1 var(--sans);letter-spacing:.04em;color:rgba(255,255,255,.62);
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);padding:8px 12px;border-radius:100px;}

.pe-send{font:600 11px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--green-800);
  background:var(--gold-soft);border:none;padding:11px 18px;border-radius:100px;cursor:pointer;transition:background .15s;}
.pe-send:hover{background:#f0dea6;}
.pe-send:disabled{opacity:.55;cursor:not-allowed;}

/* ===== BODY / 3 PANELS ===== */
.pe-body{flex:1;min-height:0;display:flex;}
.pe-side{width:290px;flex-shrink:0;background:var(--panel);overflow-y:auto;padding:20px 18px 40px;}
.pe-left{border-right:1px solid var(--line);}
.pe-right{width:298px;border-left:1px solid var(--line);}
.pe-center{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--canvas-bg);}

/* section labels */
.sec-lbl{font:600 10px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--gold);}
.sec-lbl.mt{margin-top:24px;}
.hr{height:1px;background:var(--line);margin:24px 0 0;}
.hint{font:400 11px/1.5 var(--sans);color:var(--muted-2);margin-top:6px;}

/* sala buttons */
.sala-row{display:flex;gap:8px;margin-top:11px;}
.sala-btn{flex:1;font:500 11px/1 var(--sans);letter-spacing:.03em;color:var(--ink-2);background:var(--panel-2);
  border:1px solid var(--line);padding:11px 8px;border-radius:8px;cursor:pointer;}
.sala-btn:hover{border-color:var(--gold-line);}
.sala-btn.active{color:#fff;background:var(--green-700);border-color:var(--green-700);font-weight:600;}
#sala-info{font:400 11px/1.5 var(--sans);color:var(--muted);background:var(--cream);
  border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 10px;margin-top:9px;}

/* mode toggle IA/Manual */
.mode-wrap{display:flex;gap:0;margin-top:11px;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r);padding:4px;}
.mode-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;font:500 11px/1 var(--sans);
  color:var(--muted);background:transparent;border:none;padding:10px 6px;border-radius:var(--r-sm);cursor:pointer;}
.mode-btn.active{color:var(--green-800);background:var(--gold-soft);font-weight:600;}

/* event type cards */
.evt-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px;}
.evt-card{text-align:left;font:600 12px/1.2 var(--sans);color:var(--ink-2);background:#fff;
  border:1px solid var(--line);padding:12px 13px;border-radius:var(--r);cursor:pointer;}
.evt-card:hover{border-color:var(--gold-line);}
.evt-card span{display:block;font:400 11px/1 var(--sans);color:var(--muted);margin-top:5px;}

/* prompt */
.pe-prompt{width:100%;min-height:70px;resize:vertical;font:300 13px/1.55 var(--sans);color:#3a463c;
  background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:11px 12px;margin-top:11px;outline:none;}
.pe-prompt:focus{border-color:var(--gold-line);}

/* nº de eventos selector */
.nprop-head{display:flex;align-items:center;justify-content:space-between;margin-top:20px;}
.nprop-head span:last-child{font:600 12px/1 var(--sans);color:var(--green-700);}
.nprop-row{display:flex;gap:7px;margin-top:10px;}
.nprop{flex:1;text-align:center;font:600 12px/1 var(--sans);color:var(--muted);background:var(--panel-2);
  border:1px solid var(--line);padding:10px 0;border-radius:8px;cursor:pointer;}
.nprop.active{color:var(--green-800);background:var(--gold-soft);border-color:#d9c27f;font-weight:700;}

.btn-generate{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;font:700 12px/1 var(--sans);
  letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--green-700);border:none;padding:14px;
  border-radius:10px;cursor:pointer;margin-top:14px;transition:background .15s;}
.btn-generate:hover{background:var(--green-600);}
.btn-generate:disabled{opacity:.5;cursor:not-allowed;}
#ai-hint{font:400 10.5px/1.5 var(--sans);color:var(--muted);margin-top:8px;text-align:center;}

/* catalog / biblioteca de mesas */
.cat-group{font:600 11px/1 var(--sans);color:var(--ink-2);margin-top:16px;}
.cat-grid{display:grid;gap:8px;margin-top:9px;}
.cat-grid.c3{grid-template-columns:1fr 1fr 1fr;}
.cat-grid.c2{grid-template-columns:1fr 1fr;}
.cat-grid.c1{grid-template-columns:1fr;}
.cat-item{font:600 11px/1.3 var(--sans);color:var(--green-700);background:#fff;border:1px solid var(--line);
  padding:11px 8px;border-radius:var(--r);cursor:pointer;text-align:left;transition:border-color .12s,transform .12s;}
.cat-item:hover{border-color:var(--gold);transform:translateY(-2px);}
.cat-item small{display:block;font:400 9px/1 var(--sans);color:var(--muted-2);margin-top:3px;}
.cat-item.gold{color:var(--gold-deep);background:#fbf3dc;border-color:var(--gold-soft);}
.cat-item.dash{border-style:dashed;border-color:#b7b09a;color:var(--ink-2);}
.stock-badge{font-size:.6rem;font-weight:600;margin-top:4px;padding:1px 5px;border-radius:10px;display:block;text-align:center;}

/* ===== CENTER: TOOLBAR ===== */
.pe-toolbar{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;
  padding:11px 20px;background:var(--cream);border-bottom:1px solid var(--line);gap:12px;}
.pe-tb-l{display:flex;align-items:center;gap:16px;min-width:0;}
.tb-evt-k{font:600 9px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);}
#evname{font-family:var(--serif);font-weight:600;font-size:18px;color:var(--green-700);background:transparent;
  border:none;border-bottom:1px dashed transparent;outline:none;width:230px;max-width:34vw;padding:2px 0;}
#evname:focus{border-bottom-color:var(--gold-line);}
#evname::placeholder{color:#b7bcae;}
.tb-stats{display:flex;gap:20px;}
.tb-stat{line-height:1;}
.tb-stat b{font-family:var(--serif);font-weight:600;font-size:25px;color:var(--green-700);}
.tb-stat b.gold{color:var(--gold);}
.tb-stat span{display:block;font:600 9px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:5px;}
.tb-vline{width:1px;height:30px;background:var(--line-2);}
.pe-tb-r{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.zbtn{width:34px;height:34px;font:400 18px/1 var(--sans);color:var(--ink-2);background:#fff;border:1px solid var(--line-2);border-radius:8px;cursor:pointer;}
#zlbl{min-width:48px;text-align:center;font:600 12px/1 var(--sans);color:var(--green-700);}
.tbtn{height:34px;padding:0 13px;font:600 11px/1 var(--sans);letter-spacing:.05em;color:var(--ink-2);background:#fff;border:1px solid var(--line-2);border-radius:8px;cursor:pointer;}
.tbtn.green{color:#fff;background:var(--green-700);border-color:var(--green-700);}

/* viewport + canvas */
.pe-viewport{flex:1;min-height:0;overflow:auto;padding:28px;display:flex;align-items:flex-start;justify-content:center;}
#cwrap{transform-origin:top center;}
#room-canvas{transform-origin:top left;background:var(--panel);border-radius:6px;box-shadow:0 20px 50px rgba(20,48,36,.14);display:block;}
.pe-foot{flex-shrink:0;padding:8px 20px;background:var(--cream);border-top:1px solid var(--line);
  font:400 11px/1.4 var(--sans);color:var(--muted-2);text-align:center;letter-spacing:.02em;}

/* status line (toast) */
#status{min-height:16px;display:inline-flex;align-items:center;gap:8px;justify-content:center;}
#status.ok{color:var(--green-600);}
#status.err{color:var(--danger);}
#status.warn{color:var(--gold-deep);}
#status.loading{color:var(--ink-2);}
.spin{width:12px;height:12px;border:2px solid var(--line-2);border-top-color:var(--green-700);border-radius:50%;animation:pe-spin .7s linear infinite;}
@keyframes pe-spin{to{transform:rotate(360deg);}}

/* ===== RIGHT PANEL ===== */
.right-head{display:flex;align-items:center;justify-content:space-between;}
.link-btn{font:600 10px/1 var(--sans);letter-spacing:.05em;color:var(--green-700);background:transparent;border:none;cursor:pointer;}
#proposal-btns{display:flex;flex-direction:column;gap:9px;margin-top:12px;}
.prop-card{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;cursor:pointer;}
.prop-card:hover{border-color:var(--gold-line);}
.prop-card.active{border:1.5px solid var(--gold);}
.prop-thumb{width:44px;height:34px;flex-shrink:0;border-radius:5px;background:#eef0ec;display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--green-700);}
.prop-meta{flex:1;min-width:0;}
.prop-meta b{font:600 12px/1.2 var(--sans);color:var(--green-700);display:block;}
.prop-meta span{font:400 11px/1 var(--sans);color:var(--muted);margin-top:3px;display:block;}
.prop-badge{font:600 9px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--green-800);background:var(--gold-soft);padding:5px 8px;border-radius:100px;}
.prop-del{font:600 12px/1 var(--sans);color:var(--danger);background:transparent;border:none;cursor:pointer;padding:4px 6px;border-radius:6px;}
.prop-del:hover{background:var(--danger-bg);}
.empty-note{background:var(--panel-2);border:1px dashed #d8cdb6;border-radius:11px;padding:18px;margin-top:12px;text-align:center;font:400 12px/1.6 var(--sans);color:var(--muted);}

/* properties panel */
#tbl-controls{background:#fff;border:1px solid var(--line);border-radius:11px;padding:16px 16px 18px;margin-top:12px;}
.prop-name-row{display:flex;align-items:center;justify-content:space-between;}
#tc-label{font-family:var(--serif);font-size:21px;color:var(--green-700);}
.prop-sub-lbl{font:600 10px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:16px;}
.stepper{display:flex;align-items:center;gap:12px;margin-top:9px;}
.step-btn{width:38px;height:38px;font:400 20px/1 var(--sans);color:var(--green-700);background:var(--panel-2);border:1px solid var(--line-2);border-radius:9px;cursor:pointer;}
#tc-seats{flex:1;text-align:center;font-family:var(--serif);font-size:29px;color:var(--green-700);}
.prop-row{display:flex;gap:9px;margin-top:9px;}
.prop-2btn{flex:1;font:500 13px/1 var(--sans);color:var(--green-700);background:var(--panel-2);border:1px solid var(--line-2);border-radius:9px;padding:11px 0;cursor:pointer;}
.tc-num-input{width:100%;font:500 13px/1 var(--sans);color:var(--green-700);background:var(--panel-2);border:1px solid var(--line-2);border-radius:9px;padding:10px 12px;margin-top:9px;outline:none;}
.btn-del{width:100%;font:600 11px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--danger);
  background:var(--danger-bg);border:1px solid var(--danger-line);border-radius:9px;padding:12px 0;cursor:pointer;margin-top:16px;}

#evnotes{width:100%;min-height:76px;resize:vertical;font:300 13px/1.6 var(--sans);color:#3a463c;background:#fff;
  border:1px solid var(--line);border-radius:10px;padding:12px 13px;margin-top:11px;outline:none;}
#evnotes:focus{border-color:var(--gold-line);}

.file-actions{display:flex;flex-direction:column;gap:9px;margin-top:20px;}
.file-btn{display:flex;align-items:center;gap:9px;font:600 12px/1 var(--sans);color:var(--green-700);background:#fff;
  border:1px solid var(--line-2);border-radius:9px;padding:13px 15px;cursor:pointer;text-align:left;}
.file-btn:hover{border-color:var(--gold-line);}
#send-status{font:400 11px/1.4 var(--sans);color:var(--muted);margin-top:8px;text-align:center;min-height:14px;}

/* ===== PRINT ===== */
@media print{
  @page{size:A3 landscape;margin:10mm;}
  html,body{height:auto!important;background:#fff!important;}
  .pe-top,.pe-left,.pe-right,.pe-toolbar,.pe-foot{display:none!important;}
  .pe-app,.pe-body,.pe-center{display:block!important;height:auto!important;overflow:visible!important;background:#fff!important;}
  .pe-viewport{overflow:visible!important;padding:0!important;}
  #room-canvas{box-shadow:none!important;transform:none!important;}
}
