:root {
  color-scheme: dark;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #f8f7fb;
  background: #050505;
  font-synthesis: none;
}
* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; min-height: 100vh; background: #050505; }
#oli-app{opacity:1;transition:opacity .28s ease-out}.oli-resuming #oli-app{visibility:hidden;opacity:0}.oli-resuming body::after{content:"";position:fixed;inset:0;margin:auto;width:34px;height:34px;border:4px solid rgba(135,64,244,.18);border-top-color:#8740f4;border-radius:50%;animation:oli-resume-spin .7s linear infinite}@keyframes oli-resume-spin{to{transform:rotate(360deg)}}
button, input, select { font: inherit; }
button { border: 0; cursor: pointer; }
[hidden] { display: none !important; }
.password-input{position:relative;display:block;width:100%}.password-input>input{width:100%;padding-right:50px!important}.password-visibility-toggle{position:absolute;top:50%;right:8px;display:grid;place-items:center;width:36px!important;min-width:36px!important;height:36px;min-height:36px!important;padding:0!important;border:1px solid transparent!important;border-radius:10px!important;color:var(--muted)!important;background:transparent!important;box-shadow:none!important;transform:translateY(-50%)}.password-visibility-toggle:hover,.password-visibility-toggle:focus-visible{color:#7933ec!important;border-color:var(--border)!important;background:var(--surface-soft)!important}.password-visibility-toggle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.password-eye-slash{display:none}.password-visibility-toggle.visible .password-eye-slash{display:block}
.eyebrow { margin: 0 0 8px; color: #adcf00; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.auth-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(320px, 1.15fr) minmax(380px, .85fr); }
.brand-panel { position: relative; overflow: hidden; padding: clamp(48px, 8vw, 120px); display: flex; flex-direction: column; justify-content: center; color: white; background: radial-gradient(circle at 16% 12%, rgba(135,64,244,.34), transparent 30%), radial-gradient(circle at 88% 72%, rgba(223,71,168,.2), transparent 28%), #050505; }
.brand-panel::after { content: ""; position: absolute; right: -90px; bottom: -120px; width: 340px; height: 340px; border: 44px solid rgba(244,136,0,.2); border-radius: 50%; }
.brand-logo { position: relative; width: 250px; height: 200px; overflow: hidden; margin-bottom: 42px; background: transparent; }
.brand-logo img { position: absolute; width: 100%; height: 100%; max-width: none; object-fit: contain; left: 50%; top: 50%; transform: translate(-50%, -50%); }
.brand-panel .eyebrow { color: #8740f4; }
.brand-panel h1 { margin: 0; font-size: clamp(48px, 7vw, 88px); letter-spacing: -.05em; }
.brand-panel > p:last-child { max-width: 560px; color: #c7bdcf; font-size: 19px; line-height: 1.65; }
.auth-card { padding: 48px clamp(32px, 7vw, 100px); display: flex; align-items: center; background: #0b0a0d; border-left: 1px solid #2f2a35; }
.auth-card form { width: 100%; max-width: 430px; margin: auto; }
.auth-card h2 { margin: 0 0 32px; font-size: 34px; letter-spacing: -.03em; }
label { display: grid; gap: 8px; margin-bottom: 18px; color: #d7d1dd; font-size: 14px; font-weight: 700; }
input, select { width: 100%; min-height: 46px; padding: 0 13px; border: 1px solid #49424f; border-radius: 9px; color: white; background: #121016; outline: none; }
input:focus, select:focus { border-color: #8740f4; box-shadow: 0 0 0 3px rgba(135,64,244,.14); }
form > button[type="submit"], .section-heading > button, .form-actions button:last-child { min-height: 46px; padding: 0 20px; border-radius: 9px; color: white; background: linear-gradient(135deg, #8740f4, #a539d6); font-weight: 800; }
.auth-card form > button[type="submit"] { width: 100%; margin-top: 8px; }
.text-button { width: 100%; margin-top: 16px; color: #7a31df; background: transparent; font-weight: 700; }
.form-error { min-height: 20px; color: #b42318; font-size: 13px; }
.app-shell { min-height: 100vh; display: grid; grid-template-columns: 270px 1fr; background: #050505; }
aside { position: sticky; top: 0; height: 100vh; min-height: 0; padding: 34px 24px; display: flex; flex-direction: column; overflow-x: hidden; overflow-y: auto; overscroll-behavior-y: contain; scrollbar-width: thin; scrollbar-color: color-mix(in srgb, var(--muted) 42%, transparent) transparent; background: #030303; color: white; border-right: 1px solid #252128; }
aside::-webkit-scrollbar { width: 6px; }
aside::-webkit-scrollbar-track { background: transparent; }
aside::-webkit-scrollbar-thumb { border-radius: 999px; background: color-mix(in srgb, var(--muted) 38%, transparent); }
.sidebar-brand { flex: 0 0 auto; display: flex; align-items: center; justify-content: center; margin: 0 8px 28px; padding: 14px; }
.sidebar-brand > img { display: block; width: 172px; height: 129px; object-fit: contain; }
nav { flex: 0 0 auto; display: grid; gap: 12px; }
.nav-item, .logout { min-height: 54px; padding: 12px 18px; border-radius: 14px; color: #c9c2cf; background: transparent; text-align: left; font-weight: 750; }
.nav-item { display: flex; align-items: center; gap: 14px; }
.nav-item span { width: 25px; color: #f48800; font-size: 22px; text-align: center; }
.nav-item:hover, .nav-item.active { color: white; background: linear-gradient(100deg, #7c2ee8, #9d3cf4); }
.nav-item.active span { color: white; }
.logout { flex: 0 0 auto; margin-top: 18px; color: #a9c2d8; }
.workspace { position: relative; overflow: hidden; min-width: 0; padding: 44px clamp(28px, 4vw, 64px) 70px; background: #050505; }
.workspace::before { content: ""; position: absolute; width: 680px; height: 210px; right: 4%; top: -165px; border-radius: 50%; background: #8740f4; opacity: .9; pointer-events: none; }
.workspace > header { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 34px; }
.workspace h1 { margin: 0; color: white; font-size: 42px; letter-spacing: -.035em; }
.page-subtitle { margin: 8px 0 0; color: #9c94a3; font-size: 15px; }
.header-actions { position: relative; display: flex; align-items: center; gap: 14px; }
.theme-toggle { min-height: 44px; padding: 0 15px; display: flex; align-items: center; gap: 9px; border: 1px solid #39343d; border-radius: 12px; color: #d9d3dd; background: #111014; font-weight: 700; }
.theme-toggle:hover { border-color: #766a80; }
.theme-toggle span:first-child { color: #adcf00; font-size: 18px; }
.user-chip { display: flex; align-items: center; gap: 10px; }
.user-chip > span { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; color: white; background: linear-gradient(135deg, #8740f4, #df47a8); font-size: 13px; font-weight: 900; }
.user-chip div { display: grid; }
.user-chip small { color: #98909f; }
.metrics { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px; margin-bottom: 24px; }
.metrics article, .panel { border: 1px solid #5a535e; background: #070708; box-shadow: 0 16px 35px rgba(0,0,0,.22); }
.metrics article { position: relative; overflow: hidden; min-height: 180px; padding: 28px; border-radius: 22px; display: grid; align-content: space-between; gap: 10px; }
.metrics article::after { content: ""; position: absolute; width: 96px; height: 96px; right: -20px; bottom: -26px; border: 18px solid currentColor; border-radius: 50%; opacity: .14; }
.metrics span { color: #f1edf3; font-size: 15px; font-weight: 750; }
.metrics strong { font-size: 48px; line-height: 1; }
.metrics small { color: #8e8793; }
.metric-green { color: #adcf00; }
.metric-purple { color: #8740f4; }
.metric-pink { color: #df47a8; }
.status-ok { color: #adcf00; font-size: 30px !important; }
.panel { border-radius: 22px; }
.welcome-panel { min-height: 260px; padding: 38px; display: flex; align-items: center; justify-content: space-between; gap: 38px; }
.welcome-panel h2 { margin: 0 0 12px; font-size: 25px; }
.welcome-panel > div:first-child > p:last-child { max-width: 720px; margin-bottom: 0; color: #a49ca9; line-height: 1.65; }
.progress-ring { flex: 0 0 150px; aspect-ratio: 1; display: grid; place-content: center; border: 18px solid #21182a; border-top-color: #8740f4; border-right-color: #df47a8; border-bottom-color: #adcf00; border-radius: 50%; text-align: center; }
.progress-ring strong { color: white; font-size: 48px; line-height: 1; }
.progress-ring span { width: 80px; color: #aaa2af; font-size: 11px; text-transform: uppercase; }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 20px; }
.section-heading h2 { margin: 0 0 5px; font-size: 25px; }
.section-heading p { margin: 0; color: #99909f; }
.inline-form { margin-bottom: 20px; padding: 24px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 18px; border: 1px solid #544c59; border-radius: 18px; background: #09090a; }
.form-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: 10px; }
.secondary { min-height: 46px; padding: 0 18px; border: 1px solid #514a56; border-radius: 9px; color: #ded7e2; background: #131116; font-weight: 700; }
.table-wrap { overflow: hidden; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 17px 20px; border-bottom: 1px solid #29262c; text-align: left; }
th { color: #a7a0ac; background: #111013; font-size: 12px; letter-spacing: .05em; text-transform: uppercase; }
td { font-size: 14px; }
.empty { padding: 40px; color: #8d8592; text-align: center; }
.banner-error { margin-bottom: 20px; padding: 13px 16px; border: 1px solid #f0b8b2; border-radius: 9px; color: #922b21; background: #fff3f1; }
@media (max-width: 800px) {
  .auth-shell { grid-template-columns: 1fr; }
  .brand-panel { min-height: 280px; padding: 36px; }
  .brand-mark { margin-bottom: 24px; }
  .auth-card { padding: 40px 24px; }
  .app-shell { grid-template-columns: 1fr; }
  aside { position: static; width: 100%; height: auto; max-height: none; padding: 16px; overflow: visible; }
  .sidebar-brand > img { width: 104px; height: 78px; }
  nav { grid-template-columns: repeat(3,1fr); gap: 6px; }
  .nav-item { justify-content: center; padding: 8px; font-size: 13px; }
  .nav-item span { display: none; }
  .logout { margin-top: 12px; }
  .metrics { grid-template-columns: 1fr; }
  .welcome-panel { align-items: flex-start; flex-direction: column; }
  .workspace > header { align-items: flex-start; flex-direction: column; }
  .header-actions { width: 100%; justify-content: space-between; }
  .inline-form { grid-template-columns: 1fr; }
}

html[data-theme="dark"] {
  --app-bg: #0c0c0f;
  --sidebar-bg: #090a0c;
  --surface: #141419;
  --surface-soft: #19191f;
  --border: #303039;
  --text: #eeeaf0;
  --muted: #96919d;
  --field: #18171d;
  --shadow: rgba(0,0,0,.18);
  color-scheme: dark;
}

html[data-theme="light"] {
  --app-bg: #f3f1f4;
  --sidebar-bg: #faf9fb;
  --surface: #ffffff;
  --surface-soft: #f7f5f8;
  --border: #ddd8df;
  --text: #27222c;
  --muted: #716a76;
  --field: #ffffff;
  --shadow: rgba(50,35,60,.07);
  color-scheme: light;
}

html[data-theme] body,
html[data-theme] .app-shell,
html[data-theme] .workspace { color: var(--text); background: var(--app-bg); }
html[data-theme] aside { color: var(--text); background: var(--sidebar-bg); border-color: var(--border); }
html[data-theme] .workspace::before { opacity: .12; }
html[data-theme] .workspace h1,
html[data-theme] .section-heading h2,
html[data-theme] .welcome-panel h2,
html[data-theme] td,
html[data-theme] .user-chip strong { color: var(--text); }
html[data-theme] .page-subtitle,
html[data-theme] .section-heading p,
html[data-theme] .welcome-panel > div:first-child > p:last-child,
html[data-theme] .metrics small,
html[data-theme] .user-chip small { color: var(--muted); }
html[data-theme] .metrics article,
html[data-theme] .panel,
html[data-theme] .inline-form { background: var(--surface); border-color: var(--border); box-shadow: 0 12px 28px var(--shadow); }
html[data-theme] .metrics span { color: var(--text); }
html[data-theme] th { color: var(--muted); background: var(--surface-soft); }
html[data-theme] th,
html[data-theme] td { border-color: var(--border); }
html[data-theme] input,
html[data-theme] select { color: var(--text); background: var(--field); border-color: var(--border); }
html[data-theme] .theme-toggle,
html[data-theme] .secondary { color: var(--text); background: var(--surface-soft); border-color: var(--border); }
html[data-theme] .nav-item,
html[data-theme] .logout { color: var(--muted); }
html[data-theme] .nav-item:hover { color: var(--text); background: var(--surface-soft); }
html[data-theme] .nav-item.active { color: white; background: linear-gradient(100deg, #7733d4, #9440de); }
html[data-theme="light"] .auth-card { background: #fbfafc; border-color: var(--border); }
html[data-theme="light"] .auth-card h2,
html[data-theme="light"] .auth-card label { color: var(--text); }
html[data-theme="light"] .brand-panel { color: #30233a; background: radial-gradient(circle at 16% 12%, rgba(135,64,244,.15), transparent 30%), radial-gradient(circle at 88% 72%, rgba(223,71,168,.1), transparent 28%), #f6f3f7; }
html[data-theme="light"] .brand-panel > p:last-child { color: var(--muted); }
html[data-theme="light"] .progress-ring { background: var(--surface); }
html[data-theme="light"] .progress-ring strong { color: var(--text); }
.table-action { width: auto; min-height: 36px; padding: 7px 12px; border-radius: 10px; font-size: 13px; white-space: nowrap; }
.table-action.completed { color: var(--muted); background: var(--surface-soft); border: 1px solid var(--border); opacity: .8; }
.onboarding-form { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1100px) { .onboarding-form { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .onboarding-form { grid-template-columns: 1fr; } }
.order-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 220px)); gap: 14px; margin-bottom: 18px; }
.order-summary article { display: flex; align-items: baseline; gap: 10px; padding: 16px 18px; background: var(--surface); border: 1px solid var(--border); border-radius: 15px; }
.order-summary strong { color: #8c42ef; font-size: 28px; }.order-summary span, td small { color: var(--muted); }
td strong, td small { display: block; } td small { margin-top: 4px; }
.table-action.danger { margin-left: 7px; color: #d44578; background: transparent; border: 1px solid #d44578; }
.heading-actions { display: flex; gap: 10px; }
.heading-actions button { width: auto; min-height: 46px; padding: 0 20px; border: 1px solid #8740f4; border-radius: 12px; color: #fff; background: linear-gradient(135deg,#8740f4,#a539d6); font-weight: 800; box-shadow: 0 8px 18px rgba(135,64,244,.16); }
.heading-actions button.secondary { color: var(--text); background: var(--surface); border-color: var(--border); box-shadow: none; }
.heading-actions button:hover { transform: translateY(-1px); filter: brightness(1.04); }
.finance-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 22px; }
.finance-summary article { padding: 18px; background: var(--surface); border: 1px solid var(--border); border-radius: 15px; }
.finance-summary span { display: block; color: var(--muted); margin-bottom: 8px; }.finance-summary strong { font-size: 25px; }
.section-heading.compact { margin: 24px 0 10px; }.section-heading.compact h2 { font-size: 18px; }
@media (max-width: 800px) { .finance-summary { grid-template-columns: 1fr; }.heading-actions { flex-wrap: wrap; } }
.billing-subnav { margin: -4px 0 8px 42px; display: grid; gap: 2px; }
.billing-subnav[hidden] { display: none; }
.nav-expandable i { margin-left: auto; font-style: normal; transition: transform .2s ease; }.nav-expandable[aria-expanded="true"] i { transform: rotate(180deg); }
.billing-subnav button { width: 100%; padding: 7px 10px; color: var(--muted); background: transparent; border: 0; text-align: left; font-size: 13px; font-weight: 600; }
.billing-subnav button:not(:disabled):hover { color: var(--text); }
.billing-subnav button.active { color: #8740f4; background: rgba(135,64,244,.1); }
.billing-subnav button:disabled { opacity: .38; cursor: default; }
.parameter-flow { display: grid; gap: 18px; }
.parameter-steps { display: grid; grid-template-columns: repeat(5,1fr); gap: 10px; padding: 10px; border: 1px solid var(--border); border-radius: 18px; background: var(--surface); }
.parameter-steps button { position: relative; display: flex; min-height: 58px; align-items: center; justify-content: center; gap: 9px; padding: 12px 14px; border: 1px solid var(--border); border-radius: 13px; color: var(--muted); background: var(--surface-soft); font-size: 13px; font-weight: 750; transition: transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease; }
.parameter-steps button span { display: grid; flex: 0 0 auto; width: 28px; height: 28px; place-items: center; border: 1.5px solid currentColor; border-radius: 50%; font-size: 12px; font-weight: 850; }
.parameter-steps button:hover { color: var(--text); border-color: #9b63e9; transform: translateY(-1px); box-shadow: 0 8px 18px rgba(82,45,125,.1); }
.parameter-steps button.active { color: #fff; border-color: #8740f4; background: linear-gradient(135deg,#7733d4,#a539d6); box-shadow: 0 10px 22px rgba(135,64,244,.24); }
.parameter-steps button.active span { color: #7733d4; border-color: #fff; background: #fff; }
.parameter-steps button.completed:not(.active) { color: #5d377f; border-color: rgba(135,64,244,.34); background: rgba(135,64,244,.08); }
.parameter-steps button:focus-visible { outline: 3px solid #67aaf9; outline-offset: 3px; }
.parameter-panel { display: grid; gap: 16px; }
.profile-form { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; padding: 20px; border: 1px solid var(--border); border-radius: 16px; background: var(--surface); }
.profile-form fieldset { display: grid; gap: 12px; min-width: 0; padding: 16px; border: 1px solid var(--border); border-radius: 12px; }
.profile-form legend { padding: 0 8px; color: #8740f4; font-weight: 800; }
.profile-form .form-actions { grid-column: 1/-1; }
.check-label { display: flex !important; flex-direction: row !important; align-items: center; gap: 9px; }
.check-label input { width: 18px !important; height: 18px; }
.readiness-list { display: grid; gap: 10px; }
.readiness-list article { display: flex; align-items: center; gap: 14px; padding: 16px 18px; border: 1px solid var(--border); border-radius: 13px; background: var(--surface); }
.readiness-list article > strong { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; }
.readiness-list article.ready > strong { color: #345d00; background: rgba(173,207,0,.28); }
.readiness-list article.pending > strong { color: #8a5600; background: rgba(244,136,0,.22); }
.readiness-list article div { display: grid; gap: 3px; }.readiness-list article small { color: var(--muted); }
.billing-rules { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 18px; scroll-margin-top: 20px; }
.billing-rules article { padding: 15px; background: var(--surface); border: 1px solid var(--border); border-radius: 14px; }
.billing-rules span { display: block; color: var(--muted); font-size: 13px; margin-bottom: 6px; }.billing-rules strong { font-size: 19px; }
#issued-invoices, #payment-register, #payment-promises { scroll-margin-top: 18px; }
@media (max-width: 900px) { .billing-rules { grid-template-columns: repeat(2, 1fr); }.billing-subnav { display: none; } }
@media (max-width: 1100px) { .parameter-steps { grid-template-columns: 1fr; }.parameter-steps button { justify-content: flex-start; }.profile-form { grid-template-columns: 1fr; } }
.billing-settings-form { margin-bottom: 22px; }
.customer-wizard{background:var(--surface);border:1px solid var(--border);border-radius:28px;padding:24px;margin-bottom:24px;box-shadow:var(--shadow)}
.customer-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.customer-tabs button{border:1px solid var(--border);border-radius:16px;background:var(--surface-soft);color:var(--muted);padding:16px;font-weight:800;text-align:left}.customer-tabs button.active{background:linear-gradient(135deg,#7334e6,#ad3ce4);color:#fff;border-color:transparent;box-shadow:0 10px 24px rgba(135,64,244,.22)}.customer-tabs button span{margin-left:8px}
.customer-step{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.customer-step[hidden]{display:none}.form-card{border:1px solid var(--border);border-radius:20px;padding:22px;background:var(--surface-soft)}.form-card h3{margin:0 0 18px}.form-card>p{color:var(--muted)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid .wide{grid-column:1/-1}.form-grid textarea{min-height:88px;resize:vertical}.switch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}
.switch-field{display:grid!important;grid-template-columns:auto 1fr;gap:4px 10px;align-items:center;border:1px solid var(--border);border-radius:14px;padding:14px;background:var(--surface)}.switch-field input{grid-row:1/3;width:20px;height:20px}.switch-field span{font-weight:800}.switch-field small{color:var(--muted)}
.gateway-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.gateway-options label{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;border:1px solid var(--border);border-radius:18px;padding:20px;background:var(--surface);cursor:pointer}.gateway-options input{grid-row:1/3;width:22px;height:22px}.gateway-options strong{font-size:1.05rem}.gateway-options small{color:var(--muted)}
.customer-actions{position:sticky;bottom:0;background:var(--surface);padding-top:18px;margin-top:20px;border-top:1px solid var(--border)}
.customer-step[data-customer-panel="billing"] .form-card,.customer-step[data-customer-panel="gateway"] .form-card{grid-column:1/-1}
.customer-step[data-customer-panel="billing"] .billing-dependent{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1200px){.customer-step[data-customer-panel="billing"] .billing-dependent{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.customer-step,.form-grid,.switch-grid,.gateway-options,.customer-step[data-customer-panel="billing"] .billing-dependent{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.customer-tabs button span{display:none}}
.customer-record{margin-bottom:24px;padding:24px}.customer-record-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.customer-record-head h2{margin:3px 0}.customer-record-head p:last-child{color:var(--muted)}
.record-head-actions{display:flex;gap:10px}.record-head-actions button{width:auto;min-height:42px;padding:0 16px}
.record-head-actions .danger-outline{color:#c63c70;border-color:rgba(198,60,112,.45)}.record-head-actions .reactivate{color:#617c00;border-color:rgba(130,164,0,.45)}
.record-tabs{display:flex;gap:8px;overflow:auto;margin:22px 0;padding-bottom:8px}.record-tabs button{width:auto;white-space:nowrap;padding:11px 16px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft);color:var(--muted);font-weight:750}.record-tabs button.active{color:#fff;border-color:#8740f4;background:#8740f4}.record-tabs button:disabled{opacity:.55}
.server-tabs{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:7px;width:min(430px,100%);margin:0 0 22px;padding:6px;background:var(--surface-soft);border:1px solid var(--border);border-radius:18px;box-shadow:inset 0 1px 0 rgba(255,255,255,.35)}.server-tabs button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:10px 18px;background:transparent!important;color:var(--muted)!important;border:1px solid transparent!important;border-radius:13px;box-shadow:none!important}.server-tabs button span{display:grid;width:25px;height:25px;place-items:center;border-radius:8px;background:var(--surface);color:var(--orange);font-size:16px}.server-tabs button strong{font-size:14px;letter-spacing:.04em}.server-tabs button.active,.server-tabs button.active:hover{background:linear-gradient(135deg,#7933ec,#ae3ce3)!important;color:#fff!important;border-color:rgba(255,255,255,.16)!important;box-shadow:0 8px 20px rgba(121,51,236,.24)!important}.server-tabs button.active span{background:rgba(255,255,255,.18);color:#fff}.server-tabs button:focus-visible{outline:3px solid rgba(0,112,243,.34);outline-offset:2px}
.device-status-actions{min-width:300px}.device-status-summary{display:grid;gap:6px;margin-bottom:13px}.device-status-summary>span:first-child{font-size:16px;font-weight:850}.device-status-summary>small:not(.device-policy-state){display:block;max-width:390px;color:var(--muted);line-height:1.35}.device-status-badges{display:flex;flex-wrap:wrap;gap:6px}.device-options-trigger{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;width:auto!important;min-width:145px;margin-top:4px!important;padding:10px 16px!important;border:1px solid rgba(135,64,244,.32)!important;background:rgba(135,64,244,.07)!important;color:var(--purple)!important;font-weight:850!important}.device-options-trigger span{font-size:17px}.device-options-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.device-option-card{display:grid!important;grid-template-columns:44px 1fr;align-items:center;gap:13px;min-height:94px!important;padding:15px!important;text-align:left!important;color:var(--text)!important;background:var(--surface-soft)!important;border:1px solid var(--border)!important;border-radius:16px!important;transition:border-color .16s ease,transform .16s ease}.device-option-card:hover{border-color:rgba(135,64,244,.55)!important;transform:translateY(-1px)}.device-option-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:13px;color:#fff;background:linear-gradient(135deg,#7933ec,#de48a0);font-size:21px;font-weight:900}.device-option-card strong,.device-option-card small{display:block}.device-option-card small{margin-top:5px;color:var(--muted);line-height:1.38}.device-option-card.loading{border-color:rgba(135,64,244,.55)!important}.device-option-card.success{border-color:rgba(123,156,0,.5)!important;background:rgba(173,207,0,.08)!important}.device-option-card.failed{border-color:rgba(200,68,95,.45)!important;background:rgba(222,72,160,.07)!important}
.device-assigned-contracts{margin-top:8px!important;max-width:300px;color:var(--text)!important;font-weight:700;line-height:1.35}.device-preparation-blocker{margin-top:6px!important;max-width:300px;color:#9b5a00!important;line-height:1.35}[data-theme="dark"] .device-preparation-blocker{color:#ffbf66!important}
.server-operation-dialog{width:min(880px,calc(100vw - 32px));max-height:88vh;padding:0!important;border:0!important;border-radius:26px!important;color:var(--text);background:var(--surface);box-shadow:0 28px 90px rgba(27,16,38,.36)!important;overflow:hidden}.server-operation-dialog::backdrop{background:rgba(24,15,34,.58);backdrop-filter:blur(4px)}.server-operation-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:25px 28px 22px;background:linear-gradient(135deg,rgba(135,64,244,.10),rgba(222,72,160,.06));border-bottom:1px solid var(--border)}.server-operation-dialog>header small{display:block;margin-bottom:7px;color:var(--purple);font-size:12px;font-weight:900;letter-spacing:.13em}.server-operation-dialog>header h2{margin:0 0 7px;font-size:28px}.server-operation-dialog>header p{max-width:650px;margin:0;color:var(--muted);line-height:1.5}.server-dialog-close{display:grid!important;flex:0 0 40px;width:40px!important;height:40px;min-height:40px!important;padding:0!important;place-items:center;border-radius:12px!important;font-size:24px!important;line-height:1}.record-dialog-content{max-height:66vh;padding:24px 28px 28px;overflow:auto}.server-sync-options{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:13px;margin:0}.server-sync-options label{display:grid;grid-template-columns:auto 1fr;align-items:flex-start;gap:12px;padding:17px;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft);cursor:pointer;transition:border-color .16s ease,transform .16s ease}.server-sync-options label:hover{border-color:rgba(135,64,244,.45);transform:translateY(-1px)}.server-sync-options label span,.server-sync-options label strong,.server-sync-options label small{display:block}.server-sync-options label strong{margin-bottom:5px;color:var(--text)}.server-sync-options label small{color:var(--muted);line-height:1.4}.server-sync-options input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--purple)}.server-sync-options>button{grid-column:1/-1;min-height:48px;margin-top:3px}.server-sync-options .operation-result{grid-column:1/-1;padding:0}.server-sync-options .operation-result:not(:empty){padding:15px 17px;border:1px solid rgba(135,64,244,.24);border-radius:14px;background:rgba(135,64,244,.07)}.server-sync-options .operation-result ul{display:grid;gap:6px;margin:9px 0 0;padding-left:19px;color:var(--muted)}.ppp-profile-list{display:grid;gap:10px;max-height:360px;overflow:auto;margin:16px 0}.ppp-profile-list button{display:grid;grid-template-columns:1fr auto;text-align:left;background:var(--panel);color:var(--text);border:1px solid var(--border)}.ppp-profile-list button small{color:var(--muted)}
@media(max-width:760px){.device-status-actions{min-width:270px}.device-options-menu,.server-sync-options{grid-template-columns:1fr}.server-operation-dialog>header{padding:21px}.record-dialog-content{padding:20px}.server-tabs{width:100%}}
.record-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.record-metrics article{padding:16px;border:1px solid var(--border);border-radius:15px;background:var(--surface-soft)}.record-metrics span{display:block;color:var(--muted);font-size:13px;margin-bottom:6px}.record-metrics strong{font-size:18px}
.record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.record-grid section{padding:18px;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft)}.record-grid h3{margin:0 0 14px}.record-grid dl{display:grid;grid-template-columns:minmax(110px,.45fr) 1fr;gap:9px;margin:0}.record-grid dt{color:var(--muted)}.record-grid dd{margin:0;font-weight:700;overflow-wrap:anywhere}.record-address{padding:10px 0;border-bottom:1px solid var(--border)}.record-address:last-child{border:0}.record-address strong,.record-address small{display:block}.record-address small{color:var(--muted);margin-top:4px}
.customer-next-step{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 16px;padding:18px 20px;background:var(--surface-soft)}.customer-next-step strong{display:block;font-size:1.15rem;margin:4px 0}.customer-next-step p{margin:0;color:var(--muted)}.customer-next-step-actions,.record-address-actions{display:flex;gap:8px;flex-wrap:wrap}.record-address-actions{margin-top:10px}
.initial-contract-form{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,.7fr) auto auto;align-items:center;gap:8px;min-width:min(760px,65vw)}.initial-contract-form select,.initial-contract-form input{min-height:44px;margin:0}.initial-contract-form[hidden]{display:none}@media(max-width:980px){.customer-next-step{align-items:stretch;flex-direction:column}.initial-contract-form{grid-template-columns:1fr;min-width:0;width:100%}}
@media(max-width:900px){.record-metrics,.record-grid{grid-template-columns:1fr}.customer-record-head{align-items:stretch;flex-direction:column}}
.record-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.record-panel-heading h3{margin:0 0 5px}.record-panel-heading p{margin:0;color:var(--muted)}.record-panel-heading>span{padding:8px 12px;border-radius:999px;background:rgba(135,64,244,.1);color:#8740f4;font-weight:800}
.record-contracts{display:grid;gap:14px}.contract-card{display:grid;grid-template-columns:minmax(180px,1.1fr) repeat(4,minmax(120px,.7fr));gap:16px;align-items:center;padding:18px;border:1px solid var(--border);border-radius:17px;background:var(--surface-soft)}.contract-card h4{margin:0 0 5px;font-size:17px}.contract-card p{margin:0;color:var(--muted)}.contract-card dl{display:grid;gap:5px;margin:0}.contract-card dt{color:var(--muted);font-size:12px}.contract-card dd{margin:0;font-weight:750}.contract-status{display:inline-flex;width:max-content;padding:7px 10px;border-radius:999px;color:#4f3970;background:rgba(135,64,244,.11);font-size:12px;font-weight:850}.contract-status.active{color:#416000;background:rgba(173,207,0,.2)}.contract-status.suspended{color:#9b365e;background:rgba(222,72,160,.14)}
.contract-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:9px;padding-top:12px;border-top:1px solid var(--border)}.contract-actions small{margin-right:auto;color:var(--muted);font-weight:750}.contract-actions button{padding:9px 13px;border-radius:10px}.contract-actions button.danger{color:#b92f64;background:rgba(222,72,160,.08);border:1px solid rgba(185,47,100,.35)}
.ticket-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.ticket-summary article{display:flex;align-items:center;gap:12px;padding:17px 20px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.ticket-summary strong{font-size:27px;color:var(--purple)}.ticket-summary span{color:var(--muted);font-weight:750}@media(max-width:900px){.ticket-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.ticket-summary{grid-template-columns:1fr}}
.ticket-inboxes{display:flex;gap:9px;overflow-x:auto;margin:0 0 18px;padding:3px 0 8px}.ticket-inboxes button{display:flex;align-items:center;gap:9px;width:auto;min-height:42px;padding:9px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--muted);font-weight:800;white-space:nowrap}.ticket-inboxes button span{display:grid;min-width:25px;height:25px;padding:0 6px;place-items:center;border-radius:999px;background:var(--surface-soft);font-size:12px}.ticket-inboxes button.active{border-color:#8740f4;background:#8740f4;color:#fff;box-shadow:0 8px 20px rgba(135,64,244,.2)}.ticket-inboxes button.active span{background:rgba(255,255,255,.2)}
.ticket-dialog{width:min(720px,calc(100vw - 32px));max-height:82vh;padding:26px;border:1px solid var(--border);border-radius:20px;color:var(--text);background:var(--surface);box-shadow:0 24px 70px rgba(30,18,45,.3)}.ticket-dialog::backdrop{background:rgba(16,10,25,.58)}.ticket-dialog h3{margin:0 0 8px}.ticket-dialog h4{margin:24px 0 10px}.ticket-documents,.ticket-history{display:grid;gap:9px}.document-link{width:100%;padding:12px 14px;text-align:left;color:var(--purple);background:var(--surface-soft);border:1px solid var(--border);border-radius:11px}.ticket-history article{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--border)}.ticket-history small{color:var(--muted)}.ticket-dialog>button:last-child{margin-top:22px}
@media(max-width:1100px){.contract-card{grid-template-columns:repeat(2,minmax(0,1fr))}.contract-card>div:first-child{grid-column:1/-1}}@media(max-width:650px){.contract-card{grid-template-columns:1fr}.contract-card>div:first-child{grid-column:auto}.record-panel-heading{align-items:flex-start;flex-direction:column}}
.account-metrics strong.negative{color:#d44578}.account-metrics strong.positive{color:#6b8700}.record-subtitle{margin:22px 0 12px}.contract-balances{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.contract-balance{padding:16px;border:1px solid var(--border);border-radius:15px;background:var(--surface-soft)}.contract-balance span,.contract-balance small{display:block;color:var(--muted)}.contract-balance strong{display:block;margin:7px 0;font-size:20px}.account-table{border:1px solid var(--border);border-radius:15px;background:var(--surface-soft)}.movement-payment td:nth-child(5){color:#668300;font-weight:800}.movement-invoice td:nth-child(5){color:#d44578;font-weight:800}
@media(max-width:900px){.contract-balances{grid-template-columns:1fr}}
.operation-timeline{display:grid;gap:14px}.operation-card{border:1px solid var(--border);border-radius:17px;padding:18px;background:var(--surface-soft)}.operation-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:16px}.operation-card-head h4{margin:0 0 4px}.operation-card-head p{margin:0;color:var(--muted)}.operation-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.operation-step{padding:13px;border:1px solid var(--border);border-radius:13px;background:var(--surface)}.operation-step span,.operation-step small{display:block}.operation-step span{font-weight:800}.operation-step small{margin-top:5px;color:var(--muted)}.operation-step.done{border-color:rgba(173,207,0,.45);background:rgba(173,207,0,.08)}.operation-step.pending{border-color:rgba(244,136,0,.34)}.integration-boundaries{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:18px}.integration-boundaries article{display:grid;gap:5px;padding:15px;border:1px dashed var(--border);border-radius:14px}.integration-boundaries span{color:var(--muted)}
@media(max-width:900px){.operation-steps,.integration-boundaries{grid-template-columns:1fr}.operation-card-head{flex-direction:column}}
.network-contracts{display:grid;gap:14px}.network-card{padding:18px;border:1px solid var(--border);border-radius:17px;background:var(--surface-soft)}.network-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:16px}.network-card-head h4{margin:0 0 4px}.network-card-head p{margin:0;color:var(--muted)}.network-details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.network-detail{padding:13px;border:1px solid var(--border);border-radius:13px;background:var(--surface)}.network-detail span,.network-detail strong,.network-detail small{display:block}.network-detail span{color:var(--muted);font-size:12px}.network-detail strong{margin:6px 0;overflow-wrap:anywhere}.network-detail small{color:var(--muted)}.device-health{display:inline-flex;width:max-content;margin-top:5px;padding:4px 7px;border-radius:999px;background:rgba(173,207,0,.15);color:#597000;font-size:11px}.device-health.pending{background:rgba(244,136,0,.14);color:#915500}
@media(max-width:1050px){.network-details{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.network-details{grid-template-columns:1fr}.network-card-head{flex-direction:column}}
.audit-timeline{display:grid;gap:0;padding-left:18px}.audit-event{position:relative;display:grid;grid-template-columns:170px minmax(180px,.7fr) minmax(0,1.5fr);gap:18px;padding:0 0 22px 26px;border-left:2px solid var(--border)}.audit-event::before{content:"";position:absolute;left:-7px;top:5px;width:12px;height:12px;border:2px solid var(--surface);border-radius:50%;background:#8740f4}.audit-event:last-child{border-left-color:transparent}.audit-event time,.audit-event small{color:var(--muted)}.audit-event strong,.audit-event span,.audit-event small{display:block}.audit-event strong{margin:3px 0}.audit-detail{padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft);overflow-wrap:anywhere}.audit-detail p{margin:0}.audit-detail small{margin-top:6px}.audit-empty{padding:25px;text-align:center;color:var(--muted)}
@media(max-width:800px){.audit-event{grid-template-columns:1fr;gap:7px}}
.customer-toolbar{display:grid;grid-template-columns:minmax(260px,1.5fr) repeat(3,minmax(150px,.65fr)) auto auto;gap:12px;align-items:end;margin-bottom:18px;padding:16px}.customer-toolbar label{display:grid;gap:7px}.customer-toolbar label span{color:var(--muted);font-size:12px;font-weight:750}.customer-toolbar input,.customer-toolbar select{min-height:44px}.customer-toolbar button{width:auto;min-height:44px;padding:0 16px}.customer-toolbar>strong{align-self:center;white-space:nowrap;color:#8740f4}.filtered-empty{padding:25px;text-align:center;color:var(--muted)}
@media(max-width:1200px){.customer-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-search{grid-column:1/-1}}@media(max-width:650px){.customer-toolbar{grid-template-columns:1fr}.customer-search{grid-column:auto}}
.network-preview-dialog{width:min(900px,calc(100vw - 32px));max-height:88vh;padding:0;overflow:auto;border:1px solid var(--border);border-radius:24px;color:var(--text);background:var(--surface);box-shadow:0 28px 90px rgba(30,18,45,.34)}
.network-preview-dialog::backdrop{background:rgba(20,13,30,.62);backdrop-filter:blur(3px)}
.network-preview-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:26px 28px 22px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,rgba(135,64,244,.1),rgba(222,72,160,.05))}
.network-preview-dialog h3{margin:5px 0 4px;font-size:26px}.network-preview-dialog header p,.preview-intro{margin:0;color:var(--muted)}
.preview-eyebrow{color:#8740f4;font-size:12px;font-weight:900;letter-spacing:.12em}.preview-safe-badge{padding:8px 12px;border-radius:999px;color:#537000;background:rgba(173,207,0,.17);font-size:12px;white-space:nowrap}
.preview-intro{padding:20px 28px 0;line-height:1.55}.preview-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:20px 28px}
.preview-groups section,.preview-safeguards{position:relative;padding:18px;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft)}
.preview-groups h4,.preview-safeguards h4{margin:0 0 12px}.preview-groups section>span{position:absolute;top:17px;right:17px;color:var(--muted);font-size:11px;font-weight:800}
.preview-groups ul,.preview-safeguards ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.preview-groups li{padding:9px 11px;border:1px solid var(--border);border-radius:9px;background:var(--surface);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;overflow-wrap:anywhere}
.preview-safeguards{margin:0 28px 22px;background:rgba(173,207,0,.07);border-color:rgba(126,157,0,.25)}.preview-safeguards li::before{content:'✓';margin-right:9px;color:#718d00;font-weight:900}
.network-preview-dialog>footer{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 28px;border-top:1px solid var(--border);background:var(--surface)}.network-preview-dialog footer small{color:var(--muted)}.network-preview-dialog footer button{width:auto;min-height:42px;padding:0 18px}
@media(max-width:700px){.network-preview-dialog>header,.network-preview-dialog>footer{align-items:stretch;flex-direction:column}.preview-safe-badge{width:max-content}.preview-groups{grid-template-columns:1fr}}
.technical-contract-dialog{width:min(940px,calc(100vw - 32px))}.technical-contract-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-height:62vh;overflow:auto;padding:22px 28px}.technical-contract-card{padding:18px;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft)}.technical-contract-card.wide{grid-column:1/-1}.technical-contract-card h4{margin:0 0 14px;font-size:17px}.technical-contract-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface)}.technical-contract-details>div{min-width:0;padding:11px 13px;border-bottom:1px solid var(--border)}.technical-contract-details>div:nth-last-child(-n+2){border-bottom:0}.technical-contract-details dt{margin:0 0 5px;color:var(--muted);font-size:11px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.technical-contract-details dd{margin:0;font-weight:700;line-height:1.4;overflow-wrap:anywhere}.technical-contract-card.wide .technical-contract-details{grid-template-columns:repeat(4,minmax(0,1fr))}.technical-contract-card.wide .technical-contract-details>div{border-bottom:0}
@media(max-width:700px){.technical-contract-overview{grid-template-columns:1fr;padding:18px}.technical-contract-card.wide{grid-column:auto}.technical-contract-details,.technical-contract-card.wide .technical-contract-details{grid-template-columns:1fr}.technical-contract-details>div,.technical-contract-details>div:nth-last-child(-n+2),.technical-contract-card.wide .technical-contract-details>div{border-bottom:1px solid var(--border)}.technical-contract-details>div:last-child,.technical-contract-card.wide .technical-contract-details>div:last-child{border-bottom:0}}
.conflict-outcome-badge{padding:9px 13px;border-radius:999px;color:#4d6900;background:rgba(173,207,0,.18);font-size:12px;white-space:nowrap}.conflict-report-dialog.warning .conflict-outcome-badge{color:#8a5600;background:rgba(244,136,0,.18)}.conflict-report-dialog.blocked .conflict-outcome-badge{color:#a32e59;background:rgba(222,72,160,.14)}
.conflict-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:22px 28px 0}.conflict-metrics article{padding:15px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft)}.conflict-metrics strong,.conflict-metrics span{display:block}.conflict-metrics strong{margin-bottom:5px;color:#8740f4;font-size:25px}.conflict-metrics span{color:var(--muted);font-size:12px}
.conflict-content{display:grid;gap:14px;padding:20px 28px 24px}.conflict-content section{padding:18px;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft)}.conflict-content h4{margin:0 0 12px}.conflict-content ul{display:grid;gap:9px;margin:0;padding:0;list-style:none}.conflict-content li{position:relative;padding-left:25px;line-height:1.45}.conflict-content li::before{position:absolute;left:0;font-weight:900}.conflict-content .blockers li::before{content:'×';color:#d44578}.conflict-content .warnings li::before{content:'!';color:#ef8700}.conflict-content .recommendations li::before{content:'→';color:#8740f4}.conflict-content li.empty-result::before{content:'✓';color:#718d00}
@media(max-width:700px){.conflict-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.conflict-outcome-badge{width:max-content}}
.device-policy-state{width:max-content;padding:4px 8px;border-radius:999px;background:rgba(244,136,0,.12);color:#915500;font-weight:800}.device-policy-state.enabled{background:rgba(173,207,0,.16);color:#587100}.access-policy-badge{padding:9px 13px;border-radius:999px;font-size:12px;white-space:nowrap}.access-policy-badge.enabled{color:#4d6900;background:rgba(173,207,0,.18)}.access-policy-badge.compatible{color:#805600;background:rgba(244,136,0,.15)}.access-policy-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:22px 28px 0}.access-policy-metrics article{padding:15px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft)}.access-policy-metrics strong,.access-policy-metrics span{display:block}.access-policy-metrics strong{margin-bottom:5px;color:#8740f4;font-size:25px}.access-policy-metrics span{color:var(--muted);font-size:12px}.access-policy-content{display:grid;gap:14px;padding:20px 28px 24px}.access-policy-content section{padding:18px;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft)}.access-policy-content h4{margin:0 0 12px}.access-policy-content ul{display:grid;gap:9px;margin:0;padding:0;list-style:none}.access-policy-content li{position:relative;padding-left:24px;line-height:1.45}.access-policy-content li::before{content:'✓';position:absolute;left:0;color:#718d00;font-weight:900}.access-policy-content .blockers li::before{content:'×';color:#d44578}.access-policy-content .warnings li::before{content:'!';color:#ef8700}.access-policy-content li.empty-result::before{content:'—';color:var(--muted)}.access-policy-actions{display:flex;gap:10px}.access-policy-actions button{width:auto}.access-policy-dialog footer>small{max-width:430px}@media(max-width:700px){.access-policy-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.access-policy-badge{width:max-content}.access-policy-actions{flex-direction:column}.access-policy-actions button{width:100%}}
.device-changes-dialog{width:min(780px,calc(100vw - 32px))}.device-changes-list{display:grid;gap:12px;max-height:55vh;overflow:auto;padding:20px 28px}.device-change-card{border:1px solid var(--border);border-radius:16px;padding:16px;background:var(--surface-soft)}.device-change-card>div{display:flex;justify-content:space-between;gap:16px}.device-change-card span{font-size:.78rem;font-weight:800;text-transform:uppercase;color:#8740f4}.device-change-card.failed{border-color:#e88c83}.device-change-card.failed span{color:#c34235}.device-change-card p{margin:7px 0;color:var(--muted)}.device-change-summary{display:grid;grid-template-columns:minmax(135px,.7fr) minmax(170px,1.3fr);margin:12px 0 0;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface)}.device-change-summary dt,.device-change-summary dd{margin:0;padding:10px 13px;border-bottom:1px solid var(--border)}.device-change-summary dt{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.device-change-summary dd{font-size:.9rem;font-weight:700;overflow-wrap:anywhere}.device-change-summary dt:nth-last-of-type(1),.device-change-summary dd:last-child{border-bottom:0}.device-change-card small{display:block;margin-top:10px}.device-changes-dialog footer{flex-wrap:wrap}.device-changes-dialog footer textarea{flex:1 1 100%;width:100%;resize:vertical}.table-wrap td>small{display:block;margin-top:5px;color:var(--muted)}
.device-bulk-summary{padding:16px 18px;border:1px solid rgba(135,64,244,.28);border-radius:16px;background:rgba(135,64,244,.07)}.device-bulk-summary>p{margin:6px 0 0;color:var(--muted)}.device-bulk-summary ul{display:grid;gap:8px;margin:14px 0 0;padding:0;list-style:none}.device-bulk-summary li{display:grid;grid-template-columns:minmax(110px,.35fr) minmax(0,1fr);gap:12px;padding:10px 12px;border-radius:11px;background:var(--surface)}.device-bulk-summary li span{color:var(--muted);font-size:.84rem;text-transform:none}.device-bulk-summary li.failed{border-left:4px solid #c8445f}.device-bulk-summary li.prepared{border-left:4px solid #7b9c00}.device-bulk-summary li.already_pending{border-left:4px solid #8740f4}
.document-warning{color:#a85a00;font-weight:800}.document-ok{color:var(--muted)}
.contract-directory-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.contract-directory-metrics article{padding:18px 20px;border:1px solid var(--border);border-radius:17px;background:var(--surface);box-shadow:var(--shadow)}.contract-directory-metrics span,.contract-directory-metrics strong{display:block}.contract-directory-metrics span{color:var(--muted);font-size:13px;font-weight:750}.contract-directory-metrics strong{margin-top:7px;color:#8740f4;font-size:28px}.contract-create-form{margin-bottom:18px}.contract-directory-toolbar{display:grid;grid-template-columns:minmax(260px,1.3fr) minmax(190px,.7fr) minmax(180px,.7fr) auto auto;gap:12px;align-items:end;margin-bottom:18px;padding:16px}.contract-directory-toolbar label{display:grid;gap:7px}.contract-directory-toolbar label span{color:var(--muted);font-size:12px;font-weight:750}.contract-directory-toolbar input,.contract-directory-toolbar select,.contract-directory-toolbar button{min-height:44px}.contract-directory-toolbar button{width:auto;padding:0 16px}.contract-directory-toolbar>strong{align-self:center;color:#8740f4;white-space:nowrap}.contract-directory-table td{min-width:135px}.contract-directory-table td:nth-child(2){min-width:240px}.contract-directory-table td:last-child{min-width:150px}.contract-directory-table td>strong,.contract-directory-table td>small{display:block}.contract-directory-table td>small{margin-top:5px;color:var(--muted)}
.contract-map-card{grid-column:1/-1;padding:20px;border:1px solid var(--border);border-radius:18px;background:var(--surface-soft)}.contract-map-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.contract-map-heading h3{margin:0 0 5px}.contract-map-heading p{margin:0;color:var(--muted)}.contract-map-heading button{width:auto;min-height:42px;padding:0 16px}.contract-map-search{display:grid;grid-template-columns:1fr auto;gap:9px;margin-bottom:12px}.contract-map-search input{min-height:44px}.contract-map-search button{width:auto;padding:0 20px}.contract-map{height:380px;overflow:hidden;border:1px solid var(--border);border-radius:15px;background:linear-gradient(135deg,rgba(135,64,244,.08),rgba(173,207,0,.08))}.contract-map.unavailable{display:grid;place-items:center}.contract-map.unavailable::after{content:'Google Maps';color:var(--muted);font-size:24px;font-weight:850}.contract-map-message{margin:11px 0 0;color:var(--muted);font-size:13px}.contract-coordinates{display:flex;gap:22px;margin-top:8px;color:var(--muted);font-size:13px}.contract-coordinates strong{color:var(--text)}
.contract-create-form{display:block;padding:24px}.contract-create-form[hidden]{display:none}.contract-form-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px}.contract-form-tabs button{background:var(--surface-soft);color:var(--muted);border:1px solid var(--border)}.contract-form-tabs button.active{color:#fff;border-color:#8740f4;background:linear-gradient(135deg,#7933ec,#b438e2)}.contract-form-step{display:grid;grid-template-columns:1fr;gap:16px}.contract-form-step[hidden]{display:none}.contract-form-step .form-card{grid-column:1/-1}.contract-billing-warning{padding:14px 16px;border:1px solid rgba(244,136,0,.35);border-radius:13px;background:rgba(244,136,0,.09);color:#8b5500}.contract-form-actions{position:sticky;bottom:0;z-index:5;padding-top:18px;background:var(--surface)}
.pac-container{z-index:10000;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:0 14px 38px rgba(29,20,38,.16);font-family:inherit;margin-top:6px;overflow:hidden}.pac-item{padding:10px 14px;border-top:1px solid var(--border);color:var(--muted);font-size:13px;cursor:pointer}.pac-item:first-child{border-top:0}.pac-item:hover,.pac-item-selected{background:var(--surface-soft)}.pac-item-query{color:var(--text);font-size:14px}.pac-icon{margin-top:3px}
#contract-place-autocomplete{display:block;width:100%;min-height:48px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);font-family:inherit;--gmpx-color-surface:var(--surface);--gmpx-color-on-surface:var(--text);--gmpx-color-on-surface-variant:var(--muted);--gmpx-color-primary:#8740f4}
html[data-theme="light"] #contract-place-autocomplete{color-scheme:light;background:#fff;color:#28222e;--gmpx-color-surface:#fff;--gmpx-color-on-surface:#28222e;--gmpx-color-on-surface-variant:#716a76;--gmpx-color-primary:#7933ec}
html[data-theme="dark"] #contract-place-autocomplete{color-scheme:dark;background:#141419;color:#f7f2fb;--gmpx-color-surface:#141419;--gmpx-color-on-surface:#f7f2fb;--gmpx-color-on-surface-variant:#b8aebe;--gmpx-color-primary:#a871ff}
@media(max-width:1100px){.contract-directory-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.contract-directory-toolbar label:first-child{grid-column:1/-1}}@media(max-width:700px){.contract-directory-metrics,.contract-directory-toolbar{grid-template-columns:1fr}.contract-directory-toolbar label:first-child{grid-column:auto}}
@media(max-width:700px){.contract-map-heading{flex-direction:column}.contract-map{height:310px}.contract-coordinates{flex-direction:column;gap:5px}}
.app-dialog{width:min(560px,calc(100vw - 32px));padding:0;border:1px solid var(--border);border-radius:22px;color:var(--text);background:var(--surface);box-shadow:0 26px 80px rgba(25,14,38,.34)}.app-dialog::backdrop{background:rgba(20,13,30,.6);backdrop-filter:blur(3px)}.app-dialog form{display:grid;gap:16px;padding:26px}.app-dialog h3{margin:0;font-size:24px}.app-dialog p{margin:0;color:var(--muted);white-space:pre-wrap;line-height:1.55}.app-dialog textarea{width:100%;min-height:92px;resize:vertical}.app-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.app-dialog-actions button{width:auto;min-width:120px}
.contract-action-dialog{width:min(690px,calc(100vw - 32px))}.contract-action-dialog form{gap:12px}.contract-action-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.contract-action-heading h3{margin-bottom:5px}.contract-action-close-icon{display:grid!important;flex:0 0 40px;width:40px!important;height:40px;min-height:40px!important;padding:0!important;place-items:center;border-radius:12px!important;font-size:23px!important}.contract-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px}.contract-action-option{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:12px;min-height:86px;padding:14px;text-align:left;color:var(--text);background:var(--surface-soft);border:1px solid var(--border);border-radius:15px}.contract-action-option:hover{border-color:#8740f4;transform:translateY(-1px)}.contract-action-option>span:first-child{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;color:#fff;background:linear-gradient(135deg,#7933ec,#de48a0);font-size:22px;font-weight:900}.contract-action-option strong,.contract-action-option small{display:block}.contract-action-option small{margin-top:4px;color:var(--muted);line-height:1.35}.contract-action-option:disabled{cursor:not-allowed;opacity:.55;filter:saturate(.45);transform:none}.contract-action-option.working{border-color:rgba(135,64,244,.5);background:rgba(135,64,244,.08)}.contract-action-feedback{padding:12px 14px!important;border:1px solid rgba(210,66,112,.3);border-radius:12px;color:#a42b55!important;background:rgba(222,72,160,.08)}.contract-action-close{justify-self:end;width:auto;margin-top:8px}.contract-actions-trigger{display:inline-flex;align-items:center;gap:7px}.contract-audit-dialog{width:min(820px,calc(100vw - 32px))}.contract-audit-list{display:grid;gap:0;max-height:60vh;overflow:auto;padding:22px 28px}.contract-audit-list article{display:grid;grid-template-columns:14px 1fr;gap:14px;padding:0 0 20px}.contract-audit-list article>span{position:relative;width:11px;height:11px;margin-top:5px;border-radius:50%;background:#8740f4;box-shadow:0 0 0 5px rgba(135,64,244,.12)}.contract-audit-list article>span::after{content:'';position:absolute;top:16px;left:5px;width:1px;height:calc(100% + 10px);background:var(--border)}.contract-audit-list article:last-child>span::after{display:none}.contract-audit-list strong,.contract-audit-list small{display:block}.contract-audit-list small{margin-top:4px;color:var(--muted)}.contract-audit-list p{margin:8px 0;color:var(--muted)}.contract-audit-list details{margin-top:9px}.contract-audit-list summary{cursor:pointer;color:#8740f4;font-weight:750}.contract-audit-list pre{max-height:180px;overflow:auto;padding:12px;border-radius:10px;background:var(--surface-soft);white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:650px){.contract-action-grid{grid-template-columns:1fr}}
.network-address-space{padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft);display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:end}.network-address-space[hidden]{display:none}.network-address-space>div:first-child{align-self:center}.network-address-space small{display:block;margin-top:5px;color:var(--muted)}.network-address-summary{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.network-address-summary span{padding:11px 13px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.network-address-summary strong{display:block;margin-top:3px}@media(max-width:850px){.network-address-space{grid-template-columns:1fr}.network-address-summary{grid-template-columns:1fr 1fr}}
.onboarding-review-dialog{width:min(820px,calc(100vw - 32px))}.onboarding-review-dialog form{gap:20px}.onboarding-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.onboarding-review-grid article{padding:15px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft)}.onboarding-review-grid span{display:block;margin-bottom:5px;color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.onboarding-review-grid strong{display:block}.review-document-list{display:grid;gap:9px}.review-document{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-radius:12px;background:var(--surface-soft)}.review-document em{font-style:normal;font-weight:800}.review-document.missing em{color:#b56b00}.review-document.valid em{color:#557500}.legal-contract-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px}.legal-contract-intro strong{font-size:1.25rem}.legal-contract-intro p{margin:7px 0 0;color:var(--muted)}.legal-contract-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:18px 0}.legal-contract-grid article{padding:24px}.legal-contract-grid article>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;color:#fff;background:linear-gradient(135deg,#7933ec,#de48a0);font-weight:900}.legal-contract-grid h3{margin:18px 0 7px}.legal-contract-grid p{margin:0;color:var(--muted);line-height:1.55}@media(max-width:760px){.onboarding-review-grid,.legal-contract-grid{grid-template-columns:1fr}.legal-contract-intro{align-items:flex-start;flex-direction:column}}
.button-spinner,.operation-spinner{display:inline-block;border:3px solid rgba(255,255,255,.45);border-top-color:currentColor;border-radius:50%;animation:oli-spin .75s linear infinite}.button-spinner{width:15px;height:15px;margin-right:7px;vertical-align:-2px}.device-operation-progress{display:flex;align-items:center;gap:16px;padding:18px;border:1px solid rgba(135,64,244,.22);border-radius:16px;background:rgba(135,64,244,.07)}.device-operation-progress .operation-spinner{flex:0 0 38px;width:38px;height:38px;color:#8740f4;border-color:rgba(135,64,244,.2);border-top-color:#8740f4}.device-operation-progress strong,.device-operation-progress p{display:block}.device-operation-progress p{margin:5px 0 0;color:var(--muted)}.operation-symbol{display:grid;flex:0 0 38px;width:38px;height:38px;place-items:center;border-radius:50%;color:#fff;font-size:21px;font-weight:900}.operation-symbol.success{background:#7b9c00}.operation-symbol.failed{background:#c8445f}.device-operation-steps{display:grid;gap:8px;margin:18px 0;padding:0;list-style:none}.device-operation-steps li{position:relative;padding:11px 14px 11px 42px;border:1px solid var(--border);border-radius:12px;color:var(--muted);background:var(--surface-soft)}.device-operation-steps li::before{content:'○';position:absolute;left:15px;color:var(--muted);font-weight:900}.device-operation-steps li.active{border-color:rgba(135,64,244,.45);color:var(--text)}.device-operation-steps li.active::before{content:'●';color:#8740f4}.device-operation-steps li.done::before{content:'✓';color:#698600}.device-operation-steps li.failed::before{content:'!';color:#c8445f}.device-operation-result{padding:15px 17px;border:1px solid var(--border);border-radius:14px}.device-operation-result.success{border-color:rgba(123,156,0,.32);background:rgba(173,207,0,.08)}.device-operation-result.failed{border-color:rgba(200,68,95,.3);background:rgba(222,72,160,.07)}.device-operation-result p{margin:6px 0 0;color:var(--muted)}.device-operation-result ul{display:grid;gap:6px;margin:12px 0 0;padding-left:20px;color:var(--muted)}.operation-result.running{display:flex!important;align-items:center;gap:14px}.operation-result.running .operation-spinner{flex:0 0 28px;width:28px;height:28px;color:#8740f4;border-color:rgba(135,64,244,.2);border-top-color:#8740f4}.operation-result.success{border-color:rgba(123,156,0,.32)!important;background:rgba(173,207,0,.08)!important}.operation-result.failed{border-color:rgba(200,68,95,.3)!important;background:rgba(222,72,160,.07)!important}.operation-result p{margin:6px 0 0;color:var(--muted)}.operation-result small{display:block;margin-top:8px;color:var(--muted)}
@keyframes oli-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.button-spinner,.operation-spinner{animation-duration:1.5s}}
.device-option-card.danger{border-color:rgba(200,68,95,.35)!important}.device-option-card.danger:hover{border-color:rgba(200,68,95,.7)!important}.device-option-card.danger .device-option-icon{background:linear-gradient(135deg,#a92d50,#e85e77)}
.device-delete-dialog .record-dialog-content{display:grid;gap:16px}.server-delete-warning{padding:18px;border:1px solid rgba(200,68,95,.28);border-radius:18px;background:rgba(200,68,95,.06)}.server-delete-warning strong{display:block;font-size:18px}.server-delete-warning p{margin:8px 0;color:var(--muted)}.server-delete-warning ul{margin:12px 0 0;padding-left:20px;color:var(--muted);line-height:1.55}.server-delete-result{padding:14px 16px;border-radius:14px;font-weight:750}.server-delete-result.running{background:rgba(135,64,244,.08);color:#8740f4}.server-delete-result.success{background:rgba(173,207,0,.12);color:#536d00}.server-delete-result.failed{background:rgba(200,68,95,.1);color:#9f2944}.server-delete-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.server-delete-actions button.danger{background:#c8445f;color:#fff;border-color:#c8445f}
.ftth-browser{display:grid;gap:14px}.ftth-level{border:1px solid var(--border);border-radius:18px;background:var(--surface);overflow:hidden}.ftth-level>summary{padding:16px 18px;cursor:pointer;font-weight:850;list-style-position:inside}.ftth-level>summary:hover{background:rgba(135,64,244,.06)}.ftth-level[open]>summary{border-bottom:1px solid var(--border)}.ftth-olt>summary{font-size:18px;color:var(--purple)}.ftth-olt>.ftth-port{margin:14px}.ftth-port{background:var(--surface-soft)}.ftth-port-content,.ftth-nap-content{display:grid;gap:12px;padding:14px}.ftth-port-controls{display:flex;justify-content:flex-end}.ftth-nap{background:var(--surface)}.ftth-onu-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:13px;border:1px solid var(--border);border-radius:15px}.ftth-onu-group>h5{grid-column:1/-1;margin:0;color:var(--muted);font-size:13px}.ftth-onu-group.unassigned{border-color:rgba(244,136,0,.35);background:rgba(244,136,0,.05)}.ftth-onu{border:1px solid var(--border);border-left:5px solid var(--muted);border-radius:13px;background:var(--surface);overflow:hidden}.ftth-onu.signal-optimal{border-left-color:#7b9c00}.ftth-onu.signal-warning{border-left-color:#ef8700}.ftth-onu.signal-critical{border-left-color:#c8445f}.ftth-onu.signal-unconfigured,.ftth-onu.signal-unknown{border-left-color:var(--muted)}.ftth-onu>summary{padding:13px;cursor:pointer;font-weight:800;overflow-wrap:anywhere}.ftth-onu-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 13px 13px}.ftth-onu-body>div{padding:10px;border-radius:10px;background:var(--surface-soft)}.ftth-onu-body small,.ftth-onu-body strong{display:block}.ftth-onu-body small{margin-bottom:5px;color:var(--muted)}.ftth-onu-body .table-action{justify-self:start}.ftth-unlinked{padding:14px 16px;border:1px solid rgba(135,64,244,.25);border-radius:13px;background:rgba(135,64,244,.06)}.ftth-unlinked.loading{color:var(--muted)}.ftth-unlinked.failed{color:#9f2944;border-color:rgba(200,68,95,.3);background:rgba(200,68,95,.08)}.ftth-unlinked p{margin:7px 0 0;color:var(--muted)}.ftth-unlinked ul{display:grid;gap:6px;margin:10px 0 0;padding-left:20px}@media(max-width:800px){.ftth-onu-group,.ftth-onu-body{grid-template-columns:1fr}.ftth-olt>.ftth-port{margin:9px}}
