@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--bg-primary:#f4f6f8;--bg-secondary:#fff;--bg-card:#fff;--bg-subtle:#f8fafb;--text-main:#1a1d1f;--text-muted:#6f767e;--text-disabled:#9a9fa5;--primary-color:#2a9d6f;--primary-hover:#1f7d57;--primary-text:#fff;--primary-tint:#2a9d6f17;--primary-ring:#2a9d6f29;--accent-green:#2a9d6f;--accent-red:#e5544d;--accent-amber:#e9930b;--accent-navy:#1a1d1f;--accent-light-green:#e8f5ee;--border-color:#e9ecef;--border-strong:#dce1e6;--status-active-bg:#e8f5ee;--status-active-text:#1f7d57;--status-expiring-bg:#fdf1de;--status-expiring-text:#b26a00;--status-expired-bg:#fbe7e6;--status-expired-text:#c93a33;--c-all:#2c3340;--c-wifi:#0f9b8e;--c-gps:#4f6cf7;--c-active:#2a9d6f;--c-expiring:#e9930b;--c-expired:#e5544d;--sidebar-width:264px;--header-height:76px;--radius-sm:8px;--radius-md:10px;--radius-lg:16px;--radius-xl:20px;--shadow-sm:0 1px 2px #1018280d;--shadow-md:0 1px 3px #1018280f, 0 8px 24px -12px #1018281a;--shadow-lg:0 12px 32px -12px #1018282e, 0 2px 6px #1018280a;--ease-out:cubic-bezier(.16, 1, .3, 1);--profile-accent-bg:linear-gradient(135deg, #2a9d6f12, #2a9d6f04);--profile-accent-border:#2a9d6f2e}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-main);-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h5,h6{color:var(--text-main);letter-spacing:-.01em;font-weight:600}:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border:3px solid var(--bg-primary);background:#d6dbe0;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#c2c9d0}.app-container{box-sizing:border-box;background:radial-gradient(900px 380px at 12% -8%, #2a9d6f12, transparent 70%), radial-gradient(700px 320px at 92% -4%, #4f6cf70f, transparent 70%), var(--bg-primary);width:100%;max-width:100vw;min-height:100vh;display:flex;overflow-x:hidden}.sidebar{width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border-color);z-index:100;transition:transform .3s var(--ease-out), width .3s ease;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-scrim{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:99;background:#10182859;animation:.2s fadeIn;display:none;position:fixed;inset:0}.main-content{margin-left:var(--sidebar-width);width:calc(100% - var(--sidebar-width));max-width:calc(100vw - var(--sidebar-width));box-sizing:border-box;flex-direction:column;flex:1;min-width:0;min-height:100vh;transition:margin-left .3s,width .3s,max-width .3s;display:flex;overflow-x:hidden}.topbar{min-height:var(--header-height);-webkit-backdrop-filter:saturate(180%)blur(12px);backdrop-filter:saturate(180%)blur(12px);border-bottom:1px solid var(--border-color);z-index:90;background:#f4f6f8d9;justify-content:space-between;align-items:center;gap:16px;padding:14px 28px;display:flex;position:sticky;top:0}.topbar-left{align-items:center;gap:14px;min-width:0;display:flex}.topbar-right{align-items:center;gap:14px;display:flex}.topbar-title{letter-spacing:-.02em;margin:0;font-size:1.35rem;font-weight:700;line-height:1.2}.topbar-subtitle{color:var(--text-muted);margin:3px 0 0;font-size:.82rem}.content-area{flex:1;padding:28px;animation:.4s fadeIn}.avatar-btn{background:var(--bg-card);border:1px solid var(--border-color);cursor:pointer;color:var(--text-main);box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;gap:10px;padding:6px 14px 6px 6px;font-size:.88rem;font-weight:500;transition:box-shadow .2s,transform .2s;display:flex}.avatar-btn:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.avatar-circle{background:linear-gradient(135deg, var(--primary-color), #1f7d57);width:30px;height:30px;color:var(--primary-text);border-radius:50%;justify-content:center;align-items:center;font-size:.82rem;font-weight:700;display:flex}.brand{border-bottom:1px solid var(--border-color);align-items:center;gap:12px;padding:18px 16px;display:flex;position:relative}.brand-mark{background:linear-gradient(135deg, var(--primary-color), #176b4a);color:#fff;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex;box-shadow:0 6px 14px -6px #2a9d6fb3}.brand-text{letter-spacing:-.02em;color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;flex-direction:column;font-size:.98rem;font-weight:700;display:flex;overflow:hidden}.brand-text small{color:var(--text-disabled);letter-spacing:0;margin-top:1px;font-size:.7rem;font-weight:500}.brand-collapse-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;padding:6px;transition:background .18s,color .18s;display:flex}.brand-collapse-btn:hover{background:var(--primary-tint);color:var(--primary-color)}.nav-links{flex-direction:column;flex:1;gap:4px;padding:16px 14px;display:flex;overflow-y:auto}.nav-section-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-disabled);padding:4px 10px 8px;font-size:.68rem;font-weight:700}.nav-item{border-radius:var(--radius-md);color:var(--text-muted);transition:background .18s ease, color .18s ease, transform .18s var(--ease-out);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;padding:11px 14px;font-size:.92rem;font-weight:500;display:flex;position:relative}.nav-item:hover{background:var(--primary-tint);color:var(--primary-color);transform:translate(3px)}.nav-item.active{background:linear-gradient(135deg, var(--primary-color), #23895f);color:var(--primary-text);transform:none;box-shadow:0 8px 18px -10px #2a9d6fe6}.nav-item.active:hover{color:var(--primary-text);transform:none}.nav-badge{background:var(--border-color);color:var(--text-muted);text-align:center;border-radius:999px;min-width:22px;margin-left:auto;padding:2px 7px;font-size:.7rem;font-weight:700}.nav-badge.warn{background:var(--status-expiring-bg);color:var(--status-expiring-text)}.nav-badge.danger{background:var(--status-expired-bg);color:var(--status-expired-text)}.nav-item.active .nav-badge{color:#fff;background:#ffffff3d}.sidebar-footer{border-top:1px solid var(--border-color);flex-direction:column;gap:4px;padding:12px;display:flex}.nav-logout{color:var(--accent-red);margin-top:4px}.nav-logout:hover{color:var(--accent-red);background:#e5544d17}.toggle-switch-wrapper{border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:8px 12px;font-size:.86rem;font-weight:500;transition:background .18s,color .18s;display:flex}.toggle-switch-wrapper:hover{background:var(--primary-tint);color:var(--primary-color)}.toggle-switch-label{align-items:center;gap:10px;display:flex}.toggle-switch{background-color:var(--border-strong);border-radius:20px;flex-shrink:0;width:32px;height:18px;transition:background-color .2s;display:inline-block;position:relative}.toggle-switch.active{background-color:var(--primary-color)}.toggle-switch-handle{background-color:#fff;border-radius:50%;width:14px;height:14px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0000004d}.toggle-switch.active .toggle-switch-handle{transform:translate(14px)}:root[data-sidebar=collapsed] .sidebar{width:76px}:root[data-sidebar=collapsed] .main-content{width:calc(100% - 76px);max-width:calc(100vw - 76px);margin-left:76px}:root[data-sidebar=collapsed] .brand-text,:root[data-sidebar=collapsed] .nav-section-label,:root[data-sidebar=collapsed] .nav-item-label,:root[data-sidebar=collapsed] .sidebar-footer-item-label,:root[data-sidebar=collapsed] .toggle-switch{display:none!important}:root[data-sidebar=collapsed] .brand{justify-content:center;padding:16px 8px}:root[data-sidebar=collapsed] .brand-collapse-btn{margin-left:0}:root[data-sidebar=collapsed] .nav-item,:root[data-sidebar=collapsed] .toggle-switch-wrapper{justify-content:center;padding:10px}:root[data-sidebar=collapsed] .nav-item:hover{transform:scale(1.05)}:root[data-sidebar=collapsed] .nav-badge{padding:1px 5px;font-size:.65rem;position:absolute;top:4px;right:4px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:18px;margin-bottom:26px;display:grid}.stat-card{--accent:var(--c-all);--accent-soft:#2c334017;--accent-glow:#2c334038;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:transform .28s var(--ease-out), box-shadow .28s var(--ease-out), border-color .28s ease;animation:cardIn .5s var(--ease-out) backwards;flex-direction:column;gap:4px;padding:18px 20px 16px;display:flex;position:relative;overflow:hidden}.stat-card.profile-accent-card{background-image:var(--profile-accent-bg);border-color:var(--profile-accent-border)}.stat-card:first-child{animation-delay:20ms}.stat-card:nth-child(2){animation-delay:60ms}.stat-card:nth-child(3){animation-delay:.1s}.stat-card:nth-child(4){animation-delay:.14s}.stat-card:nth-child(5){animation-delay:.18s}.stat-card:nth-child(6){animation-delay:.22s}.stat-card:before{content:"";background:var(--accent);opacity:.9;height:3px;position:absolute;top:0;left:0;right:0}.stat-card:after{content:"";background:var(--accent-soft);opacity:0;pointer-events:none;border-radius:50%;width:150px;height:150px;transition:opacity .35s;position:absolute;top:-55px;right:-55px}.stat-card.all{--accent:var(--c-all);--accent-soft:#2c334017;--accent-glow:#2c334033}.stat-card.wifi{--accent:var(--c-wifi);--accent-soft:#0f9b8e1c;--accent-glow:#0f9b8e47}.stat-card.gps{--accent:var(--c-gps);--accent-soft:#4f6cf71c;--accent-glow:#4f6cf742}.stat-card.customer{--accent:#059669;--accent-soft:#0596691c;--accent-glow:#05966947}.stat-card.payment{--accent:#4f6cf7;--accent-soft:#4f6cf71c;--accent-glow:#4f6cf742}.stat-card.gold{--accent:#d97706;--accent-soft:#f59e0b1f;--accent-glow:#f59e0b47}.stat-card.extra{--accent:#0891b2;--accent-soft:#0891b21c;--accent-glow:#0891b242}.stat-card.active-users{--accent:var(--c-active);--accent-soft:#2a9d6f1c;--accent-glow:#2a9d6f47}.stat-card.expiring{--accent:var(--c-expiring);--accent-soft:#e9930b21;--accent-glow:#e9930b47}.stat-card.expired{--accent:var(--c-expired);--accent-soft:#e5544d1c;--accent-glow:#e5544d42}.stat-card-head{justify-content:space-between;align-items:flex-start;margin-bottom:6px;display:flex}.stat-icon-chip{background:var(--accent-soft);width:38px;height:38px;color:var(--accent);transition:background .28s ease, color .28s ease, transform .28s var(--ease-out);border-radius:11px;justify-content:center;align-items:center;display:flex}.stat-go{width:26px;height:26px;color:var(--text-disabled);background:var(--bg-subtle);opacity:0;transition:all .28s var(--ease-out);border-radius:8px;justify-content:center;align-items:center;display:flex;transform:translate(-3px,3px)}.stat-value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--text-main);font-size:2.15rem;font-weight:700;line-height:1.1}.stat-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.76rem;font-weight:600}.stat-card-foot{justify-content:space-between;align-items:center;gap:8px;min-height:18px;margin-top:10px;display:flex}.stat-trend{color:#1f7d57;align-items:center;gap:4px;font-size:.74rem;font-weight:600;display:inline-flex}.stat-trend.negative{color:var(--accent-red)}.stat-cta{color:var(--accent);opacity:0;transition:all .28s var(--ease-out);white-space:nowrap;font-size:.72rem;font-weight:600;transform:translate(-4px)}.stat-card.is-clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.stat-card.is-clickable:hover,.stat-card.is-clickable:focus-visible{border-color:var(--accent);box-shadow:0 18px 34px -18px var(--accent-glow), 0 2px 8px #1018280d;transform:translateY(-5px)}.stat-card.is-clickable:hover:after,.stat-card.is-clickable:focus-visible:after{opacity:1}.stat-card.is-clickable:hover .stat-icon-chip,.stat-card.is-clickable:focus-visible .stat-icon-chip{background:var(--accent);color:#fff;transform:scale(1.05)}.stat-card.is-clickable:hover .stat-go,.stat-card.is-clickable:focus-visible .stat-go{opacity:1;color:var(--accent);background:var(--accent-soft);transform:translate(0)}.stat-card.is-clickable:hover .stat-cta,.stat-card.is-clickable:focus-visible .stat-cta{opacity:1;transform:translate(0)}.stat-card.is-clickable:active{transform:translateY(-2px)scale(.99)}.stat-card.is-current{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft), var(--shadow-md)}.stat-card.is-current:after{opacity:1}.stat-card.is-current .stat-icon-chip{background:var(--accent);color:#fff}.table-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:24px;overflow:hidden}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.dashboard-table-scroll{max-width:100%;overflow-x:hidden}@media (width<=900px){.dashboard-table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}}.table-header-controls{border-bottom:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 22px;display:flex}.table-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.search-wrap{flex-direction:column;flex:340px;gap:7px;min-width:280px;max-width:460px;display:flex}.table-search{background:var(--bg-subtle);border:1.5px solid var(--border-color);border-radius:12px;align-items:center;gap:10px;height:44px;padding:0 12px;transition:border-color .2s,box-shadow .2s,background .2s;display:flex}.table-search:focus-within{background:var(--bg-card);border-color:var(--primary-color);box-shadow:0 0 0 4px var(--primary-ring)}.search-leading-icon{color:var(--text-disabled);flex-shrink:0;transition:color .2s}.table-search:focus-within .search-leading-icon,.table-search.has-value .search-leading-icon{color:var(--primary-color)}.table-search input{color:var(--text-main);background:0 0;border:none;outline:none;width:100%;font-family:inherit;font-size:.92rem}.table-search input::placeholder{color:var(--text-disabled)}.table-search input::-webkit-search-cancel-button{appearance:none}.search-kbd{color:var(--text-disabled);background:var(--bg-card);border:1px solid var(--border-color);border-bottom-width:2px;border-radius:6px;flex-shrink:0;padding:1px 7px;font-family:inherit;font-size:.72rem;font-weight:600}.search-clear{background:var(--border-color);width:22px;height:22px;color:var(--text-muted);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .2s,color .2s;display:flex}.search-clear:hover{background:var(--text-muted);color:#fff}.search-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:10px;padding-left:4px;font-size:.8rem;animation:.2s fadeIn;display:flex}.search-meta strong{color:var(--text-main)}.search-meta-link{font:inherit;color:var(--primary-color);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.search-meta-link:hover{text-decoration:underline}.search-hit{color:inherit;background:#e9930b3d;border-radius:3px;padding:0 1px;font-weight:700}.filter-chip{background:var(--primary-tint);color:var(--primary-hover);cursor:pointer;border:1px solid #2a9d6f40;border-radius:999px;align-items:center;gap:6px;padding:7px 12px;font-family:inherit;font-size:.8rem;font-weight:600;transition:background .2s;display:inline-flex}.filter-chip:hover{background:#2a9d6f2e}select,select.form-control,.form-control select,.cfm-modal select,.entries-select{cursor:pointer;appearance:none!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 15 5 5 5-5'/%3E%3Cpath d='m7 9 5-5 5 5'/%3E%3C/svg%3E")!important;background-position:right 12px center!important;background-repeat:no-repeat!important;background-size:14px 14px!important;padding-right:36px!important}[data-theme=dark] select,[data-theme=dark] select.form-control,[data-theme=dark] .cfm-modal select,[data-theme=dark] .entries-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 15 5 5 5-5'/%3E%3Cpath d='m7 9 5-5 5 5'/%3E%3C/svg%3E")!important}table{border-collapse:collapse;width:100%}.dashboard-table{table-layout:fixed;border-collapse:collapse;width:100%}.dashboard-table th,.dashboard-table td{text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:8px 5px;overflow:hidden}.dashboard-table :is(th,td):first-child,.dashboard-table :is(th,td):nth-child(2){text-align:center;width:26px;min-width:26px;padding:8px 2px}.dashboard-table tbody tr.row-detail-tr td,.gold-table tbody tr.row-detail-tr td{text-align:left!important;white-space:normal!important;width:100%!important;padding:0!important}.dashboard-table :is(th,td):nth-child(3){width:6.5%}.dashboard-table :is(th,td):nth-child(4){width:37.5%}:is(.dashboard-table-all,.dashboard-table-recent) :is(th,td):nth-child(5){width:5.5%}:is(.dashboard-table-all,.dashboard-table-recent) :is(th,td):nth-child(6){width:2.5%}:is(.dashboard-table-all,.dashboard-table-recent) :is(th,td):nth-child(7),:is(.dashboard-table-all,.dashboard-table-recent) :is(th,td):nth-child(8),:is(.dashboard-table-all,.dashboard-table-recent) :is(th,td):nth-child(9){width:7.5%}:is(.dashboard-table-all,.dashboard-table-recent) :is(th,td):nth-child(10),:is(.dashboard-table-all,.dashboard-table-recent) :is(th,td):nth-child(11){width:6%}:is(.dashboard-table-all,.dashboard-table-recent) :is(th,td):nth-child(12){text-align:right;width:8.5%}.dashboard-table:not(.dashboard-table-all):not(.dashboard-table-recent) :is(th,td):nth-child(4){width:39%}.dashboard-table:not(.dashboard-table-all):not(.dashboard-table-recent) :is(th,td):nth-child(5){width:9.5%}.dashboard-table:not(.dashboard-table-all):not(.dashboard-table-recent) :is(th,td):nth-child(6),.dashboard-table:not(.dashboard-table-all):not(.dashboard-table-recent) :is(th,td):nth-child(7){width:8%}.dashboard-table:not(.dashboard-table-all):not(.dashboard-table-recent) :is(th,td):nth-child(8){width:7.5%}.dashboard-table:not(.dashboard-table-all):not(.dashboard-table-recent) :is(th,td):nth-child(9){width:6.5%}.dashboard-table:not(.dashboard-table-all):not(.dashboard-table-recent) :is(th,td):nth-child(10){width:6%}.dashboard-table:not(.dashboard-table-all):not(.dashboard-table-recent) :is(th,td):nth-child(11){text-align:right;width:8.5%}.dashboard-table .cell-name{white-space:nowrap;letter-spacing:-.01em;max-width:100%;font-size:.79rem;font-weight:600}.dashboard-table .cell-sub{white-space:nowrap;max-width:100%}.dashboard-table .col-actions{min-width:0}.gold-table-scroll{max-width:100%;overflow-x:hidden}@media (width<=960px){.gold-table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}}.gold-table{table-layout:fixed;border-collapse:collapse;width:100%}.gold-table th,.gold-table td{text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:8px 6px;overflow:hidden}.gold-table :is(th,td):first-child,.gold-table :is(th,td):nth-child(2){text-align:center;width:26px;min-width:26px}.gold-table :is(th,td):nth-child(3){width:8%}.gold-table :is(th,td):nth-child(4){width:5%}.gold-table :is(th,td):nth-child(5){width:16%}.gold-table :is(th,td):nth-child(6){width:15%}.gold-table :is(th,td):nth-child(7){width:9.5%}.gold-table :is(th,td):nth-child(8){width:11%}.gold-table :is(th,td):nth-child(9){width:8.5%}.gold-table :is(th,td):nth-child(10){width:7.5%}.gold-table :is(th,td):nth-child(11){width:6.5%}.gold-table :is(th,td):nth-child(12){text-align:right;width:8%}.gold-table .cell-name{white-space:nowrap;max-width:100%}.gold-table .cell-truncate{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.gold-table .row-actions{justify-content:flex-end;align-items:center;gap:4px;display:flex}.gold-table .row-actions .icon-btn{border-radius:6px;flex-shrink:0;width:26px;height:26px}th,td{text-align:left;padding:10px}th{background:var(--bg-subtle);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color);white-space:nowrap;font-size:.7rem;font-weight:600}td{border-bottom:1px solid var(--border-color);color:var(--text-main);white-space:nowrap;font-size:.86rem}th.col-tight,td.col-tight{text-align:center;width:32px;padding:8px 4px}th.col-actions,td.col-actions{text-align:right;white-space:nowrap;min-width:160px}th.col-status,td.col-status{white-space:nowrap;min-width:95px}th.col-remaining,td.col-remaining{white-space:nowrap;min-width:125px}th.col-sim,td.col-sim{white-space:nowrap;min-width:120px;font-family:monospace;font-size:.82rem}th.col-package,td.col-package{white-space:nowrap;min-width:95px}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background .15s}tbody tr:nth-child(2n){background:#10182803}tbody tr:hover td{background:var(--primary-tint)}.cell-name{white-space:nowrap;font-weight:600;line-height:1.35}.cell-name-text{white-space:nowrap}.cell-sub{color:var(--text-muted);white-space:nowrap;margin-top:2px;font-size:.75rem}.cell-truncate{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.cell-mono{font-variant-numeric:tabular-nums;letter-spacing:.01em}.col-warn{color:var(--status-expiring-text)}.col-danger{color:var(--accent-red)}.type-pill{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:3px;padding:1.5px 5px;font-size:.68rem;font-weight:600;display:inline-flex}.type-pill.wifi{color:var(--c-wifi);background:#0f9b8e1a;border-color:#0f9b8e33}.type-pill.gps{color:var(--c-gps);background:#4f6cf71a;border-color:#4f6cf733}.type-pill.gold{color:#b45309;background:#f59e0b1f;border-color:#f59e0b4d}[data-theme=dark] .type-pill.gold{color:#fbbf24;background:#f59e0b33;border-color:#f59e0b66}.badge{letter-spacing:.02em;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 8px 3px 7px;font-size:.7rem;font-weight:700;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px}.badge.active{background:var(--status-active-bg);color:var(--status-active-text)}.badge.expiring{background:var(--status-expiring-bg);color:var(--status-expiring-text)}.badge.expired{background:var(--status-expired-bg);color:var(--status-expired-text)}.row-actions{justify-content:flex-end;align-items:center;gap:5px;display:flex}.row-expand-btn{border:1px solid var(--border-color);background:var(--bg-card);width:20px;height:20px;color:var(--text-muted);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;transition:all .18s;display:inline-flex;box-shadow:0 1px 2px #0000000a}.row-expand-btn:hover{background:var(--primary-tint);border-color:var(--primary-color);color:var(--primary-color);transform:scale(1.06)}.row-expand-btn.is-expanded{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.all-conn-summary-card{border-radius:8px;box-shadow:0 2px 8px #0f172a0d;border:1px solid var(--border-color)!important;border-left:1px solid var(--border-color)!important;background:#fff!important}.row-detail-tr,.row-detail-tr:hover{background:0 0!important}.row-detail-tr td{border-bottom:1px solid var(--border-color)!important;background:0 0!important;padding:0!important}.row-detail-tr td:last-child{box-shadow:none!important;position:static!important}.note-paper-card{border:1px solid var(--border-color);border-left:1px solid var(--border-color);background:#fff;border-radius:8px;margin:8px 14px 14px 28px;position:relative;overflow:hidden;box-shadow:0 2px 8px #0f172a0d}[data-theme=dark] .note-paper-card{background:linear-gradient(90deg,#17202c 0%,#1a2536 100%);border-color:#4ade8040 #4ade8040 #4ade8040 #2a9d6f;box-shadow:0 4px 14px #0000004d}[data-theme=dark] .all-conn-summary-card,[data-theme=dark] .all-conn-summary-card .note-paper-header,[data-theme=dark] .all-conn-summary-card .service-count-badge,[data-theme=dark] .all-conn-summary-card .customer-note-strip,[data-theme=dark] .all-conn-summary-card .service-note-row,[data-theme=dark] .all-conn-summary-card .device-comment-line{background:var(--bg-card)!important;border-color:var(--border-color)!important}.note-paper-header{border-bottom:1px solid var(--border-color);text-transform:uppercase;letter-spacing:.06em;color:var(--text-main);background:#fff;align-items:center;gap:8px;padding:8px 16px;font-size:.75rem;font-weight:700;display:flex}.all-conn-summary-card .service-count-badge{border:1px solid var(--border-color);color:var(--text-main)!important;background:#fff!important;border-radius:6px!important}.all-conn-summary-card .customer-note-strip{border:1px solid var(--border-color)!important;background:#fff!important;border-radius:6px!important}.all-conn-summary-card .customer-note-strip svg,.all-conn-summary-card .customer-note-strip strong,.all-conn-summary-card .service-reg-id,.all-conn-summary-card .service-expiry-value{color:var(--text-main)!important}.all-conn-summary-card .service-note-row{border:1px solid var(--border-color)!important;border-left:1px solid var(--border-color)!important;box-shadow:none!important;background:#fff!important}.all-conn-summary-card .type-pill{color:var(--text-muted)!important;border:1px solid var(--border-color)!important;background:#fff!important}.all-conn-summary-card .device-comment-line{border:0!important;border-top:1px solid var(--border-color)!important;background:#fff!important;padding-left:0!important;padding-right:0!important}.connection-note-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;margin:10px 14px 16px 28px;overflow:visible;box-shadow:0 3px 12px #0f172a0f}.connection-note-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:12px;min-height:46px;padding:10px 16px;display:flex}.connection-note-title{min-width:0;color:var(--text-main);letter-spacing:.035em;text-transform:uppercase;align-items:center;gap:9px;font-size:.84rem;font-weight:750;display:flex}.connection-note-title span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.connection-note-count,.connection-note-visible-count{border:1px solid var(--border-color);background:var(--bg-subtle);min-height:27px;color:var(--text-main);text-transform:uppercase;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:4px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.connection-note-dot,.connection-status-badge>span{background:var(--primary-color);border-radius:50%;flex-shrink:0;width:7px;height:7px}.connection-note-body{padding:14px}.connection-note-toolbar{grid-template-columns:minmax(260px,1fr) 155px 150px 180px auto;align-items:center;gap:10px;margin-bottom:14px;display:grid}.connection-note-search,.connection-note-select{border:1px solid var(--border-color);background:var(--bg-card);min-width:0;height:38px;color:var(--text-muted);border-radius:7px;align-items:center;gap:8px;padding:0 11px;display:flex}.connection-note-search:focus-within,.connection-note-select:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-ring)}.connection-note-search input,.connection-note-select select{width:100%;min-width:0;color:var(--text-main);font:inherit;background:0 0;border:0;outline:0;font-size:.78rem}.connection-note-select select{cursor:pointer}.connection-customer-remark{border:1px solid var(--border-color);background:var(--bg-subtle);color:var(--text-muted);word-break:break-word;overflow-wrap:anywhere;border-radius:7px;align-items:flex-start;gap:7px;margin-bottom:12px;padding:9px 12px;font-size:.79rem;line-height:1.5;display:flex}.connection-customer-remark strong{color:var(--text-main)}.connection-service-list{flex-direction:column;gap:10px;display:flex}.connection-service-card{background:var(--bg-card);border:1px solid #2a9d6f47;border-radius:9px;position:relative;overflow:visible}.connection-service-summary{background:linear-gradient(90deg,#2a9d6f0e,#2a9d6f04);border-radius:9px 9px 0 0;justify-content:space-between;align-items:center;gap:14px;min-height:55px;padding:8px 10px 8px 14px;display:flex}.connection-service-main{min-width:0;color:var(--text-main);cursor:pointer;text-align:left;background:0 0;border:0;flex:auto;align-items:center;gap:10px;padding:0;display:flex}.connection-service-icon{border:1px solid var(--border-color);background:var(--bg-card);width:31px;height:31px;color:var(--primary-color);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.connection-service-type{border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-muted);border-radius:12px;padding:3px 8px;font-size:.69rem;font-weight:700}.connection-service-main strong{flex-shrink:0;font-size:.84rem}.connection-service-divider{background:var(--border-color);flex-shrink:0;width:1px;height:20px}.connection-service-device{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.82rem;font-weight:600;overflow:hidden}.connection-service-summary-meta{flex-shrink:0;align-items:center;gap:10px;display:flex}.connection-status-badge{min-height:25px;color:var(--primary-color);white-space:nowrap;background:#2a9d6f1a;border-radius:13px;align-items:center;gap:6px;padding:3px 9px;font-size:.72rem;font-weight:700;display:inline-flex}.connection-status-badge.expiring{background:var(--status-expiring-bg);color:var(--status-expiring-text)}.connection-status-badge.expiring>span{background:var(--status-expiring-text)}.connection-status-badge.expired{background:var(--status-expired-bg);color:var(--status-expired-text)}.connection-status-badge.expired>span{background:var(--status-expired-text)}.connection-service-expiry{border-left:1px solid var(--border-color);color:var(--text-muted);white-space:nowrap;align-items:center;gap:6px;padding-left:10px;font-size:.74rem;display:inline-flex}.connection-service-expiry strong{color:var(--text-main)}.connection-icon-button{width:29px;height:29px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex}.connection-icon-button:hover{background:var(--bg-subtle);color:var(--text-main)}.connection-more-wrap{position:relative}.connection-more-menu{z-index:30;border:1px solid var(--border-color);background:var(--bg-card);border-radius:8px;width:175px;padding:6px;position:absolute;top:34px;right:0;box-shadow:0 12px 28px #0f172a29}.connection-more-menu button{width:100%;color:var(--text-main);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;align-items:center;gap:8px;padding:8px 9px;font-size:.73rem;display:flex}.connection-more-menu button:hover{background:var(--bg-subtle)}.connection-more-menu button:disabled{opacity:.4;cursor:not-allowed}.connection-more-menu button.danger{color:var(--status-expired-text)}.connection-service-content{border-top:1px solid var(--border-color)}.connection-service-details{grid-template-columns:1fr 1fr;padding:12px 16px;display:grid}.connection-detail-column{min-width:0;padding-right:20px}.connection-detail-secondary{border-left:1px solid var(--border-color);word-break:break-word;overflow-wrap:anywhere;min-width:0;padding-left:20px;padding-right:0}.service-note-detail-item{border-bottom:1px solid var(--border-color);min-height:38px;color:var(--text-muted);grid-template-columns:20px minmax(120px,145px) minmax(0,1fr);align-items:center;gap:8px;display:grid}.service-note-detail-item:last-child{border-bottom:0}.service-note-detail-label{font-size:.73rem}.service-note-detail-value{min-width:0;color:var(--text-main);word-break:break-word;font-size:.78rem;font-weight:600}.connection-copy-value{align-items:center;gap:7px;font-family:monospace;display:inline-flex}.connection-copy-value button{width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.connection-device-note{width:100%;min-width:0;padding-top:10px}.connection-device-note>div:first-child{color:var(--text-muted);align-items:center;gap:8px;margin-bottom:6px;font-size:.73rem;display:flex}.connection-device-note p,.connection-device-note-content{border:1px solid var(--border-color);background:var(--bg-subtle);min-height:48px;color:var(--text-main);word-break:break-word;overflow-wrap:anywhere;white-space:normal;border-radius:6px;margin:6px 0 0;padding:10px 12px;font-size:.82rem;line-height:1.5}.connection-service-actions{border-top:1px solid var(--border-color);align-items:center;gap:8px;min-height:50px;padding:8px 16px;display:flex}.connection-service-actions button{border:1px solid var(--border-color);background:var(--bg-card);min-height:32px;color:var(--text-main);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:6px 12px;font-size:.73rem;font-weight:600;display:inline-flex}.connection-service-actions button:hover{background:var(--bg-subtle)}.connection-service-actions .danger-action{color:var(--status-expired-text);margin-left:auto}.connection-note-empty{min-height:90px;color:var(--text-muted);justify-content:center;align-items:center;gap:9px;font-size:.82rem;display:flex}@media (width<=1180px){.connection-note-toolbar{grid-template-columns:minmax(230px,1fr) repeat(2,145px)}.connection-note-sort{grid-column:1/2}.connection-note-visible-count{justify-self:end}.connection-service-summary{align-items:flex-start}.connection-service-summary-meta{flex-wrap:wrap;justify-content:flex-end}}@media (width<=760px){.connection-note-panel{margin:8px}.connection-note-header{align-items:flex-start}.connection-note-toolbar{grid-template-columns:1fr}.connection-note-sort{grid-column:auto}.connection-note-visible-count{justify-self:stretch}.connection-service-summary{flex-direction:column}.connection-service-summary-meta{justify-content:flex-start;width:100%}.connection-service-details{grid-template-columns:1fr}.connection-detail-column{padding-right:0}.connection-detail-secondary{border-left:0;border-top:1px solid var(--border-color);padding:8px 0 0}.service-note-detail-item{grid-template-columns:20px minmax(105px,130px) minmax(0,1fr)}.connection-service-actions{flex-wrap:wrap}.connection-service-actions .danger-action{margin-left:0}}.note-lines-body{background-image:repeating-linear-gradient(#0000,#0000 31px,#64748b14 31px 32px);grid-template-columns:repeat(3,1fr);gap:10px 24px;padding:12px 18px 14px 24px;display:grid}@media (width<=900px){.note-lines-body{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.note-lines-body{grid-template-columns:1fr}}.note-line-item{border-bottom:1px solid var(--border-color);align-items:baseline;gap:8px;min-height:32px;padding:5px 0;display:flex}.note-line-item.full-width{border-bottom:none;grid-column:1/-1;align-items:flex-start}.note-line-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);flex-shrink:0;align-items:center;gap:5px;min-width:105px;font-size:.72rem;font-weight:700;display:inline-flex}.note-line-value{color:var(--text-main);font-size:.88rem;font-weight:500}.note-comment-box{border:1px solid var(--border-color);color:var(--text-main);word-break:break-word;box-sizing:border-box;background:#fff;border-radius:6px;width:100%;padding:6px 12px;font-size:.85rem;text-align:left!important}.note-comment-box *{text-align:left!important}[data-theme=dark] .note-comment-box{background:var(--bg-card);border-color:var(--border-color);color:var(--text-main)}.row-detail-grid{grid-template-columns:1fr 1fr;gap:4px 32px;padding:16px 20px 18px 56px;display:grid}@media (width<=640px){.row-detail-grid{grid-template-columns:1fr;padding-left:20px}}.row-detail-col{flex-direction:column;gap:10px;display:flex}.row-detail-item{flex-direction:column;gap:2px;display:flex}.row-detail-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.72rem;font-weight:700}.row-detail-value{color:var(--text-main);font-size:.88rem}.row-detail-comment-value{background:var(--primary-tint);border:1px solid var(--primary-ring);border-radius:var(--radius-sm);width:fit-content;max-width:100%;margin-top:2px;padding:6px 10px;font-weight:600;display:inline-block}.icon-btn{background:var(--bg-card);border:1px solid var(--border-color);width:32px;height:32px;color:var(--text-muted);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;transition:all .18s;display:inline-flex}.icon-btn:hover{background:var(--primary-tint);color:var(--primary-color);border-color:#2a9d6f4d;transform:translateY(-1px)}.icon-btn.danger:hover{color:var(--accent-red);background:#e5544d1a;border-color:#e5544d4d}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:48px 24px;animation:.3s fadeIn;display:flex}.empty-icon{background:var(--bg-subtle);border:1px solid var(--border-color);width:56px;height:56px;color:var(--text-disabled);border-radius:16px;justify-content:center;align-items:center;margin-bottom:8px;display:flex}.empty-state h4{font-size:1rem;font-weight:600}.empty-state p{color:var(--text-muted);max-width:420px;font-size:.87rem}.empty-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:14px;display:flex}.pagination-controls{border-top:1px solid var(--border-color);background:var(--bg-subtle);color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 22px;font-size:.85rem;display:flex}.pagination-controls select{background:var(--bg-card);color:var(--text-main);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;margin-left:8px;padding:5px 8px;font-family:inherit}.page-btn{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-main);border-radius:var(--radius-sm);cursor:pointer;padding:7px 14px;font-family:inherit;font-size:.85rem;font-weight:500;transition:all .18s}.page-btn:hover:not(:disabled){background:var(--primary-tint);color:var(--primary-hover);border-color:#2a9d6f4d}.page-btn:disabled{opacity:.45;cursor:not-allowed}.page-indicator{color:var(--text-main);font-variant-numeric:tabular-nums;align-items:center;padding:0 10px;font-weight:600;display:inline-flex}.btn{border-radius:var(--radius-md);cursor:pointer;transition:all .2s var(--ease-out);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-family:inherit;font-size:.88rem;font-weight:600;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--primary-color), #23895f);color:var(--primary-text);box-shadow:0 8px 18px -10px #2a9d6fe6}.btn-primary:hover{filter:brightness(1.05);transform:translateY(-2px);box-shadow:0 12px 22px -10px #2a9d6ff2}.btn-primary:active{transform:translateY(0)}.btn-outline{background:var(--bg-card);color:var(--text-main);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);font-weight:500}.btn-outline:hover{background:var(--primary-tint);color:var(--primary-hover);border-color:#2a9d6f4d;transform:translateY(-1px)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172a8c;justify-content:center;align-items:center;padding:16px;animation:.25s fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-card);border-radius:var(--radius-lg);width:100%;max-width:600px;max-height:90vh;box-shadow:var(--shadow-lg);border:1px solid var(--border-color);animation:slideUp .3s var(--ease-out);overflow-y:auto}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-body{padding:24px}.modal-footer{border-top:1px solid var(--border-color);justify-content:flex-end;gap:12px;padding:20px 24px;display:flex}.form-group{margin-bottom:16px}.form-label{color:var(--text-muted);margin-bottom:8px;font-size:.85rem;font-weight:500;display:block}.form-control{background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-main);padding:10px 14px;font-family:inherit;font-size:.93rem;transition:border-color .2s,box-shadow .2s}.form-control:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-ring);outline:none}.payment-customer-mode{border:1px solid var(--border-color);background:var(--bg-subtle);border-radius:9px;grid-template-columns:1fr 1fr;gap:6px;margin:7px 0 10px;padding:4px;display:grid}.payment-customer-mode button{min-height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:6px 10px;font-size:.78rem;font-weight:600;display:inline-flex}.payment-customer-mode button.active{border-color:var(--border-color);background:var(--bg-card);color:var(--text-main);box-shadow:0 1px 3px #0f172a14}.payment-new-customer-fields{gap:9px;display:grid}.payment-new-user-help{color:var(--text-muted);font-size:.72rem;line-height:1.4}.form-row{gap:16px;display:flex}.form-row>*{flex:1}.login-container{background:radial-gradient(700px 340px at 20% 0%, #2a9d6f1f, transparent 70%), radial-gradient(600px 300px at 90% 100%, #4f6cf71a, transparent 70%), var(--bg-primary);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--border-color);width:100%;max-width:400px;animation:slideUp .4s var(--ease-out);padding:40px}.login-title{text-align:center;margin-bottom:32px;font-size:1.5rem}.text-accent{color:var(--primary-color)}.file-upload-input{display:none}.hamburger{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-main);cursor:pointer;padding:7px;display:none}.skeleton-row{border-bottom:1px solid var(--border-color);background:linear-gradient(90deg,#f1f3f5 25%,#e7eaee 50%,#f1f3f5 75%) 0 0/200% 100%;height:52px;animation:1.4s linear infinite loading}.remark-icon-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px}.remark-icon-btn:hover{background:var(--primary-tint);color:var(--primary-color)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes cardIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}@media (width<=1100px){.stats-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}}@media (width<=768px){.sidebar{box-shadow:var(--shadow-lg);transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-scrim{display:block}.main-content,:root[data-sidebar=collapsed] .main-content{width:100%!important;max-width:100vw!important;margin-left:0!important}.hamburger{display:block}.topbar{box-sizing:border-box;gap:8px;width:100%;padding:10px 14px}.topbar-left{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.topbar-title{white-space:nowrap;text-overflow:ellipsis;font-size:1.05rem;overflow:hidden}.topbar-subtitle{display:none}.topbar-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.topbar-right .btn{white-space:nowrap;padding:6px 12px;font-size:.8rem}.avatar-btn{padding:4px}.avatar-btn span{display:none}.content-area{box-sizing:border-box;width:100%;padding:12px 14px}.stats-grid{grid-template-columns:repeat(2,1fr)!important;gap:10px!important}.stat-card{padding:12px 14px}.stat-value{font-size:1.5rem}.stat-cta{display:none}.section-quick-bar{gap:8px;padding:8px 10px}.quick-bar-left{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;width:100%;padding-bottom:4px;overflow-x:auto}.quick-pill{white-space:nowrap;flex-shrink:0;padding:5px 10px;font-size:.78rem}.quick-bar-right{justify-content:flex-end;width:100%}.table-header-controls{gap:10px;padding:12px}.search-wrap{flex-basis:100%;width:100%;max-width:100%}.table-search{box-sizing:border-box;width:100%}.table-actions{flex-wrap:wrap;gap:8px;width:100%;display:flex}.table-actions .btn{flex:calc(50% - 4px);justify-content:center;padding:8px 10px;font-size:.8rem}th,td{padding:10px}.pagination-controls{text-align:center;justify-content:center}}@media (width<=420px){.stats-grid{grid-template-columns:repeat(2,1fr)!important;gap:8px!important}.stat-card{padding:10px 12px}.stat-value{font-size:1.35rem}.stat-title{font-size:.7rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.stat-card.is-clickable:hover{transform:none}}:root[data-theme=dark]{--bg-primary:#0f1115;--bg-secondary:#16191e;--bg-card:#1a1d24;--bg-subtle:#21252d;--text-main:#efefef;--text-muted:#9ba3ae;--text-disabled:#5e6672;--border-color:#2d333b;--border-strong:#404752;--shadow-sm:0 1px 2px #00000080;--shadow-md:0 4px 12px #0006;--shadow-lg:0 8px 24px #0009;--status-active-bg:#2a9d6f26;--status-active-text:#5dd599;--status-expiring-bg:#e9930b26;--status-expiring-text:#fdc75c;--status-expired-bg:#e5544d26;--status-expired-text:#fa857e;--profile-accent-bg:linear-gradient(135deg, #2a9d6f24, #2a9d6f08);--profile-accent-border:#2a9d6f47}.section-quick-bar{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg,12px);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:10px 14px;display:flex;box-shadow:0 1px 3px #00000008}.quick-bar-left{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.quick-bar-right{align-items:center;gap:10px;display:flex}.quick-pill{border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:7px;padding:6px 12px;font-size:.82rem;font-weight:600;transition:all .2s;display:inline-flex}.quick-pill:hover{background:var(--bg-hover,#00000008);color:var(--text-main);border-color:var(--text-muted)}.quick-pill.active{background:var(--primary-color,#2a9d6f);color:#fff;border-color:var(--primary-color,#2a9d6f);box-shadow:0 2px 8px #2a9d6f40}.quick-pill.pill-recent.active{background:#4f6cf7;border-color:#4f6cf7;box-shadow:0 2px 8px #4f6cf740}.pill-count{color:inherit;background:#00000014;border-radius:999px;padding:1px 6px;font-size:.72rem;font-weight:700;display:inline-block}[data-theme=dark] .pill-count{background:#ffffff1f}.quick-pill.active .pill-count{color:#fff;background:#ffffff40}.pill-count-recent{color:#4f6cf7;background:#4f6cf726}.quick-pill.active .pill-count-recent{color:#fff;background:#ffffff47}.sort-control{color:var(--text-muted);align-items:center;gap:6px;font-size:.82rem;font-weight:500;display:inline-flex}.sort-control .sort-icon{color:#4f6cf7}.sort-select{border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-main);cursor:pointer;border-radius:8px;outline:none;padding:6px 28px 6px 10px;font-size:.82rem;font-weight:600;transition:border-color .2s}.sort-select:focus{border-color:#4f6cf7}.recent-filter-bar{border-radius:var(--radius-md,8px);background:#4f6cf70d;border:1px dashed #4f6cf740;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;padding:8px 14px;display:flex}.recent-filter-label{color:#4f6cf7;align-items:center;gap:5px;font-size:.8rem;font-weight:600;display:inline-flex}.recent-filter-chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.period-chip{color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #4f6cf733;border-radius:6px;padding:3px 10px;font-size:.76rem;font-weight:600;transition:all .15s}.period-chip:hover{color:#4f6cf7;background:#4f6cf71a}.period-chip.active{color:#fff;background:#4f6cf7;border-color:#4f6cf7}.badge-edited{color:#4f6cf7;white-space:nowrap;background:#4f6cf714;border:1px solid #4f6cf738;border-radius:999px;align-items:center;gap:4px;padding:1px 7px;font-size:.68rem;font-weight:600;display:inline-flex}[data-theme=dark] .badge-edited{color:#8da2fb;background:#4f6cf733;border-color:#4f6cf759}.badge-just-edited{color:#1f7d57;white-space:nowrap;background:#2a9d6f26;border:1px solid #2a9d6f59;border-radius:999px;align-items:center;gap:4px;padding:1px 8px;font-size:.7rem;font-weight:700;animation:2s ease-in-out infinite pulseEditBadge;display:inline-flex}[data-theme=dark] .badge-just-edited{color:#55d69e;background:#2a9d6f40;border-color:#2a9d6f73}@keyframes pulseEditBadge{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.row-just-edited{transition:background-color .5s;background-color:#2a9d6f14!important}[data-theme=dark] .row-just-edited{background-color:#2a9d6f26!important}.nav-badge.brand{color:#fff!important;background:#4f6cf7!important}.cfm-modal{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-color);flex-direction:column;width:95vw;max-width:1300px;max-height:94vh;animation:.35s cubic-bezier(.16,1,.3,1) slideUp;display:flex;overflow:hidden;box-shadow:0 25px 70px #07383538}.cfm-header{background:var(--bg-secondary);color:var(--text-main);border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.cfm-header-left{align-items:center;gap:14px;display:flex}.cfm-header-icon{border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.cfm-icon-gps,.cfm-icon-wifi,.cfm-icon-generic{background:var(--status-active-bg);color:var(--primary-color)}.cfm-header-title{color:var(--text-main);margin:0;font-size:1.05rem;font-weight:600;line-height:1.3}.cfm-header-badge{text-transform:uppercase;letter-spacing:.08em;background:var(--status-active-bg);color:var(--primary-color);border-radius:4px;padding:2px 8px;font-size:.65rem;font-weight:700}.cfm-close-btn{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;transition:all .2s;display:flex}.cfm-close-btn:hover{color:var(--primary-color);background:#2a9d6f14;border-color:#2a9d6f33}.cfm-type-toggle-bar{gap:4px;display:flex}.cfm-type-toggle-btn{border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-muted);cursor:pointer;border-radius:20px;align-items:center;gap:6px;padding:7px 18px;font-size:.82rem;font-weight:500;transition:all .2s;display:inline-flex}.cfm-type-toggle-btn:hover{border-color:var(--primary-color);color:var(--text-main)}.cfm-type-toggle-btn.active{background:var(--primary-color);color:var(--primary-text);border-color:var(--primary-color)}.cfm-body{flex:1;padding:24px 28px;overflow-y:auto}.cfm-section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);border-bottom:1px solid var(--border-color);margin-top:8px;margin-bottom:14px;padding-bottom:8px;font-size:.78rem;font-weight:700}.cfm-section-title:first-child{margin-top:0}.cfm-service-row{background:var(--bg-subtle);border:1.5px solid var(--border-color);border-radius:12px;margin-bottom:16px;padding:14px 18px 8px;transition:border-color .2s;box-shadow:0 2px 6px #00000008}.cfm-service-row:hover{border-color:#2a9d6f59}.cfm-service-row-header{border-bottom:1px solid #0000000f;justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:10px;display:flex}.cfm-service-badge{background:var(--primary-tint);color:var(--primary-color);border:1px solid #2a9d6f33;border-radius:6px;align-items:center;gap:6px;padding:3px 10px;font-size:.78rem;font-weight:700;display:inline-flex}.cfm-add-service-btn{border:1px dashed var(--primary-color);background:var(--primary-tint);color:var(--primary-color);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:6px 14px;font-size:.8rem;font-weight:700;transition:all .2s;display:inline-flex}.cfm-add-service-btn:hover{background:var(--primary-color);color:#fff;border-style:solid}.cfm-add-service-block-btn{width:100%;color:var(--primary-color);cursor:pointer;background:#2a9d6f0a;border:2px dashed #2a9d6f66;border-radius:10px;justify-content:center;align-items:center;gap:8px;margin-bottom:22px;padding:12px;font-size:.9rem;font-weight:600;transition:all .2s;display:flex}.cfm-add-service-block-btn:hover{background:var(--primary-tint);border-color:var(--primary-color)}.cfm-remove-service-btn{border:1px solid var(--border-color);background:var(--bg-card);width:30px;height:30px;color:var(--accent-red);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:inline-flex}.cfm-remove-service-btn:hover{border-color:var(--accent-red);background:#e5544d14}.cfm-grid{grid-template-columns:1fr;gap:8px 18px;margin-bottom:16px;display:grid}@media (width>=580px){.cfm-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=820px){.cfm-grid{grid-template-columns:repeat(3,1fr)}}@media (width>=1100px){.cfm-grid{grid-template-columns:repeat(4,1fr)}}.cfm-grid .form-group{margin-bottom:8px}.cfm-modal .form-control:disabled{background:var(--bg-subtle);color:var(--text-muted);cursor:not-allowed}.cfm-payment-lock-note{color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:14px;padding:10px 14px;font-size:.82rem}.cfm-modal .form-control{border:1.5px solid var(--border-color);background:#fff;border-radius:8px;padding:9px 14px;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.cfm-modal .form-control:focus{border-color:var(--bg-secondary);box-shadow:0 0 0 3px #07383514}.cfm-modal .form-control::placeholder{color:var(--text-disabled);font-size:.88rem}.cfm-modal .form-label{color:var(--text-main);margin-bottom:6px;font-size:.82rem;font-weight:600}.cfm-required{color:var(--accent-red);margin-left:2px;font-weight:700}.cfm-duplicate-hint{color:#92400e;width:100%;font:inherit;text-align:left;cursor:pointer;background:#f59e0b1a;border:1px solid #f59e0b59;border-radius:8px;align-items:flex-start;gap:8px;margin-top:8px;padding:10px 12px;font-size:.78rem;line-height:1.4;display:flex}.cfm-duplicate-hint svg{flex:none;margin-top:1px}[data-theme=dark] .cfm-duplicate-hint{color:#fbbf24;background:#f59e0b1f}.form-control-error{border-color:var(--accent-red)!important;background:#fff8f8!important}.form-control-error:focus{box-shadow:0 0 0 3px #d9534f1a!important}.form-error-text{color:var(--accent-red);margin-top:4px;font-size:.75rem;font-weight:500;animation:.2s fadeIn;display:block}.cfm-footer{background:var(--bg-primary);border-top:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;gap:12px;padding:16px 24px;display:flex}.cfm-submit-btn{justify-content:center;min-width:130px;position:relative}.cfm-submit-btn:disabled{opacity:.7;cursor:not-allowed;transform:none!important}.cfm-spinner{border:2px solid #07383533;border-top-color:var(--primary-text);border-radius:50%;width:16px;height:16px;animation:.6s linear infinite cfm-spin;display:inline-block}@keyframes cfm-spin{to{transform:rotate(360deg)}}@media (width<=640px){.cfm-modal{border-radius:0;max-width:100%;max-height:100vh;margin:0}.cfm-grid{grid-template-columns:1fr;gap:4px 0}.cfm-service-row{padding:12px 12px 2px}.cfm-body{padding:16px}.cfm-header,.cfm-footer{padding:14px 16px}}.rce-container{border:1px solid var(--border-color);background:var(--bg-card);border-radius:8px;flex-direction:column;width:100%;transition:border-color .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.rce-container:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 3px #10b9811f}.rce-toolbar{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);-webkit-user-select:none;user-select:none;flex-wrap:wrap;align-items:center;gap:3px;padding:6px 10px;display:flex}.rce-toolbar-group{align-items:center;gap:2px;display:flex}.rce-toolbar-divider{background:var(--border-color);width:1px;height:18px;margin:0 4px}.rce-toolbar-spacer{flex:1}.rce-btn{color:var(--text-main);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;gap:4px;padding:4px 7px;font-size:.78rem;transition:all .15s;display:inline-flex}.rce-btn:hover{background:var(--bg-subtle);border-color:var(--border-color);color:var(--primary-color)}.rce-expand-btn{background:var(--bg-card);border:1px solid var(--border-color);color:var(--primary-color);padding:3px 8px;font-size:.75rem;font-weight:500}.rce-expand-btn:hover{background:var(--primary-color);color:#fff}.rce-btn-label{font-size:.73rem;font-weight:600}.rce-select{border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-main);cursor:pointer;border-radius:4px;padding:2px 6px;font-size:.76rem}.rce-color-popover{background:var(--bg-card);border:1px solid var(--border-color);z-index:100;border-radius:8px;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:4px;padding:6px;display:grid;position:absolute;top:100%;left:0;box-shadow:0 10px 25px #0003}.rce-color-swatch{cursor:pointer;border:1px solid #00000026;border-radius:50%;width:20px;height:20px;transition:transform .15s}.rce-color-swatch:hover{transform:scale(1.15)}.rce-content{color:var(--text-main);word-break:break-word;resize:vertical;outline:none;padding:12px 14px;font-size:.88rem;line-height:1.6;overflow-y:auto}.rce-content:empty:before{content:attr(data-placeholder);color:var(--text-muted);opacity:.6;pointer-events:none}.rce-content ul,.rce-content ol{margin:6px 0;padding-left:22px}.rce-content li{margin-bottom:3px}.rce-fullscreen{z-index:999999!important;background:var(--bg-card)!important;border-radius:12px!important;width:90vw!important;max-width:900px!important;height:85vh!important;position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;box-shadow:0 25px 80px #00000080!important}.rce-fullscreen-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:-1;background:#0009;position:fixed;inset:0}.ndp-container{width:100%;position:relative}.ndp-input-wrapper{cursor:pointer;align-items:center;display:flex;position:relative}.ndp-input{cursor:pointer;width:100%;background-color:#fff!important;padding-right:36px!important}.ndp-calendar-icon{color:var(--text-muted,#888);pointer-events:none;transition:color .2s;position:absolute;right:12px}.ndp-input-wrapper:hover .ndp-calendar-icon{color:var(--primary-color,#2a9d8f)}.ndp-popover{z-index:999;background:var(--bg-card,#fff);border:1px solid var(--border-color,#e2e8f0);border-radius:var(--radius-md,8px);flex-direction:column;gap:8px;width:280px;padding:12px;animation:.2s cubic-bezier(.16,1,.3,1) ndp-scaleUp;display:flex;position:absolute;top:105%;left:0;box-shadow:0 10px 25px #0000001a}@keyframes ndp-scaleUp{0%{opacity:0;transform:scale(.95)translateY(-5px)}to{opacity:1;transform:scale(1)translateY(0)}}.ndp-header{border-bottom:1px solid var(--border-color,#e2e8f0);justify-content:space-between;align-items:center;gap:6px;padding-bottom:6px;display:flex}.ndp-nav-btn{border:1px solid var(--border-color,#e2e8f0);color:var(--text-main,#333);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:.9rem;font-weight:700;transition:all .2s;display:flex}.ndp-nav-btn:hover{color:var(--primary-color,#2a9d8f);background:#2a9d6f14;border-color:#2a9d6f33}.ndp-selectors{flex:1;gap:4px;display:flex}.ndp-select{border:1px solid var(--border-color,#e2e8f0);background:var(--bg-card,#fff);color:var(--text-main,#333);cursor:pointer;border-radius:6px;outline:none;flex:1;padding:4px 6px;font-size:.85rem;font-weight:600;transition:border-color .2s}.ndp-select:focus{border-color:var(--primary-color,#2a9d8f)}.ndp-weekdays{text-align:center;grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.ndp-weekday{color:var(--text-muted,#888);text-transform:uppercase;padding:4px 0;font-size:.75rem;font-weight:700}.ndp-days-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.ndp-day-empty{aspect-ratio:1;width:100%}.ndp-day-btn{aspect-ratio:1;width:100%;color:var(--text-main,#333);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:.85rem;font-weight:500;transition:all .15s;display:flex}.ndp-day-btn:hover{color:var(--primary-color,#2a9d8f);background:#2a9d6f14}.ndp-day-btn.active{font-weight:700;box-shadow:0 4px 10px #2a9d6f40;background:var(--primary-color,#2a9d8f)!important;color:#fff!important}.ndp-footer{border-top:1px solid var(--border-color,#e2e8f0);justify-content:space-between;margin-top:4px;padding-top:8px;display:flex}.ndp-footer-btn{cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:.8rem;font-weight:600;transition:all .2s}.ndp-clear-btn{color:var(--accent-red,#e5544d)}.ndp-clear-btn:hover{background:#e5544d14}.ndp-today-btn{color:var(--primary-color,#2a9d8f)}.ndp-today-btn:hover{background:#2a9d6f14}.profile-page-main-content{width:100%!important;max-width:100vw!important;margin-left:0!important}.profile-page-wrapper{background:var(--bg-primary);align-items:stretch;width:100%;height:100%;min-height:calc(100vh - 70px);display:flex;overflow:hidden}.profile-sidebar-panel{background:var(--bg-card);border-right:1px solid var(--border-color);flex-direction:column;flex-shrink:0;justify-content:space-between;width:250px;padding:24px 0 16px;display:flex}.profile-sidebar-top{padding:0 16px}.profile-customer-name{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;margin-bottom:24px;padding:0 8px;font-size:1.35rem;font-weight:700;overflow:hidden}.profile-nav-list{flex-direction:column;gap:4px;display:flex}.profile-nav-item{color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:12px;width:100%;padding:11px 16px;font-size:.96rem;font-weight:500;transition:all .18s;display:flex}.profile-nav-item:hover{background:var(--bg-subtle);color:var(--text-main)}.profile-nav-item.active{background:var(--primary-tint);color:var(--primary-color);font-weight:600}[data-theme=dark] .profile-nav-item.active{color:#4ade80;background:#2a9d6f33}.profile-nav-item .nav-icon{flex-shrink:0;width:18px;height:18px}.profile-sidebar-illustration{justify-content:center;align-items:center;padding:16px 20px 8px;display:flex}.profile-illustration-svg{opacity:.92;width:100%;max-width:180px;height:auto;transition:transform .3s}.profile-illustration-svg:hover{transform:translateY(-4px)}.profile-main-panel{flex:1 1 0;min-width:0;max-width:100%;padding:28px 36px;overflow:hidden auto}.profile-main-header{margin-bottom:20px}.profile-main-title{color:var(--text-main);margin:0;font-size:1.5rem;font-weight:700}.profile-assign-btn{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:6px;align-items:center;gap:8px;margin-bottom:22px;padding:10px 22px;font-size:.95rem;font-weight:600;transition:all .2s;display:inline-flex;box-shadow:0 4px 12px #2a9d6f40}.profile-assign-btn:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 6px 16px #2a9d6f59}.profile-dt-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.profile-dt-btn-group{box-shadow:var(--shadow-sm);border-radius:6px;align-items:center;display:inline-flex;overflow:hidden}.profile-dt-btn{color:#fff;cursor:pointer;background:#475569;border:none;border-right:1px solid #ffffff26;padding:8px 18px;font-size:.88rem;font-weight:600;transition:background .15s}.profile-dt-btn:hover{background:#334155}.profile-dt-btn.btn-refresh{background:#e59b36;border-right:none;align-items:center;gap:6px;display:inline-flex}.profile-dt-btn.btn-refresh:hover{background:#d97706}.profile-dt-search{min-width:220px;position:relative}.profile-dt-search input{border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-main);border-radius:6px;outline:none;width:100%;padding:8px 14px;font-size:.95rem;transition:border-color .2s}.profile-dt-search input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-ring)}.profile-vehicle-card{background:var(--bg-card);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);border-radius:10px;margin-bottom:18px;overflow-x:hidden}.profile-vehicle-table{table-layout:fixed;border-collapse:collapse;width:100%;min-width:0}.profile-vehicle-table th{color:#334155;text-transform:capitalize;border-bottom:1px solid var(--border-color);text-align:left;white-space:normal;text-overflow:clip;background:#e2e8f0;padding:12px 10px;font-size:.88rem;font-weight:700;line-height:1.25;overflow:visible}[data-theme=dark] .profile-vehicle-table th{color:#94a3b8;background:#1e293b}.profile-vehicle-table td{border-bottom:1px solid var(--border-color);color:var(--text-main);vertical-align:middle;white-space:nowrap;text-overflow:ellipsis;padding:12px 10px;font-size:.92rem;overflow:hidden}.profile-vehicle-table th,.profile-vehicle-table td{box-sizing:border-box;min-width:0!important}.profile-gps-table th:first-child{width:9%}.profile-gps-table th:nth-child(2){width:13%}.profile-gps-table th:nth-child(3){width:10%}.profile-gps-table th:nth-child(4){width:14%}.profile-gps-table th:nth-child(5){width:11%}.profile-gps-table th:nth-child(6){width:10%}.profile-gps-table th:nth-child(7){width:12%}.profile-gps-table th:nth-child(8){width:13%}.profile-gps-table th:nth-child(9){width:8%}.profile-wifi-table th:first-child{width:10%}.profile-wifi-table th:nth-child(2){width:14%}.profile-wifi-table th:nth-child(3){width:12%}.profile-wifi-table th:nth-child(4){width:11%}.profile-wifi-table th:nth-child(5){width:10%}.profile-wifi-table th:nth-child(6){width:13%}.profile-wifi-table th:nth-child(7){width:20%}.profile-wifi-table th:nth-child(8){width:10%}.profile-all-table th:first-child{width:8%}.profile-all-table th:nth-child(2){width:10%}.profile-all-table th:nth-child(3){width:15%}.profile-all-table th:nth-child(4){width:16%}.profile-all-table th:nth-child(5){width:11%}.profile-all-table th:nth-child(6){width:12%}.profile-all-table th:nth-child(7){width:19%}.profile-all-table th:nth-child(8){width:9%}.profile-vehicle-table td:nth-last-child(2)>div{white-space:normal;flex-wrap:wrap!important;row-gap:3px!important}@media (width<=768px){.profile-vehicle-card{-webkit-overflow-scrolling:touch;overflow-x:auto}.profile-vehicle-table{min-width:780px}}.profile-vehicle-table th:last-child,.profile-vehicle-table td:last-child{box-shadow:none!important;position:static!important;right:auto!important}.profile-vehicle-table th:last-child{text-align:right}.profile-action-cell{text-overflow:clip!important;overflow:visible!important}.profile-row-actions{white-space:nowrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.profile-row-actions .icon-btn{flex:0 0 27px;width:27px;height:27px}.profile-vehicle-table tbody tr:last-child td{border-bottom:none}.profile-vehicle-table tbody tr:hover td{background:var(--primary-tint)}.vehicle-action-pill{color:#fff;cursor:pointer;border:none;border-radius:5px;justify-content:center;align-items:center;padding:6px 14px;font-size:.88rem;font-weight:600;transition:opacity .18s;display:inline-flex}.vehicle-action-pill.unsigned{background:#5b6577}.vehicle-action-pill.active{background:var(--primary-color)}.vehicle-action-pill:hover{opacity:.9}.vehicle-number-link{color:var(--primary-color);cursor:pointer;font-weight:600;text-decoration:none}.vehicle-number-link:hover{color:var(--primary-hover);text-decoration:underline}.vehicle-type-tag{color:#475569;text-transform:uppercase;font-size:.88rem;font-weight:700}[data-theme=dark] .vehicle-type-tag{color:#cbd5e1}.vehicle-validity-text{color:#334155;font-size:.92rem}[data-theme=dark] .vehicle-validity-text{color:#cbd5e1}.vehicle-validity-days{color:#64748b;margin-left:4px;font-size:.86rem}.profile-dt-pagination{color:#64748b;justify-content:space-between;align-items:center;padding-top:14px;font-size:.92rem;display:flex}.profile-dt-page-btns{align-items:center;gap:4px;display:flex}.profile-page-num-btn{border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-main);cursor:pointer;border-radius:4px;padding:5px 12px;font-size:.9rem;transition:all .15s}.profile-page-num-btn:hover:not(:disabled),.profile-page-num-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.profile-page-num-btn:disabled{opacity:.45;cursor:not-allowed}.service-type-tabs{gap:8px;margin-bottom:16px;display:flex}.service-type-tab-btn{border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-muted);cursor:pointer;border-radius:20px;padding:6px 16px;font-size:.88rem;font-weight:600;transition:all .18s}.service-type-tab-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.service-type-badge{letter-spacing:.02em;border-radius:12px;align-items:center;gap:5px;padding:4px 12px;font-size:.84rem;font-weight:700;display:inline-flex}.service-type-badge.gps{color:var(--primary-color);background:#2a9d6f1f;border:1px solid #2a9d6f4d}.service-type-badge.wifi{color:#6366f1;background:#6366f11f;border:1px solid #6366f14d}[data-theme=dark] .service-type-badge.gps{color:#4ade80;background:#4ade8026;border-color:#4ade8059}[data-theme=dark] .service-type-badge.wifi{color:#a5b4fc;background:#818cf826;border-color:#818cf859}.col-success{font-weight:600;color:var(--primary-color)!important}.col-danger{font-weight:600;color:#ef4444!important}.recycle-page{flex-direction:column;gap:18px;display:flex}.recycle-notice{background:var(--bg-card);border:1px solid var(--border-color);border-left:4px solid var(--primary-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);align-items:center;gap:14px;padding:16px 18px;display:flex}.recycle-notice-icon{width:40px;height:40px;color:var(--primary-color);background:var(--primary-tint);border-radius:10px;flex:0 0 40px;place-items:center;display:grid}.recycle-notice strong{color:var(--text-main);font-size:.94rem}.recycle-notice p{color:var(--text-muted);margin:3px 0 0;font-size:.82rem}.recycle-total{background:var(--bg-subtle);color:var(--text-muted);white-space:nowrap;border-radius:999px;margin-left:auto;padding:5px 11px;font-size:.76rem;font-weight:700}.recycle-table-card{overflow:hidden}.recycle-controls{gap:12px}.recycle-search{width:min(440px,100%)}.recycle-filter{min-width:190px;height:40px;color:var(--text-main);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);font:inherit;outline:none;padding:0 34px 0 12px;font-size:.84rem}.recycle-filter:focus{border-color:var(--primary-color)}.recycle-table{border-collapse:collapse;width:100%}.recycle-table th{text-align:left;color:var(--text-muted);background:var(--bg-subtle);border-bottom:1px solid var(--border-color);letter-spacing:.045em;text-transform:uppercase;white-space:nowrap;padding:13px 18px;font-size:.72rem;font-weight:700}.recycle-table td{color:var(--text-muted);border-bottom:1px solid var(--border-color);vertical-align:middle;padding:14px 18px;font-size:.84rem}.recycle-table tbody tr:last-child td{border-bottom:0}.recycle-table tbody tr:hover{background:color-mix(in srgb, var(--primary-color) 2.5%, transparent)}.recycle-table th:last-child,.recycle-table td:last-child{text-align:right}.recycle-label{color:var(--text-main);font-weight:600}.recycle-id{color:var(--text-main);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.recycle-type{background:var(--bg-subtle);color:var(--text-muted);white-space:nowrap;border-radius:7px;align-items:center;gap:6px;padding:5px 9px;font-size:.75rem;font-weight:650;display:inline-flex}.recycle-type.customer,.recycle-type.service{color:var(--primary-color);background:var(--primary-tint)}.recycle-type.wifi{color:#16a34a;background:#16a34a1f}.recycle-type.gps{color:#2563eb;background:#2563eb1f}.recycle-type.extra{color:#0891b2;background:#0891b21f}.recycle-type.payment,.recycle-type.billing{color:#4f6cf7;background:#4f6cf71a}.recycle-type.gold{color:#b96b00;background:#e9930b1f}[data-theme=dark] .recycle-type.wifi{color:#4ade80;background:#4ade8026}[data-theme=dark] .recycle-type.gps{color:#60a5fa;background:#60a5fa26}[data-theme=dark] .recycle-type.extra{color:#22d3ee;background:#22d3ee26}.recycle-stats-grid{margin-bottom:6px}.recycle-meta-chips{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.recycle-meta-chip{background:var(--bg-subtle);border:1px solid var(--border-color);color:var(--text-muted);border-radius:5px;align-items:center;gap:4px;padding:2px 7px;font-size:.74rem;display:inline-flex}.recycle-meta-chip strong{color:var(--text-main);font-weight:600}.recycle-meta-chip.highlight{color:#16a34a;background:#16a34a1a;border-color:#16a34a40}[data-theme=dark] .recycle-meta-chip.highlight{color:#4ade80;background:#4ade8026;border-color:#4ade804d}.recycle-actions{justify-content:flex-end;align-items:center;gap:7px;display:inline-flex}.recycle-restore,.recycle-purge{height:34px;font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;font-size:.78rem;font-weight:650;transition:all .18s;display:inline-flex}.recycle-restore{color:var(--primary-color);background:var(--primary-tint);border:1px solid color-mix(in srgb, var(--primary-color) 26%, transparent);padding:0 11px}.recycle-restore:hover{background:var(--primary-color);color:#fff}.recycle-purge{width:34px;color:var(--accent-red);border:1px solid var(--border-color);background:0 0}.recycle-purge:hover{background:#e5544d1a;border-color:#e5544d59}.recycle-restore:disabled,.recycle-purge:disabled{opacity:.5;cursor:wait}.recycle-loading,.recycle-error{min-height:180px;color:var(--text-muted);justify-content:center;align-items:center;gap:10px;display:flex}.recycle-error{color:var(--accent-red)}.recycle-empty svg{color:var(--text-disabled);margin-bottom:8px}@media (width<=820px){.recycle-notice{align-items:flex-start}.recycle-total{display:none}.recycle-controls{flex-direction:column;align-items:stretch}.recycle-search,.recycle-filter{width:100%;max-width:none}.recycle-table thead{display:none}.recycle-table,.recycle-table tbody,.recycle-table tr,.recycle-table td{width:100%;display:block}.recycle-table tr{border-bottom:1px solid var(--border-color);padding:12px 15px}.recycle-table td{text-align:right;border:0;justify-content:space-between;align-items:center;gap:18px;padding:7px 0;display:flex}.recycle-table td:before{content:attr(data-label);color:var(--text-disabled);letter-spacing:.04em;text-transform:uppercase;text-align:left;font-size:.7rem;font-weight:700}.recycle-table td:first-child{text-align:left;padding-bottom:10px;display:block}.recycle-table td:first-child:before{display:none}.recycle-table th:last-child,.recycle-table td:last-child{text-align:right}.recycle-actions-cell{padding-top:10px!important}.recycle-actions{margin-left:auto}}
