:root{
  --dark:#102724; --dark-2:#0a1a18; --brown:#5D2713; --brown-light:#7a3520;
  --gold:#D6A354; --gold-soft:#b8884a; --cream:#F1F1D9;
  --cream-dim:rgba(241,241,217,0.6); --cream-faint:rgba(241,241,217,0.35);
  --glass:rgba(241,241,217,0.04); --glass-strong:rgba(241,241,217,0.07);
  --border:rgba(214,163,84,0.18); --border-strong:rgba(214,163,84,0.35);
  --green-ok:#7fb069; --red-no:#c84a4a; --amber:#d4a534;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--dark);color:var(--cream);font-family:'Inter',sans-serif;min-height:100vh}
body{padding:20px;background:radial-gradient(ellipse at top left,rgba(214,163,84,0.04) 0%,transparent 40%),radial-gradient(ellipse at bottom right,rgba(93,39,19,0.15) 0%,transparent 50%),var(--dark)}

/* Lang toggle global */
.lang-bar{display:flex;justify-content:flex-end;max-width:1400px;margin:0 auto 12px;gap:4px}
.lang-btn{background:var(--glass);border:1px solid var(--border);color:var(--cream-dim);padding:6px 14px;font-size:11px;letter-spacing:0.1em;cursor:pointer;border-radius:6px;font-family:'Inter',sans-serif;text-transform:uppercase;transition:all 0.2s}
.lang-btn.active{background:var(--gold);color:var(--dark);font-weight:600;border-color:var(--gold)}
.lang-btn:hover:not(.active){color:var(--cream)}

/* Nav tabs */
.nav-tabs{display:flex;gap:8px;max-width:1400px;margin:0 auto 24px;padding:8px;background:var(--glass);border:1px solid var(--border);border-radius:14px;backdrop-filter:blur(20px)}
.nav-tab{flex:1;background:transparent;border:none;color:var(--cream-dim);padding:14px 20px;font-family:'Vollkorn',serif;font-size:15px;letter-spacing:0.04em;cursor:pointer;border-radius:10px;transition:all 0.3s}
.nav-tab:hover{color:var(--cream)}
.nav-tab.active{background:linear-gradient(135deg,var(--gold) 0%,var(--gold-soft) 100%);color:var(--dark);font-weight:600}
.screen{display:none;max-width:1400px;margin:0 auto}
.screen.active{display:block;animation:fade 0.4s}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.5}}

/* ── LOGIN ── */
.login-wrap{min-height:520px;display:flex;align-items:center;justify-content:center;padding:40px 20px}
.login-card{width:100%;max-width:440px;background:var(--glass-strong);border:1px solid var(--border);border-radius:20px;padding:48px 40px;backdrop-filter:blur(24px);box-shadow:0 24px 60px rgba(0,0,0,0.4)}
.login-brand{text-align:center;margin-bottom:36px}
.login-mark{display:inline-flex;width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--gold) 0%,var(--brown) 100%);align-items:center;justify-content:center;font-family:'Vollkorn',serif;font-size:28px;color:var(--dark);font-weight:700;margin-bottom:18px}
.login-title{font-family:'Vollkorn',serif;font-size:26px;color:var(--cream);margin-bottom:6px}
.login-sub{font-size:13px;color:var(--cream-dim);letter-spacing:0.08em;text-transform:uppercase}
.field{margin-bottom:20px}
.field label{display:block;font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--cream-faint);margin-bottom:8px}
.field input{width:100%;background:transparent;border:none;border-bottom:1px solid var(--border-strong);color:var(--cream);font-size:15px;padding:10px 0;font-family:'Inter',sans-serif;outline:none;transition:border-color 0.3s}
.field input:focus{border-color:var(--gold)}
.btn-primary{width:100%;background:linear-gradient(135deg,var(--gold) 0%,var(--gold-soft) 100%);color:var(--dark);border:none;padding:15px;border-radius:10px;font-family:'Vollkorn',serif;font-size:15px;font-weight:600;letter-spacing:0.06em;cursor:pointer;margin-top:12px;transition:transform 0.2s}
.btn-primary:hover{transform:translateY(-1px)}
.login-foot{text-align:center;margin-top:28px;font-size:11px;color:var(--cream-faint);letter-spacing:0.08em}

