:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172033;background:#f5f7fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button{cursor:pointer}.login-page{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:radial-gradient(circle at 20% 20%,rgba(67,111,255,.28),transparent 30%),linear-gradient(135deg,#10182b,#17233f 58%,#213b68)}.login-brand{padding:72px;color:#fff;display:flex;align-items:flex-start;gap:18px}.brand-mark{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;font-weight:800;background:linear-gradient(135deg,#4978ff,#58c5ff);box-shadow:0 18px 48px #1c5cff47}.brand-mark.small{width:42px;height:42px;border-radius:12px;font-size:13px}.brand-name{font-size:28px;font-weight:800}.brand-subtitle{margin-top:5px;color:#bdc9e1}.login-card{width:min(470px,calc(100% - 48px));margin:auto;background:#fffffffa;padding:48px;border-radius:26px;box-shadow:0 28px 80px #040c1e4d}.login-title>span,.eyebrow{color:#4773f4;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.login-title h1{margin:8px 0 6px;font-size:34px}.login-title p{margin:0 0 34px;color:#697386}form{display:grid;gap:20px}label{display:grid;gap:8px;font-size:14px;font-weight:700}input{width:100%;height:48px;border:1px solid #dbe1ec;border-radius:12px;padding:0 14px;outline:none;background:#fff}input:focus{border-color:#5278ed;box-shadow:0 0 0 4px #5278ed1a}.password-field{position:relative}.password-field input{padding-right:48px}.eye-button{position:absolute;right:8px;top:7px;width:34px;height:34px;display:grid;place-items:center;border:0;background:transparent;color:#697386}.login-button{height:50px;border:0;border-radius:12px;color:#fff;font-weight:800;background:linear-gradient(135deg,#426ff0,#3157c8);box-shadow:0 12px 30px #4169e238}.login-button:disabled{opacity:.7}.login-error{padding:12px 14px;border-radius:10px;color:#ad2737;background:#fff0f2;border:1px solid #ffd5da;font-size:13px}.login-footer{margin-top:28px;text-align:center;font-size:12px;color:#9099aa}.app-shell{display:grid;grid-template-columns:245px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:#10182b;color:#fff;padding:24px 16px;display:flex;flex-direction:column}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:0 8px 28px}.sidebar-brand>div:last-child{display:grid}.sidebar-brand span{font-size:11px;color:#8492ad;margin-top:2px}.sidebar nav{display:grid;gap:5px}.sidebar nav button,.logout-button{border:0;background:transparent;color:#aeb9ce;border-radius:10px;min-height:43px;padding:0 12px;display:flex;align-items:center;gap:11px;text-align:left}.sidebar nav button:hover,.sidebar nav button.active{color:#fff;background:#1b2c50}.sidebar nav button.active{box-shadow:inset 3px 0 #5d82ff}.logout-button{margin-top:auto}.dashboard{padding:30px 38px 50px;overflow:auto}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.topbar h1{margin:3px 0 0}.user-info{display:flex;align-items:center;gap:12px}.user-info>div:first-child{display:grid;text-align:right}.user-info span{font-size:11px;color:#7a8497}.avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#e5ebff;color:#3157c8;font-weight:800}.welcome-card{background:linear-gradient(120deg,#15203a,#213c6d);color:#fff;border-radius:20px;padding:28px 32px;display:flex;justify-content:space-between;align-items:center}.welcome-card span{color:#a9b9d7}.welcome-card h2{margin:5px 0;font-size:26px}.welcome-card p{margin:0;color:#bac7dc}.api-status{padding:10px 14px;border-radius:999px;background:#ffffff17;display:flex;align-items:center;gap:8px;font-size:13px}.status-dot{width:9px;height:9px;background:#46d48a;border-radius:50%;box-shadow:0 0 0 4px #46d48a1f}.stats-grid{margin-top:22px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stats-grid article,.panel{background:#fff;border:1px solid #e8ebf2;border-radius:16px;padding:20px;box-shadow:0 8px 24px #1a233a0a}.stats-grid span,.panel>span{font-size:12px;font-weight:700;color:#798398}.stats-grid strong{display:block;font-size:30px;margin:6px 0}.stats-grid small{color:#99a1b1}.dashboard-grid{margin-top:16px;display:grid;grid-template-columns:1.3fr .7fr;gap:16px}.panel-title h3,.next-step h3{margin:4px 0 18px}.platform-list{display:grid}.platform-list div{display:flex;justify-content:space-between;padding:13px 0;border-top:1px solid #edf0f5;font-size:14px}.platform-list strong{color:#2a9e67}.next-step p{line-height:1.6;color:#697386}.next-step button{margin-top:10px;border:0;border-radius:10px;padding:10px 14px;color:#3157c8;background:#edf2ff;font-weight:700}@media(max-width:900px){.login-page{grid-template-columns:1fr}.login-brand{padding:32px}.login-card{margin-bottom:40px}.app-shell{grid-template-columns:1fr}.sidebar{display:none}.stats-grid,.dashboard-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.dashboard{padding:22px}.stats-grid,.dashboard-grid{grid-template-columns:1fr}.welcome-card{align-items:flex-start;gap:20px;flex-direction:column}}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.page-heading h1{margin:4px 0 5px}.page-heading p{margin:0;color:#727d91}.primary-action,.secondary-action{min-height:42px;border-radius:10px;padding:0 15px;border:0;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:8px}.primary-action{color:#fff;background:#416def}.primary-action:disabled{opacity:.65}.secondary-action{background:#edf0f6;color:#4c586e}.clients-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:18px}.clients-summary article{background:#fff;border:1px solid #e8ebf2;border-radius:14px;padding:18px}.clients-summary span{display:block;font-size:12px;color:#7f899c;font-weight:700}.clients-summary strong{display:block;margin-top:6px;font-size:28px}.success-message{display:flex;align-items:center;gap:8px;background:#ebfaf2;color:#23845b;border:1px solid #ccefdc;border-radius:10px;padding:12px 14px;margin-bottom:15px;font-size:14px;font-weight:700}.clients-table-card{background:#fff;border:1px solid #e8ebf2;border-radius:16px;overflow:hidden}.table-toolbar{padding:16px;border-bottom:1px solid #edf0f5}.search-box{width:min(440px,100%);position:relative}.search-box svg{position:absolute;left:13px;top:14px;color:#8a94a7}.search-box input{padding-left:42px}.empty-state{min-height:280px;display:grid;place-items:center;align-content:center;color:#8a94a7;text-align:center;padding:30px}.empty-state h3{color:#263146;margin:12px 0 4px}.empty-state p{margin:0}.clients-table{min-width:800px}.client-row{display:grid;grid-template-columns:2fr 1fr .7fr 1fr .7fr;align-items:center;min-height:66px;padding:0 18px;border-top:1px solid #edf0f5;gap:16px}.client-header{min-height:44px;border-top:0;background:#fafbfc;color:#7b8598;font-size:12px;font-weight:800}.client-row>div:first-child{display:grid}.client-row small{color:#8d97aa;margin-top:3px}.status-badge,.courtesy-badge{display:inline-flex;width:fit-content;align-items:center;gap:5px;padding:6px 9px;border-radius:999px;font-size:12px;font-weight:800}.status-badge.active{color:#218658;background:#e9f9f0}.status-badge.trial{color:#886c13;background:#fff8da}.status-badge.suspended,.status-badge.cancelled{color:#a83c4a;background:#fff0f2}.courtesy-badge{color:#7355bb;background:#f1ecff}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:24px;background:#080f1e8a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.client-modal{width:min(960px,100%);max-height:calc(100vh - 48px);overflow:auto;background:#fff;border-radius:18px;box-shadow:0 28px 90px #070e1d59}.modal-header{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:flex-start;padding:22px 24px;background:#fff;border-bottom:1px solid #edf0f5}.modal-header h2{margin:4px 0 0}.modal-close{width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:10px;background:#f1f3f7;color:#5d687b}.client-form{padding:24px}.form-grid,.courtesy-fields{display:grid;grid-template-columns:1fr 1fr;gap:17px}.client-form select{width:100%;height:48px;padding:0 14px;border:1px solid #dbe1ec;border-radius:12px;background:#fff;outline:none}.courtesy-fields{padding-top:18px}.modules-section{margin-top:25px;padding-top:22px;border-top:1px solid #edf0f5}.modules-section p{color:#7d879a;margin:5px 0 15px;font-size:13px}.modules-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.module-option{grid-template-columns:auto 1fr;align-items:flex-start;padding:13px;border:1px solid #e2e6ee;border-radius:12px;font-weight:400}.module-option input{width:17px;height:17px;margin-top:2px}.module-option span{display:grid}.module-option strong{font-size:13px}.module-option small{color:#8b95a7;margin-top:3px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:22px;margin-top:22px;border-top:1px solid #edf0f5}@media(max-width:760px){.page-heading{flex-direction:column}.clients-summary,.form-grid,.courtesy-fields,.modules-grid{grid-template-columns:1fr}.clients-table-card{overflow-x:auto}}.client-row-clickable{cursor:pointer;transition:background .15s ease}.client-row-clickable:hover{background:#f7f9fd}.detail-top-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.back-link{border:0;background:transparent;color:#4868c9;font-weight:800;display:inline-flex;align-items:center;gap:7px;padding:0}.client-hero{background:#fff;border:1px solid #e8ebf2;border-radius:18px;padding:25px;display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.client-hero h1{margin:5px 0 12px}.client-hero-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:#697386;font-size:13px}.client-code{display:grid;text-align:right;color:#8a94a7;font-size:12px}.client-code strong{margin-top:4px;color:#263146;font-size:14px}.detail-summary-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin:17px 0}.detail-summary-grid article{background:#fff;border:1px solid #e8ebf2;border-radius:14px;padding:17px;display:grid;gap:5px}.detail-summary-grid svg{color:#5278ed}.detail-summary-grid span,.detail-summary-grid small{color:#8a94a7;font-size:12px}.detail-summary-grid strong{font-size:26px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.detail-card{background:#fff;border:1px solid #e8ebf2;border-radius:16px;padding:20px;margin-bottom:16px}.detail-card-title{margin-bottom:15px}.detail-card-title h3{margin:0}.detail-card-title p{margin:5px 0 0;color:#8892a4;font-size:13px}.detail-data-list{display:grid}.detail-data-list div{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-top:1px solid #edf0f5}.detail-data-list span{color:#8892a4;font-size:13px}.detail-data-list strong{text-align:right;font-size:13px}.enabled-modules-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.enabled-module{border:1px solid #e4e8f0;border-radius:12px;padding:13px;display:grid}.enabled-module small{color:#8892a4;margin-top:4px;line-height:1.4}.detail-empty{min-height:150px;display:grid;place-items:center;align-content:center;text-align:center;color:#8a94a7}.detail-empty strong{color:#344057;margin-top:10px}.detail-empty span{margin-top:4px;font-size:13px}.unit-card,.equipment-row{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-top:1px solid #edf0f5}.unit-card>div,.equipment-row>div{display:grid}.unit-card span,.equipment-row small{color:#8a94a7;font-size:12px}@media(max-width:1000px){.detail-summary-grid,.enabled-modules-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.detail-grid,.enabled-modules-grid{grid-template-columns:1fr}.client-hero{flex-direction:column}.client-code{text-align:left}}.detail-card-title-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.unit-modal{width:min(700px,100%)}@media(max-width:700px){.detail-card-title-actions{flex-direction:column}}.unit-block{border-top:1px solid #edf0f5}.unit-block:first-child{border-top:0}.unit-actions{display:flex;align-items:center;gap:12px}.display-points-list{padding:0 0 12px 18px}.display-point-row{margin-left:18px;border-left:3px solid #e4e9f4;padding:10px 14px;display:flex;align-items:center;justify-content:space-between}.display-point-row>div{display:grid}.display-point-row small{color:#8a94a7;margin-top:2px}@media(max-width:700px){.unit-card{align-items:flex-start;gap:12px;flex-direction:column}.unit-actions{width:100%;justify-content:space-between}}
