
:root{font-family:'DM Sans',sans-serif;color:#1c2740;background:#f5f7fb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,select{font:inherit}button{cursor:pointer}.layout{display:flex;min-height:100vh}.sidebar{width:255px;flex-shrink:0;background:#101d36;color:#a7b6d0;padding:28px 17px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;padding:0 11px 40px;color:white}.brand-icon{background:#4269ed;border-radius:13px;width:42px;height:42px;display:grid;place-items:center;font-size:28px}.brand strong{font-size:21px;letter-spacing:-1px}.brand strong span{color:#82a0ff}.brand small{display:block;font-size:9px;letter-spacing:2.3px;color:#788aa9;margin-top:3px}.nav-title{font-size:10px;letter-spacing:2px;color:#637793;padding:0 13px 14px}.nav{display:flex;gap:14px;padding:14px;border-radius:10px;text-decoration:none;color:#a9b8d1;font-size:13px;margin:3px 0}.nav.active,.nav:hover{background:#26385a;color:#fff}.side-bottom{margin-top:auto;border-top:1px solid #283650;padding:24px 10px 4px;font-size:12px;color:#e4eaf5}.side-bottom small{display:block;margin:7px 0 0 13px;color:#8294b3}.online-dot{display:inline-block;width:8px;height:8px;background:#35d49c;border-radius:50%;margin-right:5px}.main{min-width:0;flex:1}.topbar{height:76px;background:#fff;border-bottom:1px solid #e9edf4;display:flex;align-items:center;justify-content:space-between;padding:0 42px}.breadcrumbs{font-size:13px;color:#9ca9ba}.breadcrumbs span{margin:0 12px;color:#cbd4e2}.breadcrumbs b{color:#26344d}.top-right{display:flex;align-items:center;gap:20px}.pill{font-size:11px;background:#eaf9f1;color:#21946c;border-radius:30px;padding:9px 13px}.avatar{width:36px;height:36px;background:#e9eeff;color:#4566cd;border-radius:11px;display:grid;place-items:center;font-size:12px;font-weight:800}.content{max-width:1440px;margin:auto;padding:42px}.heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.eyebrow,.section-kicker{font-size:10px;font-weight:800;letter-spacing:2px;color:#5a77db}.heading h1{font-size:31px;letter-spacing:-1.3px;margin:9px 0}.heading h1 span{color:#6c86e6}.heading p,.panel-heading p{font-size:13px;color:#8a97ac;margin:6px 0}.version{font-size:11px;color:#9ca8ba}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.stat,.panel{background:white;border:1px solid #e8edf4;border-radius:15px;box-shadow:0 4px 20px #1a2b4805}.stat{padding:22px}.stat-top{display:flex;justify-content:space-between;align-items:center;color:#7f8da4;font-size:12px}.stat-icon{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;font-size:18px}.blue{background:#e9f0ff;color:#5678e5}.purple{background:#f1ecff;color:#9467e3}.amber{background:#fff4df;color:#d69b39}.green{background:#e4f9f0;color:#26a87c}.cyan{background:#e3f7fa;color:#2da9ba}.orange{background:#fff0e5;color:#e99b56}.pink{background:#ffeaf4;color:#db73a4}.indigo{background:#e8edff;color:#5874df}.stat-number{font-size:29px;font-weight:800;margin:13px 0 5px;letter-spacing:-1px}.stat-sub{font-size:11px;color:#a1acbc}.panel{margin-bottom:23px;padding:27px}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.panel-heading h2{font-size:19px;margin:8px 0;letter-spacing:-.5px}.tag{background:#edf2ff;color:#5e78d9;border-radius:30px;font-size:10px;font-weight:700;padding:8px 12px}.selectors{display:grid;grid-template-columns:1fr 42px 1fr;align-items:center;gap:17px}.field label{font-size:10px;font-weight:800;letter-spacing:1.1px;color:#73839b}.field select{appearance:none;width:100%;background:#f9fbff;border:1px solid #e2e8f2;border-radius:9px;padding:15px 36px 15px 15px;color:#32415d;margin:10px 0;font-size:12px}.select-wrap{position:relative}.select-wrap:after{content:'⌄';position:absolute;right:16px;top:19px;color:#71829c;pointer-events:none}.field small{font-size:11px;color:#9aa8b9}.swap{border:1px solid #e6ebf4;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;color:#6480d5;margin-top:12px}.selection-status{background:#f3f6fc;border-radius:9px;color:#7c8ba3;font-size:12px;margin-top:25px;padding:13px 16px}.progress-ring-text{text-align:right}.progress-ring-text strong{display:block;font-size:15px}.progress-ring-text small{color:#9da8b8;font-size:10px}.progress-track{height:6px;background:#eef1f7;border-radius:12px;overflow:hidden;margin-bottom:24px}.progress-track div{height:100%;background:#5577e5;width:0;transition:width .4s}.step-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.step{border:1px solid #e9edf5;border-radius:12px;padding:16px;display:flex;align-items:center;gap:13px;min-width:0;flex-wrap:wrap}.step-icon{width:43px;height:43px;border-radius:12px;display:grid;place-items:center;font-size:21px;flex-shrink:0}.step-text{flex:1;min-width:150px}.step h3{font-size:13px;margin:0 0 5px}.step p{font-size:10px;line-height:1.6;color:#94a0b3;margin:0}.step-status{font-size:10px;color:#9ba8ba}.step button,.primary{background:#4f70e0;color:#fff;border:0;border-radius:8px;padding:10px 13px;font-size:11px;font-weight:700}.step button:disabled{background:#edf1f8;color:#9aa7bd;cursor:not-allowed}.step.success{border-color:#bcebd7}.step.success .step-status{color:#1f9e70}.step.failed{border-color:#f4c5c5}.step.failed .step-status{color:#d65d5d}.step.running .step-status{color:#5678e5}.secondary{border:1px solid #e2e8f2;background:#fff;color:#677a99;border-radius:8px;padding:10px 14px;font-size:11px}.activity #log{max-height:330px;overflow:auto}.empty-log{padding:22px;text-align:center;color:#a1adbd;font-size:12px;background:#f8faff;border-radius:9px}.log-item{padding:12px 5px;border-bottom:1px solid #f0f2f7;font-size:12px;display:flex;gap:12px}.log-item time{color:#9aa6b9}.log-item.error{color:#d55353}.log-item.ok{color:#21956c}footer{text-align:center;color:#a2acbb;font-size:11px;padding:10px 0 30px}.notice{padding:15px;border-radius:10px;margin-bottom:20px}.notice.error{background:#fff0f0;color:#b64040}.modal-backdrop{position:fixed;inset:0;background:#0b1937a8;display:grid;place-items:center;padding:20px;z-index:20}.modal-backdrop[hidden]{display:none}.modal{background:#fff;border-radius:18px;padding:30px;max-width:450px;width:100%;box-shadow:0 20px 60px #07152c55}.modal-icon{background:#fff3df;color:#c68b30;border-radius:12px;width:45px;height:45px;display:grid;place-items:center;font-size:23px;font-weight:800}.modal h2{font-size:21px}.modal p{font-size:13px;line-height:1.7;color:#74829a}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}@media(max-width:1100px){.sidebar{width:215px}.content{padding:25px}.stats{grid-template-columns:repeat(2,1fr)}.step-grid{grid-template-columns:1fr}}@media(max-width:700px){.layout{display:block}.sidebar{height:auto;width:auto;position:relative;padding:15px}.brand{padding:0}.sidebar .nav,.sidebar .nav-title,.side-bottom{display:none}.topbar{padding:0 17px;height:60px}.pill,.version{display:none}.content{padding:18px}.heading h1{font-size:25px}.stats{gap:10px}.stat{padding:14px}.stat-top{font-size:10px}.selectors{grid-template-columns:1fr}.swap{margin:0 auto;transform:rotate(90deg)}.panel{padding:18px}.step{padding:12px}.step button{width:100%}}

.batch-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:-3px 0 20px}.batch-toolbar>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.batch-toolbar #selectedCount{font-size:12px;color:#72819a;margin-left:8px}.batch-toolbar button{padding:11px 15px}.step-check{display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.step-check input{width:19px;height:19px;accent-color:#4f70e0;cursor:pointer}.step-check input:disabled{cursor:not-allowed}.step:has(.step-check input:not(:checked)){opacity:.58;background:#f9fafc}.step:has(.step-check input:checked){border-color:#cdd8fa}.step:has(.step-check input:checked).success{border-color:#bcebd7}@media(max-width:700px){.batch-toolbar>div{width:100%}.batch-toolbar #startBatch{flex:1}}