/* ── TOPBAR ── */
.topbar{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:var(--glass-strong);border:1px solid var(--border);border-radius:14px;backdrop-filter:blur(20px);margin-bottom:20px}
.topbar-left{display:flex;align-items:center;gap:14px}
.tb-mark{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--brown));display:flex;align-items:center;justify-content:center;font-family:'Vollkorn',serif;font-weight:700;color:var(--dark);font-size:16px}
.tb-title{font-family:'Vollkorn',serif;font-size:18px;color:var(--cream)}
.tb-sep{color:var(--cream-faint);margin:0 8px}
.tb-client{font-size:13px;color:var(--gold);letter-spacing:0.1em;text-transform:uppercase}
.topbar-right{display:flex;align-items:center;gap:14px}
.presence{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--glass);border-radius:20px;border:1px solid var(--border)}
.presence-dot{width:8px;height:8px;border-radius:50%;background:var(--green-ok);box-shadow:0 0 8px var(--green-ok);animation:pulse 2s infinite}
.avatars{display:flex}
.avatar{width:28px;height:28px;border-radius:50%;border:2px solid var(--dark);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:var(--cream);margin-left:-8px}
.avatar:first-child{margin-left:0}
.avatar.av1{background:#5D2713}
.avatar.av2{background:#7a3520}
.avatar.av3{background:var(--gold);color:var(--dark)}
.avatar.av4{background:#3a5c4a}
.user-menu{display:flex;align-items:center;gap:10px;padding:6px 14px 6px 6px;background:var(--glass);border-radius:24px;cursor:pointer;border:1px solid var(--border)}
.user-menu .avatar{margin-left:0;border:none}
.user-name{font-size:13px;color:var(--cream)}

.brand-bar { display: flex; align-items: center; gap: 10px; }
.logo-te { font-family: 'Vollkorn', serif; font-size: 17px; color: var(--cream); letter-spacing: 0.02em; font-weight: 500; }
.logo-x { color: var(--gold); font-size: 16px; font-weight: 300; }
.logo-ah { font-family: 'Vollkorn', serif; font-size: 17px; color: var(--gold); letter-spacing: 0.04em; font-weight: 600; }
/* ── DASHBOARD ── */
.dash-hero{padding:32px;background:var(--glass-strong);border:1px solid var(--border);border-radius:18px;margin-bottom:20px;backdrop-filter:blur(20px)}
.dash-greeting{font-family:'Vollkorn',serif;font-size:28px;color:var(--cream);margin-bottom:6px}
.dash-greeting em{color:var(--gold);font-style:italic}
.dash-sub{color:var(--cream-dim);font-size:14px;letter-spacing:0.04em}

.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:28px}
.action-card{background:var(--glass-strong);border:1px solid var(--border);border-radius:16px;padding:28px;cursor:pointer;transition:all 0.3s;backdrop-filter:blur(20px);position:relative;overflow:hidden}
.action-card:hover{border-color:var(--gold);transform:translateY(-2px)}
.action-card::before{content:'';position:absolute;top:0;right:0;width:120px;height:120px;background:radial-gradient(circle,rgba(214,163,84,0.08) 0%,transparent 70%);pointer-events:none}
.action-icon{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,rgba(214,163,84,0.15),rgba(93,39,19,0.15));display:flex;align-items:center;justify-content:center;margin-bottom:18px;border:1px solid var(--border)}
.action-icon svg{width:24px;height:24px;stroke:var(--gold);fill:none;stroke-width:1.5}
.action-title{font-family:'Vollkorn',serif;font-size:20px;color:var(--cream);margin-bottom:6px}
.action-desc{font-size:13px;color:var(--cream-dim);line-height:1.6}
.admin-badge{position:absolute;top:18px;right:18px;background:rgba(214,163,84,0.15);color:var(--gold);font-size:10px;letter-spacing:0.12em;padding:4px 10px;border-radius:12px;border:1px solid var(--border-strong);text-transform:uppercase;font-weight:600}

.reports-section{background:var(--glass-strong);border:1px solid var(--border);border-radius:16px;padding:28px;backdrop-filter:blur(20px)}
.section-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.section-title{font-family:'Vollkorn',serif;font-size:18px;color:var(--cream)}
.section-count{font-size:12px;color:var(--cream-faint);letter-spacing:0.1em}
.report-row{display:grid;grid-template-columns:60px 1fr 180px 130px 120px 40px;align-items:center;gap:14px;padding:16px;border-radius:10px;transition:background 0.2s;cursor:pointer;border:1px solid transparent}
.report-row:hover{background:var(--glass);border-color:var(--border)}
.row-num{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--cream-faint)}
.row-title{font-family:'Vollkorn',serif;font-size:15px;color:var(--cream)}
.row-meta{font-size:11px;color:var(--cream-dim);margin-top:3px;letter-spacing:0.04em}
.row-detail{font-size:11px;color:var(--gold);letter-spacing:0.06em;font-family:'JetBrains Mono',monospace}
.row-date{font-size:12px;color:var(--cream-dim);font-family:'JetBrains Mono',monospace}
.status-badge{font-size:10px;letter-spacing:0.1em;padding:5px 10px;border-radius:10px;text-transform:uppercase;font-weight:600;text-align:center}
.status-review{background:rgba(212,165,52,0.15);color:var(--amber);border:1px solid rgba(212,165,52,0.3)}
.status-completed{background:rgba(127,176,105,0.15);color:var(--green-ok);border:1px solid rgba(127,176,105,0.3)}
.row-action{text-align:right;color:var(--gold);font-size:18px}

