:root{--bg:#0e0e10;--surface:#1a1a1f;--surface-2:#242429;--border:#2e2e36;--text:#f5f5f7;--muted:#9a9aa5;--primary:#d4af37;--primary-dark:#b8941f;--on-primary:#1a1400;--success:#3dd68c;--danger:#ff5c5c;--info:#5aa9ff;--radius:12px;--radius-sm:8px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior-y:none;margin:0;font-size:15px;line-height:1.45}a{color:var(--primary);text-decoration:none}h1,h2,h3,h4{margin:0;font-weight:600}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:240px;height:100vh;padding:18px 14px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;padding:6px 8px 18px;display:flex}.brand .logo{background:linear-gradient(135deg, var(--primary), var(--primary-dark));width:38px;height:38px;color:var(--on-primary);border-radius:10px;place-items:center;font-size:18px;font-weight:800;display:grid}.brand .brand-name{font-size:16px;font-weight:700;line-height:1.1}.brand .brand-sub{color:var(--muted);font-size:11px}.nav{flex-direction:column;gap:2px;margin-top:6px;display:flex}.nav a{border-radius:var(--radius-sm);color:var(--muted);align-items:center;gap:10px;padding:9px 12px;font-size:14px;font-weight:500;display:flex}.nav a:hover{background:var(--surface-2);color:var(--text)}.nav a.active{color:var(--primary);background:#d4af371f}.nav .nav-ico{text-align:center;width:18px}.nav-sep{background:var(--border);height:1px;margin:10px 4px}.nav-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:6px 12px 2px;font-size:10px}.content{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10;background:#1a1a1fb3;flex-shrink:0;justify-content:space-between;align-items:center;height:62px;padding:0 24px;display:flex;position:sticky;top:0}.topbar .page-title{font-size:17px;font-weight:600}.topbar-left{align-items:center;gap:12px;min-width:0;display:flex}.topbar-right{align-items:center;gap:14px;display:flex}.nav-toggle{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);width:38px;height:38px;color:var(--text);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;display:none}.nav-overlay{display:none}.page{width:100%;max-width:1200px;margin:0 auto;padding:24px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.page-head p{color:var(--muted);margin-top:2px;font-size:13px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.card+.card{margin-top:16px}.card-title{justify-content:space-between;align-items:center;margin-bottom:14px;font-size:14px;font-weight:600;display:flex}.grid{gap:16px;display:grid}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-4{grid-template-columns:repeat(4,1fr)}@media (width<=900px){.grid.cols-3,.grid.cols-4{grid-template-columns:repeat(2,1fr)}}@media (width<=620px){.grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:1fr}}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px}.kpi .kpi-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.kpi .kpi-value{margin-top:6px;font-size:26px;font-weight:700}.kpi .kpi-value.gold{color:var(--primary)}.kpi .kpi-sub{color:var(--muted);margin-top:4px;font-size:12px}.btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-size:14px;font-weight:600;transition:filter .15s,opacity .15s,transform 80ms;display:inline-flex}.btn:hover{filter:brightness(1.12)}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg, var(--primary), var(--primary-dark));color:var(--on-primary);border-color:#0000}.btn-danger{color:var(--danger);background:0 0;border-color:#ff5c5c66}.btn-ghost{background:0 0}.btn-sm{padding:6px 10px;font-size:13px}.btn-block{width:100%}.field{margin-bottom:14px}.label{color:var(--muted);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.input,.select,.textarea{border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text);padding:10px 12px;font-family:inherit;font-size:14px}.input:focus,.select:focus,.textarea:focus{border-color:var(--primary);outline:none}.ss{width:100%;position:relative}.ss-control{border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-family:inherit;font-size:14px;display:flex}.ss-control:hover{border-color:var(--muted)}.ss-control:focus{border-color:var(--primary);outline:none}.ss-ph{color:var(--muted)}.ss-control>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ss-caret{color:var(--muted);flex-shrink:0;font-size:11px}.ss-disabled .ss-control{opacity:.55;cursor:not-allowed}.ss-panel{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);z-index:1000;overflow:hidden;box-shadow:0 20px 50px -18px #000000d9}.ss-search{background:var(--bg);border:none;border-bottom:1px solid var(--border);width:100%;color:var(--text);outline:none;padding:9px 12px;font-size:14px}.ss-list{max-height:240px;overflow-y:auto}.ss-option{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;padding:9px 12px;font-size:14px;overflow:hidden}.ss-option.hi{background:var(--surface)}.ss-option.sel{color:var(--primary);font-weight:600}.ss-empty{color:var(--muted);text-align:center;padding:14px;font-size:13px}.svc-qty-list{flex-direction:column;gap:6px;display:flex}.svc-qty{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;display:flex}.svc-qty.on{border-color:var(--primary)}.svc-qty-name{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.svc-qty-ctrl{align-items:center;gap:6px;display:flex}.plan-hint{border-radius:var(--radius-sm);background:#d4af371a;border:1px solid #d4af374d;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;padding:9px 12px;font-size:13px;display:flex}.plan-hint.expired{border-color:var(--border);color:var(--muted);background:#9a9aa51a}.textarea{resize:vertical;min-height:70px}.form-row{flex-wrap:wrap;gap:12px;display:flex}.form-row>*{flex:1;min-width:140px}.hint{color:var(--muted);margin-top:6px;font-size:12px}.table-wrap{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;overflow-x:auto}table.tbl{border-collapse:collapse;width:100%;font-size:14px}.tbl th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border);padding:10px 12px;font-size:12px;font-weight:600}.tbl td{border-bottom:1px solid var(--border);padding:11px 12px}.tbl tr:last-child td{border-bottom:none}.tbl tbody tr:hover{background:var(--surface-2)}.tbl .num{text-align:right;font-variant-numeric:tabular-nums}.badge{border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:12px;font-weight:600;display:inline-flex}.badge-gold{color:var(--primary);background:#d4af3724}.badge-green{color:var(--success);background:#3dd68c24}.badge-red{color:var(--danger);background:#ff5c5c24}.badge-blue{color:var(--info);background:#5aa9ff24}.badge-muted{background:var(--surface-2);color:var(--muted)}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;border-radius:999px;padding:7px 13px;font-size:13px;font-weight:600}.chip.active{border-color:var(--primary);color:var(--primary);background:#d4af3729}.pill-select{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;align-items:center;gap:8px;padding:4px 6px 4px 14px;display:inline-flex}.pill-select select{color:var(--text);cursor:pointer;background:0 0;border:none;padding:6px 8px;font-size:14px;font-weight:600}.pill-select select:focus{outline:none}.avatar{background:var(--surface-2);border:1px solid var(--border);width:34px;height:34px;color:var(--primary);border-radius:50%;place-items:center;font-weight:700;display:grid}.user-mini{align-items:center;gap:10px;display:flex}.user-mini .um-name{font-size:13px;font-weight:600;line-height:1.1}.user-mini .um-role{color:var(--muted);font-size:11px}.modal-backdrop{z-index:50;background:#0009;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:480px;max-width:100%;max-height:90vh;overflow-y:auto}.modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex;position:relative}.modal-head h3{font-size:16px}.modal-body{padding:20px}.modal-foot{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:16px 20px;display:flex}.x-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:22px;line-height:1}.bars{align-items:flex-end;gap:6px;height:160px;padding-top:10px;display:flex}.bar-col{flex-direction:column;flex:1;align-items:center;gap:6px;min-width:0;display:flex}.bar{background:linear-gradient(180deg, var(--primary), var(--primary-dark));border-radius:5px 5px 0 0;width:100%;max-width:26px;min-height:3px}.bar-label{color:var(--muted);white-space:nowrap;font-size:10px}.prog{background:var(--surface-2);border-radius:999px;height:8px;overflow:hidden}.prog>span{background:linear-gradient(90deg, var(--primary), var(--primary-dark));height:100%;display:block}.auth-wrap{background:radial-gradient(1200px 600px at 50% -10%, #d4af371a, transparent), var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{width:100%;max-width:420px}.auth-logo{flex-direction:column;align-items:center;gap:10px;margin-bottom:22px;display:flex}.auth-logo .logo{background:linear-gradient(135deg, var(--primary), var(--primary-dark));width:54px;height:54px;color:var(--on-primary);border-radius:14px;place-items:center;font-size:26px;font-weight:800;display:grid}.auth-title{font-size:20px;font-weight:700}.auth-sub{color:var(--muted);font-size:13px}.auth-foot{text-align:center;color:var(--muted);margin-top:16px;font-size:13px}.plan-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.plan-opt{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:left;background:var(--surface-2);padding:14px}.plan-opt.active{border-color:var(--primary);background:#d4af371a}.plan-opt .plan-name{font-size:15px;font-weight:700}.plan-opt .plan-desc{color:var(--muted);margin-top:4px;font-size:12px}.alert{border-radius:var(--radius-sm);margin-bottom:14px;padding:11px 14px;font-size:13px}.alert-error{color:#ff9a9a;background:#ff5c5c1f;border:1px solid #ff5c5c4d}.alert-ok{color:#8ff0c0;background:#3dd68c1f;border:1px solid #3dd68c4d}.empty{text-align:center;color:var(--muted);padding:40px 20px;font-size:14px}.loading{color:var(--muted);text-align:center;padding:30px}.row-actions{justify-content:flex-end;gap:6px;display:flex}.pay-cell{align-items:center;gap:8px;display:flex}.mini-select{background:var(--surface-2);color:var(--muted);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:3px 4px;font-size:12px}.mini-select:focus{border-color:var(--primary);outline:none}.muted{color:var(--muted)}.gold{color:var(--primary)}.flex{align-items:center;gap:10px;display:flex}.flex-between{justify-content:space-between;align-items:center;gap:10px;display:flex}.mt-0{margin-top:0}.spacer{flex:1}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.c-amarelo{--note:#d4af37}.c-azul{--note:#5aa9ff}.c-verde{--note:#3dd68c}.c-rosa{--note:#ff7eb6}.c-cinza{--note:#9a9aa5}.notes-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;display:grid}.note{background:color-mix(in srgb, var(--note) 9%, var(--surface));border:1px solid var(--border);border-left:4px solid var(--note);border-radius:var(--radius);flex-direction:column;gap:8px;min-height:150px;padding:14px;display:flex}.note-top{justify-content:space-between;align-items:center;min-height:18px;display:flex}.pin-btn{cursor:pointer;opacity:.3;filter:grayscale();background:0 0;border:none;padding:0;font-size:14px}.pin-btn.on{opacity:1;filter:none}.note-acts{opacity:0;gap:6px;transition:opacity .15s;display:flex}.note:hover .note-acts{opacity:1}.x-btn.sm{padding:0 2px;font-size:14px}.note-title{font-size:15px;font-weight:700}.note-body{white-space:pre-wrap;word-break:break-word;flex:1;font-size:14px}.note-remind{color:var(--muted);font-size:12px}.note-remind.overdue{color:var(--danger);font-weight:600}.note-foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding-top:8px;font-size:11px;display:flex}.note.is-done{opacity:.6}.note.is-done .note-title,.note.is-done .note-body{text-decoration:line-through}.color-chip{background:var(--note);cursor:pointer;border:2px solid #0000;border-radius:50%;width:24px;height:24px;padding:0}.color-chip.active{border-color:var(--text)}@media (width<=820px){.nav-toggle{display:inline-flex}.sidebar{z-index:100;width:260px;height:100vh;transition:transform .25s;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:0 0 40px #0009}.sidebar.open{transform:translate(0)}.nav-overlay.show{z-index:90;background:#0000008c;display:block;position:fixed;inset:0}.topbar{gap:10px;padding:0 14px}.topbar .page-title{white-space:nowrap;text-overflow:ellipsis;font-size:15px;overflow:hidden}.topbar-right{gap:8px}.page{padding:16px 14px}.page-head{margin-bottom:14px}.card{padding:14px}.modal-backdrop{align-items:flex-end;padding:0}.modal{border-radius:var(--radius) var(--radius) 0 0;width:100%;max-width:100%;max-height:92vh}}@media (width<=560px){.user-mini>div:nth-child(2){display:none}.pill-select{padding:4px 4px 4px 10px}.pill-select .muted{display:none}.pill-select select{max-width:130px}.page-head{flex-wrap:wrap}.page-head .btn{width:100%}.bars{height:130px}.auth-wrap{padding:16px}}.tabbar{display:none}.tab-label{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (width<=820px){.nav-toggle{display:none}.topbar{height:calc(56px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}.sidebar{padding-top:calc(18px + env(safe-area-inset-top));padding-bottom:calc(18px + env(safe-area-inset-bottom))}.tabbar{z-index:80;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);-webkit-user-select:none;user-select:none;background:#1a1a1feb;display:flex;position:fixed;bottom:0;left:0;right:0}.tab{cursor:pointer;min-width:0;min-height:54px;color:var(--muted);-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:7px 2px 5px;font-family:inherit;font-size:10.5px;font-weight:600;transition:color .15s;display:flex}.tab .tab-ico{font-size:20px;line-height:1}.tab.active{color:var(--primary)}.tab:active{background:var(--surface-2)}.content main{padding-bottom:calc(64px + env(safe-area-inset-bottom))}.input,.select,.textarea,.ss-search,.ss-control{font-size:16px}.note-acts{opacity:1}.modal{animation:.28s cubic-bezier(.22,.61,.36,1) sheet-up}.modal-head{padding-top:22px}.modal-head:before{content:"";background:var(--border);border-radius:999px;width:40px;height:4px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.modal-foot{padding-bottom:calc(16px + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.modal{animation:none}}