.install-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.install-grid label{display:flex;flex-direction:column;gap:9px;color:#71819b;font-size:12px;font-weight:700}.install-grid input{width:100%;border:1px solid #e2e8f2;border-radius:9px;background:#f9fbff;padding:14px;color:#26344d;font:inherit}.install-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:24px}.confirm-install{font-size:12px;color:#74829a;display:flex;gap:8px;align-items:center}#installResult{font-size:12px;margin-top:15px;white-space:pre-wrap}@media(max-width:700px){.install-grid{grid-template-columns:1fr}.install-actions{flex-direction:column;align-items:stretch}}

/* Tela simplificada, sem menu lateral */
.main{width:100%}.content{max-width:1200px}.install-origin{max-width:620px;margin:0 0 20px}.install-origin .field select{background:#f3f7ff}.destination-only{grid-template-columns:1fr 42px 1fr}.destination-only .selection-status{margin-top:10px;min-height:47px}.install-form{margin-top:16px}

/* Contraste reforçado em todos os textos da interface */
:root{color:#18243a}
body,.heading h1,.panel-heading h2,.step h3,.stat-number{color:#17233a}
.heading p,.panel-heading p,.stat-top,.stat-sub,.field small,.field label,.step p,.step-status,.selection-status,.install-grid label,.confirm-install,.breadcrumbs,.version,.progress-ring-text small,.empty-log,footer{color:#43536b}
.field select,.install-grid input{color:#18243a;background:#fff;border-color:#a9b6c9}
.field select option{color:#18243a}
.step button:disabled{color:#52617a;background:#e4e9f2}
.step:has(.step-check input:not(:checked)){opacity:.82}