/* ── REPORT HEADER ── */
.report-header{padding:24px 28px;background:var(--glass-strong);border:1px solid var(--border);border-radius:16px;margin-bottom:18px;backdrop-filter:blur(20px)}
.rh-top{display:flex;justify-content:space-between;align-items:start;margin-bottom:18px;gap:20px}
.rh-title{font-family:'Vollkorn',serif;font-size:26px;color:var(--cream);line-height:1.2;margin-bottom:6px}
.rh-id{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--gold);letter-spacing:0.1em}
.rh-actions{display:flex;gap:8px;align-items:center}
.live-indicator{display:flex;align-items:center;gap:8px;background:rgba(127,176,105,0.1);border:1px solid rgba(127,176,105,0.3);padding:8px 14px;border-radius:20px;font-size:11px;color:var(--green-ok);letter-spacing:0.08em;text-transform:uppercase;font-weight:600}
.btn-export{background:var(--glass);border:1px solid var(--border);color:var(--cream-dim);padding:8px 14px;font-size:11px;letter-spacing:0.08em;cursor:pointer;border-radius:8px;font-family:'Inter',sans-serif;text-transform:uppercase;transition:all 0.2s;display:flex;align-items:center;gap:6px}
.btn-export:hover{color:var(--gold);border-color:var(--border-strong)}
.rh-meta{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;padding-top:18px;border-top:1px solid var(--border)}
.meta-item label{display:block;font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--cream-faint);margin-bottom:6px}
.meta-item .value{font-family:'Vollkorn',serif;font-size:15px;color:var(--cream)}
.meta-item .value.highlight{color:var(--gold)}

/* ── REPORT BODY ── */
.report-body{display:grid;grid-template-columns:220px 1fr;gap:18px;align-items:start}

.report-nav{background:var(--glass-strong);border:1px solid var(--border);border-radius:16px;padding:20px;backdrop-filter:blur(20px);position:sticky;top:20px}
.nav-section-title{font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--cream-faint);margin-bottom:14px}
.nav-item{display:flex;justify-content:space-between;align-items:center;padding:11px 14px;border-radius:8px;cursor:pointer;margin-bottom:4px;font-size:13px;color:var(--cream-dim);transition:all 0.2s;border-left:2px solid transparent}
.nav-item:hover{background:var(--glass);color:var(--cream)}
.nav-item.active{background:rgba(214,163,84,0.1);color:var(--cream);border-left-color:var(--gold)}
.nav-badge{font-size:10px;font-family:'JetBrains Mono',monospace;background:var(--glass);padding:2px 7px;border-radius:8px;color:var(--cream-faint)}
.nav-item.active .nav-badge{background:var(--gold);color:var(--dark)}

.report-main{display:flex;flex-direction:column;gap:16px}

