:root{--ink:#101317;--panel:#191e24;--panel2:#222830;--gold:#f5bd16;--gold2:#d99d00;--white:#f7f7f5;--muted:#a8afb7;--line:#343b44;--green:#48bd83;--red:#ff7777}*{box-sizing:border-box}body{margin:0;background:#f1f2f3;color:#15191e;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.login-screen{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;background:radial-gradient(circle at 50% 10%,#30343a 0,#15191e 42%,#0b0d10 100%);color:var(--white)}.login-card{width:min(100%,420px);padding:26px 24px 22px;background:rgba(24,29,35,.96);border:1px solid #343a42;border-radius:24px;box-shadow:0 24px 70px #0008}.login-logo{display:block;width:180px;height:180px;object-fit:contain;margin:0 auto 2px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:800;color:var(--gold);margin:0 0 8px}.login-card h1{font-size:30px;line-height:1.1;text-align:center;margin:8px 0}.login-card h1 span{color:var(--gold)}.muted{color:var(--muted);font-size:13px;line-height:1.5}.center{text-align:center}.stack{display:flex;flex-direction:column;gap:14px}.login-card form{margin-top:25px}.stack label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:700;color:inherit}.stack input,.stack select,.stack textarea{width:100%;border:1px solid #424a54;background:#101419;color:var(--white);border-radius:11px;padding:13px 12px;outline:none}.stack input:focus,.stack select:focus,.stack textarea:focus{border-color:var(--gold)}.password-wrap{display:flex;position:relative}.password-wrap input{padding-right:48px}.eye{position:absolute;right:6px;top:5px;border:0;background:transparent;color:var(--gold);font-size:20px;padding:6px}.btn{border:0;border-radius:12px;padding:14px 16px;font-weight:800;letter-spacing:.3px}.btn-gold{background:linear-gradient(135deg,#ffd84d,#e5a900);color:#17191c;box-shadow:0 7px 18px #d49b0030}.btn-gold:active{transform:translateY(1px)}.btn-outline{background:transparent;border:1px solid #59616b;color:var(--white)}.btn-small{padding:9px 13px;font-size:12px}.error{color:var(--red);font-size:12px;min-height:14px;margin:0}.login-footer{text-align:center;color:#b8bdc2;font-size:11px;letter-spacing:2px;margin-top:24px}.copyright{color:#8e949b;font-size:10px;margin:18px 0 0}.topbar{height:72px;background:var(--ink);color:var(--white);display:flex;align-items:center;justify-content:space-between;padding:0 max(18px,calc((100vw - 1100px)/2));border-bottom:2px solid var(--gold)}.brand{display:flex;align-items:center;gap:9px}.brand img{width:49px;height:49px;object-fit:contain}.brand strong{display:block;font-size:18px;color:var(--gold);letter-spacing:2px}.brand small{display:block;font-size:8px;letter-spacing:1px;color:#d1d4d8}.content{max-width:1100px;margin:auto;padding:28px 18px 50px}.welcome-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.welcome-row h1{font-size:27px;margin:0 0 4px}.avatar{width:48px;height:48px;border-radius:16px;background:var(--ink);border:1px solid var(--gold);display:grid;place-items:center;color:var(--gold);font-size:11px;font-weight:900}.admin-tools{margin-bottom:18px}.project-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.project-card{background:#fff;border:1px solid #e1e3e5;border-radius:17px;padding:18px;box-shadow:0 5px 20px #1d27300b}.project-card h3{margin:5px 0;font-size:17px}.project-card p{margin:4px 0;color:#6c747d;font-size:12px}.project-card .btn{margin-top:13px;width:100%}.project-heading{display:flex;justify-content:space-between;gap:12px;align-items:center}.project-heading h2{font-size:23px;margin:0 0 4px}.status-chip{background:#fff3c7;color:#775700;border-radius:30px;padding:8px 12px;font-size:13px;font-weight:900}.progress-card{background:var(--ink);color:white;border-radius:16px;padding:17px;margin:18px 0}.progress-line{height:9px;border-radius:9px;background:#414850;overflow:hidden}.progress-line span{display:block;height:100%;width:0;background:linear-gradient(90deg,#e8a900,#ffda55);border-radius:9px;transition:width .3s}.progress-meta{display:flex;justify-content:space-between;margin-top:10px;font-size:11px;color:#e8e9eb}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-bottom:28px}.info-item{background:#fff;border:1px solid #e5e7e9;border-radius:12px;padding:12px}.info-item small{display:block;color:#7b838c;font-size:10px;margin-bottom:4px}.info-item strong{font-size:13px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin:18px 0 12px}.section-heading h3,.finance-card h3{font-size:19px;margin:0}.small{font-size:10px}.stages-list{display:flex;flex-direction:column;gap:9px}.stage-card{background:#fff;border:1px solid #e3e5e7;border-radius:14px;padding:14px}.stage-top{display:flex;align-items:center;gap:10px}.stage-number{width:31px;height:31px;border-radius:10px;background:#171c22;color:var(--gold);display:grid;place-items:center;font-weight:900;font-size:12px;flex:none}.stage-title{font-weight:800;font-size:13px;flex:1}.stage-status{font-size:10px;font-weight:800;padding:6px 8px;border-radius:30px;background:#edf0f2;color:#68717a;white-space:nowrap}.stage-status.nao_feito{background:#fff2c7;color:#805c00}.stage-status.em_andamento{background:#dcecff;color:#174f86}.stage-status.feito{background:#dff6e9;color:#18734a}.stage-status.nao_esta_no_projeto{background:#edf0f2;color:#68717a}.stage-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0 0 41px}.stage-notes{font-size:11px;color:#68717a;white-space:pre-wrap}.stage-actions{display:flex;gap:8px;align-items:center}.mini-btn{border:1px solid #d7dbe0;background:#fff;border-radius:9px;padding:7px 9px;font-size:10px;font-weight:800;color:#313941}.stage-media{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 0 41px}.stage-media a{font-size:10px;color:#8a6500}.finance-card{margin-top:24px;background:#171c22;color:white;border-radius:17px;padding:18px}.finance-card .eyebrow{margin-bottom:6px}.finance-value{color:#d2d6da;font-size:13px}.payment-row{display:flex;justify-content:space-between;border-top:1px solid #343b44;padding:10px 0;font-size:12px}.back-link{border:0;background:transparent;padding:0 0 16px;color:#755600;font-weight:800}.app-footer{text-align:center;padding:18px;color:#828991;font-size:9px;letter-spacing:1px}.app-footer span{color:var(--gold)}.modal{border:1px solid #444c56;border-radius:20px;padding:0;background:#1b2026;color:#fff;width:min(92vw,480px);max-height:90svh;overflow:auto;box-shadow:0 25px 90px #0008}.modal::backdrop{background:#080a0dcc;backdrop-filter:blur(3px)}.modal form{padding:22px}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.modal-head h2{margin:0;font-size:22px}.close{border:0;background:#303740;color:white;border-radius:10px;font-size:23px;width:36px;height:36px}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,20px);opacity:0;background:#151a20;color:#fff;border:1px solid var(--gold);border-radius:12px;padding:12px 17px;font-size:12px;z-index:10;transition:.2s;max-width:90vw;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}@media(min-width:700px){.info-grid{grid-template-columns:repeat(4,1fr)}.stages-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.login-logo{width:190px;height:190px}}@media(max-width:390px){.login-card{padding:20px 17px}.login-logo{width:155px;height:155px}.stage-bottom{margin-left:0;flex-wrap:wrap}.stage-media{margin-left:0}.stage-title{font-size:12px}.stage-status{font-size:9px}}

/* Documentos do projeto: vídeo, orçamento e contrato */
.documents-card{margin:26px 0;background:#fff;border:1px solid #e1e4e7;border-radius:17px;padding:17px;box-shadow:0 5px 20px #1d27300b}.doc-heading{margin:0 0 6px;gap:12px;flex-wrap:wrap}.doc-heading h3{font-size:19px;margin:0}.document-intro{margin:7px 0 14px}.document-grid{display:grid;grid-template-columns:1fr;gap:10px}.document-card{border:1px solid #e5e7e9;border-radius:13px;padding:13px;min-width:0}.document-card-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}.document-card-head strong{font-size:13px}.document-count{font-size:10px;color:#727b84;background:#f0f2f4;border-radius:20px;padding:5px 8px;white-space:nowrap}.document-empty{font-size:11px;margin:0}.document-files{display:flex;flex-direction:column;gap:10px}.document-file{min-width:0}.document-file video{display:block;width:100%;max-height:230px;background:#111;border-radius:10px}.document-file-meta{display:flex;flex-direction:column;gap:4px;min-width:0;margin-top:7px}.document-file-meta a{font-size:11px;font-weight:800;color:#765500;overflow-wrap:anywhere}.document-file-meta small{font-size:10px;color:#7b838c}.pdf-file{display:flex;align-items:center;gap:10px}.pdf-icon{display:grid;place-items:center;width:39px;height:43px;flex:none;background:#fff0ed;color:#b33d2e;border:1px solid #f0d0ca;border-radius:8px;font-size:10px;font-weight:900}.pdf-file .document-file-meta{flex:1}.open-file{font-size:10px;font-weight:800;color:#765500;white-space:nowrap}.form-hint{font-size:10px;font-weight:400;color:#aeb5bd;line-height:1.4}.modal input[type=file]{padding:10px;background:#11161b}.modal .muted{margin:0 0 4px}@media(min-width:700px){.document-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

.scope-form-section{display:grid;grid-template-columns:1fr;gap:12px;padding:15px;border:1px solid #424a54;border-radius:14px;background:#151a20}.scope-form-section .eyebrow{grid-column:1/-1;margin:0 0 2px}.scope-form-section label{margin:0}@media(min-width:520px){.scope-form-section{grid-template-columns:repeat(2,minmax(0,1fr))}.scope-form-section .eyebrow{grid-column:1/-1}}

.scope-summary{margin:18px 0 26px}.scope-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}@media(min-width:700px){.scope-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Ativação única do administrador EMP */
.success{color:#49c58b;font-size:12px;line-height:1.45;min-height:14px;margin:0}
#setup-view .login-card h1{font-size:29px}
#setup-view .login-card h1 span{color:var(--gold)}
#setup-form{margin-top:22px}
#setup-form input{letter-spacing:.2px}
#activate-admin:disabled{opacity:.65;cursor:wait}

/* Ajustes da versão conectada ao banco real da EMP */
.btn-outline-dark{background:#fff;border:1px solid #cbd0d5;color:#20262d}
.action-row{display:flex;gap:10px;flex-wrap:wrap}
.admin-section{margin:28px 0}
.quote-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}
.quote-card .quote-value{font-size:18px;font-weight:900;color:#161b20}
.description-panel{background:#fff;border:1px solid #e1e4e7;border-radius:14px;padding:15px;color:#303941;font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
.stage-photo-link{display:inline-flex;flex-direction:column;gap:4px;width:86px;text-decoration:none;color:#765500!important}
.stage-photo-link img{width:86px;height:70px;object-fit:cover;border-radius:9px;border:1px solid #e1e4e7;background:#f4f5f6}
.stage-photo-link span{font-size:10px;overflow-wrap:anywhere}
.stage-media{align-items:flex-start}
@media(max-width:560px){.action-row .btn{width:100%}.welcome-row{align-items:flex-start}.project-heading{align-items:flex-start}.project-heading h2{font-size:20px}}

/* Cadastro com opção de acesso individual por telefone. */
.access-toggle{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px!important;padding:12px;border:1px solid #424a54;border-radius:12px;background:#151a20}
.access-toggle input{width:19px!important;height:19px;flex:none;margin:1px 0 0;accent-color:var(--gold)}
.access-toggle span{display:flex;flex-direction:column;gap:5px}
.access-toggle strong{font-size:12px;color:var(--white)}
#client-password-fields{display:block}
#client-password-fields.hidden{display:none}
