:root{--bg:#101111;--panel:#181a19;--line:#2b2e2b;--ink:#f3f0e9;--muted:#969990;--orange:#e8a34a;--lime:#b5c77a;--red:#e48173}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px 'DM Sans',Arial,sans-serif;min-height:100vh}a{color:inherit;text-decoration:none}button,input{font:inherit}.topbar{height:78px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(calc((100% - 1120px)/2),28px);background:#121313}.brand{display:inline-flex;align-items:center;gap:11px;font:800 13px Arial,sans-serif;letter-spacing:.09em}.brand small{display:block;font-size:9px;letter-spacing:.22em;color:#a9aaa3;margin-top:3px}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:12px 12px 12px 3px;background:var(--orange);color:#171612;font-weight:800;font-size:19px}.top-actions{display:flex;align-items:center;gap:28px}.secure-label{font-size:12px;color:#bfc2b9}.secure-label i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--lime);margin-right:7px}.top-actions form{margin:0}.text-button{background:none;border:0;color:var(--muted);cursor:pointer}.container{max-width:1120px;margin:auto;padding:64px 28px 24px}.page-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:34px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.2em;color:var(--orange);margin:0 0 13px}.page-heading h1,.login-card h1{font:600 clamp(31px,4vw,43px)/1.13 Arial,sans-serif;letter-spacing:-.045em;margin:0}.page-heading h1 em,.login-card h1 em{font-style:normal;color:var(--orange)}.muted{color:var(--muted);margin:12px 0 0;line-height:1.6}.count{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px}.count strong{color:var(--ink);font-size:32px}.upload-card,.history{border:1px solid var(--line);border-radius:18px;background:var(--panel);padding:27px 30px}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.section-head .eyebrow{margin-bottom:8px}.section-head h2{font-size:20px;margin:0}.file-badge{font-size:11px;color:#c4c5be;border:1px solid #393c37;border-radius:99px;padding:8px 12px}.dropzone{position:relative;display:flex;min-height:160px;flex-direction:column;align-items:center;justify-content:center;gap:7px;border:1px dashed #484a42;border-radius:13px;background:#141615;transition:.2s}.dropzone.drag,.dropzone:hover{border-color:var(--orange);background:#1c1b17}.dropzone input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.upload-icon{width:31px;height:31px;display:grid;place-items:center;border:1px solid #56534a;border-radius:10px;color:var(--orange);font-size:20px;margin-bottom:4px}.dropzone strong{font-size:14px}.dropzone span{font-size:12px;color:var(--muted)}.dropzone label{color:var(--orange);cursor:pointer;text-decoration:underline}.upload-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:17px}.upload-bottom p{color:var(--muted);font-size:12px;margin:0}.button{border:0;border-radius:9px;background:#262824;color:var(--ink);padding:12px 16px;font-weight:600;cursor:pointer;transition:transform .18s,background .18s}.button:hover{transform:translateY(-1px);background:#343630}.button.primary{background:var(--orange);color:#171612}.button.primary:hover{background:#f0b15d}.button:disabled{opacity:.45;cursor:not-allowed}.button span{margin-left:14px}.button.small{padding:8px 12px;font-size:11px}.button.full{width:100%;margin-top:18px}.progress-wrap{display:none;align-items:center;gap:12px;margin-top:18px;color:var(--muted);font-size:11px}.progress-wrap.active{display:flex}.progress{height:4px;flex:1;border-radius:5px;background:#32342f;overflow:hidden}.progress span{display:block;height:100%;width:0;background:var(--orange);transition:width .15s}.history{margin-top:22px;padding-bottom:13px}.empty{text-align:center;padding:44px 10px 54px;color:var(--muted)}.empty>span{color:var(--orange);font-size:26px}.empty h3{font-size:16px;color:var(--ink);margin:12px 0 7px}.empty p{font-size:12px;margin:0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;min-width:700px}th{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#797d74;padding:11px 10px;border-bottom:1px solid var(--line)}td{padding:15px 10px;border-bottom:1px solid #272a27;font-size:12px;color:#b8bab3}tbody tr:last-child td{border-bottom:0}td strong{display:block;color:var(--ink);font-size:13px}td small{display:block;color:#74786f;font-size:10px;margin-top:4px}.url-link{color:#c1c4b8;font-size:11px}.url-link:hover{color:var(--orange)}.actions-head{text-align:right}.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.row-actions form{margin:0}.icon-button{display:grid;place-items:center;width:31px;height:31px;border:1px solid #333631;border-radius:8px;background:transparent;color:#c1c3bb;font-size:15px;cursor:pointer}.icon-button:hover{border-color:var(--orange);color:var(--orange)}.icon-button.danger:hover{border-color:var(--red);color:var(--red)}.notice{padding:13px 15px;border-radius:10px;margin:0 0 18px;font-size:12px;line-height:1.5}.notice.success{background:#20281c;border:1px solid #394731;color:#d2e0ba}.notice.error{background:#2c1f1d;border:1px solid #57332d;color:#f0b3a8}.notice.warning{background:#2a2519;border:1px solid #5b4a27;color:#e8cb8b}.result-url{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:10px}.result-url a{font-size:12px;color:var(--orange);overflow-wrap:anywhere}.footer{padding:26px 0;color:#686c64;text-align:center;font-size:10px}.login-body{display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 50% 40%,#20211e 0,#101111 58%)}.login-card{width:min(100%,430px);border:1px solid var(--line);border-radius:20px;padding:39px;background:#181a19;box-shadow:0 30px 100px #0007;animation:rise .6s ease both}.login-card>.brand{margin-bottom:43px}.login-card h1{font-size:34px}.login-card .muted{font-size:13px;margin-bottom:28px}.login-card label{display:block;font-size:11px;color:#c5c6bf;margin-bottom:8px}.login-card input[type=password]{width:100%;height:46px;border-radius:9px;border:1px solid #3a3d38;background:#111312;color:var(--ink);padding:0 12px;outline:none}.login-card input:focus{border-color:var(--orange)}.login-foot{text-align:center;font-size:10px;color:#71756d;margin:27px 0 0}.notice.warning{margin-top:12px}.modal-backdrop{position:fixed;inset:0;display:grid;place-items:center;padding:20px;background:#000a;backdrop-filter:blur(5px)}.modal{position:relative;width:min(100%,440px);padding:30px;border:1px solid #44463f;border-radius:16px;background:#1b1d1b}.modal h2{font-size:23px;margin:0 0 10px}.modal p:not(.eyebrow){font-size:13px;color:var(--muted);line-height:1.6}.modal input[type=file]{width:100%;margin:10px 0 3px;padding:14px;border:1px dashed #555;color:#bbb;border-radius:9px}.modal-close{position:absolute;right:16px;top:13px;background:none;border:0;color:#aaa;font-size:24px;cursor:pointer}.toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,15px);background:var(--orange);color:#171612;padding:11px 18px;border-radius:99px;font-size:12px;font-weight:700;opacity:0;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:650px){.topbar{height:66px;padding:0 18px}.secure-label{display:none}.container{padding:38px 16px 20px}.page-heading{align-items:start}.page-heading h1{font-size:32px}.count{flex-direction:column;align-items:end;gap:0}.count strong{font-size:25px}.upload-card,.history{padding:21px 17px;border-radius:14px}.section-head h2{font-size:18px}.file-badge{font-size:9px;padding:7px 9px}.dropzone{min-height:145px}.upload-bottom{align-items:flex-start;gap:15px;flex-direction:column}.upload-bottom p{line-height:1.5}.upload-bottom .button{width:100%}.result-url{align-items:flex-start;flex-direction:column}.login-card{padding:29px 23px}.login-card>.brand{margin-bottom:34px}}

.brand-mark{width:105px;height:44px;border-radius:0;background:transparent url('/assets/uai-logo.png') center/contain no-repeat;color:transparent;font-size:0}.brand>span:nth-child(2){display:none}.brand::after{content:'MARKETING';font-size:9px;letter-spacing:.2em;color:#a9aaa3;align-self:end;margin:0 0 5px -5px}

/* Uai So! — ajuste da identidade visual do portal de aprovacao.
   Baseado no vermelho #c01831 da logo oficial contida no projeto.
   Somente estilos; login, upload, URLs, armazenamento e seguranca permanecem intactos. */
:root {
  --bg: #f7f7f6;
  --panel: #ffffff;
  --line: #e5e5e5;
  --ink: #202124;
  --muted: #65676d;
  --orange: #c01831; /* mantem compatibilidade com seletores antigos */
  --lime: #c01831;
  --red: #b10f2a;
  --brand-red: #c01831;
  --brand-red-dark: #9e1429;
  --brand-red-soft: #fff1f3;
}
body { background: var(--bg); color: var(--ink); font-family: 'DM Sans', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif; }
a { color: inherit; }
.topbar { background: #fff; border-bottom: 1px solid #e9e9ea; }
.brand { gap: 0; letter-spacing: normal; }
.brand-mark { display: block; width: 120px; height: 49px; border-radius: 0; background: transparent url('/assets/uai-logo.png') center / contain no-repeat; color: transparent; font-size: 0; }
.brand>span:nth-child(2) { display: none; }
.brand::after { content: 'MARKETING'; margin: 0 0 4px 5px; align-self: flex-end; font-size: 9px; font-weight: 750; letter-spacing: .18em; color: #343436; }
.secure-label { color: #56575b; }
.secure-label i { background: var(--brand-red); }
.text-button { color: #65666b; }
.text-button:hover, .url-link:hover { color: var(--brand-red); }
.eyebrow { color: var(--brand-red); }
.page-heading h1 em, .login-card h1 em { color: var(--brand-red); }
.count strong { color: #222326; }
.upload-card, .history { border-color: #e5e5e6; background: #fff; box-shadow: 0 8px 28px rgba(30,30,35,.035); }
.file-badge { color: #57585d; border-color: #e2e2e4; background: #fafafa; }
.dropzone { background: #fcfcfc; border-color: #c8c9cb; }
.dropzone.drag, .dropzone:hover { background: var(--brand-red-soft); border-color: var(--brand-red); }
.dropzone span, .upload-bottom p { color: #6b6c71; }
.dropzone label { color: var(--brand-red); }
.upload-icon { color: var(--brand-red); border-color: #eac6cc; background: #fff6f7; }
.button { background: #f1f1f2; color: #222326; }
.button:hover { background: #e5e5e7; }
.button.primary { background: var(--brand-red); color: #fff; }
.button.primary:hover { background: var(--brand-red-dark); }
.progress { background: #ebebed; }
.progress span { background: var(--brand-red); }
.empty>span { color: var(--brand-red); }
.empty h3 { color: var(--ink); }
.empty p { color: var(--muted); }
th { color: #64666a; border-bottom-color: #e8e8e9; }
td { color: #62646a; border-bottom-color: #ededee; }
td strong { color: #242528; }
td small { color: #75767c; }
.url-link { color: var(--brand-red); }
.icon-button { color: #56575c; border-color: #dddde0; background: #fff; }
.icon-button:hover { border-color: var(--brand-red); color: var(--brand-red); background: var(--brand-red-soft); }
.icon-button.danger:hover { border-color: var(--red); color: var(--red); }
.notice.success { background: #f1f8f2; color: #276837; border-color: #cbe8d0; }
.notice.error { background: #fff2f3; color: #9e1429; border-color: #efbdc5; }
.notice.warning { background: #fff8e8; color: #71541b; border-color: #eedba9; }
.result-url a { color: var(--brand-red); }
.footer { color: #818288; }
.login-body { background: radial-gradient(ellipse at 50% 0%, #ffe8ec 0%, #f7f7f6 58%, #f3f3f3 100%); }
.login-card { background: #fff; border-color: #e5e5e7; box-shadow: 0 28px 80px rgba(48,16,22,.12); }
.login-card>.brand { margin-bottom: 39px; }
.login-card .brand-mark { width: 150px; height: 58px; }
.login-card label { color: #414247; }
.login-card input[type=text], .login-card input[type=password] { width: 100%; height: 46px; padding: 0 12px; border: 1px solid #d7d7db; border-radius: 9px; background: #fbfbfb; color: #202124; outline: none; }
.login-card input[type=text] { margin-bottom: 16px; }
.login-card input:focus { border-color: var(--brand-red); box-shadow: 0 0 0 3px rgba(192,24,49,.1); }
.login-foot { color: #77787f; }
.modal-backdrop { background: rgba(21,22,26,.48); }
.modal { background: #fff; border-color: #e0e0e2; box-shadow: 0 22px 80px rgba(0,0,0,.16); }
.modal input[type=file] { border-color: #d6d6d8; color: #434448; }
.modal-close { color: #73747a; }
.toast { background: var(--brand-red); color: #fff; }
@media (max-width: 650px) { .brand-mark { width: 104px; height: 43px; } .login-card .brand-mark { width: 135px; height: 54px; } .brand::after { font-size: 8px; } }
