:root{--bg:#080d18;--panel:#111827;--panel2:#182235;--line:#26334d;--text:#eef4ff;--muted:#9fb0ca;--brand:#4f7cff;--green:#32c48d;--orange:#f6a54c;--red:#ef5b6c}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto;background:linear-gradient(180deg,#080d18,#0b1220);color:var(--text)}a{color:inherit;text-decoration:none}.shell{min-height:100vh;display:flex}.sidebar{width:250px;padding:22px 16px;border-right:1px solid var(--line);background:#0b1120;position:fixed;inset:0 auto 0 0}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 24px}.logo{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#4f7cff,#754cff);font-weight:900}.brand small,.topbar small{display:block;color:var(--muted);font-size:12px;margin-top:2px}nav{display:grid;gap:6px}nav a{padding:11px 12px;border-radius:10px;color:#cdd7eb}nav a:hover{background:var(--panel2);color:white}.main{margin-left:250px;width:calc(100% - 250px)}.topbar{height:72px;padding:16px 28px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:rgba(8,13,24,.86);backdrop-filter:blur(12px);position:sticky;top:0;z-index:5}.content{padding:26px;max-width:1500px;margin:auto}.grid{display:grid;gap:18px}.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:linear-gradient(180deg,#121a2a,#0f1726);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 15px 50px rgba(0,0,0,.15)}.kpi strong{font-size:28px;display:block;margin-top:8px}.muted{color:var(--muted)}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:12px;border-bottom:1px solid var(--line);white-space:nowrap}.table th{font-size:12px;color:var(--muted);text-transform:uppercase}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:#21304a;color:#dce7ff;font-size:12px}.badge.green{background:#123a2c;color:#7ce0b7}.badge.orange{background:#432e16;color:#ffc77c}.badge.red{background:#451d27;color:#ff9aaa}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;padding:10px 14px;background:var(--brand);color:#fff;font-weight:700;cursor:pointer}.btn.secondary{background:#202d44}.btn.green{background:#1d996c}.toolbar{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-bottom:16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field label{display:block;font-size:12px;color:var(--muted);margin:0 0 6px}.field input,.field select,.field textarea{width:100%;padding:11px 12px;background:#0d1524;border:1px solid #34425f;border-radius:10px;color:white}.field textarea{min-height:110px;resize:vertical}.full{grid-column:1/-1}.flash{padding:12px 14px;border-radius:10px;margin-bottom:14px;background:#1c2940}.flash.success{background:#133a2d}.flash.error{background:#4b1f29}.login-page{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(420px,100%)}.mobile-job{display:grid;gap:12px}.job-card h3{margin:0 0 8px}.status-line{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}@media(max-width:1000px){.kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:780px){.sidebar{position:static;width:100%;border-right:0;border-bottom:1px solid var(--line)}.shell{display:block}.sidebar nav{grid-template-columns:repeat(2,1fr)}.main{margin:0;width:100%}.topbar{position:static}.content{padding:16px}.kpis,.form-grid{grid-template-columns:1fr}.toolbar{align-items:flex-start;flex-direction:column}.brand{padding-bottom:12px}}
/* ServiDesk v1.1 Operations Experience */
.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#80a2ff;font-weight:800}.button-row,.status-stack,.decision-grid{display:flex;gap:8px;flex-wrap:wrap}.btn.compact{padding:7px 10px;font-size:12px}.btn.ghost{background:transparent;border:1px solid var(--line)}.btn.danger,.danger{background:#b9364b}.full-btn{width:100%}.description{line-height:1.65;color:#d9e4f8}.wo-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,.78fr);gap:18px}.wo-main{display:grid;gap:18px}.wo-side{min-width:0}.sticky-card{position:sticky;top:92px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 22px;margin-top:20px}.detail-grid p{margin:5px 0 0}.text-link{color:#8eabff;font-size:13px;margin-left:8px}.gps-strip{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:16px}.gps-strip>div{background:#0b1424;border:1px solid var(--line);border-radius:12px;padding:12px}.gps-strip b,.gps-strip span,.gps-strip small{display:block}.gps-strip span{font-family:ui-monospace,monospace;margin:6px 0;font-size:12px}.divider{border:0;border-top:1px solid var(--line);margin:20px 0}.action-form{margin-bottom:10px}.mini-success{padding:10px;border-radius:10px;background:#123a2c;color:#83e8bf;margin-bottom:10px}.media-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.media-card{display:block;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#0b1424}.media-card img{width:100%;height:150px;object-fit:cover;display:block}.media-card>span{display:block;padding:8px;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.video-placeholder{height:150px;display:grid;place-items:center;font-size:38px;background:linear-gradient(135deg,#16243e,#0b1424)}.video-placeholder small{display:block;font-size:11px}.phase-title{margin:20px 0 8px}.report-block{margin:16px 0}.report-block small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.signature-summary{padding:12px;border-radius:10px;background:#0b1424}.approval-box{margin-top:18px;padding:14px;border-radius:12px;border:1px solid var(--line)}.approval-box b,.approval-box span{display:block}.approval-box span{font-size:12px;color:var(--muted);margin-top:3px}.approval-box.approved{background:#123328;border-color:#245c48}.approval-box.revision{background:#3d2515;border-color:#6c4726}.signature-wrap{background:#f8fbff;border-radius:12px;border:1px solid #cad5e5;padding:8px}.signature-wrap canvas{display:block;width:100%;height:150px;touch-action:none}.signature-clear{border:0;background:transparent;color:#34425f;text-decoration:underline;cursor:pointer;margin-top:6px}.timeline{display:grid;gap:0}.timeline-item{display:grid;grid-template-columns:18px 1fr;gap:8px;position:relative;padding-bottom:16px}.timeline-item>span{width:9px;height:9px;border-radius:50%;background:#6d91ff;margin-top:5px;position:relative}.timeline-item>span:after{content:'';position:absolute;left:4px;top:10px;width:1px;height:36px;background:var(--line)}.timeline-item:last-child>span:after{display:none}.timeline-item b,.timeline-item small{display:block}.timeline-item small{color:var(--muted);margin-top:2px}.mobile-hero{padding:8px 2px 18px}.mobile-hero h2{margin:4px 0}.mobile-hero p{color:var(--muted);margin:0}.job-top{display:flex;justify-content:space-between;gap:14px}.job-top p{margin:5px 0}.status-scheduled{background:#25334d}.status-on_the_way{background:#213a61;color:#9dc8ff}.status-in_progress{background:#4a3218;color:#ffd18f}.status-awaiting_approval{background:#382a5c;color:#c7b1ff}.status-approved,.status-completed{background:#123a2c;color:#7ce0b7}.status-cancelled{background:#451d27;color:#ff9aaa}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-weekdays>div{padding:8px;color:var(--muted);font-size:12px;text-align:center}.calendar-day{min-height:145px;background:linear-gradient(180deg,#111a2a,#0e1624);border:1px solid var(--line);border-radius:14px;padding:9px;overflow:hidden}.calendar-day.empty{opacity:.3}.calendar-day.today{border-color:#557dff;box-shadow:0 0 0 1px #557dff inset}.day-number{font-weight:800;font-size:12px;margin-bottom:6px}.calendar-event{display:block;background:#192742;border-left:3px solid #5f83ff;padding:7px;border-radius:8px;margin-top:6px}.calendar-event b,.calendar-event span,.calendar-event small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event b{font-size:10px}.calendar-event span{font-size:11px;margin:3px 0}.calendar-event small{font-size:9px;color:var(--muted)}
@media(max-width:1050px){.wo-layout{grid-template-columns:1fr}.sticky-card{position:static}.media-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:780px){.detail-grid,.gps-strip{grid-template-columns:1fr}.media-grid{grid-template-columns:repeat(2,1fr)}.calendar-weekdays{display:none}.calendar-grid{display:block}.calendar-day{min-height:auto;margin-bottom:9px}.calendar-day.empty{display:none}.day-number{font-size:15px}.job-top{align-items:flex-start}.decision-grid{display:grid;grid-template-columns:1fr}.topbar{height:auto;min-height:64px}}
/* ServiDesk v1.1.1 - Super Admin Tenant Management */
.impersonation-box{margin:0 0 14px;padding:12px;border:1px solid #38548f;border-radius:12px;background:#12203a}.impersonation-box small,.impersonation-box b{display:block}.impersonation-box small{color:#93b0ec;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.impersonation-box b{margin:4px 0 10px;font-size:13px}.support-badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:#293b64;color:#c7d7ff;font-size:11px;font-weight:800}.tenant-admin-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr);gap:18px}.admin-account-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.admin-account-row b,.admin-account-row small{display:block}.admin-account-row small{color:var(--muted);margin-top:3px}.btn[disabled]{opacity:.45;cursor:not-allowed}@media(max-width:900px){.tenant-admin-grid{grid-template-columns:1fr}.admin-account-row{align-items:flex-start;flex-direction:column}}
/* ServiDesk v1.2 - Finance & SaaS Billing */
.billing-kpis{margin-top:18px}.small-strong{font-size:16px!important;line-height:1.35}.status-paid{background:#123a2c;color:#7ce0b7}.status-overdue{background:#451d27;color:#ff9aaa}.status-open{background:#25334d;color:#cfe0ff}.status-cancelled{background:#2b2d35;color:#9ba7bc}.check-stack{display:grid;gap:8px;padding:10px 0}.check-stack label{display:flex!important;align-items:center;gap:8px;color:#dce7f8!important}.check-stack input{width:auto!important}.notice-box{padding:14px;border:1px solid #35528a;border-radius:12px;background:#101d35}.notice-box p{margin:5px 0 0;color:var(--muted)}.usage-row{margin:0 0 16px}.usage-row>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.usage-row span{color:var(--muted);font-size:12px}.usage-bar{height:8px;border-radius:999px;background:#0a1220;overflow:hidden;border:1px solid var(--line)}.usage-bar i{display:block;height:100%;background:linear-gradient(90deg,#4f7cff,#7c5cff);border-radius:999px}.subscription-alert{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:12px;margin-bottom:14px;border:1px solid var(--line)}.subscription-alert b{white-space:nowrap}.subscription-alert span{color:#d6e1f5;font-size:13px}.subscription-alert.trial{background:#162444;border-color:#34528f}.subscription-alert.past_due{background:#412915;border-color:#815122}.subscription-alert.suspended{background:#411c27;border-color:#87354b}.billing-summary{grid-template-columns:repeat(3,minmax(0,1fr));margin:12px 0}.billing-summary>div{padding:12px;border:1px solid var(--line);border-radius:12px;background:#0c1525}.billing-summary small,.billing-summary b{display:block}.billing-summary b{margin-top:5px}.text-link{margin-left:0}
@media(max-width:780px){.billing-summary{grid-template-columns:1fr}.subscription-alert{align-items:flex-start;flex-direction:column}}
/* ServiDesk v1.2.1 - Asaas Billing Integration */
.pix-box{display:grid;place-items:center;gap:10px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#0b1424;margin:12px 0 16px}.pix-box img{width:min(240px,100%);height:auto;background:white;padding:8px;border-radius:12px}.compact-pix{max-width:280px}.mono-small{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;word-break:break-all}.success-box{border-color:#245c48;background:#123328}.status-refunded{background:#3d2515;color:#ffc27e}.status-chargeback{background:#451d27;color:#ff9aaa}.billing-preferences{padding:2px 0 4px}
