:root{
  --bg:#111111;--bg2:#0b0b0b;--card:#1b1917;--card2:#211f1c;--border:#34312e;--text:#fafafa;--muted:#aaa39c;
  --orange:#ff7a00;--orange2:#ff9a1f;--green:#32d583;--red:#f97066;--yellow:#fdb022;--blue:#5aa7ff;
  --shadow:0 10px 35px rgba(0,0,0,.32);--glow:0 8px 32px rgba(255,122,0,.22);--radius:14px;
  font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color-scheme:dark
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text)}body{font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.hidden{display:none!important}.muted{color:var(--muted)}.orange{color:var(--orange)}.green{color:var(--green)}.red{color:var(--red)}.yellow{color:var(--yellow)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
#app{min-height:100vh}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:256px;background:#0b0b0b;border-right:1px solid #262422;display:flex;flex-direction:column;z-index:40}.brand{display:flex;align-items:center;gap:12px;padding:22px 22px;border-bottom:1px solid #262422}.brand-mark{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--orange2),var(--orange));box-shadow:var(--glow);display:grid;place-items:center;color:#16120e}.brand-title{font:700 15px Sora,sans-serif;line-height:1.15}.brand-pro{font:700 10px Sora,sans-serif;color:var(--orange);letter-spacing:.18em;margin-top:3px}.nav{padding:15px 12px;display:flex;flex-direction:column;gap:4px;flex:1}.nav-item{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:10px;color:#bdb7b1;font-weight:600;transition:.18s}.nav-item:hover{background:#1b1917;color:white}.nav-item.active{background:var(--orange);color:#1a1209;box-shadow:var(--glow)}.nav-icon{width:18px;height:18px;display:grid;place-items:center}.sidebar-bottom{border-top:1px solid #262422;padding:12px}.plan-mini{border:1px solid #2c2926;border-radius:12px;padding:12px;margin-bottom:8px;background:#121110}.plan-mini strong{display:block;font-family:Sora;font-size:12px}.plan-mini small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.logout{width:100%;background:transparent;border:0;color:#bdb7b1;padding:11px 12px;text-align:left;border-radius:10px}.logout:hover{background:#1b1917;color:white}.main{margin-left:256px;min-height:100vh}.page{max-width:1280px;margin:auto;padding:36px 30px 60px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:28px}.page-header h1{margin:0;font:700 29px Sora,sans-serif;letter-spacing:-.03em}.page-header p{margin:7px 0 0;color:var(--muted)}.page-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.mobile-header{display:none}.mobile-overlay{display:none}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card.pad{padding:20px}.card-title{font:600 15px Sora,sans-serif}.divider{height:1px;background:var(--border);margin:18px 0}.grid{display:grid;gap:14px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.stat{padding:19px}.stat-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.stat-label{text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-size:11px;font-weight:700}.stat-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:rgba(255,122,0,.13);color:var(--orange)}.stat-value{font:700 24px Sora,sans-serif;margin-top:8px;letter-spacing:-.03em}.stat-hint{color:var(--muted);font-size:11px;margin-top:5px}.next-show{background:linear-gradient(180deg,#211d18,#171513);border-color:rgba(255,122,0,.35)}
.btn{border:1px solid transparent;border-radius:10px;padding:10px 14px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.18s;min-height:40px}.btn-primary{background:linear-gradient(135deg,var(--orange2),var(--orange));color:#17100a;box-shadow:var(--glow)}.btn-primary:hover{filter:brightness(1.07);transform:translateY(-1px)}.btn-secondary{background:#27231f;color:#f5f2ef;border-color:#38332e}.btn-secondary:hover{background:#302b26}.btn-ghost{background:transparent;color:#bdb7b1}.btn-ghost:hover{background:#292622;color:white}.btn-danger{background:rgba(249,112,102,.09);color:var(--red);border-color:rgba(249,112,102,.24)}.btn-sm{padding:7px 10px;min-height:32px;font-size:12px}.btn-block{width:100%}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.icon{width:17px;height:17px;display:inline-block;vertical-align:-3px}
.field{display:flex;flex-direction:column;gap:7px}.field label{font-weight:700;font-size:12px}.input,.select,.textarea{width:100%;border:1px solid #34312e;background:#171513;color:#f7f4f2;border-radius:10px;padding:10px 12px;outline:none;min-height:40px}.input:focus,.select:focus,.textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,122,0,.12)}.textarea{resize:vertical;min-height:88px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.span-2{grid-column:span 2}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.filters .select{width:auto;min-width:190px}.filters .input{width:auto}
.badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:700;border:1px solid #3b3733}.badge.orange{background:rgba(255,122,0,.12);color:var(--orange);border-color:rgba(255,122,0,.28)}.badge.green{background:rgba(50,213,131,.11);color:var(--green);border-color:rgba(50,213,131,.26)}.badge.yellow{background:rgba(253,176,34,.1);color:var(--yellow);border-color:rgba(253,176,34,.28)}.badge.gray{background:#262320;color:#aaa39c}.badge.red{background:rgba(249,112,102,.1);color:var(--red);border-color:rgba(249,112,102,.24)}
.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:720px}.table th,.table td{padding:13px 15px;border-bottom:1px solid #2e2b28;text-align:left}.table th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#8f8983}.table tr:last-child td{border-bottom:0}.table .right{text-align:right}.empty{padding:42px 20px;text-align:center;color:var(--muted)}
.show-list{display:grid;gap:12px}.show-card{padding:18px}.show-row{display:grid;grid-template-columns:92px minmax(0,1fr) 150px;gap:18px;align-items:start}.show-day{font:700 27px Sora;color:var(--orange);line-height:1}.show-month{text-transform:uppercase;color:var(--muted);font-size:11px;margin-top:7px;letter-spacing:.08em}.show-title-row{display:flex;gap:10px;justify-content:space-between;align-items:flex-start}.show-title{font:600 17px Sora;margin:0}.show-meta{display:grid;gap:5px;color:var(--muted);font-size:12px;margin-top:10px}.show-money{text-align:right}.show-money strong{font:700 20px Sora;display:block}.show-actions{display:flex;gap:7px;flex-wrap:wrap;border-top:1px solid #302d2a;margin-top:16px;padding-top:14px}
.chart-card{padding:18px}.chart-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.chart{height:235px;position:relative;display:flex;align-items:stretch}.bar-chart{display:flex;align-items:flex-end;gap:10px;width:100%;padding:20px 6px 28px;border-bottom:1px solid #3a3632}.bar-group{flex:1;height:100%;display:flex;align-items:flex-end;gap:4px;position:relative;min-width:18px}.bar{flex:1;min-width:5px;border-radius:5px 5px 0 0;background:var(--orange);transition:.2s}.bar.alt{background:#ef5a4f}.bar.soft{background:#ff9f43}.bar-label{position:absolute;bottom:-23px;left:50%;transform:translateX(-50%);font-size:10px;color:#8f8983;text-transform:capitalize;white-space:nowrap}.chart-empty{display:grid;place-items:center;width:100%;color:var(--muted)}.line-chart{width:100%;height:100%}.chart-legend{display:flex;gap:12px;color:var(--muted);font-size:11px}.legend-dot{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:5px}.progress-list{display:grid;gap:10px}.progress-row{display:grid;grid-template-columns:minmax(90px,1fr) 2fr auto;gap:10px;align-items:center}.progress-track{height:9px;background:#2b2825;border-radius:999px;overflow:hidden}.progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--orange),var(--orange2))}
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;padding:18px}.modal{width:min(720px,100%);max-height:92vh;overflow:auto;background:#191715;border:1px solid #3a3632;border-radius:18px;box-shadow:0 25px 80px rgba(0,0,0,.6)}.modal-sm{width:min(490px,100%)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:19px 21px;border-bottom:1px solid #302d2a;position:sticky;top:0;background:#191715;z-index:2}.modal-head h2{font:600 18px Sora;margin:0}.modal-body{padding:21px}.modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:17px 21px;border-top:1px solid #302d2a}.modal-close{border:0;background:transparent;color:#aaa39c;font-size:22px;line-height:1}.modal-close:hover{color:white}
.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;position:relative;overflow:hidden;background:#101010}.login-page:before,.login-page:after{content:"";position:absolute;width:430px;height:430px;border-radius:50%;filter:blur(80px);opacity:.17;background:var(--orange)}.login-page:before{left:-180px;top:10%}.login-page:after{right:-200px;bottom:5%;opacity:.1}.login-wrap{width:min(450px,100%);position:relative;z-index:2}.login-brand{text-align:center;margin-bottom:25px}.login-brand .brand-mark{margin:0 auto 14px;width:56px;height:56px}.login-brand h1{font:700 30px Sora;margin:0}.login-brand p{color:var(--muted);line-height:1.5}.login-card{padding:24px;border-radius:18px}.tabs{background:#25221f;border-radius:10px;padding:4px;display:grid;grid-template-columns:1fr 1fr;margin-bottom:20px}.tab{border:0;background:transparent;color:#aaa39c;padding:9px;border-radius:8px;font-weight:700}.tab.active{background:#0d0d0d;color:#fff}.oauth-divider{display:flex;align-items:center;gap:12px;color:#8d8781;font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin:21px 0}.oauth-divider:before,.oauth-divider:after{content:"";height:1px;background:#36322e;flex:1}.google-dot{color:#ea4335;font-weight:900;font-size:18px}.login-back{text-align:center;color:var(--muted);font-size:12px;margin-top:20px}.login-back a:hover{color:var(--orange)}
.contract-preview{white-space:pre-wrap;background:#121110;border:1px solid #34312e;border-radius:10px;padding:16px;font:12px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;min-height:520px;max-height:630px;overflow:auto}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.plan-card{border-color:rgba(255,122,0,.35);padding:20px;display:flex;align-items:center;gap:16px}.plan-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:rgba(255,122,0,.12);color:var(--orange);flex:none}.plan-copy{flex:1}.plan-copy strong{font:600 15px Sora}.plan-copy p{color:var(--muted);margin:5px 0 0;font-size:12px}.plan-actions{display:flex;gap:8px;flex-wrap:wrap}.upgrade-hero{text-align:center;padding:10px 10px 2px}.upgrade-icon{width:62px;height:62px;border-radius:18px;margin:0 auto 14px;background:linear-gradient(135deg,var(--orange2),var(--orange));color:#17100a;display:grid;place-items:center;box-shadow:var(--glow)}.upgrade-hero h2{font:700 22px Sora;margin:0}.upgrade-hero p{color:var(--muted);line-height:1.55}.price{font:700 30px Sora;margin:18px 0 5px}.feature-list{display:grid;gap:9px;text-align:left;margin:18px 0}.feature{display:flex;gap:9px;align-items:center}.check{color:var(--green);font-weight:900}
.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.settings-stack{display:grid;gap:18px}.section-title{font:600 15px Sora;display:flex;gap:8px;align-items:center;margin:0 0 15px}.cost-list{display:grid;gap:8px;margin-top:12px}.cost-row{display:flex;align-items:center;gap:10px;padding:10px;background:#24211e;border-radius:9px}.cost-row .grow{flex:1}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-item{padding:12px;background:#211e1b;border-radius:9px}.detail-item small{display:block;color:var(--muted);margin-bottom:4px}.detail-item strong{font-size:13px}.pie{width:170px;height:170px;border-radius:50%;margin:5px auto 18px}.pie-legend{display:grid;grid-template-columns:1fr 1fr;gap:7px}.pie-key{font-size:11px;color:var(--muted);display:flex;gap:7px;align-items:center}.pie-key i{width:9px;height:9px;border-radius:3px;display:block}
.loading{min-height:60vh;display:grid;place-items:center}.loader-inner{text-align:center;color:var(--muted)}.loader-mark{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,var(--orange2),var(--orange));display:grid;place-items:center;margin:0 auto 12px;animation:pulse 1.4s infinite;box-shadow:var(--glow);color:#17100a}@keyframes pulse{50%{transform:scale(1.05);opacity:.75}}
#toast-root{position:fixed;z-index:300;right:18px;bottom:18px;display:grid;gap:9px;width:min(360px,calc(100vw - 36px))}.toast{background:#201d1a;border:1px solid #3d3833;border-radius:12px;padding:12px 14px;box-shadow:0 12px 40px rgba(0,0,0,.5);display:flex;align-items:flex-start;gap:10px;animation:toastIn .2s ease}.toast.success{border-color:rgba(50,213,131,.35)}.toast.error{border-color:rgba(249,112,102,.4)}.toast.info{border-color:rgba(255,122,0,.35)}@keyframes toastIn{from{opacity:0;transform:translateY(8px)}}
.error-box{padding:14px;border:1px solid rgba(249,112,102,.3);background:rgba(249,112,102,.07);border-radius:10px;color:#ffb4ad}.notice{padding:13px 15px;border:1px solid rgba(255,122,0,.25);background:rgba(255,122,0,.07);border-radius:10px;color:#e9c39d}.small{font-size:12px}.text-right{text-align:right}.mt-1{margin-top:8px}.mt-2{margin-top:14px}.mt-3{margin-top:20px}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:14px}.mb-3{margin-bottom:20px}.flex{display:flex}.grow{flex:1}.gap-1{gap:8px}.gap-2{gap:12px}.between{justify-content:space-between}.center{align-items:center}.wrap{flex-wrap:wrap}
@media(max-width:980px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-grid{grid-template-columns:1fr}.show-row{grid-template-columns:75px minmax(0,1fr) 130px}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0)}.mobile-overlay.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:35}.mobile-header{display:flex;position:sticky;top:0;z-index:30;background:rgba(11,11,11,.96);backdrop-filter:blur(12px);border-bottom:1px solid #282522;padding:11px 14px;align-items:center;justify-content:space-between}.mobile-brand{display:flex;align-items:center;gap:9px;font:700 13px Sora}.mobile-brand .brand-mark{width:34px;height:34px;border-radius:9px}.hamb{background:#1e1b18;border:1px solid #34312e;color:white;border-radius:9px;width:39px;height:39px}.main{margin-left:0}.page{padding:24px 14px 45px}.page-header{align-items:flex-start;flex-direction:column}.page-header h1{font-size:24px}.stats-grid{grid-template-columns:1fr 1fr;gap:10px}.stat{padding:15px}.stat-value{font-size:20px}.grid-2,.grid-3{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.show-row{grid-template-columns:58px minmax(0,1fr);gap:12px}.show-money{grid-column:2;text-align:left}.show-title-row{flex-direction:column}.detail-grid{grid-template-columns:1fr}.plan-card{align-items:flex-start;flex-wrap:wrap}.plan-actions{width:100%}.plan-actions .btn{flex:1}.contract-preview{min-height:380px}.pie-legend{grid-template-columns:1fr}.filters .select,.filters .input{flex:1;min-width:145px}.modal-body{padding:16px}.modal-head{padding:16px}.modal-foot{padding:14px 16px}.page-actions{width:100%}.page-actions .btn-primary{flex:1}.toolbar{width:100%}}
@media(max-width:480px){.stats-grid{grid-template-columns:1fr}.grid-4{grid-template-columns:1fr 1fr}.login-card{padding:18px}.page{padding-left:12px;padding-right:12px}.show-card{padding:14px}.show-row{grid-template-columns:52px minmax(0,1fr)}.show-actions .btn{flex:1}.chart{height:210px}.stat-label{font-size:10px}}

/* PWA + refinamentos mobile */
.brand-copy{min-width:0;flex:1}.install-app{margin-left:auto;border:1px solid rgba(255,122,0,.32);background:rgba(255,122,0,.09);color:#ffd2a8;border-radius:9px;min-height:34px;padding:7px 9px;font-size:11px;font-weight:800;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.install-app:hover{background:rgba(255,122,0,.16);color:#fff}.install-app.compact{min-height:36px;padding:7px 9px}.mobile-header-actions{display:flex;align-items:center;gap:7px}
@media(max-width:760px){
  html{background:#0b0b0b}.mobile-header{padding-top:max(10px,env(safe-area-inset-top));padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.page{padding-bottom:max(64px,calc(44px + env(safe-area-inset-bottom)))}
  .sidebar{width:min(86vw,300px);padding-top:env(safe-area-inset-top)}.brand{padding:16px 14px}.brand .install-app{display:none}.mobile-brand{min-width:0}.mobile-brand span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-header .install-app span{display:inline}.mobile-header .install-app{font-size:11px}
  .input,.select,.textarea{font-size:16px;min-height:46px}.btn{min-height:44px}.btn-sm{min-height:38px}.hamb{width:42px;height:42px}
  .page-header{margin-bottom:20px;gap:13px}.page-header p{line-height:1.45}.page-actions{gap:8px}.page-actions>.btn,.page-actions>#planAgenda{min-height:42px}
  .show-card{border-radius:16px}.show-meta{font-size:12px;line-height:1.45}.show-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.show-actions .btn{width:100%;margin-left:0!important}.show-actions .red:last-child{grid-column:1/-1}
  .filters{display:grid;grid-template-columns:1fr 1fr}.filters .select,.filters .input{width:100%;min-width:0}
  .modal-backdrop{align-items:flex-end;padding:0}.modal{width:100%;max-height:92dvh;border-radius:20px 20px 0 0;border-bottom:0}.modal-sm{width:100%}.modal-head{padding-top:18px}.modal-foot{padding-bottom:max(14px,calc(12px + env(safe-area-inset-bottom)))}
  .upgrade-hero{padding-bottom:8px}.upgrade-hero h2{font-size:20px}.price{font-size:28px}
  #toast-root{bottom:max(16px,env(safe-area-inset-bottom));right:12px;width:calc(100vw - 24px)}
}
@media(max-width:430px){.mobile-header .install-app span{display:none}.mobile-header .install-app{width:40px;justify-content:center;padding:0}.stats-grid{gap:9px}.card.pad,.stat{padding:14px}.page-header h1{font-size:22px}.show-title{font-size:15px}.grid-4{grid-template-columns:1fr}.filters{grid-template-columns:1fr}.plan-actions{display:grid;grid-template-columns:1fr;width:100%}.plan-actions .btn{width:100%}}
