@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";html,body,#root{min-width:320px;min-height:100%}html{background:#f3f6f8}body{min-height:100vh}:root{--navy-900:#0d2a3a;--navy-800:#11344a;--slate-700:#164656;--slate-600:#1e5568;--mint:#48c9b0;--mint-bright:#52d6b6;--mint-ink:#177a68;--mint-soft:#e6f7f3;--mint-softer:#f2fbf9;--on-dark:#e2e8f0;--on-dark-muted:#7f9daa;--canvas:#f3f6f8;--panel:#fff;--panel-alt:#f7fafb;--line:#e3eaee;--line-strong:#cfdae0;--ink:#0d2a3a;--text:#2f4756;--muted:#5f7785;--subtle:#8ba0ab;--success:#1f9d7e;--success-soft:#e3f6ef;--warning:#c98a1b;--warning-soft:#fdf3e1;--danger:#d64550;--danger-soft:#fce9ea;--info:#2f7bbf;--info-soft:#e6f0fa;--violet:#6c5fc7;--violet-soft:#eeebfb;--radius-sm:6px;--radius:10px;--radius-lg:14px;--shadow-xs:0 1px 2px #0d2a3a0d;--shadow-sm:0 2px 8px #0d2a3a0f;--shadow-md:0 10px 30px #0d2a3a1a;--shadow-lg:0 24px 60px #0d2a3a38;--ring:0 0 0 3px #48c9b047;--ease:cubic-bezier(.2, .8, .2, 1);--navy:var(--navy-900);--teal:var(--mint-ink);--teal-soft:var(--mint-soft);--red:var(--danger);--green:var(--success);--blue:var(--info);--brand:var(--mint-ink)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--canvas);min-width:320px;color:var(--text);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11", "ss01";margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}h1,h2,h3,h4{color:var(--ink);letter-spacing:-.02em}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{box-shadow:var(--ring);outline:none}::selection{background:#48c9b04d}svg.lucide{flex-shrink:0}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-in{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:none}}@keyframes pulse-ring{0%{box-shadow:0 0 #52d6b673}70%{box-shadow:0 0 0 7px #52d6b600}to{box-shadow:0 0 #52d6b600}}@keyframes float{0%,to{transform:translate(0)}50%{transform:translate(20px,-24px)}}@keyframes grow-up{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.page-enter>*{animation:fade-up .45s var(--ease) both}.page-enter>:nth-child(2){animation-delay:50ms}.page-enter>:nth-child(3){animation-delay:.1s}.page-enter>:nth-child(4){animation-delay:.15s}.page-enter>:nth-child(n+5){animation-delay:.2s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-shell{min-height:100vh;display:flex}.main-content{flex-direction:column;flex:1;min-width:0;display:flex}.content-scroll{width:100%;max-width:1520px;margin:0 auto;padding:32px 40px 56px}.sidebar{background:var(--navy-900);width:312px;height:100vh;color:var(--on-dark);scrollbar-width:thin;scrollbar-color:var(--slate-700) transparent;background-image:radial-gradient(120% 60% at 0 0,#48c9b014,#0000 60%);flex-direction:column;flex:0 0 312px;padding:24px 16px 16px;display:flex;position:sticky;top:0;overflow-y:auto}.brand-block{align-items:center;gap:12px;padding:0 8px 26px;display:flex}.brand-mark{background:linear-gradient(145deg, var(--mint-bright), var(--mint));width:42px;height:42px;color:var(--navy-900);border-radius:13px;flex:0 0 42px;place-items:center;font-size:21px;font-weight:800;display:grid;box-shadow:0 6px 18px #48c9b047,inset 0 1px #ffffff59}.brand-block strong{color:#fff;letter-spacing:-.01em;font-size:16px;font-weight:700;line-height:1.2;display:block}.brand-block span{color:var(--on-dark-muted);margin-top:3px;font-size:12px;font-weight:400;display:block}.workspace-switcher{border-radius:var(--radius);background:#16465673;border:1px solid #7f9daa38;align-items:center;gap:10px;margin:0 0 26px;padding:11px 12px;transition:border-color .2s,background .2s;display:flex}.workspace-switcher:hover{background:#164656b3;border-color:#48c9b073}.workspace-dot{background:var(--mint-bright);border-radius:50%;flex:0 0 8px;width:8px;height:8px;animation:2.4s infinite pulse-ring}.workspace-switcher div{flex:1;min-width:0}.workspace-switcher small{color:var(--on-dark-muted);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:500;display:block}.workspace-switcher strong{color:#fff;margin-top:1px;font-size:14px;font-weight:600;display:block}.chevron{color:var(--on-dark-muted);display:grid}.main-nav{flex-direction:column;gap:2px;display:flex}.nav-caption{color:var(--on-dark-muted);letter-spacing:.12em;text-transform:uppercase;padding:0 12px 8px;font-size:11px;font-weight:500}.nav-caption.second{margin-top:26px}.nav-item{border-radius:var(--radius);width:100%;color:var(--on-dark-muted);text-align:left;transition:background .2s var(--ease), color .2s var(--ease);background:0 0;border:0;align-items:center;gap:12px;padding:10px 12px;font-size:14px;font-weight:400;display:flex;position:relative}.nav-item:before{content:"";background:var(--mint-bright);width:3px;transition:transform .25s var(--ease);border-radius:0 3px 3px 0;position:absolute;top:9px;bottom:9px;left:0;transform:scaleY(0);box-shadow:0 0 12px #52d6b6b3}.nav-item:hover{color:var(--on-dark);background:#1646568c}.nav-item.active{background:var(--slate-700);color:#fff;font-weight:600}.nav-item.active:before{transform:scaleY(1)}.nav-icon{width:20px;color:inherit;transition:color .2s, transform .2s var(--ease);place-items:center;display:grid}.nav-item:hover .nav-icon{transform:translate(1px)}.nav-item.active .nav-icon{color:var(--mint-bright)}.nav-item em{background:var(--mint);min-width:22px;height:22px;color:var(--navy-900);border-radius:999px;place-items:center;margin-left:auto;padding:0 7px;font-size:11px;font-style:normal;font-weight:700;display:grid}.nav-group{flex-direction:column;gap:2px;display:flex}.nav-group-chevron{transition:transform .25s var(--ease);margin-left:auto;display:grid}.nav-group-chevron.open{transform:rotate(90deg)}.nav-group-items{animation:fade-up .25s var(--ease) both;border-left:1px solid #7f9daa40;flex-direction:column;gap:2px;margin:2px 0 4px 21px;padding-left:10px;display:flex}.nav-subitem{padding:8px 10px;font-size:13.5px}.nav-subitem.active{background:#164656e6}.nav-group-toggle.active{color:#fff}.sidebar-footer{flex-direction:column;gap:12px;margin-top:auto;padding-top:22px;display:flex}.system-status{color:var(--on-dark-muted);align-items:center;gap:8px;padding:0 10px;font-size:12px;display:flex}.system-status span{background:var(--mint-bright);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #52d6b62e}.account-card{border-radius:var(--radius);background:#16465659;border:1px solid #7f9daa33;align-items:center;gap:10px;padding:10px;display:flex}.account-card>div:not(.avatar){flex:1;min-width:0}.account-card strong{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;display:block;overflow:hidden}.account-card span{color:var(--on-dark-muted);font-size:11.5px;display:block}.account-card button{color:var(--on-dark-muted);border-radius:var(--radius-sm);background:0 0;border:0;padding:4px;display:grid}.account-card button:hover{color:#fff;background:#ffffff0f}.topbar{z-index:40;-webkit-backdrop-filter:saturate(180%)blur(12px);backdrop-filter:saturate(180%)blur(12px);border-bottom:1px solid var(--line);background:#ffffffd1;justify-content:space-between;align-items:center;gap:16px;height:68px;padding:0 40px;display:flex;position:sticky;top:0}.search-bar{border:1px solid var(--line);background:var(--panel-alt);width:100%;min-width:0;max-width:380px;height:40px;color:var(--subtle);border-radius:999px;flex:auto;align-items:center;gap:10px;padding:0 14px;transition:border-color .2s,box-shadow .2s,background .2s;display:flex}.search-bar:focus-within{border-color:var(--mint);box-shadow:var(--ring);color:var(--mint-ink);background:#fff}.search-bar input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:14px}.search-bar input::placeholder{color:var(--subtle)}.search-bar kbd{color:var(--subtle);border:1px solid var(--line);background:#fff;border-radius:5px;padding:3px 6px;font:500 11px/1 Inter}.topbar-actions{align-items:center;gap:6px;display:flex}.icon-button{border-radius:var(--radius);width:40px;height:40px;color:var(--muted);background:0 0;border:0;place-items:center;transition:background .2s,color .2s;display:grid;position:relative}.icon-button:hover{background:var(--mint-soft);color:var(--mint-ink)}.icon-button .dot{background:var(--danger);border:2px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute;top:9px;right:10px}.topbar-divider{background:var(--line);width:1px;height:28px;margin:0 8px}.user-profile{cursor:pointer;border-radius:999px;align-items:center;gap:10px;padding:5px 8px 5px 5px;transition:background .2s;display:flex;position:relative}.user-profile:hover{background:var(--panel-alt)}.user-name{flex-direction:column;line-height:1.2;display:flex}.user-name strong{color:var(--ink);white-space:nowrap;font-size:13.5px;font-weight:600}.user-name small{color:var(--subtle);font-size:12px}.user-dropdown{z-index:100;border:1px solid var(--line);border-radius:var(--radius);width:240px;box-shadow:var(--shadow-md);opacity:0;visibility:hidden;transition:opacity .2s var(--ease), transform .2s var(--ease), visibility .2s;background:#fff;padding:6px;position:absolute;top:calc(100% + 10px);right:0;transform:translateY(-6px)}.user-profile:hover .user-dropdown,.user-profile:focus-within .user-dropdown{opacity:1;visibility:visible;transform:none}.user-dropdown-header{border-bottom:1px solid var(--line);margin-bottom:6px;padding:10px 10px 12px}.user-dropdown-header strong{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;display:block;overflow:hidden}.user-dropdown-header span{color:var(--subtle);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12.5px;display:block;overflow:hidden}.user-dropdown-item{border-radius:var(--radius-sm);width:100%;color:var(--danger);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:9px 10px;font-size:13.5px;font-weight:500;transition:background .15s;display:flex}.user-dropdown-item:hover{background:var(--danger-soft)}.avatar,.top-avatar{letter-spacing:.02em;object-fit:cover;border-radius:11px;place-items:center;font-size:12px;font-weight:700;display:grid}.avatar{flex:0 0 36px;width:36px;height:36px}.top-avatar{border-radius:50%;width:36px;height:36px}.user-avatar{background:var(--mint);color:var(--navy-900)}.top-avatar{background:linear-gradient(145deg, var(--mint-bright), var(--mint));color:var(--navy-900)}.blue{background:var(--info-soft);color:var(--info)}.amber{background:var(--warning-soft);color:var(--warning)}.violet{background:var(--violet-soft);color:var(--violet)}.green{background:var(--success-soft);color:var(--success)}.pink{color:#b4507d;background:#fce8f1}.page-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px;display:flex}.page-heading h1{color:var(--ink);letter-spacing:-.03em;margin:0;font-size:28px;font-weight:700;line-height:1.15}.page-heading h1 span{color:var(--mint);vertical-align:4px;font-size:20px}.eyebrow{color:var(--mint-ink);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:11.5px;font-weight:600}.subheading{color:var(--muted);margin:8px 0 0;font-size:14.5px}.section-title{color:var(--ink);margin:0 0 4px;font-size:16px;font-weight:650}.section-subtitle{color:var(--muted);margin:0;font-size:13px}.btn,.primary-button,.secondary-button{border-radius:var(--radius);white-space:nowrap;height:40px;transition:background .2s var(--ease), border-color .2s, color .2s, box-shadow .2s, transform .15s var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.btn:active:not(:disabled),.primary-button:active:not(:disabled){transform:translateY(1px)}.btn:disabled,.primary-button:disabled,.secondary-button:disabled{opacity:.5}.btn-primary,.primary-button{background:var(--mint);color:var(--navy-900);box-shadow:0 6px 16px -6px #48c9b0b3,inset 0 1px #ffffff4d}.btn-primary:hover:not(:disabled),.primary-button:hover:not(:disabled){background:var(--mint-bright);transform:translateY(-1px);box-shadow:0 10px 22px -8px #48c9b0d9,inset 0 1px #ffffff4d}.btn-dark{background:var(--navy-900);color:#fff}.btn-dark:hover:not(:disabled){background:var(--slate-700)}.btn-secondary,.secondary-button{color:var(--ink);border-color:var(--line-strong);box-shadow:var(--shadow-xs);background:#fff}.btn-secondary:hover:not(:disabled),.secondary-button:hover:not(:disabled){border-color:var(--mint);color:var(--mint-ink)}.btn-soft{background:var(--mint-soft);color:var(--mint-ink)}.btn-soft:hover:not(:disabled){background:#d3f1ea}.btn-ghost{color:var(--muted);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--panel-alt);color:var(--ink)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:#c13541}.btn-danger-soft{background:var(--danger-soft);color:var(--danger)}.btn-danger-soft:hover:not(:disabled){background:#f8d7da}.btn-sm{border-radius:8px;height:32px;padding:0 12px;font-size:13px}.btn-xs{border-radius:7px;gap:5px;height:26px;padding:0 9px;font-size:12px}.btn-icon{width:36px;padding:0}.btn-icon.btn-sm{width:32px}.btn-block{width:100%}.ghost-button{border-radius:var(--radius-sm);color:var(--mint-ink);transition:background .2s, gap .2s var(--ease);background:0 0;border:0;align-items:center;gap:6px;padding:6px 8px;font-size:13px;font-weight:600;display:inline-flex}.ghost-button:hover{background:var(--mint-soft);gap:9px}.link-button{color:var(--mint-ink);background:0 0;border:0;padding:0;font-size:13px;font-weight:600}.link-button:hover{text-decoration:underline}.link-button.danger{color:var(--danger)}.panel,.metric-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}.panel{padding:22px 24px}.panel-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.panel h2{color:var(--ink);margin:0 0 4px;font-size:16px;font-weight:650}.panel-heading p{color:var(--muted);margin:0;font-size:13px}.card-soft{background:var(--panel-alt);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.card-soft.is-active{background:var(--mint-softer);border-color:#48c9b099}.card-hover{transition:transform .2s var(--ease), box-shadow .2s var(--ease), border-color .2s}.card-hover:hover{box-shadow:var(--shadow-md);border-color:var(--line-strong);transform:translateY(-2px)}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px;display:grid}.metric-card{transition:transform .25s var(--ease), box-shadow .25s var(--ease);padding:20px 20px 18px;position:relative;overflow:hidden}.metric-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.metric-top{color:var(--muted);justify-content:space-between;align-items:center;font-size:13px;font-weight:500;display:flex}.metric-icon{border-radius:11px;place-items:center;width:38px;height:38px;display:grid}.blue-icon{color:var(--info);background:var(--info-soft)}.green-icon{color:var(--mint-ink);background:var(--mint-soft)}.red-icon{color:var(--danger);background:var(--danger-soft)}.violet-icon{color:var(--violet);background:var(--violet-soft)}.metric-card>strong{color:var(--ink);letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin:14px 0 6px;font-size:28px;font-weight:700;display:block}.metric-card>strong small{color:var(--subtle);letter-spacing:0;font-size:12px;font-weight:500}.metric-card p{color:var(--subtle);margin:0;padding-right:90px;font-size:12.5px}.metric-card p b{font-weight:600}.positive{color:var(--success)}.negative{color:var(--danger)}.sparkline{opacity:.85;align-items:flex-end;gap:4px;width:78px;height:28px;display:flex;position:absolute;bottom:18px;right:20px}.sparkline i{transform-origin:bottom;width:7px;animation:grow-up .6s var(--ease) both;background:currentColor;border-radius:4px 4px 1px 1px;display:block}.sparkline i:nth-child(2){animation-delay:40ms}.sparkline i:nth-child(3){animation-delay:80ms}.sparkline i:nth-child(4){animation-delay:.12s}.sparkline i:nth-child(5){animation-delay:.16s}.sparkline i:nth-child(6){animation-delay:.2s}.sparkline i:nth-child(7){animation-delay:.24s}.blue-spark{color:#8db6e0}.green-spark{color:var(--mint)}.red-spark{color:#ec9aa0}.violet-spark{color:#a89fe3}.blue-spark i:first-child{height:30%}.blue-spark i:nth-child(2){height:45%}.blue-spark i:nth-child(3){height:38%}.blue-spark i:nth-child(4){height:58%}.blue-spark i:nth-child(5){height:52%}.blue-spark i:nth-child(6){height:75%}.blue-spark i:nth-child(7){height:100%}.green-spark i:first-child{height:40%}.green-spark i:nth-child(2){height:55%}.green-spark i:nth-child(3){height:48%}.green-spark i:nth-child(4){height:66%}.green-spark i:nth-child(5){height:62%}.green-spark i:nth-child(6){height:84%}.green-spark i:nth-child(7){height:100%}.red-spark i:first-child{height:20%}.red-spark i:nth-child(2){height:32%}.red-spark i:nth-child(3){height:25%}.red-spark i:nth-child(4){height:58%}.red-spark i:nth-child(5){height:50%}.red-spark i:nth-child(6){height:74%}.red-spark i:nth-child(7){height:100%}.violet-spark i:first-child{height:28%}.violet-spark i:nth-child(2){height:42%}.violet-spark i:nth-child(3){height:34%}.violet-spark i:nth-child(4){height:58%}.violet-spark i:nth-child(5){height:76%}.violet-spark i:nth-child(6){height:64%}.violet-spark i:nth-child(7){height:96%}.dashboard-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:16px;margin-bottom:16px;display:grid}.map-area{align-items:center;gap:28px;min-height:210px;display:flex}.map-shape{background:var(--mint-soft);clip-path:polygon(2% 43%,12% 22%,27% 16%,38% 25%,50% 11%,61% 25%,75% 19%,91% 35%,100% 57%,91% 70%,77% 67%,67% 89%,48% 79%,33% 96%,18% 77%,4% 80%,11% 58%);width:290px;height:145px;margin-left:8px;position:relative}.map-shape:after{content:"";clip-path:inherit;opacity:.6;background:#c9eee5;position:absolute;inset:14px}.map-dot{z-index:2;background:var(--mint-ink);color:#fff;width:26px;height:26px;transition:transform .2s var(--ease);border:3px solid #fff;border-radius:50%;place-items:center;font-size:11px;font-weight:700;display:grid;position:absolute;box-shadow:0 3px 8px #0d2a3a40}.map-dot:hover{transform:scale(1.15)}.dot-one{top:37%;left:19%}.dot-two{background:var(--navy-900);width:32px;height:32px;top:19%;left:40%}.dot-three{top:52%;left:56%}.dot-four{top:28%;left:71%}.dot-five{top:44%;left:80%}.map-legend{color:var(--muted);flex-direction:column;gap:14px;font-size:13px;display:flex}.map-legend div{align-items:center;gap:8px;min-width:170px;display:flex}.map-legend b{color:var(--ink);margin-left:auto}.legend-dot{border-radius:50%;width:9px;height:9px;display:inline-block}.high{background:var(--navy-900)}.medium{background:var(--mint-ink)}.low{background:var(--mint)}.revenue-total{align-items:baseline;gap:10px;margin:22px 0 8px;display:flex}.revenue-total strong{color:var(--ink);letter-spacing:-.03em;font-size:28px;font-weight:700}.revenue-total span{color:var(--subtle);font-size:13px}.revenue-total b{color:var(--success);margin-left:4px}.chart{height:150px;padding:4px 0 0 34px;position:relative}.chart-grid{border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:5px 0 22px 34px}.chart-grid span{color:var(--subtle);font-size:11px;transform:translate(-34px,-7px)}.bars{border-bottom:1px solid var(--line);justify-content:space-around;align-items:flex-end;display:flex;position:absolute;inset:5px 0 24px 48px}.bars i{transform-origin:bottom;width:26px;animation:grow-up .7s var(--ease) both;background:#cbefe6;border-radius:6px 6px 2px 2px;transition:background .2s}.bars i:hover{background:var(--mint)}.bars i.current{background:linear-gradient(180deg, var(--mint-bright), var(--mint-ink))}.chart-labels{color:var(--subtle);justify-content:space-around;font-size:11.5px;display:flex;position:absolute;bottom:0;left:46px;right:0}.tenants-panel{padding:22px 0 0}.tenants-panel .table-wrap{overflow:visible}.tenants-panel tbody tr:last-child td:first-child{border-bottom-left-radius:var(--radius-lg)}.tenants-panel tbody tr:last-child td:last-child{border-bottom-right-radius:var(--radius-lg)}.tenants-heading{padding:0 24px 18px}.table-toolbar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel-alt);flex-wrap:wrap;gap:10px;padding:14px 24px;display:flex}.search-box{border:1px solid var(--line);border-radius:var(--radius);max-width:340px;height:38px;color:var(--subtle);background:#fff;flex:1;align-items:center;gap:8px;padding:0 12px;transition:border-color .2s,box-shadow .2s;display:flex}.search-box:focus-within{border-color:var(--mint);box-shadow:var(--ring);color:var(--mint-ink)}.search-box input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:13.5px}.table-toolbar select,.filter-button{border:1px solid var(--line);border-radius:var(--radius);height:38px;color:var(--text);background:#fff;align-items:center;gap:7px;padding:0 12px;font-size:13.5px;transition:border-color .2s;display:inline-flex}.table-toolbar select:hover,.filter-button:hover{border-color:var(--mint)}.filter-button{margin-left:auto}.table-wrap{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%}.tenants-panel table,.data-table{min-width:760px}.data-table.compact{min-width:520px}th{background:var(--panel-alt);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-bottom:1px solid var(--line);padding:12px 20px;font-size:11.5px;font-weight:600}td{color:var(--text);border-bottom:1px solid var(--line);white-space:nowrap;padding:14px 20px;font-size:13.5px}.data-table td{white-space:normal}.data-table td.num,.data-table td.actions{white-space:nowrap}tbody tr{transition:background .15s}tbody tr:hover td{background:var(--mint-softer)}tbody tr:last-child td{border-bottom:0}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}td.actions{text-align:right}td.actions .row{flex-wrap:nowrap;justify-content:flex-end}td.empty,.empty-state{text-align:center;color:var(--subtle);white-space:normal;padding:40px 20px;font-size:13.5px}.data-table-panel{padding:0;overflow:hidden}.data-table-panel .panel-heading{padding:20px 24px 16px}.company-cell{align-items:center;gap:12px;display:flex}.company-cell strong,.company-cell small{display:block}.company-cell strong{color:var(--ink);font-size:14px;font-weight:600}.company-cell small{color:var(--subtle);margin-top:2px;font-size:12px}.company-cell.clickable{cursor:pointer;border-radius:var(--radius);margin:-6px -8px;padding:6px 8px;transition:background .2s}.company-cell.clickable:hover{background:var(--mint-soft)}.company-cell.clickable:hover strong{color:var(--mint-ink)}.company-cell.clickable .open-hint{opacity:0;color:var(--mint-ink);transition:opacity .2s, transform .2s var(--ease);transform:translate(-4px)}.company-cell.clickable:hover .open-hint{opacity:1;transform:none}.plan-tag{background:var(--mint-soft);color:var(--mint-ink);border-radius:999px;align-items:center;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.status{background:var(--success-soft);color:var(--success);border-radius:999px;align-items:center;gap:7px;padding:3px 10px 3px 8px;font-size:12px;font-weight:600;display:inline-flex}.status i{background:currentColor;border-radius:50%;width:7px;height:7px}.status.en-gracia{background:var(--warning-soft);color:var(--warning)}.status.moroso{background:var(--danger-soft);color:var(--danger)}.row-menu{width:32px;height:32px;color:var(--subtle);background:0 0;border:0;border-radius:8px;place-items:center;transition:background .15s,color .15s;display:inline-grid}.row-menu:hover,.row-menu[aria-expanded=true]{background:var(--panel-alt);color:var(--ink)}.menu{z-index:60;border:1px solid var(--line);border-radius:var(--radius);min-width:200px;box-shadow:var(--shadow-md);animation:scale-in .18s var(--ease) both;background:#fff;flex-direction:column;padding:6px;display:flex;position:absolute}.menu-backdrop{z-index:55;position:fixed;inset:0}.menu-item{border-radius:var(--radius-sm);width:100%;color:var(--text);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:9px 10px;font-size:13.5px;transition:background .15s,color .15s;display:flex}.menu-item:hover{background:var(--mint-soft);color:var(--mint-ink)}.menu-item.danger{color:var(--danger)}.menu-item.danger:hover{background:var(--danger-soft);color:var(--danger)}.menu-separator{background:var(--line);height:1px;margin:5px 4px}.badge{white-space:nowrap;background:var(--panel-alt);color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge-dot:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.badge-success{background:var(--success-soft);color:var(--success)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-info{background:var(--info-soft);color:var(--info)}.badge-violet{background:var(--violet-soft);color:var(--violet)}.badge-mint{background:var(--mint-soft);color:var(--mint-ink)}.badge-neutral{background:var(--panel-alt);color:var(--muted);border:1px solid var(--line)}.alert{border-radius:var(--radius);animation:fade-up .25s var(--ease) both;border:1px solid #0000;align-items:flex-start;gap:10px;padding:12px 14px;font-size:13.5px;display:flex}.alert-error{background:var(--danger-soft);color:#a8323c;border-color:#f5cdd0}.alert-success{background:var(--success-soft);color:#17775f;border-color:#bfe8da}.alert-info{background:var(--info-soft);color:#255f94;border-color:#c9ddf1}.alert-warning{background:var(--warning-soft);color:#8d6013;border-color:#f3ddb2}.text-muted{color:var(--muted)}.text-subtle{color:var(--subtle)}.text-small{font-size:12.5px}.text-strong{color:var(--ink);font-weight:600}.text-danger{color:var(--danger)}.text-success{color:var(--success)}.text-mint{color:var(--mint-ink)}.mono{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.92em}.stack{flex-direction:column;gap:12px;display:flex}.stack-lg{flex-direction:column;gap:20px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row-end{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.row>.grow{flex:220px;width:auto;min-width:0}.row-between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.grid-auto{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.divider{background:var(--line);border:0;height:1px;margin:4px 0}.stat-label{color:var(--muted);font-size:12.5px;font-weight:500;display:block}.stat-value{color:var(--ink);letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-top:6px;font-size:26px;font-weight:700;display:block}.stat-value small{color:var(--subtle);letter-spacing:0;margin-left:4px;font-size:12px;font-weight:500}.stat-hint{color:var(--subtle);margin-top:4px;font-size:12px;display:block}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.form-grid .span-all,.form-grid-3 .span-all{grid-column:1/-1}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field-label,.field>span:first-child{color:var(--text);font-size:13px;font-weight:600}.field-hint{color:var(--subtle);margin:0;font-size:12px}.input,.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea{border:1px solid var(--line-strong);border-radius:var(--radius);width:100%;height:40px;color:var(--ink);background:#fff;padding:0 12px;font-size:14px;transition:border-color .2s,box-shadow .2s}textarea.input,.field textarea{resize:vertical;height:auto;min-height:88px;padding:10px 12px}.input:hover,.field input:hover,.field select:hover,.field textarea:hover{border-color:#b6c6ce}.input:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--mint);box-shadow:var(--ring);outline:none}.input:disabled,.field input:disabled,.field select:disabled{background:var(--panel-alt);color:var(--subtle)}.input::placeholder,.field input::placeholder,.field textarea::placeholder{color:var(--subtle)}.input-sm{border-radius:8px;height:34px;padding:0 10px;font-size:13px}.checkbox-field{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;font-size:14px;font-weight:500;display:inline-flex}input[type=checkbox],input[type=radio]{width:18px;height:18px;accent-color:var(--mint-ink);cursor:pointer}.form-section{flex-direction:column;gap:14px;display:flex}.form-section+.form-section{margin-top:24px}.form-section-title{border-bottom:1px solid var(--line);color:var(--ink);align-items:center;gap:8px;margin:0;padding-bottom:10px;font-size:14.5px;font-weight:650;display:flex}.form-section-title svg{color:var(--mint-ink)}.form-actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0d2a3a8c;justify-content:center;align-items:center;padding:24px;animation:.2s both fade-in;display:flex;position:fixed;inset:0}.modal{width:100%;max-width:560px;max-height:calc(100vh - 48px);box-shadow:var(--shadow-lg);animation:scale-in .28s var(--ease) both;background:#fff;border-radius:16px;flex-direction:column;display:flex;position:relative;overflow:hidden}.modal-lg{max-width:860px}.modal-xl{max-width:1040px}.modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 26px 18px;display:flex}.modal-header h2{color:var(--ink);margin:0;font-size:19px;font-weight:700}.modal-header p{color:var(--muted);margin:4px 0 0;font-size:13.5px}.modal-close{width:34px;height:34px;color:var(--subtle);background:0 0;border:0;border-radius:9px;flex:0 0 34px;place-items:center;transition:background .15s,color .15s;display:grid}.modal-close:hover{background:var(--panel-alt);color:var(--ink)}.modal-body{padding:22px 26px;overflow-y:auto}.modal-footer{border-top:1px solid var(--line);background:var(--panel-alt);justify-content:flex-end;gap:10px;padding:16px 26px;display:flex}.login-layout{background:var(--navy-900);background-image:radial-gradient(80% 60% at 15% 10%,#48c9b029,#0000 60%),radial-gradient(70% 60% at 90% 95%,#164656e6,#0000 70%);place-items:center;min-height:100vh;padding:24px;display:grid;position:relative;overflow:hidden}.login-layout:before{content:"";background-image:linear-gradient(#7f9daa12 1px,#0000 1px),linear-gradient(90deg,#7f9daa12 1px,#0000 1px);background-size:44px 44px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000 30%,#0000 75%);mask-image:radial-gradient(#000 30%,#0000 75%)}.login-bg-shape{filter:blur(90px);opacity:.35;border-radius:50%;animation:14s ease-in-out infinite float;position:absolute}.shape-1{background:var(--mint);width:420px;height:420px;top:-140px;left:-120px}.shape-2{background:var(--slate-600);width:340px;height:340px;animation-delay:-6s;bottom:-100px;right:-80px}.login-card{z-index:10;width:100%;max-width:420px;animation:scale-in .5s var(--ease) both;background:#fffffffa;border-radius:20px;padding:40px 36px 34px;position:relative;box-shadow:0 30px 80px #00000059}.login-header{text-align:center;flex-direction:column;align-items:center;margin-bottom:28px;display:flex}.login-header .brand-mark{border-radius:16px;width:52px;height:52px;margin-bottom:18px;font-size:26px}.login-header h1{color:var(--ink);letter-spacing:-.03em;margin:0 0 6px;font-size:24px;font-weight:700}.login-header p{color:var(--muted);margin:0;font-size:14px}.login-form{flex-direction:column;gap:18px;display:flex}.login-form label{color:var(--text);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.login-input{align-items:center;display:flex;position:relative}.login-input svg{color:var(--subtle);pointer-events:none;transition:color .2s;position:absolute;left:13px}.login-input:focus-within svg{color:var(--mint-ink)}.login-form input{border:1px solid var(--line-strong);border-radius:var(--radius);width:100%;height:46px;color:var(--ink);background:#fff;padding:0 14px 0 42px;font-size:14.5px;transition:border-color .2s,box-shadow .2s}.login-form input:focus{border-color:var(--mint);box-shadow:var(--ring);outline:none}.login-form .error-msg{border-radius:var(--radius);background:var(--danger-soft);color:#a8323c;animation:fade-up .25s var(--ease) both;border:1px solid #f5cdd0;align-items:center;gap:8px;padding:11px 13px;font-size:13.5px;font-weight:500;display:flex}.login-button{width:100%;height:46px;margin-top:4px;font-size:15px}.login-footer{text-align:center;color:var(--subtle);margin-top:26px;font-size:12px}.tenant-combobox{width:100%;max-width:440px;position:relative}.tenant-combobox-input{border:1px solid var(--line-strong);border-radius:var(--radius);height:44px;color:var(--subtle);background:#fff;align-items:center;gap:10px;padding:0 12px;transition:border-color .2s,box-shadow .2s;display:flex}.tenant-combobox-input:focus-within{border-color:var(--mint);box-shadow:var(--ring);color:var(--mint-ink)}.tenant-combobox-input input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:14px}.tenant-combobox-input input::placeholder{color:var(--subtle)}.tenant-combobox-clear{width:26px;height:26px;color:var(--subtle);background:0 0;border:0;border-radius:7px;place-items:center;transition:background .15s,color .15s;display:grid}.tenant-combobox-clear:hover{background:var(--danger-soft);color:var(--danger)}.tenant-combobox-list{z-index:50;border:1px solid var(--line);border-radius:var(--radius);max-height:300px;box-shadow:var(--shadow-md);animation:scale-in .18s var(--ease) both;background:#fff;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.tenant-combobox-list li{cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;transition:background .12s;display:flex}.tenant-combobox-list li strong{color:var(--ink);font-size:14px;font-weight:600}.tenant-combobox-list li small{color:var(--subtle);font-size:12.5px}.tenant-combobox-list li.highlighted{background:var(--mint-soft)}.tenant-combobox-list li.selected strong{color:var(--mint-ink)}.tenant-combobox-list li.tenant-combobox-empty{color:var(--subtle);cursor:default;font-size:13.5px}.tenant-picker{z-index:30;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:20px;display:flex;position:relative}.tenant-picker:focus-within{z-index:60}.tenant-picker-label{color:var(--ink);align-items:center;gap:10px;font-weight:600;display:flex}.tenant-picker-label span{background:var(--mint-soft);width:36px;height:36px;color:var(--mint-ink);border-radius:10px;place-items:center;display:grid}.invoice-view{flex-direction:column;gap:16px;display:flex}.invoice-number-bar{justify-content:flex-end}.invoice-number{background:var(--navy-900);white-space:nowrap;border-radius:9px;align-items:center;gap:12px;height:38px;padding:0 14px;display:inline-flex}.invoice-number span{color:var(--on-dark-muted);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:500}.invoice-number strong{color:var(--mint-bright);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:17px;font-weight:700}.invoice-header{grid-template-columns:minmax(310px,1.1fr) minmax(0,1.9fr) minmax(250px,1fr);padding:0;display:grid;overflow:hidden}.invoice-col{flex-direction:column;padding:0 20px 18px;display:flex}.invoice-col+.invoice-col{border-left:1px solid var(--line)}.invoice-col-title{background:var(--panel-alt);border-bottom:1px solid var(--line);align-items:center;min-height:54px;margin:0 -20px 6px;padding:7px 20px;display:flex}.invoice-col-main .invoice-col-title{background:var(--mint-soft)}.invoice-col-title .invoice-field{border:0;width:100%;padding:0}.invoice-col-title .invoice-field>span{color:var(--mint-ink)}.invoice-date{color:var(--ink);text-transform:capitalize;gap:8px;font-size:13.5px;font-weight:600}.invoice-date svg{color:var(--mint-ink)}.invoice-field{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:8px 0;display:grid}.invoice-field>span{min-width:64px;color:var(--muted);white-space:nowrap;font-size:13px;font-weight:500}.invoice-field select,.invoice-field input[type=date]{border:1px solid var(--line-strong);width:100%;min-width:0;height:36px;color:var(--ink);background:#fff;border-radius:8px;padding:0 10px;font-size:13.5px}.invoice-field select:focus,.invoice-field input[type=date]:focus{border-color:var(--mint);box-shadow:var(--ring);outline:none}.invoice-lookup{border:1px solid var(--line-strong);background:#fff;border-radius:8px;height:36px;transition:border-color .2s,box-shadow .2s;display:flex;overflow:hidden}.invoice-lookup:focus-within{border-color:var(--mint);box-shadow:var(--ring)}.invoice-lookup input{min-width:0;color:var(--ink);border:0;outline:0;flex:1;padding:0 10px;font-size:13.5px}.invoice-lookup button{border:0;border-left:1px solid var(--line);background:var(--panel-alt);width:36px;color:var(--mint-ink);place-items:center;transition:background .15s;display:grid}.invoice-lookup button:hover{background:var(--mint-soft)}.invoice-col-main .invoice-field{grid-template-columns:122px minmax(0,1fr)}.invoice-col-side .invoice-field{grid-template-columns:108px minmax(0,1fr)}.invoice-col-side .invoice-field select{min-width:0}.invoice-info-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:42px;padding:9px 0;display:flex}.invoice-info-row span{color:var(--muted);white-space:nowrap;font-size:13px;font-weight:500}.invoice-info-row strong{color:var(--ink);text-align:right;font-size:13.5px;font-weight:600}.invoice-client-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:auto;padding-top:14px;display:flex}.invoice-items{padding:0}.invoice-items .invoice-table thead th:first-child{border-top-left-radius:0}.invoice-product-search{border-bottom:1px solid var(--line);padding:14px 16px;position:relative}.invoice-product-search .search-box{max-width:460px}.invoice-product-list{width:min(460px,100% - 32px);top:calc(100% - 8px);left:16px;right:auto}.invoice-product-list li span{align-items:baseline;gap:8px;min-width:0;display:flex}.invoice-product-list li strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.invoice-qty{text-align:right;font-variant-numeric:tabular-nums;border-radius:7px;width:80px;height:32px;padding:0 8px;border:1px solid var(--line-strong)!important;background:#fff!important}.invoice-qty:focus{box-shadow:var(--ring);border-color:var(--mint)!important}.invoice-table td.empty{height:120px}.invoice-banner{align-items:center}.invoice-banner>span{flex:1}.invoice-notes input{border:1px solid var(--line);background:var(--panel-alt);width:100%;min-width:0;height:34px;color:var(--ink);border-radius:8px;padding:0 10px;font-size:13.5px;transition:border-color .2s,background .2s,box-shadow .2s}.invoice-notes input:focus{border-color:var(--mint);box-shadow:var(--ring);background:#fff;outline:none}.invoice-col-client .invoice-field{grid-template-columns:110px minmax(0,1fr)}.invoice-col-title .tenant-combobox{max-width:none}.invoice-col-title .tenant-combobox-input{height:38px}.invoice-action:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;border-color:var(--line);background:#fff;transform:none}.data-table .company-cell strong{white-space:nowrap}.data-table tr.is-annulled td{color:var(--subtle)}.data-table tr.is-annulled .text-strong,.data-table tr.is-annulled .company-cell strong{color:var(--subtle);-webkit-text-decoration:line-through #d6455080;text-decoration:line-through #d6455080}.doc-detail-block{gap:4px;font-size:13.5px}.doc-detail-block .stat-label{margin-bottom:4px}.doc-detail-table{border:1px solid var(--line);border-radius:var(--radius)}.doc-detail-footer{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.doc-detail-notes{flex:240px}.doc-detail-notes p{color:var(--text);white-space:pre-wrap;margin:4px 0 0;font-size:13.5px}.doc-detail-totals{width:280px;margin:0}.doc-detail-totals div{justify-content:space-between;padding:6px 0;font-size:13.5px;display:flex}.doc-detail-totals dt{color:var(--muted)}.doc-detail-totals dd{color:var(--ink);font-variant-numeric:tabular-nums;margin:0;font-weight:600}.doc-detail-totals .grand{border-top:2px solid var(--navy-900);margin-top:4px;padding-top:10px}.doc-detail-totals .grand dt,.doc-detail-totals .grand dd{color:var(--ink);font-size:17px;font-weight:700}.modal-header p.row{margin-top:8px}.preferences-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.option-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}@media (width<=1100px){.option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.option-grid{grid-template-columns:1fr}}.option-card{text-align:left;font:inherit;color:inherit;cursor:pointer;transition:transform .2s var(--ease), box-shadow .2s var(--ease), border-color .2s;flex-direction:column;align-items:flex-start;gap:10px;display:flex}.option-card:hover{box-shadow:var(--shadow-md);border-color:var(--mint);transform:translateY(-3px)}.option-card-icon{border-radius:13px;place-items:center;width:46px;height:46px;margin-bottom:4px;display:grid}.option-card strong{color:var(--ink);letter-spacing:-.01em;margin:0;font-size:16px;font-weight:700}.option-card p{color:var(--muted);flex:1;margin:0;font-size:13.5px;line-height:1.5}.option-card-link{color:var(--mint-ink);align-items:center;gap:6px;margin-top:6px;font-size:13px;font-weight:600;display:inline-flex}.option-card-link svg{transition:transform .2s var(--ease)}.option-card:hover .option-card-link svg{transform:translate(3px)}.preference-card{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;align-items:flex-start;gap:16px;display:flex}.preference-card:hover{border-color:var(--mint)}.preference-card:disabled{cursor:progress;opacity:.7}.preference-card-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.preference-card-body>strong{color:var(--ink);font-size:15px;font-weight:650}.preference-card-body>span{color:var(--muted);font-size:13px}.preference-card-summary{border-top:1px solid var(--line);text-overflow:ellipsis;white-space:nowrap;margin-top:8px;padding-top:10px;overflow:hidden}.preference-card-body .badge{align-self:flex-start;margin-top:8px}.preference-card-arrow{color:var(--subtle);transition:transform .2s var(--ease), color .2s;margin-top:10px}.preference-card:hover .preference-card-arrow{color:var(--mint-ink);transform:translate(3px)}.load-list{flex-direction:column;gap:8px;display:flex}.load-item{border:1px solid var(--line);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;transition:border-color .2s,background .2s;display:flex}.load-item:hover{border-color:var(--mint);background:var(--mint-softer)}.load-item strong{color:var(--ink);font-size:14px;display:block}.load-item small{color:var(--subtle);margin-top:2px;font-size:12.5px;display:block}.invoice-table-wrap{min-height:280px}.invoice-table{min-width:640px}.invoice-table th{background:var(--navy-900);color:var(--on-dark);border-bottom:0}.invoice-table th,.invoice-table td{border-right:1px solid var(--line);padding:11px 14px}.invoice-table th{border-right-color:#7f9daa33}.invoice-table th:last-child,.invoice-table td:last-child{border-right:0}.invoice-table th:first-child,.invoice-table td:first-child{width:18%}.invoice-table th:nth-child(2),.invoice-table td:nth-child(2){width:46%}.invoice-table th.num{text-align:right}.invoice-table td.num{text-align:right;color:var(--ink)}.invoice-row-active td{background:var(--mint-softer)}.invoice-row-active td:first-child{box-shadow:inset 3px 0 var(--mint)}.invoice-footer{grid-template-columns:minmax(0,1fr) 360px;align-items:stretch;gap:16px;display:grid}.invoice-actions{flex-direction:column;gap:18px;display:flex}.invoice-action-group{flex-direction:column;flex:1;gap:10px;display:flex}.invoice-action-title{color:var(--subtle);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:600}.invoice-action-grid{flex:1;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:8px;display:grid}.invoice-action{border:1px solid var(--line);border-radius:var(--radius);min-width:0;color:var(--text);text-align:center;transition:border-color .2s, background .2s, transform .15s var(--ease), box-shadow .2s;background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:12px 8px 10px;font-size:13px;font-weight:500;display:flex}.invoice-action:hover{border-color:var(--mint);background:var(--mint-softer);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.invoice-action-icon{background:var(--panel-alt);width:36px;height:36px;color:var(--navy-900);transition:background .2s, color .2s, transform .2s var(--ease);border-radius:10px;place-items:center;display:grid}.invoice-action:hover .invoice-action-icon{background:var(--mint-soft);color:var(--mint-ink)}.invoice-action-label{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.invoice-action.danger:hover{background:var(--danger-soft);border-color:#f2b8bd}.invoice-action.danger:hover .invoice-action-icon{color:var(--danger);background:#fff}.invoice-action.danger:hover .invoice-action-label{color:var(--danger)}.invoice-view kbd{border:1px solid var(--line);background:var(--panel-alt);color:var(--subtle);white-space:nowrap;border-bottom-width:2px;border-radius:5px;padding:2px 6px;font:600 10.5px/1.3 Inter,sans-serif}.invoice-totals{border-radius:var(--radius-lg);background:var(--navy-900);color:var(--on-dark);box-shadow:var(--shadow-md);background-image:radial-gradient(120% 80% at 100% 0,#48c9b029,#0000 55%);flex-direction:column;justify-content:space-between;gap:18px;padding:22px 24px;display:flex;position:relative;overflow:hidden}.invoice-totals dl{flex-direction:column;margin:0;display:flex}.invoice-totals dl>div{border-bottom:1px dashed #7f9daa40;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 0;display:flex}.invoice-totals dt{color:var(--on-dark-muted);font-size:13.5px;font-weight:500}.invoice-totals dt small{color:var(--mint-bright);background:#48c9b026;border-radius:999px;margin-left:4px;padding:1px 6px;font-size:11px;font-weight:600}.invoice-totals dd{color:#fff;font-variant-numeric:tabular-nums;margin:0;font-size:16px;font-weight:600}.invoice-totals .grand{border-top:1px solid #7f9daa4d;border-bottom:0;margin-top:6px;padding-top:14px}.invoice-totals .grand dt{color:var(--on-dark);letter-spacing:.02em;text-transform:uppercase;font-size:15px;font-weight:700}.invoice-totals .grand dd{color:var(--mint-bright);letter-spacing:-.03em;font-size:34px;font-weight:700;line-height:1}.invoice-totals .grand dd small{color:var(--on-dark-muted);margin-right:2px;font-size:16px;font-weight:600}.invoice-totals-actions{gap:8px;display:grid}.invoice-totals-actions .btn{min-width:0;height:44px}.invoice-totals-actions kbd{color:var(--navy-900);background:#ffffff59;border-color:#0d2a3a33}@media (width<=1100px){.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tenants-panel .table-wrap{overflow-x:auto}.dashboard-grid{grid-template-columns:1fr}.content-scroll{padding:28px 24px 44px}.topbar{padding:0 24px}.invoice-header{grid-template-columns:1fr 1fr}.invoice-col-client{border-top:1px solid var(--line);order:3;grid-column:1/-1;border-left:0!important}.invoice-footer{grid-template-columns:1fr}}@media (width<=860px){.user-name,.topbar-divider{display:none}.form-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.sidebar{flex-basis:68px;width:68px;padding:20px 10px}.brand-block{justify-content:center;padding:0 0 22px}.brand-block>div:not(.brand-mark),.workspace-switcher>div,.workspace-switcher .chevron,.nav-caption,.nav-item em,.nav-group-chevron,.sidebar-footer,.nav-label{display:none}.workspace-switcher{justify-content:center;margin:0 0 20px;padding:12px 0}.nav-item{justify-content:center;padding:11px 0}.nav-item .nav-icon{width:auto}.nav-group-items{border:0;margin:2px 0;padding:0}.nav-caption.second{background:#7f9daa33;height:1px;margin:14px 8px;padding:0;font-size:0;display:block}.topbar{height:60px;padding:0 14px}.topbar-actions{gap:2px}.topbar-actions .icon-button[aria-label=Configuración],.search-bar kbd{display:none}.content-scroll{padding:22px 14px 32px}.page-heading{flex-direction:column;align-items:flex-start;gap:14px}.page-heading h1{font-size:24px}.metrics-grid,.grid-2,.form-grid,.form-grid-3{grid-template-columns:1fr}.map-area{flex-direction:column;align-items:flex-start;gap:12px;padding-top:14px}.map-shape{width:240px;margin-left:0}.map-legend{flex-flow:wrap;gap:10px}.map-legend div{min-width:140px}.search-box{flex-basis:100%;max-width:none}.filter-button{margin-left:0}.panel{padding:18px 16px}.tenants-panel,.data-table-panel,.invoice-header,.invoice-items{padding:0}.tenants-heading{padding:0 16px 16px}.table-toolbar{padding:12px 16px}.modal-overlay{align-items:flex-end;padding:12px}.modal{border-radius:16px 16px 12px 12px;max-height:calc(100vh - 24px)}.modal-header,.modal-body,.modal-footer{padding-left:18px;padding-right:18px}.invoice-header{grid-template-columns:1fr}.invoice-col+.invoice-col{border-left:0;border-top:1px solid var(--line)}.invoice-view kbd{display:none}.invoice-totals{padding:20px 18px}}.back-link{color:var(--mint-ink);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;margin:0 0 10px;padding:0;font-size:13px;font-weight:600;display:inline-flex}.back-link:hover{text-decoration:underline}.back-link svg{transition:transform .2s var(--ease)}.back-link:hover svg{transform:translate(-3px)}.table-toolbar .toolbar-date{border-color:var(--line);border-radius:var(--radius);width:auto;height:38px;font-size:13.5px}.cutoff-field{min-width:180px}.movement-description{white-space:normal;max-width:320px}.data-table tr.row-selected td{background:var(--mint-soft)}.data-table tr.row-disabled td{opacity:.45}.deposit-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:16px;display:grid}.deposit-summary{flex-direction:column;gap:14px;display:flex;position:sticky;top:88px}.deposit-summary-head{align-items:center;gap:12px;display:flex}.deposit-summary-head .option-card-icon{margin:0}.deposit-summary-head strong{color:var(--ink);font-size:16px;font-weight:700;display:block}.deposit-summary-head p{color:var(--muted);margin:2px 0 0;font-size:13px}.deposit-total{border-radius:var(--radius);background:var(--panel-alt);border:1px solid var(--line);flex-direction:column;gap:4px;padding:14px 16px;display:flex}.deposit-total span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:600}.deposit-total strong{color:var(--ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:24px;font-weight:700}@media (width<=1100px){.deposit-layout{grid-template-columns:1fr}.deposit-summary{position:static}}.account-code{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--muted)}.account-name{align-items:center;gap:6px;display:inline-flex}.account-name svg{color:var(--info);flex:none}.data-table tr.account-heading td{background:var(--panel-alt);color:var(--ink);font-weight:600}.data-table tr.account-heading .account-code{color:var(--ink)}.nowrap,.data-table td.nowrap{white-space:nowrap}.deposit-conversion{border:1px dashed var(--line-strong);border-radius:var(--radius);flex-direction:column;gap:12px;padding:12px;display:flex}.rate-input{align-items:center;gap:8px;display:flex}.rate-input span{color:var(--muted);white-space:nowrap;font-size:13px}.rate-input input{flex:1;min-width:0}.deposit-total small{color:var(--muted);align-items:center;gap:5px;font-size:12px;display:inline-flex}.checkbox-field.is-disabled{opacity:.5;cursor:not-allowed}.type-toggles{flex-wrap:wrap;gap:8px;padding-top:0}.toggle-chip{border:1px solid var(--line);color:var(--subtle);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.toggle-chip input{accent-color:var(--mint-ink);margin:0}.toggle-chip.is-on{background:var(--mint-soft);color:var(--mint-ink);border-color:#0000;font-weight:600}.statement-filters{grid-template-columns:minmax(240px,2fr) repeat(2,minmax(150px,1fr)) auto;align-items:end;gap:14px;margin-bottom:16px;display:grid}.statement-actions{flex-wrap:wrap;gap:8px;display:flex}.statement-header{grid-template-columns:minmax(280px,2fr) repeat(2,minmax(200px,1fr));gap:16px;margin-bottom:16px;display:grid}.statement-client h2{margin:0 0 10px;font-size:17px}.statement-client dl{grid-template-columns:auto 1fr;gap:6px 14px;margin:0;font-size:13px;display:grid}.statement-client dt{color:var(--subtle)}.statement-client dd{color:var(--navy-900);margin:0}.statement-currency{margin-bottom:16px}.statement-summary{border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:16px;display:grid}.statement-summary div{background:var(--panel-alt);border-radius:10px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.statement-summary span{color:var(--subtle);font-size:12px}.statement-summary strong{font-size:16px}.statement-summary .is-total{background:var(--mint-soft)}.data-table tr.statement-opening td{background:var(--panel-alt);font-style:italic}.data-table tr.report-group td{background:var(--panel-alt);color:var(--navy-900);font-weight:700}.data-table tr.report-subtotal td{border-top:2px solid var(--line);font-weight:700}.data-table tr.report-detail td{color:var(--subtle);font-size:12.5px}.data-table tr.report-detail td:first-child{padding-left:28px}@media (width<=1100px){.statement-filters,.statement-header{grid-template-columns:1fr 1fr}.statement-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.statement-filters,.statement-header,.statement-summary{grid-template-columns:1fr}}.option-section{margin-bottom:28px}.option-section-heading{margin-bottom:14px}.option-section-heading h2{color:var(--ink);margin:0 0 4px;font-size:17px;font-weight:700}.option-section-heading p{color:var(--muted);margin:0;font-size:13.5px}.modal-lg:has(.supplier-form){max-width:1080px}.supplier-form{grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:22px;display:grid}.supplier-summary{border-radius:var(--radius);background:var(--panel-alt);flex-direction:column;gap:12px;padding:16px;font-size:13px;display:flex;position:sticky;top:0}.supplier-summary dl,.purchase-supplier dl{grid-template-columns:1fr auto;gap:8px 12px;margin:0;font-size:13px;display:grid}.supplier-summary dt,.purchase-supplier dt{color:var(--subtle)}.supplier-summary dd,.purchase-supplier dd{text-align:right;color:var(--navy-900);margin:0;font-weight:600}.supplier-summary .is-total{border-top:1px solid var(--line-strong);color:var(--ink);padding-top:6px;font-weight:700}.supplier-summary p{margin:0}.purchase-saved{align-items:center;margin-bottom:16px}.purchase-saved span{flex:1}.purchase-form{flex-direction:column;gap:16px;display:flex}.purchase-header{grid-template-columns:minmax(0,1fr) 280px;gap:16px;display:grid}.purchase-fields{grid-template-columns:repeat(4,minmax(0,1fr));align-content:start;gap:14px;display:grid}.purchase-fields .span-2{grid-column:span 2}.purchase-fields .field-label svg{vertical-align:-2px}.purchase-supplier{flex-direction:column;gap:12px;display:flex}.purchase-supplier p{margin:0;font-size:13px}.purchase-lines input,.purchase-lines select,.data-table td.num input{border:1px solid var(--line);background:var(--panel);border-radius:9px;width:100%;min-width:0;height:36px;padding:0 10px;font-size:13px}.purchase-lines td.num input,.data-table td.num input{text-align:right;max-width:130px;margin-left:auto;display:block}.purchase-lines td:first-child{min-width:170px}.purchase-lines td:nth-child(2){min-width:220px}.purchase-footer{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:16px;margin-top:16px;display:grid}.purchase-form .purchase-footer{margin-top:0}.purchase-totals{flex-direction:column;gap:10px;display:flex}.purchase-totals>div{color:var(--muted);justify-content:space-between;gap:12px;font-size:13.5px;display:flex}.purchase-totals>div strong{color:var(--navy-900)}.purchase-totals>div.is-total{border-top:1px solid var(--line);color:var(--ink);padding-top:10px;font-size:15px}.purchase-totals>div.is-total strong{font-size:17px}.purchase-totals .btn{justify-content:center;margin-top:4px}.data-table tr.row-clickable{cursor:pointer}.data-table tr.row-clickable:hover td{background:var(--panel-alt)}.data-table tr.detail-row>td{background:var(--panel-alt);padding:0 16px 16px 40px}.detail-table{background:var(--panel);border:1px solid var(--line);border-radius:10px}.detail-meta{margin:10px 0 0;font-size:12.5px}@media (width<=1100px){.purchase-header,.purchase-footer,.supplier-form{grid-template-columns:1fr}.purchase-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.purchase-fields{grid-template-columns:1fr}.purchase-fields .span-2{grid-column:auto}}.payroll-settings{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:16px;display:grid}.payroll-actions{flex-wrap:wrap;justify-content:flex-end}.page-heading h1 .badge{vertical-align:middle;margin-left:8px;font-size:12px}.rate-inline{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:inline-flex}.rate-inline input{border:1px solid var(--line-strong);text-align:right;border-radius:9px;width:120px;height:34px;padding:0 10px}.payroll-entry{grid-template-columns:minmax(0,1fr) 440px;align-items:start;gap:22px;display:grid}.payroll-receipt{border-radius:var(--radius);background:var(--panel-alt);flex-direction:column;gap:12px;padding:14px;display:flex}.payroll-receipt .data-table{background:var(--panel);border-radius:10px;min-width:0}.payroll-receipt .data-table td{padding:7px 10px;font-size:13px}.payroll-receipt .data-table td:first-child{width:60%}.modal-lg:has(.payroll-entry) .modal-body{max-height:calc(100vh - 200px)}.modal-lg:has(.payroll-entry){max-width:1080px}.payroll-picker select{min-width:360px}.payroll-matrix th small{text-transform:none;letter-spacing:0;color:var(--subtle);font-size:10px;font-weight:500;display:block}.payroll-matrix th{white-space:normal;vertical-align:bottom;min-width:96px}.payroll-matrix th.kind-deduccion{color:var(--danger)}.payroll-matrix th.kind-aporte_patronal{color:var(--violet)}@media (width<=1100px){.payroll-settings,.payroll-entry{grid-template-columns:1fr}.payroll-picker select{min-width:0}}.saas-tabs{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);gap:4px;width:fit-content;max-width:100%;margin:0 0 16px;padding:4px;display:flex;overflow-x:auto}.saas-tab{border-radius:var(--radius-sm);color:var(--muted);white-space:nowrap;background:0 0;border:0;align-items:center;gap:8px;padding:8px 14px;font-size:13.5px;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.saas-tab:hover{color:var(--ink);background:var(--panel-alt)}.saas-tab.is-active{background:var(--mint-soft);color:var(--mint-ink)}.saas-tab em{background:var(--panel-alt);min-width:20px;color:var(--muted);text-align:center;border-radius:999px;padding:1px 6px;font-size:11.5px;font-style:normal}.saas-tab.is-active em{color:var(--mint-ink);background:#fff}.saas-toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.saas-toolbar h2{color:var(--ink);margin:0;font-size:16px}.saas-toolbar p{color:var(--muted);margin:2px 0 0;font-size:13px}.saas-cell-stack{flex-direction:column;gap:3px;display:flex}.saas-cell-stack small{color:var(--subtle);font-size:12px}.saas-link{color:var(--mint-ink);word-break:break-all;font-size:12.5px;text-decoration:none}.saas-link:hover{text-decoration:underline}.saas-error-text{color:var(--danger);max-width:280px;font-size:12px}.saas-chips{flex-wrap:wrap;gap:6px;display:flex}.saas-inline-actions{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.saas-muted{color:var(--subtle)}.saas-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px;display:grid}.saas-kpi{padding:16px 18px}.saas-kpi span{color:var(--muted);font-size:12.5px;font-weight:600;display:block}.saas-kpi strong{color:var(--ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:6px;font-size:24px;font-weight:700;display:block}.saas-kpi small{color:var(--subtle);margin-top:2px;font-size:12px;display:block}.saas-kpi.is-warning strong{color:var(--warning)}.saas-kpi.is-danger strong{color:var(--danger)}.saas-kpi.is-mint strong{color:var(--mint-ink)}.saas-section{margin-bottom:16px}.saas-days{font-variant-numeric:tabular-nums;font-weight:700}.saas-days.ok{color:var(--subtle);font-weight:500}.saas-days.warn{color:var(--warning)}.saas-days.bad{color:var(--danger)}.saas-rules{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:20px;display:grid}.saas-rules .span-all{grid-column:1/-1}.saas-code{width:100%;min-height:260px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;line-height:1.5}.saas-preview{flex-direction:column;gap:6px;max-height:300px;display:flex;overflow-y:auto}.saas-preview-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-alt);justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:flex}.saas-preview-row code{color:var(--muted);font-size:12px}.saas-key{border:1px dashed var(--mint);border-radius:var(--radius);background:var(--mint-softer);align-items:center;gap:8px;padding:12px;display:flex}.saas-key code{word-break:break-all;color:var(--ink);flex:1;font-size:12.5px}.saas-presets{gap:6px;margin-top:6px;display:flex}.saas-checks{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;display:grid}.saas-check{border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:8px;padding:9px 12px;font-size:13px;display:flex}.saas-check.is-on{border-color:var(--mint);background:var(--mint-softer)}.saas-check input{accent-color:var(--mint-ink)}.saas-check small{color:var(--subtle);margin-left:auto}.saas-kv{grid-template-columns:minmax(140px,auto) 1fr;gap:8px 16px;margin:0;font-size:13.5px;display:grid}.saas-kv dt{color:var(--muted)}.saas-kv dd{color:var(--ink);word-break:break-word;margin:0}.saas-password{gap:8px;display:flex}.saas-password input{flex:1}@media (width<=1100px){.saas-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.saas-kpis{grid-template-columns:1fr 1fr;gap:10px}.saas-kpi strong{font-size:20px}.saas-rules{grid-template-columns:1fr}.saas-tabs{width:100%}}.app-grid-summary{margin:-6px 0 14px;font-size:13px}.app-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));align-items:start;gap:18px;display:grid}.app-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-xs);transition:box-shadow .2s var(--ease), border-color .2s var(--ease);flex-direction:column;gap:14px;padding:20px;display:flex}.app-card:hover{box-shadow:var(--shadow-md);border-color:var(--line-strong)}.app-card-head{align-items:flex-start;gap:12px;display:flex}.app-card-icon.is-small{border-radius:9px;width:30px;height:30px}.app-card-title{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.app-card-title h3{color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:16px;line-height:1.25}.app-card-title span{font-size:12px}.app-card-desc{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.app-card-price{align-items:baseline;gap:6px;display:flex}.app-card-price strong{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:24px}.app-card-price span{color:var(--subtle);font-size:13px}.app-card-facts div{border-radius:var(--radius-sm);background:var(--panel-alt);padding:9px 11px}.app-card-facts dt{text-transform:uppercase;letter-spacing:.05em;color:var(--subtle);font-size:11px}.app-card-meta{border-top:1px solid var(--line);color:var(--text);flex-direction:column;gap:8px;margin:0;padding:12px 0 0;font-size:12.5px;list-style:none;display:flex}.app-card-meta li{align-items:center;gap:8px;min-width:0;display:flex}.app-card-meta li>svg{color:var(--subtle);flex:none}.app-card-meta .mono{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.app-card-meta a{color:var(--mint-ink);align-items:center;gap:4px;min-width:0;text-decoration:none;display:inline-flex}.app-card-meta a:hover{text-decoration:underline}.app-card-ref{background:var(--panel-alt);color:var(--muted);border-radius:999px;flex:none;align-items:center;gap:3px;margin-left:auto;padding:1px 7px;font-size:11px;display:inline-flex}.app-card-actions{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px;padding-top:12px;display:flex}.app-card-spacer{flex:1}.app-card-edit{flex-direction:column;gap:10px;display:flex}.app-card-edit-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}@media (width<=480px){.app-grid,.app-card-edit-row{grid-template-columns:1fr}}.license-actions{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.portal-shell{background:var(--bg,#f3f6f8);min-height:100vh}.portal-topbar{z-index:20;background:var(--navy-900);color:#fff;justify-content:space-between;align-items:center;gap:16px;padding:12px 32px;display:flex;position:sticky;top:0}.portal-brand{align-items:center;gap:12px;min-width:0;display:flex}.portal-brand .brand-mark{flex:none}.portal-brand div{min-width:0}.portal-brand strong{white-space:nowrap;text-overflow:ellipsis;font-size:15px;display:block;overflow:hidden}.portal-brand span{color:#ffffff9e;font-size:12px;display:block}.portal-user{align-items:center;gap:12px;display:flex}.portal-user-name{text-align:right;line-height:1.25}.portal-user-name strong{font-size:13.5px;display:block}.portal-user-name span{color:#ffffff9e;font-size:12px}.portal-user .btn-ghost{color:#fffc}.portal-user .btn-ghost:hover:not(:disabled){color:#fff;background:#ffffff1a}.portal-tabs{border-bottom:1px solid var(--line);background:#fff;gap:4px;padding:0 32px;display:flex;overflow-x:auto}.portal-tab{height:48px;color:var(--muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:8px;padding:0 14px;font-size:14px;font-weight:600;display:inline-flex}.portal-tab:hover:not(:disabled){color:var(--ink)}.portal-tab.is-active{color:var(--mint-ink);border-bottom-color:var(--mint)}.portal-tab:disabled{opacity:.45;cursor:not-allowed}.portal-content{width:100%;max-width:1240px;margin:0 auto;padding:28px 32px 56px}.portal-banner{margin-bottom:20px}.portal-banner strong{margin-bottom:2px;display:block}.app-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px;display:grid}.app-card{flex-direction:column;gap:14px;min-width:0;display:flex}.app-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.app-card-head h3{color:var(--ink);margin:0;font-size:17px;font-weight:700}.app-card-head p{color:var(--muted);margin:4px 0 0;font-size:13px}.app-card-icon{background:var(--mint-soft);width:42px;height:42px;color:var(--mint-ink);border-radius:12px;flex:0 0 42px;place-items:center;display:grid}.app-card-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.app-card-facts div{border-radius:var(--radius);background:var(--panel-alt);border:1px solid var(--line);padding:10px 12px}.app-card-facts dt{color:var(--subtle);text-transform:uppercase;letter-spacing:.05em;font-size:11.5px;font-weight:600}.app-card-facts dd{color:var(--ink);font-variant-numeric:tabular-nums;margin:3px 0 0;font-size:14px;font-weight:600}.app-card-actions{flex-wrap:wrap;gap:8px;margin-top:auto;display:flex}.app-link{border-radius:var(--radius);background:var(--panel-alt);border:1px dashed var(--line-strong);align-items:center;gap:8px;padding:8px 10px;font-size:12.5px;display:flex}.app-link code{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);flex:1;overflow:hidden}.demo-meter{flex-direction:column;gap:6px;display:flex}.demo-meter-bar{background:var(--line);border-radius:999px;height:6px;overflow:hidden}.demo-meter-bar span{border-radius:inherit;background:var(--mint);height:100%;display:block}.demo-meter-bar span.is-low{background:var(--warning)}.demo-meter small{color:var(--muted);font-size:12.5px}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px;display:grid}.summary-card{padding:18px 20px}.summary-card span{color:var(--muted);font-size:13px;font-weight:500}.summary-card strong{color:var(--ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:8px;font-size:26px;font-weight:700;display:block}.summary-card strong.is-danger{color:var(--danger)}.instructions-box{border-radius:var(--radius);background:var(--panel-alt);border:1px solid var(--line);white-space:pre-wrap;color:var(--ink);margin:0;padding:14px 16px;font-family:inherit;font-size:13.5px}.payments-inline{color:var(--muted);margin:6px 0 0;padding:0;font-size:12px;list-style:none}.section-gap{margin-top:24px}.config-group+.config-group{margin-top:22px}.field-required{color:var(--danger);margin-left:2px}.field-error{color:var(--danger);margin:0;font-size:12px;font-weight:500}.field.has-error input,.field.has-error select,.field.has-error textarea{border-color:var(--danger)}.secret-row{align-items:center;gap:8px;display:flex}.secret-row input{flex:1}.color-row{align-items:center;gap:8px;display:flex}.color-row input[type=color]{border:1px solid var(--line-strong);background:#fff;border-radius:8px;width:46px;height:40px;padding:2px}.image-preview{object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:8px;max-width:180px;max-height:80px;padding:6px}.receipt-preview{object-fit:contain;border:1px solid var(--line);border-radius:8px;max-width:100%;max-height:200px}.app-check-list{flex-direction:column;gap:8px;display:flex}.app-check{border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.app-check.is-full{opacity:.55;cursor:not-allowed}.app-check span{color:var(--ink);align-items:center;gap:10px;font-size:14px;font-weight:500;display:flex}.plan-options{flex-direction:column;gap:8px;display:flex}.plan-option{border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;color:var(--ink);align-items:flex-start;gap:10px;padding:12px;font-size:14px;display:flex}.plan-option input{margin-top:3px}.plan-option.is-selected{border-color:var(--mint);background:var(--mint-soft)}.password-reveal{gap:8px;display:flex}.password-reveal input{flex:1}.public-layout{place-items:start center;padding:48px 20px}.public-card{z-index:10;width:100%;max-width:920px;animation:scale-in .5s var(--ease) both;background:#fffffffa;border-radius:20px;padding:36px;position:relative;box-shadow:0 30px 80px #00000059}.public-card.is-narrow{max-width:460px}.public-card .login-header{margin-bottom:24px}.steps{justify-content:center;gap:8px;margin-bottom:24px;display:flex}.steps span{background:var(--panel-alt);color:var(--subtle);border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:12.5px;font-weight:600;display:inline-flex}.steps span.is-on{background:var(--mint-soft);color:var(--mint-ink)}.plan-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.plan-card{text-align:left;border:1.5px solid var(--line);cursor:pointer;background:#fff;border-radius:14px;flex-direction:column;gap:8px;padding:18px;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex}.plan-card:hover{border-color:var(--mint);box-shadow:var(--shadow-md);transform:translateY(-2px)}.plan-card.is-selected{border-color:var(--mint);background:var(--mint-softer)}.plan-card h3{color:var(--ink);margin:0;font-size:16px}.plan-card p{color:var(--muted);margin:0;font-size:13px}.plan-card .plan-price{color:var(--ink);font-size:22px;font-weight:700}.plan-card .plan-price small{color:var(--subtle);font-size:12.5px;font-weight:500}.public-actions{flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:24px;display:flex}.public-result{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.public-result>svg{color:var(--mint-ink)}.public-result>svg.text-danger{color:var(--danger)}.public-result p{color:var(--muted);max-width:420px;margin:0;font-size:14px}.login-links{flex-direction:column;align-items:center;gap:10px;margin-top:18px;display:flex}.link-button-plain{color:var(--mint-ink);cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;font-weight:600}.link-button-plain:hover{text-decoration:underline}@media (width<=760px){.portal-topbar{padding:10px 16px}.portal-user-name{display:none}.portal-tabs{padding:0 8px}.portal-content{padding:20px 16px 40px}.summary-grid,.portal-content .grid-2,.app-grid{grid-template-columns:minmax(0,1fr)}.portal-brand span{display:none}.page-heading{flex-direction:column;align-items:stretch}.portal-shell .data-table-panel .table-toolbar .search-box{max-width:none}.public-layout{padding:24px 12px}.public-card{padding:26px 18px}.public-card .form-grid,.modal .form-grid{grid-template-columns:1fr}.modal-overlay{padding:10px}}.btn-paypal{color:#111827;background:#ffc439;border:1px solid #f2b422;font-weight:600}.btn-paypal:hover:not(:disabled){background:#f7b928}.sim-checkout{background:#f5f7fa;flex-direction:column;align-items:center;min-height:100vh;padding:0 16px 32px;display:flex}.sim-banner{color:#92400e;background:#fef3c7;border-bottom:1px solid #fcd34d;justify-content:center;align-items:center;gap:8px;width:calc(100% + 32px);padding:10px 16px;font-size:13px;font-weight:600;display:flex}.sim-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;flex-direction:column;gap:20px;width:100%;max-width:440px;margin-top:40px;padding:28px;display:flex;box-shadow:0 10px 30px #0f172a14}.sim-header{align-items:center;gap:12px;display:flex}.sim-header strong{color:#0f2a3d;font-size:17px;display:block}.sim-header small{color:#6b7280}.sim-wallet{color:#1e40af;background:#e0eaff;border-radius:12px;place-items:center;width:44px;height:44px;display:grid}.sim-amount{text-align:center;background:#f8fafc;border:1px solid #eef2f7;border-radius:12px;padding:18px}.sim-amount span{color:#6b7280;font-size:13px}.sim-amount strong{color:#0f2a3d;margin:4px 0;font-size:32px;display:block}.sim-amount strong small{color:#6b7280;font-size:14px;font-weight:600}.sim-amount p{color:#4b5563;margin:0;font-size:13px}.sim-payer{border:1px dashed #d1d5db;border-radius:12px;flex-direction:column;gap:2px;padding:14px;display:flex}.sim-actions{flex-direction:column;align-items:stretch;gap:10px;display:flex}.sim-actions .link-button{align-self:center}.sim-footnote{text-align:center;color:#6b7280;max-width:440px;margin-top:16px;font-size:12px}.image-upload-row{align-items:center;gap:8px;display:flex}.image-upload-row>input{flex:1;min-width:0}.image-upload-btn{cursor:pointer;flex:none}@media (width<=480px){.image-upload-row{flex-direction:column;align-items:stretch}}
