:root{--bg:#071522;--panel:#0d2033;--panel2:#10283f;--line:#20384e;--muted:#9fb0c0;--text:#f7fafc;--orange:#ff9825;--orange2:#ffb24d;--red:#ff5b64;--green:#39d98a;--shadow:0 18px 50px rgba(0,0,0,.28);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{min-height:100vh;background-image:linear-gradient(rgba(29,57,82,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(29,57,82,.18) 1px,transparent 1px);background-size:70px 70px}.topbar{height:76px;display:flex;align-items:center;padding:0 30px;border-bottom:1px solid #11293c;background:rgba(7,21,34,.95);backdrop-filter:blur(14px);position:sticky;top:0;z-index:30}.logo{font-size:24px;font-weight:900;letter-spacing:2px}.logo b{color:var(--orange)}.logo span{font-size:13px;letter-spacing:1.3px;color:#8ea4b7;margin-left:8px}.topbar nav{margin-left:auto;display:flex;align-items:center;gap:8px}.topbar nav button{border:1px solid transparent;background:transparent;color:#91a5b6;padding:10px 13px;border-radius:9px;font-weight:800;font-size:12px}.topbar nav button:hover,.topbar nav button.active{background:#0d2235;border-color:#284257;color:#fff}.topbar nav button.active{box-shadow:inset 0 -2px var(--orange)}.topbar nav .logout{color:#ffafb4}.container{max-width:1500px;margin:auto;padding:32px}.hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}.hero h1{font-size:32px;margin:0 0 7px}.hero p,.section-head p{margin:0;color:var(--muted)}.hero-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.btn{border:1px solid var(--line);background:#0b1b2a;color:#eaf2f8;border-radius:10px;padding:11px 15px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;transition:.16s}.btn:hover{transform:translateY(-1px);border-color:#3c5b74}.btn.primary{background:var(--orange);color:#071522;border-color:var(--orange);box-shadow:0 8px 25px rgba(255,152,37,.2)}.btn.danger{color:#ffb5ba;border-color:#73333a}.btn.small{padding:7px 10px;border-radius:8px;font-size:11px}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.api-chip{border:1px solid #435366;background:#0a1928;color:#aab9c7;border-radius:99px;padding:9px 12px;font-size:12px;font-weight:800}.api-chip.ok{border-color:#285d49;color:#7ce5b3;background:#0d2c22}.storage-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:15px 17px;margin-bottom:26px;box-shadow:var(--shadow)}.storage-card>div:first-child{display:flex;justify-content:space-between;gap:15px;font-size:13px}.storage-card span{color:var(--muted)}.progress{height:7px;background:#132a3e;border-radius:10px;overflow:hidden;margin-top:10px}.progress i{display:block;height:100%;background:var(--orange)}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin:0 0 16px}.section-head h2{margin:0 0 4px}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.image-card{border:1px solid var(--line);background:var(--panel);border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}.image-thumb{height:168px;background:#050c13}.image-thumb img{width:100%;height:100%;object-fit:cover;display:block}.image-info{padding:13px}.badge{display:inline-block;padding:4px 8px;border-radius:20px;font-size:10px;font-weight:900;background:#163148;color:#a9c6dc;margin-bottom:7px}.badge.render{background:#4b3816;color:#ffdb93}.badge.ok{background:#153b2d;color:#7ce5b3}.badge.off{background:#44232a;color:#ff9da5}.filename{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.image-info small{color:#758a9e;font-size:11px}.used-preset{margin-top:9px;padding:8px 9px;border-radius:8px;background:#081827;border:1px solid #1f3a51;font-size:11px;color:#9fb0c0}.used-preset b{color:#f4f7fb}.actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:11px}.auth-page{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr}.auth-brand{padding:8vw;display:flex;flex-direction:column;justify-content:center;background-image:linear-gradient(rgba(31,66,96,.25) 1px,transparent 1px),linear-gradient(90deg,rgba(31,66,96,.25) 1px,transparent 1px);background-size:70px 70px}.auth-brand .logo{font-size:45px}.auth-brand h1{font-size:52px;line-height:1.03;margin:32px 0 18px;max-width:760px}.auth-brand h1 span{color:var(--orange)}.auth-brand p{color:#a9bbca;font-size:18px;max-width:650px;line-height:1.6}.auth-box-wrap{display:grid;place-items:center;padding:40px;background:#08192a}.auth-box{width:min(440px,100%);background:var(--panel);border:1px solid var(--line);padding:34px;border-radius:20px;box-shadow:var(--shadow)}.auth-box h2{margin:7px 0}.auth-box>p{color:var(--muted);margin:0 0 23px}.auth-box .btn{width:100%;margin-top:10px}.mini-title{font-size:10px;font-weight:900;letter-spacing:1.7px;color:var(--orange)}.field{display:flex;flex-direction:column;gap:7px;margin:13px 0}.field label{font-size:12px;color:#b8c6d3;font-weight:700}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.input,.select,.textarea{width:100%;background:#081827;border:1px solid #294157;color:#fff;border-radius:10px;padding:12px 13px;outline:none}.input:focus,.select:focus,.textarea:focus{border-color:var(--orange)}.textarea{min-height:190px;resize:vertical;line-height:1.5}.muted{color:var(--muted)}.modal-back{position:fixed;inset:0;background:rgba(0,0,0,.68);display:grid;place-items:center;z-index:100;padding:20px}.modal{width:min(560px,100%);max-height:90vh;overflow:auto;background:#0c2032;border:1px solid #2c465d;border-radius:18px;box-shadow:0 30px 90px #000;padding:25px}.modal.wide{width:min(760px,100%)}.modal h2{margin-top:0}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.preset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0}.preset-choice{display:flex;align-items:center;gap:10px;min-height:58px;text-align:left;border:1px solid #294157;background:#081827;color:#fff;border-radius:11px;padding:12px 13px}.preset-choice:hover{border-color:#4c6579}.preset-choice.selected{border-color:var(--orange);box-shadow:0 0 0 1px var(--orange) inset;background:#122438}.preset-dot{width:11px;height:11px;border:2px solid #668096;border-radius:50%;flex:none}.preset-choice.selected .preset-dot{border-color:var(--orange);background:var(--orange)}.notice{padding:18px;border:1px dashed #38546a;border-radius:11px;color:#95a8ba;background:#091a29;margin:18px 0}.toast{position:fixed;right:25px;bottom:25px;z-index:200;background:#102a3f;border:1px solid #355269;color:#fff;padding:13px 17px;border-radius:10px;box-shadow:var(--shadow);opacity:0;transform:translateY(15px);pointer-events:none;transition:.25s;max-width:420px}.toast.show{opacity:1;transform:none}.toast.err{border-color:#8a3e45}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px}.stat b{font-size:26px;display:block;margin-top:3px}.stat span{font-size:12px;color:#8ca0b3}.tablewrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse;min-width:820px}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid #1d3549;font-size:13px}th{color:#90a5b6;background:#0a1a29;position:sticky;top:0}td small{color:#758a9e}.admin-preset-list{display:grid;gap:12px}.admin-preset-card{display:grid;grid-template-columns:55px 1fr auto;align-items:start;gap:15px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:var(--shadow)}.admin-preset-card.disabled{opacity:.68}.preset-order{width:45px;height:45px;display:grid;place-items:center;border-radius:10px;background:#081827;border:1px solid #294157;color:var(--orange);font-weight:900}.preset-main h3{margin:0}.preset-title-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.preset-main p{margin:8px 0 0;color:#aab9c6;line-height:1.5;font-size:12px;white-space:pre-wrap}.preset-actions{display:flex;gap:7px}.empty-state{grid-column:1/-1;text-align:center;padding:70px 20px;border:1px dashed #304a60;border-radius:15px;background:rgba(9,26,41,.72);color:var(--muted)}.empty-state h2{color:#fff;margin-bottom:5px}.empty-icon{font-size:40px;color:#49657b;margin-bottom:7px}@media(max-width:900px){.auth-page{grid-template-columns:1fr}.auth-brand{display:none}.topbar{height:auto;min-height:70px;padding:14px 18px;align-items:flex-start;gap:12px}.topbar nav{flex-wrap:wrap;justify-content:flex-end}.logo span{display:none}.container{padding:22px}.hero,.section-head{align-items:flex-start;flex-direction:column}.stats{grid-template-columns:1fr 1fr}.admin-preset-card{grid-template-columns:45px 1fr}.preset-actions{grid-column:2}.preset-grid{grid-template-columns:1fr}}@media(max-width:560px){.topbar{display:block}.topbar nav{margin-top:12px;justify-content:flex-start}.container{padding:16px}.stats{grid-template-columns:1fr}.field-row{grid-template-columns:1fr}.gallery{grid-template-columns:1fr}.hero h1{font-size:27px}}

/* Base V1.2 — acesso, recuperação de senha e segurança */
.auth-links{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:17px;color:#8fa5b8;font-size:12px}.auth-links.single{justify-content:center}.link-btn{appearance:none;border:0;background:transparent;color:#a8bed0;padding:0;font-weight:800;text-decoration:none;cursor:pointer}.link-btn:hover{color:#fff;text-decoration:underline}.link-btn.strong{color:var(--orange)}.link-btn.strong:hover{color:var(--orange2)}
.captcha-wrap{width:100%;min-height:68px;margin:14px 0 2px;display:flex;align-items:center;justify-content:center;overflow:hidden}.captcha-wrap>div{max-width:100%}.captcha-error{width:100%;padding:11px 12px;border:1px dashed #7e3c43;background:#2a1820;color:#ffadb4;border-radius:9px;font-size:12px;text-align:center}.modal-captcha{justify-content:flex-start;margin-top:17px}
.security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.security-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:var(--shadow)}.security-card.full{grid-column:1/-1}.security-card h2{margin:0}.security-card>p{margin:9px 0 18px;color:var(--muted);line-height:1.55}.security-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.config-row{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:center;gap:12px;padding:10px 0;border-top:1px solid #1c354a;font-size:12px}.config-row span{color:#8fa5b8}.config-row code{min-width:0;overflow-wrap:anywhere;color:#eef6fb;background:#081827;border:1px solid #233d53;border-radius:8px;padding:8px 10px}.security-card .btn{margin-top:16px}.security-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.security-list>div{background:#081827;border:1px solid #213b51;border-radius:12px;padding:14px}.security-list b{display:block;margin-bottom:6px}.security-list span{color:#91a6b8;font-size:12px;line-height:1.5}
@media(max-width:900px){.security-grid{grid-template-columns:1fr}.security-card.full{grid-column:auto}.security-list{grid-template-columns:1fr}.auth-links{align-items:flex-start;flex-direction:column}.captcha-wrap{justify-content:flex-start}}


/* V1.3 — compatibilidade SketchUp, render composto e loading */
.plugin-security-note{margin:13px 0 2px;padding:10px 12px;border:1px solid #294157;border-radius:10px;background:#081827;color:#91a6b8;font-size:11px;line-height:1.45}.plugin-security-note:before{content:'✓ ';color:var(--green);font-weight:900}
.textarea.compact{min-height:112px}.safe-note{margin-top:13px;padding:11px 12px;border-radius:10px;background:#0a1928;border:1px solid #254159;color:#91a6b8;font-size:11px;line-height:1.5}.safe-note b{color:#fff}
.render-loading-back{position:fixed;inset:0;z-index:500;background:rgba(3,10,16,.86);backdrop-filter:blur(8px);display:grid;place-items:center;padding:24px}.render-loading{width:min(520px,100%);text-align:center;background:#0c2032;border:1px solid #31506a;border-radius:20px;padding:34px;box-shadow:0 35px 100px rgba(0,0,0,.55)}.render-loading h2{margin:9px 0 9px;font-size:25px}.render-loading p{color:#a8bac9;line-height:1.55;margin:0 auto 20px;max-width:440px}.render-loading small{display:block;color:#7890a3;margin-top:12px}.render-status{font-size:12px;color:#93a8b9;line-height:1.5;margin-top:14px}.render-orbit{width:76px;height:76px;margin:0 auto 18px;position:relative}.render-orbit:before{content:'';position:absolute;inset:17px;border-radius:50%;background:var(--orange);box-shadow:0 0 28px rgba(255,152,37,.35)}.render-orbit i{position:absolute;inset:0;border:2px solid transparent;border-top-color:var(--orange);border-radius:50%;animation:arqspin 1.25s linear infinite}.render-orbit i:nth-child(2){inset:8px;border-top-color:#6a8aa3;animation-duration:1.8s;animation-direction:reverse}.render-orbit i:nth-child(3){inset:25px;border-top-color:#fff;animation-duration:.8s}.indeterminate{height:7px;background:#132a3e;border-radius:99px;overflow:hidden;position:relative}.indeterminate i{position:absolute;top:0;bottom:0;width:42%;left:-45%;background:linear-gradient(90deg,transparent,var(--orange),transparent);animation:arqbar 1.2s ease-in-out infinite}.new-render{animation:newrender 1.5s ease}.render-loading-back.success{opacity:0;transition:.35s}@keyframes arqspin{to{transform:rotate(360deg)}}@keyframes arqbar{0%{left:-45%}100%{left:105%}}@keyframes newrender{0%{box-shadow:0 0 0 0 rgba(255,152,37,.9)}50%{box-shadow:0 0 0 4px rgba(255,152,37,.65)}100%{box-shadow:var(--shadow)}}

/* V1.4 — galeria, prompts hierárquicos, edição, vídeo e layout compacto */
.btn.full{width:100%}
.modal-back{cursor:default}.modal.xwide{width:min(1180px,calc(100vw - 40px));padding:0;overflow:hidden}.modal.generation-modal{max-height:92vh}.modal.prompt-editor-modal{overflow:hidden;display:flex;flex-direction:column;max-height:90vh}.modal.prompt-editor-modal .prompt-editor-field{min-height:0;flex:1}.prompt-editor{height:42vh;min-height:260px;max-height:55vh;overflow:auto;resize:none}.prompt-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.prompt-modal-head h2{margin:6px 0 0}

.user-hero{align-items:center}.sketchup-tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 16px}.tool-btn{min-height:62px;border:1px solid var(--line);background:var(--panel);color:#dbe7f0;border-radius:13px;padding:10px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px;font-weight:900}.tool-btn span{font-size:20px;color:var(--orange)}.tool-btn:hover{border-color:#4a6277;background:#10283f}.tool-btn.primary{background:#162a3c;border-color:#75511f}

.gallery-head{margin-bottom:10px}.gallery-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) 180px 180px;gap:10px;margin-bottom:15px}.searchbox{position:relative}.searchbox span{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#7990a4;font-size:17px}.searchbox .input{padding-left:38px}.gallery{grid-template-columns:repeat(auto-fill,minmax(238px,1fr))}.image-card{position:relative}.image-thumb{height:164px;position:relative}.image-thumb video{width:100%;height:100%;object-fit:cover;display:block;background:#050c13}.playmark{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(7,21,34,.82);border:1px solid #436078;color:#fff;padding-left:3px}.card-title-row{display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:8px;align-items:start}.card-title-row>div{min-width:0}.hamburger{width:32px;height:32px;padding:0;border-radius:8px;border:1px solid #294157;background:#081827;color:#a9bdcd;font-size:15px;line-height:1}.hamburger:hover{color:#fff;border-color:#557087}.badge.edit{background:#203856;color:#9fd0ff}.badge.video{background:#34244c;color:#d9b4ff}.primary-actions{gap:5px}.primary-actions .btn{font-size:10px;padding:7px 8px}.card-menu{position:absolute;right:12px;bottom:48px;z-index:8;width:165px;background:#061522;border:1px solid #365169;border-radius:10px;box-shadow:0 18px 45px rgba(0,0,0,.5);padding:6px}.card-menu button{display:block;width:100%;text-align:left;border:0;background:transparent;color:#dce7f0;padding:9px 10px;border-radius:7px;font-size:11px;font-weight:800}.card-menu button:hover{background:#10283f}.card-menu .danger-text{color:#ff8f98}

.generation-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);min-height:620px}.generation-preview{background:#061522;padding:24px;border-right:1px solid #294157;display:flex;flex-direction:column;gap:12px;min-width:0}.generation-preview .preview-label{font-size:10px;letter-spacing:1.5px;font-weight:900;color:var(--orange)}.preview-frame{flex:1;min-height:430px;background:#02070b;border:1px solid #20384e;border-radius:13px;overflow:hidden;display:grid;place-items:center}.preview-frame img,.preview-frame video{width:100%;height:100%;max-height:66vh;object-fit:contain}.generation-preview>b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#aebfcd}.generation-controls{padding:25px;max-height:92vh;overflow:auto}.generation-controls h2{margin:0 0 5px}.generation-section{margin-top:18px}.generation-section>label{display:block;font-size:12px;font-weight:800;color:#bdcbd6;margin-bottom:8px}.optional{font-weight:500;color:#71889b}.compact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0}.compact-grid .preset-choice{min-height:45px;padding:9px 10px;font-size:12px}.model-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px}.model-btn{border:1px solid #294157;background:#081827;color:#fff;border-radius:11px;padding:11px;text-align:left;display:flex;flex-direction:column;gap:3px}.model-btn small{color:#7890a3}.model-btn.selected{border-color:var(--orange);box-shadow:inset 0 0 0 1px var(--orange);background:#122438}.sticky-actions{position:sticky;bottom:-25px;background:linear-gradient(transparent,#0c2032 18%);padding-top:28px;padding-bottom:2px}

.prompt-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.prompt-tabs button{border:1px solid var(--line);background:#0a1b2a;color:#91a6b8;border-radius:10px;padding:11px 15px;font-size:11px;font-weight:900}.prompt-tabs button.active{background:#10283f;color:#fff;border-color:#815923;box-shadow:inset 0 -2px var(--orange)}.prompt-section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:12px}.prompt-section-head h2{margin:0 0 5px}.prompt-section-head p{margin:0;color:var(--muted)}.compact-prompt-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:11px}.prompt-card{width:100%;display:grid;grid-template-columns:44px minmax(0,1fr) 20px;gap:12px;align-items:center;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:12px;color:#fff;box-shadow:var(--shadow)}.prompt-card:hover{border-color:#4d687f;transform:translateY(-1px)}.prompt-card.disabled{opacity:.55}.prompt-card .preset-order{width:40px;height:40px}.prompt-card-main{min-width:0;display:flex;flex-direction:column;gap:4px}.prompt-card-main b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prompt-card-main small{color:#7f95a7;font-size:10px}.prompt-card .chev{font-size:25px;color:#688197}

.danger-note{border:1px solid #71363d;background:#2b181d;color:#ffb2b8;border-radius:10px;padding:12px;margin-top:15px}.security-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.security-card{min-height:0}

@media(max-width:1050px){.generation-layout{grid-template-columns:1fr}.generation-preview{border-right:0;border-bottom:1px solid #294157}.preview-frame{min-height:300px}.generation-controls{max-height:none}.modal.generation-modal{overflow:auto}.gallery-toolbar{grid-template-columns:1fr 150px 150px}.sketchup-tools{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.container{padding:16px}.topbar{padding:12px 14px}.topbar .logo{font-size:19px}.topbar nav{gap:3px}.topbar nav button{padding:8px 7px;font-size:10px}.hero{margin-bottom:15px}.hero h1{font-size:25px}.gallery-toolbar{grid-template-columns:1fr 1fr}.gallery-toolbar .searchbox{grid-column:1/-1}.gallery{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}.sketchup-tools{gap:7px}.tool-btn{min-height:54px}.modal-back{padding:9px}.modal.xwide{width:100%;max-height:96vh}.generation-preview{padding:14px}.generation-controls{padding:17px}.compact-grid{grid-template-columns:1fr}.model-switch{grid-template-columns:1fr 1fr}.preview-frame{min-height:260px}.compact-prompt-list{grid-template-columns:1fr}.security-grid{grid-template-columns:1fr}}
@media(max-width:500px){.gallery-toolbar{grid-template-columns:1fr}.gallery-toolbar .searchbox{grid-column:auto}.gallery{grid-template-columns:1fr}.model-switch{grid-template-columns:1fr}.sketchup-tools{grid-template-columns:1fr 1fr}.primary-actions .btn{flex:1}.generation-preview{display:none}.prompt-editor{height:48vh;min-height:220px}}

/* O painel padrão do SketchUp é intencionalmente estreito, mas continua 100% responsivo. */
@media(min-width:501px) and (max-width:760px){.user-hero{align-items:flex-start}.hero-actions{width:100%}.hero-actions .btn{flex:1}.storage-card{margin-bottom:18px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.image-thumb{height:140px}}