/* ── BUNDLE (acordeão) ── */
.bundle{background:var(--glass-strong);border:1px solid var(--border);border-radius:14px;backdrop-filter:blur(20px);overflow:hidden;transition:border-color 0.3s}
.bundle.expanded{border-color:var(--border-strong)}
.bundle-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;cursor:pointer;background:rgba(0,0,0,0.15);transition:background 0.2s}
.bundle-head:hover{background:rgba(0,0,0,0.25)}
.bundle-id-block{display:flex;align-items:center;gap:14px}
.bundle-num{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,var(--brown),var(--brown-light));color:var(--cream);font-family:'Vollkorn',serif;font-weight:700;font-size:13px;letter-spacing:0.05em;border:1px solid var(--border-strong)}
.bundle-title{font-family:'Vollkorn',serif;font-size:17px;color:var(--cream);margin-bottom:3px}
.bundle-sub{font-size:11px;color:var(--cream-faint);letter-spacing:0.08em;text-transform:uppercase}
.bundle-stats{display:flex;gap:24px;align-items:center}
.bundle-stat{text-align:right}
.bundle-stat label{display:block;font-size:9px;letter-spacing:0.1em;text-transform:uppercase;color:var(--cream-faint);margin-bottom:3px}
.bundle-stat .val{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--cream)}
.bundle-stat .val.gold{color:var(--gold)}
.bundle-stat .val.red{color:var(--red-no)}
.bundle-toggle{color:var(--gold);font-size:20px;transition:transform 0.3s;margin-left:8px}
.bundle.expanded .bundle-toggle{transform:rotate(180deg)}
.bundle-body{display:none;padding:16px 22px 22px;background:rgba(0,0,0,0.08)}
.bundle.expanded .bundle-body{display:block}
.slabs-grid{display:flex;flex-direction:column;gap:12px}

/* ── SLAB CARD ── */
.slab{background:var(--glass);border:1px solid var(--border);border-radius:12px;overflow:hidden}
.slab-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:rgba(0,0,0,0.15);border-bottom:1px solid var(--border)}
.slab-num{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--gold);font-weight:500;letter-spacing:0.06em}
.slab-comments-badge{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--cream-dim);background:var(--glass);padding:4px 10px;border-radius:10px;cursor:pointer;border:1px solid var(--border)}
.slab-comments-badge:hover{color:var(--cream);border-color:var(--border-strong)}
.slab-comments-badge.has-open{color:var(--gold);border-color:var(--border-strong)}
.unread-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 4px var(--gold)}
.slab-body{display:grid;grid-template-columns:200px 1fr;gap:18px;padding:16px}
.slab-gallery{display:flex;flex-direction:column;gap:6px}
.photo-main{width:100%;aspect-ratio:4/3;border-radius:8px;background:linear-gradient(135deg,#3a4a3a,#1f2a26);display:flex;align-items:center;justify-content:center;border:1px solid var(--border);font-size:10px;color:var(--cream-faint);letter-spacing:0.1em;cursor:pointer;position:relative;overflow:hidden;transition:border-color 0.2s}
.photo-main:hover{border-color:var(--gold)}
.photo-main::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 8px,rgba(241,241,217,0.02) 8px,rgba(241,241,217,0.02) 16px)}
.photo-main span{position:relative;z-index:1}
.photo-zoom-hint{position:absolute;top:6px;right:6px;background:rgba(0,0,0,0.5);color:var(--cream);font-size:10px;padding:3px 6px;border-radius:4px;z-index:2;letter-spacing:0.05em}
.photo-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}
.photo-thumb{aspect-ratio:1;border-radius:5px;background:linear-gradient(135deg,#2a3a35,#162520);border:1px solid var(--border);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:9px;color:var(--cream-faint);transition:border-color 0.2s}
.photo-thumb:hover{border-color:var(--gold)}

.slab-info{display:flex;flex-direction:column;gap:0}
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;padding-bottom:12px;border-bottom:1px solid rgba(241,241,217,0.06)}
.info-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.info-label{font-size:10px;color:var(--cream-faint);letter-spacing:0.08em;text-transform:uppercase;white-space:nowrap}
.info-value{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--cream);text-align:right}
.info-value.gold{color:var(--gold);font-weight:500}
.info-value.red{color:var(--red-no);font-weight:500}
.obs-block{padding-top:12px}
.obs-label{font-size:10px;color:var(--cream-faint);letter-spacing:0.08em;text-transform:uppercase;margin-bottom:6px}
.obs-text{font-family:'Vollkorn',serif;font-size:13px;color:var(--cream);line-height:1.5;font-style:italic}

