:root{
  --bg:#0d0f11;--surface:#15181b;--surface2:#1c2024;--surface3:#23282d;--line:#30363c;
  --text:#f3f4f5;--muted:#aab0b6;--gold:#d8ad4a;--gold2:#f0cf7d;--green:#25b66f;--red:#df5b61;
  --blue:#4b8ee8;--yellow:#e4b844;--purple:#9b72e9;--cyan:#45b9c8;--shadow:0 18px 50px #0008;
}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:linear-gradient(180deg,#0d0f11,#111418 60%);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif;min-height:100vh}
button,input,select,textarea{font:inherit}button{cursor:pointer}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px clamp(16px,3vw,34px);background:#08090bea;border-bottom:1px solid #25292d;backdrop-filter:blur(14px)}
.brand{display:flex;align-items:center;gap:11px;min-width:230px}.brand-mark{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,var(--gold2),#9c7420);color:#111;font-weight:950;box-shadow:0 6px 22px #d8ad4a30}.brand strong{font-size:19px;letter-spacing:.4px}.brand em{font-style:normal;color:var(--gold)}.brand small{display:block;color:#8f969c;font-size:11px;margin-top:3px}.top-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.who{color:#9ca3a9;font-size:12px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ghost,.danger,.btn,.btn-primary,.btn-green,.btn-red{border-radius:9px;padding:9px 12px;font-weight:800;border:1px solid var(--line);text-decoration:none;font-size:13px}.ghost,.btn{background:#14171a;color:#e8e8e8}.danger,.btn-red{background:#2a1719;color:#ffb4b8;border-color:#5f2a2f}.btn-primary{background:linear-gradient(135deg,var(--gold2),#b98e2b);color:#121212;border:0}.btn-green{background:#187c4d;color:#fff;border-color:#239760}.sync-badge{font-size:11px;color:#9de1bc;background:#10251c;border:1px solid #1c5136;padding:6px 8px;border-radius:999px}
.app-shell{width:min(1450px,96%);margin:18px auto 48px;display:grid;grid-template-columns:238px minmax(0,1fr);gap:18px}.sidebar{position:sticky;top:88px;align-self:start;background:linear-gradient(180deg,#15181b,#111315);border:1px solid var(--line);border-radius:16px;padding:12px;box-shadow:0 10px 30px #0003}.nav-group{color:#717981;text-transform:uppercase;font-size:10px;font-weight:900;letter-spacing:1.2px;padding:11px 10px 7px}.nav-btn{width:100%;display:flex;align-items:center;gap:10px;padding:11px 12px;margin:3px 0;border:0;background:transparent;color:#c7ccd0;border-radius:10px;text-align:left;font-weight:750}.nav-btn:hover{background:#202429}.nav-btn.active{background:linear-gradient(90deg,#2b2517,#1c1e21);color:var(--gold2);box-shadow:inset 3px 0 var(--gold)}.nav-icon{width:22px;text-align:center}.content{min-width:0}.page-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:4px 2px 18px}.page-head h1{margin:0;font-size:clamp(24px,3vw,34px);letter-spacing:-.7px}.page-head p{margin:5px 0 0;color:var(--muted);font-size:13px}.page-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.stat{background:linear-gradient(160deg,#1b1f23,#131619);border:1px solid var(--line);border-radius:15px;padding:17px;min-height:116px;position:relative;overflow:hidden}.stat::after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-32px;bottom:-40px;background:#d8ad4a12}.stat small{color:#939ba2;font-weight:700}.stat b{display:block;font-size:29px;margin:11px 0 5px}.stat span{font-size:12px;color:#7f878d}.stat.gold b{color:var(--gold2)}.stat.green b{color:#7ad7a5}.stat.blue b{color:#8bbcf9}.stat.purple b{color:#c5a8fa}
.grid-2{display:grid;grid-template-columns:1.25fr .75fr;gap:14px}.panel{background:linear-gradient(160deg,#171a1e,#121417);border:1px solid var(--line);border-radius:15px;padding:16px;box-shadow:0 8px 26px #0002;margin-bottom:14px}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.panel-title h2{font-size:16px;margin:0}.panel-title span{font-size:12px;color:var(--muted)}.empty{border:1px dashed #353b40;border-radius:12px;padding:30px 14px;text-align:center;color:#8f979d}.quick{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.quick button{padding:13px;border-radius:11px;border:1px solid var(--line);background:#1d2125;color:#eee;font-weight:800;text-align:left}.quick button:hover{border-color:#7e6a35;background:#24231d}.quick button small{display:block;color:#8f969b;font-weight:500;margin-top:4px}
.table-wrap{overflow:auto;border-radius:12px;border:1px solid #292e33}.data-table{width:100%;border-collapse:collapse;min-width:760px;background:#121518}.data-table th{text-align:left;color:#8f969c;font-size:11px;text-transform:uppercase;letter-spacing:.6px;padding:11px 12px;background:#171b1e;position:sticky;top:0}.data-table td{padding:12px;border-top:1px solid #252a2f;font-size:13px;vertical-align:middle}.data-table tr:hover td{background:#171b1f}.cell-title{font-weight:800;color:#f0f1f2}.cell-sub{color:#929aa0;font-size:11px;margin-top:3px}.actions{display:flex;gap:6px;flex-wrap:wrap}.icon-btn{border:1px solid #353b40;background:#1b1f23;color:#d9dde0;border-radius:8px;padding:7px 8px;font-size:12px}.icon-btn:hover{border-color:#6a737b}.icon-btn.ok{color:#8de2b4;border-color:#27543b}.icon-btn.warn{color:#f3d27b;border-color:#5f522a}.icon-btn.del{color:#f0a4a8;border-color:#5e2e33}.searchbar{display:flex;gap:8px;align-items:center;margin-bottom:12px}.searchbar input{flex:1}
.chip{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:850;background:#252a2f;color:#cbd0d4;border:1px solid #353b41}.chip.aprovado,.chip.concluida,.chip.concluido{background:#123022;color:#8de2b4;border-color:#235438}.chip.enviado,.chip.agendado,.chip.em-andamento{background:#102840;color:#8fc2ff;border-color:#24547d}.chip.aguardando,.chip.pendente{background:#382e13;color:#f1ce72;border-color:#675421}.chip.recusado,.chip.cancelada,.chip.cancelado{background:#36181b;color:#f1a5a9;border-color:#652c32}.chip.rascunho{background:#272b30;color:#b8bec4}.chip.orcamento{background:#292146;color:#c5b4ff;border-color:#504183}.chip.obra{background:#123247;color:#9cd9ff;border-color:#245873}
.pipeline{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.pipe{background:#111416;border:1px solid #2a2f34;border-radius:12px;padding:12px}.pipe strong{font-size:22px;display:block;margin-bottom:5px}.pipe span{font-size:11px;color:#9ca3a8}.pipe.aprovado strong{color:#76d39f}.pipe.aguardando strong{color:#e8c768}.pipe.enviado strong{color:#82b7f4}
.timeline{display:flex;flex-direction:column;gap:8px}.event-row{display:grid;grid-template-columns:78px 1fr auto;gap:10px;align-items:center;padding:11px;background:#111416;border:1px solid #292e33;border-radius:10px}.event-date{font-size:11px;color:#98a0a6}.event-main b{display:block;font-size:13px}.event-main small{color:#8f979d}.event-side{text-align:right;font-size:11px;color:#a8afb5}
.calendar-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.calendar-head h2{margin:0;text-transform:capitalize}.calendar-nav{display:flex;gap:6px}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(100px,1fr));border-left:1px solid #2b3035;border-top:1px solid #2b3035;overflow:auto}.cal-weekday{background:#171b1e;color:#8f969b;text-transform:uppercase;font-size:10px;font-weight:900;padding:9px;text-align:center;border-right:1px solid #2b3035;border-bottom:1px solid #2b3035}.cal-day{min-height:128px;background:#111416;padding:8px;border-right:1px solid #2b3035;border-bottom:1px solid #2b3035}.cal-day.out{opacity:.35}.cal-day.today{box-shadow:inset 0 0 0 2px #d8ad4a88}.daynum{font-size:12px;font-weight:850;margin-bottom:6px}.cal-event{display:block;width:100%;border:0;border-radius:6px;padding:5px 6px;margin:4px 0;color:#e9edf0;text-align:left;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-event.orcamento{background:#3a2f60}.cal-event.obra{background:#17425a}.cal-event.outro{background:#364047}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:11px;color:#a3aab0;font-weight:800}.field input,.field select,.field textarea,.searchbar input{width:100%;padding:10px 11px;border-radius:9px;border:1px solid #343a40;background:#0f1214;color:#f1f2f3;outline:none}.field input:focus,.field select:focus,.field textarea:focus,.searchbar input:focus{border-color:#9b8243;box-shadow:0 0 0 3px #d8ad4a13}.field textarea{min-height:86px;resize:vertical}.field small{color:#788087}.checks{display:flex;gap:8px;flex-wrap:wrap}.check{display:flex;align-items:center;gap:7px;border:1px solid #343a40;background:#121518;border-radius:9px;padding:8px 10px;font-size:12px}.check input{width:auto}.modal-bg{position:fixed;inset:0;background:#000b;z-index:100;display:grid;place-items:center;padding:18px}.modal{width:min(760px,100%);max-height:90vh;overflow:auto;background:#171a1d;border:1px solid #3a4147;border-radius:17px;box-shadow:var(--shadow)}.modal.wide{width:min(1050px,100%)}.modal-head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:16px 18px;background:#171a1df5;border-bottom:1px solid #30363b;backdrop-filter:blur(10px)}.modal-head h2{margin:0;font-size:18px}.modal-close{background:none;border:0;color:#aaa;font-size:22px}.modal-body{padding:18px}.modal-foot{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:8px;padding:13px 18px;background:#171a1df5;border-top:1px solid #30363b}.item-row{display:grid;grid-template-columns:2fr .6fr .7fr .9fr auto;gap:8px;align-items:end;padding:10px;border:1px solid #2b3035;border-radius:10px;margin-bottom:8px;background:#111416}.item-total{text-align:right;font-size:18px;font-weight:900;color:var(--gold2);margin-top:12px}.work-card{border:1px solid #2e3439;background:#121518;border-radius:13px;padding:14px;margin-bottom:9px}.work-top{display:flex;justify-content:space-between;gap:10px}.work-card h3{margin:0 0 5px;font-size:15px}.work-meta{display:flex;gap:12px;flex-wrap:wrap;color:#90979d;font-size:11px;margin-top:8px}.avatar{width:28px;height:28px;border-radius:50%;display:inline-grid;place-items:center;background:#2e3236;color:#f2d88f;font-weight:900;font-size:11px;border:1px solid #4b4f52;margin-right:-5px}.money{font-variant-numeric:tabular-nums}.site-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}.site-tab{border:1px solid #353b40;background:#14171a;color:#c7ccd0;border-radius:9px;padding:8px 10px;font-weight:800}.site-tab.active{background:#342d1a;color:#f1d27c;border-color:#6f5d2e}.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.media-card{border:1px solid #2e3439;border-radius:12px;overflow:hidden;background:#101315}.media-card img{width:100%;height:150px;object-fit:cover;display:block;background:#0c0e10}.media-card .pad{padding:10px}.media-card input[type=file]{display:none}.media-card textarea{min-height:64px}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.notice{padding:11px 12px;border:1px solid #4c4228;background:#221e14;color:#d7c592;border-radius:10px;font-size:12px;margin-bottom:12px}.savebar{position:sticky;bottom:10px;display:flex;justify-content:flex-end;z-index:7;margin-top:14px}.savebar button{box-shadow:0 8px 30px #0009}.login-wrap{min-height:calc(100vh - 80px);display:grid;place-items:center;padding:24px}.login-card{width:min(430px,100%);background:#171a1d;border:1px solid #33393f;border-radius:17px;padding:26px;box-shadow:var(--shadow)}.login-card h1{margin:0 0 6px}.login-card p{color:#9fa6ac;font-size:13px;line-height:1.5;margin:0 0 18px}.login-card .field{margin-bottom:11px}.login-error{padding:10px 12px;background:#35191c;border:1px solid #6d3035;border-radius:9px;color:#ffb6ba;font-size:12px;margin-bottom:13px}.login-card .btn-primary{width:100%;padding:12px;margin-top:6px}.denied{text-align:center;padding:25px;color:#f3a6aa}.toast-stack,#toasts{position:fixed;right:16px;bottom:16px;z-index:200;display:flex;flex-direction:column;gap:8px}.toast{padding:12px 14px;border-radius:10px;color:#fff;font-size:12px;font-weight:800;box-shadow:0 10px 30px #0009;max-width:360px;animation:toastin .2s ease}.toast.ok{background:#167148}.toast.err{background:#a43940}.toast.info{background:#334657}@keyframes toastin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:1050px){.cards{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.pipeline{grid-template-columns:repeat(3,1fr)}.media-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.topbar{align-items:flex-start}.brand small{display:none}.top-actions{flex-wrap:wrap}.who,.sync-badge{display:none}.app-shell{grid-template-columns:1fr;width:min(96%,700px)}.sidebar{position:static;display:flex;overflow:auto;padding:8px}.nav-group{display:none}.nav-btn{min-width:max-content;width:auto;margin:0 3px;padding:10px}.nav-icon{width:auto}.nav-btn span:last-child{font-size:12px}.page-head{align-items:flex-start;flex-direction:column}.page-actions{justify-content:flex-start}.cards{grid-template-columns:1fr 1fr}.pipeline{grid-template-columns:1fr 1fr}.cal-grid{min-width:760px}.panel.calendar-panel{overflow:auto}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.item-row{grid-template-columns:1fr 1fr}.item-row .desc{grid-column:1/-1}.item-row .remove-item{grid-column:2}.media-grid,.service-grid{grid-template-columns:1fr}.event-row{grid-template-columns:70px 1fr}.event-side{grid-column:2;text-align:left}.modal-bg{padding:7px}.modal{border-radius:12px}.top-actions .ghost{padding:7px 9px}}
@media(max-width:480px){.cards{grid-template-columns:1fr}.pipeline{grid-template-columns:1fr}.brand strong{font-size:16px}.brand-mark{width:36px;height:36px}.topbar{padding:11px}.top-actions a.ghost{display:none}.quick{grid-template-columns:1fr}.modal-body{padding:13px}}
@media print{.topbar,.sidebar,.page-head,.savebar,.actions,.page-actions{display:none!important}.app-shell{display:block;width:100%;margin:0}.panel{border:0;box-shadow:none}.content{width:100%}}
