:root{--bg: #f4f6f9;--surface: #ffffff;--line: #e1e7ef;--line-strong: #cfd8e6;--text: #1f2a3d;--muted: #667085;--blue: #0b84d8;--green: #087443;--red: #b42318;--orange: #b55300;--shadow: 0 1px 2px rgba(16,24,40,.06);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select{font:inherit}button{cursor:pointer}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(460px,55%) minmax(360px,45%);background:#fff}.login-left{background:#fff;display:flex;align-items:center;justify-content:center;padding:42px}.login-right{position:relative;display:flex;align-items:center;justify-content:center;padding:52px 80px}.login-logo-hero{display:grid;justify-items:center;gap:10px;text-align:center}.login-logo-hero strong{font-size:38px;letter-spacing:-.055em;color:#0a1628}.login-logo-hero em{font-style:normal;color:var(--muted);font-weight:700}.logo-big,.logo-small{position:relative;flex:0 0 auto}.logo-big{width:180px;height:180px}.logo-small{width:34px;height:34px}.logo-big span,.logo-small span{position:absolute;border-radius:999px}.logo-big span:nth-child(1),.logo-small span:nth-child(1){background:#0b84d8}.logo-big span:nth-child(2),.logo-small span:nth-child(2){background:#25d366}.logo-big span:nth-child(3),.logo-small span:nth-child(3){background:#ff8a2a}.logo-big span:nth-child(4),.logo-small span:nth-child(4){background:#79d2ff}.logo-big span:nth-child(5),.logo-small span:nth-child(5){background:#0057ff}.logo-big span:nth-child(1){left:74px;top:8px;width:32px;height:64px}.logo-big span:nth-child(2){left:108px;top:56px;width:64px;height:32px}.logo-big span:nth-child(3){left:82px;top:108px;width:32px;height:64px}.logo-big span:nth-child(4){left:8px;top:88px;width:64px;height:32px}.logo-big span:nth-child(5){left:67px;top:67px;width:46px;height:46px}.logo-small span:nth-child(1){left:14px;top:1px;width:7px;height:13px}.logo-small span:nth-child(2){left:20px;top:11px;width:13px;height:7px}.logo-small span:nth-child(3){left:16px;top:20px;width:7px;height:13px}.logo-small span:nth-child(4){left:1px;top:16px;width:13px;height:7px}.logo-small span:nth-child(5){left:13px;top:13px;width:9px;height:9px}.language-select{position:absolute;right:80px;top:52px;height:34px;border:1px solid var(--line-strong);background:#fff;padding:0 10px}.login-box{width:min(100%,430px)}.login-box h1{color:var(--blue);font-size:32px;margin:0 0 10px}.login-box p{margin:0 0 34px;color:#344054;line-height:1.55}.line-field{display:flex;align-items:center;min-height:44px;border-bottom:1px solid var(--line);gap:8px;margin-bottom:18px}.line-field input{border:0;outline:0;flex:1;background:transparent}.line-field button,.forgot-row button{border:0;background:transparent;color:#344054;font-weight:700}.forgot-row{text-align:right;margin:8px 0 34px}.login-button{width:100%;height:48px;border:0;background:var(--blue);color:#fff;font-weight:850;border-radius:3px}.forgot-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:12px;margin-top:28px}.app-shell{min-height:100vh;display:grid;grid-template-columns:246px 1fr}.sidebar{background:#fff;border-right:1px solid var(--line);min-height:100vh;display:flex;flex-direction:column}.sidebar-logo{height:72px;display:flex;align-items:center;gap:10px;padding:0 22px;border-bottom:1px solid var(--line);font-size:20px;font-weight:900;letter-spacing:-.045em}.nav{padding:12px 0;flex:1}.nav-main{width:100%;height:42px;border:0;border-left:3px solid transparent;background:transparent;display:flex;align-items:center;gap:12px;padding:0 18px 0 24px;color:#2f3b4d}.nav-main.active{background:#eef7ff;color:var(--blue);border-left-color:var(--blue)}.nav-main.disabled{opacity:.55}.nav-main b{margin-left:auto}.nav-sub{display:grid;padding:0 0 6px 54px}.nav-sub button{height:30px;border:0;background:transparent;text-align:left;color:#536174;font-size:13px}.nav-sub button.active{color:var(--blue);font-weight:800}.sidebar-user{border-top:1px solid var(--line);padding:12px 18px;display:flex;align-items:center;gap:10px}.sidebar-user strong,.sidebar-user span{display:block;max-width:150px;overflow:hidden;text-overflow:ellipsis}.sidebar-user span{color:var(--muted);font-size:12px}.logout-button{height:38px;margin:12px 18px 18px;border:1px solid var(--line);background:#f8fafc;border-radius:3px;font-weight:800}.mini-avatar{width:30px;height:30px;border-radius:999px;display:inline-grid;place-items:center;background:var(--blue);color:#fff;font-weight:900}.main{min-width:0}.topbar{height:56px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 18px;position:sticky;top:0;z-index:10}.breadcrumb,.top-actions{display:flex;align-items:center;gap:10px}.secure-pill{background:#eef7ff;color:#1d4e89;font-size:12px;padding:6px 10px;border-radius:3px}.top-user{display:flex;align-items:center;gap:6px}.content{padding:18px 18px 24px}.page-title-row{display:flex;justify-content:space-between;gap:14px;margin-bottom:10px}.page-title h1{margin:0 0 3px;font-size:20px}.page-title p{margin:0;color:var(--muted);font-size:12px}.summary-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}.summary-card{min-height:64px;padding:10px 12px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.summary-card label{display:block;font-size:11px;color:#607086;margin-bottom:5px}.summary-card strong{display:block;font-size:21px}.summary-card span{display:block;color:var(--muted);font-size:11px;margin-top:5px}.summary-danger strong{color:var(--red)}.panel{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);margin-bottom:10px}.panel-header{min-height:40px;padding:0 12px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.panel-header span{color:var(--muted);font-size:12px}.panel-body{padding:12px}.tenant-filter-grid{display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(6,minmax(132px,1fr));gap:7px;margin-bottom:10px}.search,.tenant-filter-grid select,.form-field input,.form-field select{height:30px;border:1px solid var(--line-strong);padding:0 9px;background:#fff;border-radius:3px;color:#344054;font-size:12px}.tenant-table-wrap{max-height:360px;overflow:auto;border:1px solid var(--line);border-bottom:0}table{width:100%;border-collapse:collapse;font-size:12px}th{height:32px;background:#f6f8fa;color:#536174;border-bottom:1px solid var(--line);text-align:left;padding:0 9px;white-space:nowrap;position:sticky;top:0;z-index:2}td{padding:8px 9px;border-bottom:1px solid var(--line);vertical-align:middle}.right{text-align:right;white-space:nowrap}.selected-row td{background:#f3f9ff}.tenant-cell{display:flex;align-items:center;gap:8px;min-width:210px}.tenant-cell>span{width:28px;height:28px;border-radius:6px;background:#eef7ff;color:var(--blue);display:grid;place-items:center;font-weight:900;border:1px solid #d9edf9;flex:0 0 auto}.tenant-cell strong,.tenant-cell small{display:block}.tenant-cell small,td small,.hint{color:var(--muted);font-size:11px}.warning{color:var(--orange)}.danger,.expired,.offline{color:var(--red)}.active,.online{color:var(--green)}.suspended,.not_registered{color:#667085}.plain-status{font-weight:850;text-transform:lowercase}.sort-header{border:0;background:transparent;color:inherit;font-weight:850;padding:0}.icon-action{width:28px;height:26px;border:1px solid var(--line-strong);background:#fff;border-radius:3px;display:inline-grid;place-items:center;margin-left:4px}.icon-action.danger-action{color:var(--red);border-color:#ffd0cc}.link-action{height:26px;border:1px solid var(--line-strong);background:#fff;border-radius:3px;padding:0 8px;margin-left:4px;font-size:11px;font-weight:800}.btn{height:32px;border:1px solid var(--line-strong);background:#fff;border-radius:3px;padding:0 12px;font-size:12px;font-weight:800}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.note-line,.addon-line{height:30px;display:flex;align-items:center;gap:8px;border:1px solid #ffd6a8;border-left:4px solid #ff8a2a;background:#fffaf4;padding:5px 9px;margin-bottom:8px;overflow:hidden}.addon-line{border-color:var(--line);border-left-color:var(--blue);background:#fbfdff;margin:6px 0}.note-line strong,.addon-line strong{flex:0 0 auto;color:#b55300;font-size:11px;text-transform:uppercase}.addon-line strong{color:#263547}.note-line span,.addon-line span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.detail-flex{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.detail-field{height:30px;display:inline-flex;align-items:center;gap:8px;background:#f8fafc;border:1px solid var(--line);border-radius:3px;padding:5px 8px}.detail-field label{flex:0 0 auto;font-size:10.5px;color:#667085}.detail-field strong{flex:1 1 auto;min-width:0;font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-name{width:300px}.field-country{width:210px}.field-city{width:150px}.field-limit{width:105px}.field-subscription{width:185px}.field-status{width:125px}.field-date{width:140px}.field-license{width:120px}.field-pbx{width:320px}.field-xml{width:560px}.field-qr{width:135px}.edge-value-panel{margin-top:6px;border:1px solid var(--line)}.edge-value-header,.edge-value-row{display:grid;grid-template-columns:minmax(180px,1.4fr) 110px 90px 130px;column-gap:8px;align-items:center}.edge-value-header{height:28px;padding:0 9px;background:#f6f8fa;color:#536174;font-size:11px;font-weight:850;border-bottom:1px solid var(--line)}.edge-value-row{min-height:30px;padding:0 9px;font-size:12px}.edge-detail-row{padding:0 9px 7px;color:var(--muted);font-size:11px;border-bottom:1px solid var(--line)}.edge-value-item:last-child .edge-detail-row{border-bottom:0}.notice{margin:10px 0;padding:10px 12px;border-radius:3px;font-size:13px}.notice.error,.global-error{color:#991b1b;background:#fff0ef;border:1px solid #ffd0cc}.notice.success{color:#087443;background:#edf8f2;border:1px solid #ccebd8}.global-error{margin:12px 18px;padding:10px 12px;border-radius:3px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1f2a3d6b;display:flex;align-items:center;justify-content:center;z-index:90;padding:24px}.modal{width:min(760px,100%);max-height:calc(100vh - 48px);overflow:auto;background:#fff;border:1px solid var(--line-strong);box-shadow:0 20px 50px #1f2a3d33}.modal.small{width:min(560px,100%)}.modal-header,.modal-footer{min-height:54px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 16px}.modal-footer{border-bottom:0;border-top:1px solid var(--line);justify-content:flex-end;gap:8px}.modal-header h3{margin:0}.modal-header button{border:0;background:transparent;font-size:22px}.modal-body{padding:16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-field{display:grid;gap:5px;color:#667085;font-size:12px}.form-field.full,.notice.full{grid-column:1 / -1}.password-row{display:flex;gap:6px}.password-row input{flex:1}.password-row button{height:30px;border:1px solid var(--line-strong);background:#fff;border-radius:3px;font-size:12px;font-weight:800}.locked{color:#667085;font-size:12px;margin-left:6px}@media (max-width: 1100px){.login-page{grid-template-columns:1fr}.login-left{min-height:260px}.app-shell{grid-template-columns:72px 1fr}.sidebar-logo span,.nav-main strong,.nav-main b,.nav-sub,.sidebar-user div{display:none}.tenant-filter-grid,.summary-row,.form-grid{grid-template-columns:1fr}.detail-field,.field-name,.field-country,.field-city,.field-limit,.field-subscription,.field-status,.field-date,.field-license,.field-pbx,.field-xml,.field-qr{width:100%}}.login-logo-hero.image-logo{width:min(520px,78%)}.login-logo-hero.image-logo img{display:block;width:100%;max-width:520px;height:auto}.login-logo-hero.login-text-only{display:grid;gap:10px;justify-items:start;text-align:left}.login-logo-hero.login-text-only strong{font-size:44px;line-height:1;font-weight:900;letter-spacing:-.055em;color:#071a2f}.login-logo-hero.login-text-only em{font-style:normal;font-size:16px;font-weight:800;letter-spacing:.18em;color:#667085}.logo-img{width:34px;height:34px;object-fit:contain;display:block;flex:0 0 auto}.logo-img-big{width:78px;height:78px;margin:0 auto 14px}.sidebar-logo .logo-img{width:38px;height:38px}.login-logo-hero .logo-img-big{width:84px;height:84px}.sidebar-user,.logout-button{display:none!important}.top-user-menu{position:relative;display:inline-flex;align-items:center}.top-user-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:0;color:inherit;font:inherit}.top-user-button b{font-size:11px;color:#64748b;line-height:1}.top-user-dropdown{position:absolute;top:calc(100% + 10px);right:0;width:240px;z-index:80;background:#fff;border:1px solid #dce8ff;border-radius:14px;box-shadow:0 22px 58px #0a162829;padding:10px}.top-user-dropdown-head{padding:10px 10px 12px;border-bottom:1px solid #eef2ff;margin-bottom:8px}.top-user-dropdown-head strong{display:block;color:#0a1628;font-size:14px;line-height:1.2}.top-user-dropdown-head span{display:block;color:#64748b;font-size:12px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-user-dropdown button{width:100%;min-height:38px;border:0;border-radius:10px;background:#fff1f2;color:#be123c;font-weight:800;cursor:pointer}.top-user-dropdown button:hover{background:#ffe4e6}.text-link{width:100%;margin-top:13px;border:0;background:transparent;color:#0b84d8;font-weight:800;cursor:pointer;text-align:right}.muted-link{color:#64748b;text-align:center}.owner-2fa-panel{margin:0 0 14px;padding:12px 14px;border:1px solid #d8e7f8;background:#fff;border-radius:8px}.owner-2fa-head span{display:block;margin-top:3px;font-size:12px;color:#64748b}.owner-2fa-head button,.primary-small{min-height:34px;padding:0 13px;border:1px solid #0b84d8;background:#0b84d8;color:#fff;border-radius:4px;font-weight:800;cursor:pointer}.owner-2fa-body{margin-top:12px;border-top:1px solid #eef2f7;padding-top:12px}.owner-2fa-setup{display:grid;grid-template-columns:180px 1fr;gap:18px;align-items:start}.owner-2fa-setup img{width:180px;height:180px;border:1px solid #d8e7f8;border-radius:8px;background:#fff}.owner-2fa-setup label,.owner-2fa-disable label{display:block;margin:10px 0 5px;font-size:12px;font-weight:800;color:#334155}.owner-2fa-setup code{display:block;padding:9px 10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px;color:#0f172a;word-break:break-all}.owner-2fa-setup input,.owner-2fa-disable input{width:180px;min-height:34px;border:1px solid #ccd8e6;border-radius:4px;padding:0 10px}.owner-2fa-disable button{min-height:34px;padding:0 12px;border:1px solid #ef4444;background:#ef4444;color:#fff;border-radius:4px;font-weight:800;cursor:pointer}.owner-2fa-note{margin:12px 0 0;font-size:12px;color:#64748b}.notice.info{color:#075985;background:#e0f2fe;border:1px solid #bae6fd}.owner-2fa-panel{margin:0 0 10px;padding:10px 12px;border:1px solid #cfe2f6;background:#fff;border-radius:4px}.owner-2fa-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.owner-2fa-head strong{display:block;font-size:14px;color:#0a1628}.owner-2fa-head span{display:block;margin-top:2px;font-size:12px;color:#64748b}.owner-2fa-head button,.primary-small{min-height:30px;padding:0 12px;border:1px solid #0b84d8;background:#0b84d8;color:#fff;border-radius:4px;font-weight:800;cursor:pointer}.owner-2fa-body{margin-top:10px;border-top:1px solid #eef2f7;padding-top:10px}.owner-2fa-setup{display:grid;grid-template-columns:170px 1fr;gap:16px;align-items:start}.owner-2fa-setup img{width:170px;height:170px;border:1px solid #d8e7f8;border-radius:4px;background:#fff}.owner-2fa-setup label,.owner-2fa-disable label{display:block;margin:8px 0 4px;font-size:12px;font-weight:800;color:#334155}.owner-2fa-setup code{display:block;padding:8px 10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px;color:#0f172a;word-break:break-all}.owner-2fa-setup input,.owner-2fa-disable input{width:180px;min-height:30px;border:1px solid #ccd8e6;border-radius:4px;padding:0 10px}.owner-2fa-disable div{display:flex;gap:8px;align-items:center}.owner-2fa-disable button{min-height:30px;padding:0 12px;border:1px solid #ef4444;background:#ef4444;color:#fff;border-radius:4px;font-weight:800;cursor:pointer}.owner-2fa-note{margin:10px 0 0;font-size:12px;color:#64748b}.topbar+.owner-2fa-panel{display:none!important}