/* Comments thread (within slab) */
.comments-thread{border-top:1px solid var(--border);background:rgba(0,0,0,0.08);display:none}
.slab.thread-open .comments-thread{display:block}
.thread-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--cream-faint);border-bottom:1px solid var(--border)}
.thread-list{display:flex;flex-direction:column;gap:10px;padding:12px 16px}
.thread-comment{padding:10px 12px;background:var(--glass);border-radius:8px;border-left:2px solid var(--border-strong)}
.thread-comment.resolved{opacity:0.55;border-left-color:var(--green-ok)}
.tc-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.tc-author{display:flex;align-items:center;gap:8px}
.tc-author .avatar{width:20px;height:20px;font-size:9px;margin-left:0;border:none}
.tc-name{font-size:12px;color:var(--cream);font-weight:500}
.tc-time{font-size:10px;color:var(--cream-faint);font-family:'JetBrains Mono',monospace}
.tc-text{font-size:12px;color:var(--cream-dim);line-height:1.5}
.tc-status{display:inline-block;font-size:9px;letter-spacing:0.1em;padding:2px 7px;border-radius:6px;text-transform:uppercase;font-weight:600;margin-top:6px}
.tc-status.open{background:rgba(212,165,52,0.15);color:var(--amber)}
.tc-status.resolved{background:rgba(127,176,105,0.15);color:var(--green-ok)}
.tc-status.clickable{cursor:pointer;border:1px solid transparent}
.tc-status.clickable:hover{border-color:var(--border-strong)}
.thread-input{padding:10px 16px 14px;border-top:1px solid var(--border)}
.thread-input textarea{width:100%;background:var(--glass);border:1px solid var(--border);border-radius:6px;color:var(--cream);padding:8px;font-family:'Inter',sans-serif;font-size:12px;resize:none;outline:none;min-height:50px}
.thread-input textarea:focus{border-color:var(--gold)}
.thread-input button{margin-top:6px;background:var(--gold);color:var(--dark);border:none;padding:6px 14px;border-radius:5px;font-size:11px;font-weight:600;cursor:pointer;letter-spacing:0.06em}

.material-tag { display: inline-block; background: var(--glass-strong); color: var(--gold); border: 1px solid var(--border); font-size: 10px; padding: 2px 8px; border-radius: 10px; letter-spacing: 0.1em; text-transform: uppercase; margin-left: 8px; vertical-align: middle; }

/* Inline Comments */
.slab-comments-inline { margin-top: 16px; border-top: 1px solid var(--border); padding-top: 16px; }
.inline-comments-list { display: flex; flex-direction: column; gap: 10px; margin-bottom: 12px; }
.cp-comment { background: var(--glass); padding: 10px 12px; border-radius: 8px; border: 1px solid var(--border); }
.cp-comment.is-reply { margin-left: 24px; background: var(--glass-strong); border-left: 2px solid var(--border-strong); }
.cp-comment-head { display: flex; justify-content: space-between; font-size: 11px; color: var(--cream-dim); margin-bottom: 6px; }
.cp-author { color: var(--cream); font-weight: 600; }
.cp-comment-body { color: var(--cream); font-size: 13px; line-height: 1.4; white-space: pre-wrap; }
.cp-comment-actions { margin-top: 6px; display: flex; gap: 12px; font-size: 12px; }
.cp-comment-actions a { color: var(--cream-dim); cursor: pointer; text-decoration: none; }
.cp-comment-actions a:hover { color: var(--gold); }

.inline-reply-form { display: flex; flex-direction: column; gap: 8px; }
.inline-reply-form textarea { background: var(--dark-2); border: 1px solid var(--border); color: var(--cream); padding: 10px; border-radius: 8px; font-family: inherit; font-size: 13px; resize: vertical; min-height: 50px; outline: none; transition: border-color 0.3s; }
.inline-reply-form textarea:focus { border-color: var(--gold); }
.inline-reply-actions { display: flex; justify-content: flex-end; align-items: center; gap: 10px; }
.btn-cancel { background: transparent; border: none; color: var(--cream-dim); cursor: pointer; font-size: 12px; }
.btn-cancel:hover { color: var(--cream); text-decoration: underline; }

