:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172033;background:#f4f7fb;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px}button,input{font:inherit}a{color:inherit;text-decoration:none}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(360px,1.05fr) minmax(420px,.95fr);background:#fff}.login-visual{position:relative;overflow:hidden;display:flex;align-items:center;padding:64px;color:#fff;background:radial-gradient(circle at 18% 16%,rgba(87,210,255,.25),transparent 34%),radial-gradient(circle at 80% 70%,rgba(0,255,179,.18),transparent 34%),linear-gradient(145deg,#0d1c3e,#123f73 55%,#0d6f74)}.login-visual:after{content:"";position:absolute;width:520px;height:520px;right:-180px;bottom:-220px;border:1px solid rgba(255,255,255,.15);border-radius:50%;box-shadow:0 0 0 70px #ffffff0a,0 0 0 140px #ffffff06}.visual-content{position:relative;z-index:1;max-width:640px}.visual-content h1{margin:28px 0 16px;font-size:clamp(42px,5vw,72px);line-height:1.05;letter-spacing:-.045em}.visual-content>p{max-width:620px;margin:0;color:#ffffffc7;font-size:19px;line-height:1.7}.feature-list{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px}.feature-list span{padding:11px 16px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:#ffffff14;font-size:14px}.brand-mark{width:46px;height:46px;display:grid;place-items:center;flex:0 0 auto;border-radius:14px;color:#fff;background:linear-gradient(145deg,#17a6d1,#0a736d);font-weight:800}.brand-mark.large{width:70px;height:70px;border-radius:22px;background:#ffffff24;border:1px solid rgba(255,255,255,.2);font-size:24px}.login-panel{display:grid;place-items:center;padding:44px}.login-card{width:min(100%,460px)}.mobile-brand{display:none;align-items:center;gap:12px;margin-bottom:40px}.login-heading{margin-bottom:34px}.eyebrow{display:block;margin-bottom:10px;color:#0c7c82;font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.login-heading h2,.page-heading h2,.placeholder-page h2,.center-page h2{margin:0;font-size:34px;letter-spacing:-.035em}.login-heading p,.page-heading p,.placeholder-page p,.center-page p{margin:12px 0 0;color:#6d778b;line-height:1.65}.login-card label{display:block;margin-bottom:22px;font-size:14px;font-weight:700;color:#344058}.login-card input{width:100%;height:50px;margin-top:9px;padding:0 15px;border:1px solid #d9e0ea;border-radius:12px;outline:none;color:#172033;background:#fbfcfe}.login-card input:focus{border-color:#168d93;box-shadow:0 0 0 4px #168d931f;background:#fff}.password-field{position:relative}.password-field input{padding-right:72px}.password-toggle{position:absolute;right:9px;top:17px;border:0;padding:8px 10px;background:transparent;color:#0c7c82;cursor:pointer;font-size:13px;font-weight:700}.button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border:0;border-radius:11px;cursor:pointer;font-weight:750}.button.primary{color:#fff;background:linear-gradient(135deg,#0d8891,#0b657e)}.button.secondary{color:#dce7f6;background:#ffffff14;border:1px solid rgba(255,255,255,.12)}.button.full{width:100%}.large-button{min-height:52px;font-size:15px}.alert{margin:-4px 0 20px;padding:13px 15px;border-radius:10px;font-size:14px;line-height:1.5}.alert.error{color:#a32534;background:#fff1f2;border:1px solid #ffd6da}.login-note{margin:22px 0 0;color:#96a0b2;text-align:center;font-size:12px}.app-shell{min-height:100vh;display:grid;grid-template-columns:270px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:24px 18px;color:#dce7f6;background:linear-gradient(180deg,#101a31,#0a1224)}.brand{display:flex;align-items:center;gap:12px;padding:4px 8px 28px}.brand strong{display:block;color:#fff;font-size:15px}.brand span{display:block;margin-top:3px;color:#8493ad;font-size:12px}.nav-list{display:grid;gap:7px}.nav-list a{padding:12px 13px;border-radius:10px;color:#9cabc3;font-size:14px;font-weight:650}.nav-list a.active{color:#fff;background:linear-gradient(135deg,#15a0ab47,#10719433);border:1px solid rgba(73,205,214,.14)}.sidebar-footer{margin-top:auto}.account-card{margin-bottom:12px;padding:14px;border-radius:12px;background:#ffffff0d}.account-card strong,.account-card span{display:block}.account-card strong{color:#fff;font-size:14px}.account-card span{margin-top:5px;color:#7f91ad;font-size:11px}.main-content{min-width:0}.topbar{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 32px;border-bottom:1px solid #e4e9f1;background:#ffffffeb}.topbar h1{margin:0;font-size:19px}.topbar p{margin:5px 0 0;color:#8a95a6;font-size:12px}.api-status{display:flex;align-items:center;gap:8px;color:#447064;font-size:13px;font-weight:700}.status-dot{width:9px;height:9px;border-radius:50%;background:#20b47b;box-shadow:0 0 0 5px #20b47b1f}.page-content{padding:30px}.page-heading{display:flex;justify-content:space-between;gap:24px;margin-bottom:26px}.page-heading p{max-width:680px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.stat-card,.panel,.placeholder-page{border:1px solid #e1e7ef;border-radius:16px;background:#fff;box-shadow:0 8px 28px #1522380b}.stat-card{padding:20px}.stat-card>span{color:#768196;font-size:13px;font-weight:700}.stat-card strong{display:block;margin:17px 0 8px;font-size:30px}.stat-card p{margin:0;color:#9aa4b4;font-size:12px}.content-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;margin-top:18px}.panel{padding:22px}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.panel-heading h3{margin:0;font-size:19px}.badge{padding:7px 10px;border-radius:999px;font-size:11px;font-weight:800}.badge.success{color:#08734d;background:#e7f8f0}.check-list{display:grid;gap:12px;margin-top:22px}.check-list div{display:flex;align-items:center;gap:10px;color:#536078;font-size:14px}.check-list span{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;color:#08734d;background:#e7f8f0;font-weight:900}.detail-list{margin:20px 0 0}.detail-list div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid #edf0f5}.detail-list dt{color:#7d8798;font-size:13px}.detail-list dd{margin:0;color:#2b364a;font-size:13px;font-weight:750}.placeholder-page{min-height:320px;display:grid;align-content:center;padding:48px}.center-page{min-height:100vh;display:grid;place-items:center;padding:30px;text-align:center}.center-page>div{max-width:540px}.center-page .button{margin-top:24px}.error-code{display:block;margin-bottom:12px;color:#0d7a84;font-size:72px;font-weight:900}@media(max-width:1100px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid{grid-template-columns:1fr}}@media(max-width:900px){.login-page{grid-template-columns:1fr}.login-visual{display:none}.mobile-brand{display:flex}.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.nav-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.login-panel,.page-content{padding:24px}.topbar{padding:0 20px}.api-status{display:none}.stat-grid,.nav-list{grid-template-columns:1fr}}.dashboard-heading{align-items:flex-start}.last-updated{display:inline-block;margin-top:12px;color:#8a95a6;font-size:12px}.refresh-button{min-width:145px}.dashboard-error{display:flex;align-items:center;gap:10px;margin:0 0 18px}.dashboard-error span{flex:1}.dashboard-error button{border:0;background:transparent;color:#a32534;cursor:pointer;font-weight:800}.dashboard-loading{min-height:280px;display:grid;place-items:center;align-content:center;gap:14px;color:#6d778b;border:1px solid #e1e7ef;border-radius:16px;background:#fff}.spinner{width:34px;height:34px;border:3px solid #dce7eb;border-top-color:#0d8891;border-radius:50%;animation:dashboard-spin .8s linear infinite}@keyframes dashboard-spin{to{transform:rotate(360deg)}}.dashboard-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-card strong.positive,.positive{color:#08734d}.stat-card strong.negative,.negative{color:#b42335}.warning-text{color:#b26a00}.strategy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}.strategy-card{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px;padding:20px;border:1px solid #e1e7ef;border-radius:16px;background:linear-gradient(145deg,rgba(13,136,145,.035),transparent 52%),#fff;box-shadow:0 8px 28px #1522380b}.strategy-card>div{display:flex;flex-direction:column;gap:14px}.strategy-card>div strong{font-size:23px;letter-spacing:-.03em}.strategy-code{width:fit-content;padding:7px 10px;border-radius:999px;color:#0a6d75;background:#e6f6f5;font-size:12px;font-weight:850}.strategy-card dl{margin:0}.strategy-card dl div{display:flex;justify-content:space-between;gap:12px;padding:6px 0}.strategy-card dt{color:#7d8798;font-size:12px}.strategy-card dd{margin:0;font-size:12px;font-weight:800}.dashboard-data-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(340px,.75fr);gap:18px;margin-top:18px}.dashboard-panel{min-width:0;overflow:hidden}.table-count{padding:6px 9px;border-radius:999px;color:#627087;background:#f0f3f7;font-size:11px;font-weight:800}.table-wrap{margin-top:18px;overflow-x:auto}.data-table{width:100%;border-collapse:collapse;min-width:820px}.data-table th,.data-table td{padding:13px 12px;text-align:left;border-bottom:1px solid #edf0f5;vertical-align:middle}.data-table th{color:#7d8798;background:#f8fafc;font-size:11px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.data-table td{color:#39465b;font-size:13px}.data-table td strong,.data-table td small{display:block}.data-table td small{margin-top:4px;color:#929cab;font-size:11px}.empty-cell,.empty-state{padding:28px!important;color:#929cab;text-align:center!important}.badge.neutral{color:#40506a;background:#edf1f6}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:900}.status-pill:before{content:"";width:7px;height:7px;border-radius:50%}.status-pill.online{color:#08734d;background:#e7f8f0}.status-pill.online:before{background:#20b47b}.status-pill.offline{color:#8c3b45;background:#fff0f1}.status-pill.offline:before{background:#dc5b6a}.pending-count{display:inline-grid;min-width:27px;height:27px;place-items:center;padding:0 7px;border-radius:999px;color:#627087;background:#edf1f6;font-weight:850}.pending-count.has-pending{color:#995600;background:#fff2d9}.event-list{display:grid;gap:2px;margin-top:16px;max-height:590px;overflow-y:auto}.event-item{display:grid;grid-template-columns:62px minmax(0,1fr);gap:12px;padding:14px 0;border-bottom:1px solid #edf0f5}.event-level{height:fit-content;padding:6px 7px;border-radius:7px;text-align:center;font-size:9px;font-weight:900}.event-level.info{color:#176b87;background:#e9f5fa}.event-level.warning{color:#995600;background:#fff2d9}.event-level.danger{color:#a32534;background:#fff0f1}.event-content{min-width:0}.event-content strong{display:block;color:#2e3a4d;font-size:13px}.event-content p{margin:5px 0;color:#667289;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.event-content small{color:#98a1af;font-size:10px}@media(max-width:1280px){.dashboard-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-data-grid{grid-template-columns:1fr}}@media(max-width:980px){.strategy-grid{grid-template-columns:1fr}}@media(max-width:620px){.dashboard-heading{display:grid}.refresh-button{width:100%}.dashboard-stat-grid,.strategy-card{grid-template-columns:1fr}}.customers-heading{align-items:flex-start}.customer-workspace{display:grid;grid-template-columns:minmax(340px,.78fr) minmax(0,1.5fr);gap:18px}.customer-list-panel,.customer-detail-panel{min-width:0}.customer-search{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:9px;margin-top:18px}.customer-search input,.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid #d9e0ea;border-radius:10px;outline:none;color:#172033;background:#fbfcfe}.customer-search input{min-height:42px;padding:0 13px}.form-field input,.form-field select{min-height:44px;padding:0 12px}.form-field textarea{padding:11px 12px;resize:vertical}.customer-search input:focus,.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#168d93;box-shadow:0 0 0 4px #168d931a;background:#fff}.button.light{color:#46536a;background:#eef2f6;border:1px solid #e0e5ec}.button.compact{min-height:34px;padding:0 12px;font-size:12px}.button.danger-outline{color:#a32534;background:#fff;border:1px solid #efc8ce}.button.success-outline{color:#08734d;background:#fff;border:1px solid #bfe2d3}.success-alert{color:#08734d;background:#e7f8f0;border:1px solid #c8eadb}.customer-list{display:grid;gap:7px;margin-top:16px;max-height:680px;overflow-y:auto}.customer-list-item{width:100%;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px;border:1px solid transparent;border-radius:12px;color:inherit;background:transparent;cursor:pointer;text-align:left}.customer-list-item:hover{background:#f7f9fc}.customer-list-item.selected{border-color:#bee0e2;background:#eff9f8}.customer-avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;color:#0a6d75;background:#dff2f1;font-size:12px;font-weight:900}.customer-list-content{min-width:0}.customer-list-content strong,.customer-list-content small{display:block}.customer-list-content strong{overflow:hidden;color:#2e3a4d;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.customer-list-content small{margin-top:4px;overflow:hidden;color:#8b96a7;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.empty-customer-detail{min-height:540px;display:grid;place-items:center;align-content:center;text-align:center}.empty-customer-detail h3{margin:14px 0 0}.empty-customer-detail p{margin:8px 0 0;color:#8a95a6}.empty-icon{font-size:46px;filter:grayscale(1);opacity:.55}.customer-profile-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.customer-profile-header h3{margin:0;font-size:25px;letter-spacing:-.03em}.customer-profile-header p{margin:7px 0 0;color:#7d8798}.customer-actions{display:flex;gap:9px}.customer-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:22px 0;overflow:hidden;border:1px solid #e6ebf1;border-radius:13px;background:#e6ebf1}.customer-detail-grid div{padding:14px;background:#fff}.customer-detail-grid .wide{grid-column:1 / -1}.customer-detail-grid dt{color:#8994a5;font-size:11px}.customer-detail-grid dd{margin:6px 0 0;color:#344058;font-size:13px;font-weight:700;overflow-wrap:anywhere}.subscription-result{display:flex;justify-content:space-between;gap:16px;margin-bottom:20px;padding:13px 15px;border-radius:11px;color:#08734d;background:#e7f8f0}.subscription-result span{font-size:12px}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-top:22px}.section-heading h3{margin:0;font-size:19px}.subscription-groups{display:grid;gap:16px;margin-top:16px}.subscription-group{overflow:hidden;border:1px solid #e2e8ef;border-radius:14px}.subscription-group-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;background:#f7f9fc}.subscription-group-heading strong,.subscription-group-heading span{display:block}.subscription-group-heading strong{color:#344058;font-size:13px}.subscription-group-heading span{margin-top:3px;color:#8b96a7;font-size:11px}.slot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px}.slot-card{padding:14px;border:1px solid #e6ebf1;border-radius:12px;background:#fff}.slot-card-heading{display:flex;justify-content:space-between;gap:12px}.slot-card-heading span,.slot-card-heading strong{display:block}.slot-card-heading>div>span{color:#8b96a7;font-size:10px}.slot-card-heading>div>strong{margin-top:4px;color:#344058;font-size:12px;overflow-wrap:anywhere}.slot-card dl{margin:13px 0}.slot-card dl div{display:flex;justify-content:space-between;gap:12px;padding:5px 0}.slot-card dt{color:#8b96a7;font-size:10px}.slot-card dd{margin:0;color:#526078;font-size:10px;font-weight:700}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:24px;background:#0811239e;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-card{width:min(100%,720px);max-height:calc(100vh - 48px);overflow-y:auto;padding:24px;border-radius:17px;background:#fff;box-shadow:0 30px 90px #0000003d}.modal-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}.modal-heading h3{margin:0;font-size:24px}.modal-heading p{margin:6px 0 0;color:#7d8798}.modal-heading>button{width:34px;height:34px;border:0;border-radius:9px;color:#58657b;background:#eef2f6;cursor:pointer;font-size:22px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-field{display:grid;gap:7px;color:#4b5870;font-size:12px;font-weight:750}.form-field.wide{grid-column:1 / -1}.checkbox-field{display:flex;align-items:center;gap:9px;margin-top:16px;color:#4b5870;font-size:13px;font-weight:700}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}@media(max-width:1120px){.customer-workspace{grid-template-columns:1fr}.customer-list{max-height:420px}}@media(max-width:700px){.customer-search{grid-template-columns:1fr}.customer-profile-header,.customers-heading{display:grid}.customer-actions{width:100%}.customer-actions .button{flex:1}.customer-detail-grid,.slot-grid,.form-grid{grid-template-columns:1fr}.customer-detail-grid .wide,.form-field.wide{grid-column:auto}.subscription-result{display:grid}}.customer-network-section{margin-top:24px;padding-top:4px;border-top:1px solid #edf0f5}.network-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.compact-network-grid{margin-top:16px}.network-card{display:grid;grid-template-columns:54px minmax(0,1fr);gap:15px;padding:20px;border:1px solid #e1e7ef;border-radius:16px;background:linear-gradient(145deg,rgba(13,136,145,.035),transparent 52%),#fff;box-shadow:0 8px 28px #1522380b}.network-card-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:15px;color:#0a6d75;background:#dff2f1;font-size:11px;font-weight:900}.network-card-icon.bot{color:#375b98;background:#e8eefb}.network-card h3{margin:0;color:#263349;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:21px;overflow-wrap:anywhere}.network-detail-list{margin:14px 0 0}.network-detail-list div{display:flex;justify-content:space-between;gap:14px;padding:7px 0;border-bottom:1px solid #edf0f5}.network-detail-list div:last-child{border-bottom:0}.network-detail-list dt{color:#8b96a7;font-size:11px}.network-detail-list dd{margin:0;color:#4a586f;font-size:11px;font-weight:750;text-align:right;overflow-wrap:anywhere}.network-connections-panel{margin-top:18px}.network-table{min-width:940px}.ip-code{padding:5px 7px;border-radius:7px;color:#0b657e;background:#edf7f8;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;font-weight:800}@media(max-width:820px){.network-summary-grid{grid-template-columns:1fr}}.machines-heading{align-items:flex-start}.machine-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:18px}.machine-summary-grid article{padding:18px;border:1px solid #e1e7ef;border-radius:15px;background:#fff;box-shadow:0 8px 28px #1522380b}.machine-summary-grid span,.machine-summary-grid strong{display:block}.machine-summary-grid span{color:#7d8798;font-size:12px;font-weight:750}.machine-summary-grid strong{margin-top:12px;font-size:27px;letter-spacing:-.04em}.machine-filter-panel{margin-bottom:18px}.machine-filters{display:grid;grid-template-columns:minmax(260px,1fr) 170px 170px auto auto;gap:10px}.machine-filters input,.machine-filters select{min-height:42px;padding:0 12px;border:1px solid #d9e0ea;border-radius:10px;outline:none;color:#263349;background:#fbfcfe}.machine-filters input:focus,.machine-filters select:focus{border-color:#168d93;box-shadow:0 0 0 4px #168d931a;background:#fff}.machine-workspace{display:grid;grid-template-columns:minmax(330px,.72fr) minmax(0,1.5fr);gap:18px}.machine-list-panel,.machine-detail-panel{min-width:0}.machine-list{display:grid;gap:7px;margin-top:16px;max-height:760px;overflow-y:auto}.machine-list-item{width:100%;display:grid;grid-template-columns:11px minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px;border:1px solid transparent;border-radius:12px;color:inherit;background:transparent;cursor:pointer;text-align:left}.machine-list-item:hover{background:#f7f9fc}.machine-list-item.selected{border-color:#bee0e2;background:#eff9f8}.machine-state-dot{width:10px;height:10px;border-radius:50%;background:#a7b0be;box-shadow:0 0 0 4px #a7b0be1f}.machine-state-dot.online{background:#20b47b;box-shadow:0 0 0 4px #20b47b1f}.machine-state-dot.offline{background:#dc5b6a;box-shadow:0 0 0 4px #dc5b6a1f}.machine-list-content{min-width:0}.machine-list-content strong,.machine-list-content small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.machine-list-content strong{color:#2e3a4d;font-size:13px}.machine-list-content small{margin-top:4px;color:#8b96a7;font-size:11px}.status-pill.neutral{color:#5f6c80;background:#edf1f6}.status-pill.neutral:before{background:#9aa5b4}.empty-machine-detail{min-height:620px;display:grid;place-items:center;align-content:center;text-align:center}.empty-machine-detail h3{margin:14px 0 0}.empty-machine-detail p{margin:8px 0 0;color:#8a95a6}.machine-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.machine-detail-header h3{margin:0;font-size:25px;letter-spacing:-.03em}.machine-detail-header p{margin:7px 0 0;color:#7d8798}.machine-detail-statuses{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.machine-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:22px;overflow:hidden;border:1px solid #e6ebf1;border-radius:13px;background:#e6ebf1}.machine-info-grid>div{padding:13px 14px;background:#fff}.machine-info-grid dt{color:#8994a5;font-size:11px}.machine-info-grid dd{margin:6px 0 0;color:#344058;font-size:13px;font-weight:750;overflow-wrap:anywhere}.machine-info-grid code,.credential-detail-list code{color:#0b657e;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.machine-error-box{display:grid;gap:5px;margin-top:16px;padding:13px 15px;border:1px solid #ffd1d6;border-radius:11px;color:#a32534;background:#fff1f2}.machine-error-box strong{font-size:12px}.machine-error-box span{font-size:12px;line-height:1.5}.magic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:15px}.magic-card{padding:15px;border:1px solid #e3e8ef;border-radius:12px;background:#f9fbfd}.magic-card span,.magic-card strong,.magic-card small{display:block}.magic-card span{color:#0a6d75;font-size:11px;font-weight:850}.magic-card strong{margin-top:10px;color:#29374c;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:16px;overflow-wrap:anywhere}.magic-card small{margin-top:8px;color:#8b96a7;font-size:9px;font-weight:850}.credential-heading{margin-top:24px}.credential-detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:15px 0 0;overflow:hidden;border:1px solid #e6ebf1;border-radius:12px;background:#e6ebf1}.credential-detail-list>div{padding:13px;background:#fff}.credential-detail-list dt{color:#8994a5;font-size:11px}.credential-detail-list dd{margin:6px 0 0;color:#344058;font-size:12px;font-weight:750;overflow-wrap:anywhere}.machine-admin-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid #edf0f5}.credential-modal{width:min(100%,820px)}.credential-secret-field{display:grid;gap:8px;margin-top:16px;color:#4b5870;font-size:12px;font-weight:800}.credential-secret-field>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:stretch}.credential-secret-field code{min-width:0;padding:13px;overflow-wrap:anywhere;border:1px solid #d9e0ea;border-radius:10px;color:#0b657e;background:#f7fafc;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.credential-warning{margin-top:18px;padding:13px 15px;border:1px solid #f2d4a9;border-radius:10px;color:#8a570c;background:#fff7e8;font-size:12px;font-weight:750}@media(max-width:1280px){.machine-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.machine-filters{grid-template-columns:minmax(220px,1fr) 150px 150px}.machine-filters .button{width:100%}}@media(max-width:1080px){.machine-workspace{grid-template-columns:1fr}.machine-list{max-height:430px}}@media(max-width:720px){.machine-summary-grid,.machine-info-grid,.magic-grid,.credential-detail-list,.machine-filters{grid-template-columns:1fr}.machine-detail-header,.machines-heading{display:grid}.machine-detail-statuses{justify-content:flex-start}.machine-admin-actions{display:grid}.credential-secret-field>div{grid-template-columns:1fr}}.billing-page{display:grid;gap:20px}.billing-admin-grid{display:grid;grid-template-columns:minmax(260px,.78fr) minmax(520px,1.6fr);gap:20px}.customer-wallet-list,.manual-topup-panel{min-height:520px}.wallet-customer-scroll{margin-top:12px;display:grid;gap:8px;max-height:430px;overflow:auto;padding-right:4px}.wallet-customer-item{border:1px solid var(--border-color, #dfe5ec);background:#fff;border-radius:12px;padding:12px 14px;text-align:left;cursor:pointer;display:grid;gap:3px}.wallet-customer-item:hover{border-color:#91a4b7;transform:translateY(-1px)}.wallet-customer-item.active{border-color:#1677ff;background:#eef6ff;box-shadow:0 0 0 2px #1677ff14}.wallet-customer-item strong{font-size:14px}.wallet-customer-item span{color:#31506e;font-size:12px;font-weight:700}.wallet-customer-item small{color:#6f7f8f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{display:grid;gap:6px;color:#34495e;font-size:13px;font-weight:700}.span-2{grid-column:1 / -1}.textarea{min-height:76px;resize:vertical}.topup-preview{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-radius:12px;background:#f3f8fd;border:1px dashed #9db8d1}.topup-preview span{color:#5f7182;font-weight:700}.topup-preview strong{color:#0a7a41;font-size:22px}.wallet-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.wallet-balance-main{background:linear-gradient(135deg,#102a43,#1c5d8f);color:#fff}.wallet-balance-main span,.wallet-balance-main small{color:#ffffffc7}.wallet-balance-main strong{color:#fff}.metric-date{font-size:17px!important;line-height:1.35}.billing-table{min-width:1120px}.billing-table code{font-size:11px}.transaction-direction{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800}.transaction-direction.credit{color:#08783e;background:#e6f7ee}.transaction-direction.debit{color:#b42318;background:#fff0ef}.money-credit{color:#08783e;font-weight:800;white-space:nowrap}.money-debit{color:#b42318;font-weight:800;white-space:nowrap}.alert.info{background:#eef6ff;color:#235a86;border:1px solid #c9e2f7}@media(max-width:1100px){.billing-admin-grid{grid-template-columns:1fr}.customer-wallet-list,.manual-topup-panel{min-height:auto}.wallet-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.form-grid,.wallet-summary-grid{grid-template-columns:1fr}.span-2{grid-column:auto}}.service-plans-panel{overflow:hidden}.current-subscription{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-bottom:18px;border:1px solid #d9e5ef;border-radius:12px;overflow:hidden;background:#d9e5ef}.current-subscription>div{padding:13px 15px;background:#f7fbff;display:grid;gap:5px}.current-subscription span{color:#718096;font-size:11px;font-weight:750}.current-subscription strong{color:#24435f;font-size:13px;overflow-wrap:anywhere}.service-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.service-plan-card{display:grid;align-content:start;gap:14px;padding:20px;border:1px solid #dfe6ee;border-radius:15px;background:#fff;box-shadow:0 8px 24px #1c37530d}.service-plan-card.current{border-color:#2980b9;box-shadow:0 0 0 2px #2980b914}.plan-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.plan-card-head span{color:#1677a6;font-size:11px;font-weight:850}.plan-card-head h4{margin:5px 0 0;color:#243b53;font-size:19px}.plan-card-head b{padding:5px 8px;border-radius:999px;color:#0b6b3a;background:#e8f7ef;font-size:10px;white-space:nowrap}.service-plan-card p{min-height:42px;margin:0;color:#68788a;font-size:13px;line-height:1.55}.plan-price{color:#0b6f96;font-size:27px}.service-plan-card ul{display:grid;gap:8px;margin:0;padding-left:19px;color:#40566c;font-size:13px}.service-plan-card .button{margin-top:4px}@media(max-width:1080px){.service-plan-grid,.current-subscription{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.service-plan-grid,.current-subscription{grid-template-columns:1fr}}.service-plan-card .trial-note{display:block;margin-top:10px;line-height:1.45;opacity:.75}.auth-page{min-height:100vh;display:grid;place-items:center;padding:32px;background:radial-gradient(circle at top left,rgba(13,136,145,.12),transparent 34%),#f5f7fb}.auth-card{width:min(100%,500px);padding:34px;border:1px solid #dfe6ef;border-radius:18px;background:#fff;box-shadow:0 18px 55px #1522381a}.auth-card .brand-mark{margin-bottom:22px}.auth-card h2{margin:8px 0 10px;font-size:30px;letter-spacing:-.035em}.auth-card>p{margin:0 0 24px;color:#6d778b;line-height:1.6}.auth-card label,.account-form label{display:block;margin-bottom:18px;color:#344058;font-size:14px;font-weight:700}.auth-card input,.account-form input{width:100%;height:48px;margin-top:8px;padding:0 14px;border:1px solid #d9e0ea;border-radius:11px;outline:none;background:#fbfcfe}.auth-card input:focus,.account-form input:focus{border-color:#168d93;box-shadow:0 0 0 4px #168d931f;background:#fff}.auth-card small{display:block;margin:-8px 0 20px;color:#7d8798;line-height:1.5}.auth-links,.login-actions{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:18px;font-size:13px;font-weight:700}.auth-links a,.login-actions a{color:#0c7c82}.login-actions{margin:-5px 0 18px}.alert.success{color:#08734d;background:#e9f8f1;border:1px solid #c8eddc}.center-auth{text-align:center}.center-auth .brand-mark{margin-left:auto;margin-right:auto}.account-form{max-width:620px}@media(max-width:620px){.auth-page{padding:18px}.auth-card{padding:24px}}.success-alert{color:#08734d;background:#e7f8f0;border:1px solid #bfead8}.topup-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:18px}.topup-form{display:grid;gap:16px;margin-top:20px}.topup-form label,.full-label,.modal-card label{display:grid;gap:8px;color:#344058;font-size:13px;font-weight:750}.topup-form input,.modal-card input,.modal-card textarea,.full-label textarea,.toolbar select{width:100%;padding:12px 14px;border:1px solid #d9e0ea;border-radius:10px;background:#fff}.full-label textarea,.modal-card textarea{min-height:82px;resize:vertical}.bank-card{display:grid;gap:7px;margin-top:22px;padding:16px;border-radius:13px;background:#f4f8fb;color:#536078}.bank-card strong{color:#172033;font-size:17px}.qr-panel{text-align:center}.vietqr-image{width:min(100%,430px);max-height:520px;object-fit:contain;margin:12px auto;border-radius:14px;border:1px solid #e1e7ef}.qr-details{display:grid;gap:7px;margin:8px 0 18px}.qr-details strong{color:#08734d;font-size:28px}.empty-state{min-height:360px;display:grid;place-items:center;color:#8994a6;padding:30px}.topup-history{margin-top:18px}.table-wrap{overflow:auto;margin-top:18px}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:12px 10px;border-bottom:1px solid #edf0f5;text-align:left;white-space:nowrap}th{color:#768196;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.status-pill{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:800;background:#eef2f7}.status-pill.pending{color:#9a5a00;background:#fff2d8}.status-pill.approved{color:#08734d;background:#e7f8f0}.status-pill.rejected,.status-pill.cancelled{color:#a32534;background:#fff1f2}.status-pill.expired{color:#606a7a;background:#eceff3}.status-pill.draft{color:#0d6b83;background:#e5f4fa}.link-button{border:0;background:transparent;color:#0c7c82;cursor:pointer;font-weight:800}.toolbar{display:flex;gap:12px;justify-content:flex-end}.toolbar select{width:190px}.badge.warning{color:#9a5a00;background:#fff2d8}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:20px;background:#050d1c94}.modal-card{width:min(100%,560px);display:grid;gap:16px;padding:24px;border-radius:18px;background:#fff;box-shadow:0 25px 70px #00000040}.modal-card h3,.modal-card p{margin:0}.modal-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.button.danger{color:#fff;background:#b42335}.button.secondary-light{color:#334058;background:#eef2f7}@media(max-width:900px){.topup-grid{grid-template-columns:1fr}.toolbar{justify-content:stretch}.toolbar select{width:100%}}.success-alert{color:#08734d;background:#e7f8f0;border:1px solid #bfead7}.strategy-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:18px}.strategy-tabs button{display:grid;gap:4px;padding:14px;border:1px solid #dde5ee;border-radius:13px;background:#fff;color:#667188;cursor:pointer;text-align:left}.strategy-tabs button strong{color:#243047}.strategy-tabs button span{font-size:11px}.strategy-tabs button.active{border-color:#16959c;background:#edfafa;box-shadow:0 0 0 3px #16959c17}.strategy-tabs button:disabled{opacity:.45;cursor:not-allowed}.config-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:18px}.config-summary{align-self:start}.config-key-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}.config-key-grid div{padding:15px;border:1px solid #e6ebf2;border-radius:12px;background:#fafcfe}.config-key-grid span,.config-key-grid strong{display:block}.config-key-grid span{color:#788397;font-size:12px}.config-key-grid strong{margin-top:8px;font-size:22px}.readonly-note{margin-top:18px;padding:14px;border-radius:11px;color:#536078;background:#f1f6fa;font-size:13px;line-height:1.55}.config-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.config-form-grid label{color:#4e5a70;font-size:12px;font-weight:750}.config-form-grid input[type=number]{width:100%;height:43px;margin-top:7px;padding:0 11px;border:1px solid #d8e0ea;border-radius:10px;background:#fbfcfe}.config-form-grid input:disabled{color:#3b4658;background:#f3f5f8}.checkbox-line{display:flex;align-items:center;gap:9px;min-height:43px;margin-top:20px}.form-actions{display:flex;justify-content:flex-end;margin-top:20px;padding-top:18px;border-top:1px solid #edf0f5}@media(max-width:1200px){.strategy-tabs{grid-template-columns:repeat(3,1fr)}.config-layout{grid-template-columns:1fr}.config-form-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.strategy-tabs,.config-form-grid{grid-template-columns:1fr}}.config-form-grid label small{display:block;margin-top:6px;color:var(--muted, #6b7280);font-size:12px;line-height:1.35}.config-form-grid select{width:100%;min-height:42px;margin-top:7px;padding:9px 10px;border:1px solid var(--border, #d8dee8);border-radius:10px;background:var(--surface, #fff);color:inherit}.monitor-metrics{grid-template-columns:repeat(6,minmax(0,1fr))}.monitor-table td{vertical-align:top}.table-subtext{display:block;margin-top:4px;color:var(--muted, #667085);font-size:12px}.status-pill.warning{background:#fff4cc;color:#8a5a00;border-color:#f2d16b}@media(max-width:1200px){.monitor-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.monitor-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}.code-panel{position:relative;margin-top:12px}.code-panel .button{position:absolute;right:12px;top:12px;z-index:1}.code-panel pre{margin:0;padding:56px 18px 18px;overflow:auto;border-radius:12px;background:#111827;color:#e5e7eb;line-height:1.55}.setup-steps{display:grid;gap:10px;padding-left:24px}.muted{color:#64748b}.warning-alert{margin-top:14px}.trade-filter-panel{padding:20px}.trade-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:14px}.trade-filter-grid label{display:grid;gap:7px;font-size:13px;font-weight:700;color:#344054}.trade-filter-grid input,.trade-filter-grid select{width:100%;min-height:42px;padding:9px 11px;border:1px solid #d0d5dd;border-radius:9px;background:#fff;color:#101828}.trade-search{grid-column:span 2}.trade-filter-actions{margin-top:16px}.action-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.trade-metrics{grid-template-columns:repeat(6,minmax(0,1fr))}.trade-profit-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.trade-table{min-width:1450px}.trade-table td{vertical-align:top}.direction-pill{display:inline-flex;align-items:center;justify-content:center;min-width:58px;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:800}.direction-pill.buy{background:#dcfae6;color:#067647}.direction-pill.sell{background:#fee4e2;color:#b42318}.status-pill.neutral{background:#f2f4f7;color:#475467}.profit-positive{color:#067647!important;font-weight:800}.profit-negative{color:#b42318!important;font-weight:800}.pagination-row{display:flex;justify-content:flex-end;align-items:center;gap:14px;padding-top:18px}@media(max-width:1250px){.trade-filter-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}.trade-metrics{grid-template-columns:repeat(3,1fr)}.trade-profit-metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.trade-filter-grid{grid-template-columns:1fr}.trade-search{grid-column:auto}.trade-metrics,.trade-profit-metrics{grid-template-columns:repeat(2,1fr)}}