.mask-decimal { font-family: 'JetBrains Mono', monospace; text-align: right; }

/* Slab badge */
.slab-comments-badge { cursor: pointer; padding: 4px 10px; border: 1px solid var(--border); border-radius: 20px; color: var(--cream-faint); font-size: 11px; transition: all 0.2s; user-select: none; }
.slab-comments-badge:hover { border-color: var(--gold); color: var(--gold); }
.slab-comments-badge.has-open { color: var(--gold); border-color: var(--border-strong); }

.slab-delete-btn { 
    background: none; 
    border: 1px solid var(--border); 
    color: var(--cream-dim); 
    cursor: pointer; 
    padding: 4px 8px; 
    border-radius: 6px; 
    font-size: 12px; 
    margin-left: 8px; 
    transition: all 0.2s; 
}
.slab-delete-btn:hover { 
    background: var(--red-no); 
    color: white; 
    border-color: var(--red-no); 
}

.bundle-delete-btn { 
    background: none; 
    border: 1px solid var(--border); 
    color: var(--cream-dim); 
    cursor: pointer; 
    padding: 6px 10px; 
    border-radius: 6px; 
    font-size: 14px; 
    margin-left: 10px; 
    transition: all 0.2s; 
}
.bundle-delete-btn:hover { 
    background: var(--red-no); 
    color: var(--dark); 
    border-color: var(--red-no); 
}

.mode-badge { 
    display: inline-block; 
    background: rgba(214,163,84,0.15); 
    color: var(--gold); 
    border: 1px solid var(--gold); 
    font-size: 10px; 
    padding: 3px 8px; 
    border-radius: 10px; 
    margin-left: 8px; 
    letter-spacing: 0.06em; 
    text-transform: uppercase; 
}
.bundle-edit-btn { background: none; border: 1px solid var(--border); color: var(--cream-dim); cursor: pointer; padding: 6px 10px; border-radius: 6px; font-size: 14px; margin-left: 6px; transition: all 0.2s; }
.bundle-edit-btn:hover { background: var(--gold); color: var(--dark); border-color: var(--gold); }
.bundle-mode-note { padding: 14px; background: rgba(214,163,84,0.08); border: 1px dashed var(--gold); border-radius: 8px; margin-top: 16px; color: var(--cream); font-size: 13px; text-align: center; }

/* ── TOTALS FOOTER ── */
.totals-footer { 
    background: var(--glass-strong); 
    border: 1px solid var(--border); 
    border-radius: 12px; 
    padding: 24px 28px; 
    margin-top: 20px; 
}
.tf-title { 
    font-family: 'Vollkorn', serif; 
    color: var(--gold); 
    font-size: 18px; 
    letter-spacing: 0.05em; 
    text-align: center; 
    margin-bottom: 18px; 
    text-transform: uppercase; 
}
.tf-grid { 
    display: grid; 
    grid-template-columns: repeat(4, 1fr); 
    gap: 16px; 
}
.tf-item { 
    background: var(--glass); 
    padding: 14px 16px; 
    border-radius: 8px; 
    border: 1px solid var(--border); 
    display: flex; 
    flex-direction: column; 
    gap: 6px; 
}
.tf-item label { 
    color: var(--cream-dim); 
    font-size: 10px; 
    letter-spacing: 0.08em; 
    text-transform: uppercase; 
}
.tf-item .value { 
    color: var(--cream); 
    font-size: 18px; 
    font-weight: 600; 
    font-family: 'JetBrains Mono', monospace; 
}
.tf-item .value.gold { color: var(--gold); }
.tf-item.highlight { 
    background: rgba(214, 163, 84, 0.08); 
    border-color: var(--gold); 
}
.tf-item.highlight .value { color: var(--gold); }
.tf-divider { 
    height: 1px; 
    background: var(--border); 
    margin: 18px 0; 
}

/* Responsive */
@media (max-width:1100px){
  .report-body{grid-template-columns:1fr}
  .report-nav{position:relative;max-height:none}
  .rh-meta{grid-template-columns:repeat(2,1fr)}
  .slab-body{grid-template-columns:1fr}
  .bundle-stats{flex-wrap:wrap;gap:12px}
  .tf-grid{grid-template-columns:repeat(2,1fr)}
}

.note{max-width:1400px;margin:24px auto 0;padding:18px 22px;background:rgba(214,163,84,0.06);border-left:3px solid var(--gold);border-radius:8px;font-size:13px;color:var(--cream-dim);line-height:1.7}
.note strong{color:var(--gold)}
.note ul{margin-top:8px;padding-left:20px}
.note li{margin-bottom:4px}

.btn-delete-report {
    background: transparent;
    border: 1px solid var(--red-no);
    color: var(--red-no);
    padding: 8px 14px;
    border-radius: 8px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.2s;
}
.btn-delete-report:hover {
    background: var(--red-no);
    color: white;
}

/* ── PHOTOS (Fase 2.5 — restauradas) ── */
.photo-main img, .photo-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.photo-main:has(img), .photo-thumb:has(img) { background: none; }
.photo-main:has(img)::before, .photo-thumb:has(img)::before { display: none; }
.photo-empty { opacity: 0.4; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,0.2); }
.photo-empty span { font-size: 11px; letter-spacing: 0.05em; color: var(--cream-dim); text-transform: uppercase; }
.photo-main, .photo-thumb { position: relative; overflow: hidden; }
.photo-delete-btn { position: absolute; top: 4px; right: 4px; width: 24px; height: 24px; background: rgba(0,0,0,0.65); color: white; border: 1px solid rgba(255,255,255,0.2); border-radius: 50%; cursor: pointer; font-size: 12px; display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity 0.2s; z-index: 5; }
.photo-main:hover .photo-delete-btn, .photo-thumb:hover .photo-delete-btn { opacity: 1; }
.photo-delete-btn:hover { background: var(--red-no); border-color: var(--red-no); }
.photo-upload-form { display: flex; gap: 6px; margin-top: 8px; flex-wrap: wrap; }
.btn-upload { background: var(--glass-strong); border: 1px solid var(--border); color: var(--cream); padding: 4px 8px; border-radius: 6px; font-size: 10px; font-weight: 500; cursor: pointer; transition: all 0.2s; display: flex; align-items: center; gap: 6px; }
.btn-upload:hover { background: rgba(255,255,255,0.1); border-color: var(--cream-dim); }

/* ── LIGHTBOX (restaurado) ── */
.lightbox { position: fixed; inset: 0; background: rgba(8,18,16,0.96); display: none; align-items: center; justify-content: center; z-index: 1000; backdrop-filter: blur(8px); }
.lightbox.active { display: flex; }
.lb-content { max-width: 90vw; max-height: 90vh; position: relative; display: flex; align-items: center; justify-content: center; }
.lb-image { width: 80vw; height: 70vh; background: linear-gradient(135deg,#3a4a3a,#1f2a26); border-radius: 12px; display: flex; align-items: center; justify-content: center; color: var(--cream); font-family: 'Vollkorn',serif; font-size: 24px; letter-spacing: 0.04em; border: 1px solid var(--border); }
.lb-close { position: absolute; top: 24px; right: 24px; width: 40px; height: 40px; background: rgba(0,0,0,0.6); color: white; border: 1px solid rgba(255,255,255,0.3); border-radius: 50%; cursor: pointer; font-size: 18px; z-index: 1010; }
.lb-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 50px; height: 50px; background: rgba(0,0,0,0.6); color: white; border: 1px solid rgba(255,255,255,0.3); border-radius: 50%; cursor: pointer; font-size: 28px; z-index: 1010; display: flex; align-items: center; justify-content: center; }
.lb-prev { left: 30px; }
.lb-next { right: 30px; }
.lb-counter { position: absolute; bottom: 30px; left: 50%; transform: translateX(-50%); background: rgba(0,0,0,0.6); color: var(--cream); padding: 8px 18px; border-radius: 20px; font-family: 'JetBrains Mono', monospace; font-size: 12px; z-index: 1010; }

/* ── INFO ROW (correção visual do "m²") ── */
.info-row .info-value { display: inline-flex; align-items: baseline; gap: 4px; }
