:root{--ink:#102238;--muted:#66768a;--line:#dce4ec;--surface:#fff;--bg:#f2f6f9;--green:#0c6e61;--green-dark:#0b403b;--green-soft:#e8f5f2;--danger:#c93636;--shadow:0 18px 55px rgba(15,35,55,.08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-size:16px}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 100% 0,rgba(12,110,97,.08),transparent 28rem),linear-gradient(#f8fafc,#f1f5f9)}button,input,textarea,select{font:inherit}.hidden{display:none!important}.brand{display:flex;align-items:center;gap:11px;font-weight:750;letter-spacing:-.02em}.brand-light{color:#fff}.brand-mark{display:grid;width:38px;height:38px;place-items:center;border-radius:12px;background:linear-gradient(145deg,#1ca390,#0c6e61);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);color:#fff}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}.auth-art{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:52px;background:linear-gradient(145deg,#082f2c,#0b4a43 65%,#0b5c52);color:#fff}.auth-art:before,.auth-art:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.1);border-radius:999px;width:420px;height:420px;right:-160px;top:-130px}.auth-art:after{width:270px;height:270px;right:-30px;top:95px}.auth-copy{position:relative;max-width:650px}.eyebrow{display:inline-flex;align-items:center;color:var(--green);font-size:.77rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.eyebrow.light{color:#9fe4d8}.auth-copy h1{font-size:clamp(2.8rem,5vw,5.2rem);line-height:1.02;letter-spacing:-.055em;margin:18px 0 22px}.auth-copy p{max-width:560px;color:#d5eee9;font-size:1.15rem;line-height:1.75}.auth-foot{color:#b9d9d3;font-size:.9rem}.auth-panel{display:flex;align-items:center;justify-content:center;padding:36px}.auth-card{width:min(100%,440px);padding:38px;border:1px solid var(--line);border-radius:28px;background:rgba(255,255,255,.93);box-shadow:0 25px 80px rgba(15,35,55,.12);backdrop-filter:blur(12px)}.icon-tile{display:grid;width:50px;height:50px;place-items:center;margin-bottom:26px;border-radius:16px;background:var(--green-soft);color:var(--green);font-size:1.35rem;font-weight:800}.auth-card h2,.dialog-head h2{margin:7px 0 8px;font-size:2rem;letter-spacing:-.035em}.auth-card>p{margin:0 0 26px;color:var(--muted);line-height:1.6}label{display:flex;flex-direction:column;gap:8px;margin-bottom:18px;color:#283b50;font-size:.9rem;font-weight:700}input,textarea,select{width:100%;border:1px solid #cfd9e3;border-radius:11px;background:#fff;padding:11px 13px;color:var(--ink);outline:none;transition:.18s}input{height:45px}textarea{resize:vertical;min-height:86px}input:focus,textarea:focus,select:focus{border-color:#2d8f83;box-shadow:0 0 0 3px rgba(12,110,97,.12)}small{color:#8190a0;font-size:.76rem;font-weight:500;line-height:1.45}.button{min-height:42px;border:0;border-radius:11px;padding:10px 16px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:750;cursor:pointer;transition:.18s}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.55;cursor:wait;transform:none}.button.primary{background:var(--green);color:white;box-shadow:0 8px 22px rgba(12,110,97,.18)}.button.primary:hover{background:#095d53}.button.secondary{background:var(--green-soft);color:#075b51}.button.ghost{border:1px solid var(--line);background:white;color:var(--ink)}.button.full{width:100%;justify-content:space-between;margin-top:8px}.form-error{min-height:20px!important;margin:12px 0 0!important;color:var(--danger)!important;font-size:.86rem}.toast{position:fixed;z-index:100;right:24px;top:20px;max-width:380px;padding:13px 16px;border-radius:12px;background:#12352f;color:#fff;box-shadow:var(--shadow);opacity:0;transform:translateY(-12px);pointer-events:none;transition:.22s}.toast.show{opacity:1;transform:none}.toast.error{background:#a72e2e}.app{min-height:100vh;display:grid;grid-template-columns:255px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:28px 18px 18px;background:linear-gradient(180deg,#0b3632,#092d2a);color:#fff}.sidebar .brand{padding:0 10px 27px;border-bottom:1px solid rgba(255,255,255,.1)}nav{display:grid;gap:6px;margin-top:26px}.nav-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 13px;border:0;border-radius:11px;background:transparent;color:#bcd6d1;text-align:left;font-weight:650;cursor:pointer}.nav-item:hover,.nav-item.active{background:rgba(255,255,255,.1);color:#fff}.nav-item span{width:22px;text-align:center;font-size:1.1rem}.sidebar-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding:17px 8px 2px;border-top:1px solid rgba(255,255,255,.1)}.account-mini{display:flex;align-items:center;gap:10px;min-width:0}.account-mini>span:last-child{display:grid;min-width:0}.account-mini strong,.account-mini small{max-width:135px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-mini strong{font-size:.83rem}.account-mini small{color:#9dc4bd;font-size:.72rem}.avatar{display:grid;width:35px;height:35px;flex:0 0 auto;place-items:center;border-radius:50%;background:#d9f4ef;color:#0b5c52;font-weight:850}.icon-button{display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:transparent;color:inherit;cursor:pointer}.workspace{min-width:0}.topbar{min-height:98px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:21px clamp(24px,4vw,54px);border-bottom:1px solid var(--line);background:rgba(255,255,255,.76);backdrop-filter:blur(12px)}.breadcrumb{margin:0 0 4px;color:#7d8b9b;font-size:.78rem}.topbar h1{margin:0;font-size:1.4rem;letter-spacing:-.025em}.connection-pill{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:white;color:#627184;font-size:.8rem;font-weight:700}.status-dot{width:8px;height:8px;border-radius:50%;background:#94a3b8}.connection-pill.connected .status-dot{background:#12a574;box-shadow:0 0 0 4px rgba(18,165,116,.12)}.connection-pill.disconnected .status-dot{background:#e05d5d}.page-content{padding:clamp(25px,4vw,54px);max-width:1350px;margin:0 auto}.intro-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.intro-row h2{margin:0 0 7px;font-size:1.45rem;letter-spacing:-.025em}.intro-row p,.panel-heading p,.qr-card p{margin:0;color:var(--muted);line-height:1.55}.settings-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:20px}.panel{border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.93);box-shadow:0 12px 35px rgba(15,35,55,.045)}.identity-panel,.connection-panel{padding:25px}.panel-heading{display:flex;gap:13px;align-items:flex-start;padding-bottom:21px;margin-bottom:22px;border-bottom:1px solid #e8edf2}.panel-heading h3{margin:1px 0 5px;font-size:1rem}.panel-heading p{font-size:.85rem}.panel-icon{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;border-radius:11px;background:var(--green-soft);color:var(--green);font-weight:850}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.span-2{grid-column:1/-1}.input-suffix{display:flex}.input-suffix input{border-radius:11px 0 0 11px}.input-suffix span{display:flex;align-items:center;padding:0 11px;border:1px solid #cfd9e3;border-left:0;border-radius:0 11px 11px 0;background:#f4f7f9;color:#718092;font-size:.8rem;font-weight:500}.password-row{position:relative}.password-row input{padding-right:74px}.text-button{position:absolute;right:6px;top:6px;height:33px;border:0;background:transparent;color:var(--green);font-size:.78rem;font-weight:800;cursor:pointer}.form-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:20px;padding-top:2px}.form-actions span{margin-right:auto;color:#7a8999;font-size:.82rem}.qr-card{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:20px;padding:22px;border:1px solid #b9dfd8;border-radius:18px;background:#f2fbf9}.qr-card h3{margin:7px 0 7px}.qr-card img{width:150px;height:150px;object-fit:contain;border:10px solid white;border-radius:14px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:18px}.metrics article{display:grid;gap:8px;padding:20px;border:1px solid var(--line);border-radius:16px;background:white}.metrics span{color:var(--muted);font-size:.82rem}.metrics strong{font-size:1.9rem;letter-spacing:-.04em}.table-panel{overflow:hidden}.table-tools{padding:16px;border-bottom:1px solid var(--line)}.search{position:relative;display:block;max-width:380px;margin:0}.search span{position:absolute;left:13px;top:12px;color:#8291a1}.search input{padding-left:38px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{padding:15px 18px;text-align:left;border-bottom:1px solid #e9eef3;font-size:.85rem}th{background:#f8fafb;color:#728093;font-size:.72rem;letter-spacing:.07em;text-transform:uppercase}td strong{display:block;margin-bottom:3px}td small{display:block}.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:999px;background:#eef2f6;color:#657386;font-size:.72rem;font-weight:800}.badge.good{background:#e7f6f2;color:#08705f}.badge.warn{background:#fff4df;color:#956000}.row-action{border:0;background:transparent;color:var(--green);font-weight:800;cursor:pointer}.empty{display:grid;place-items:center;gap:5px;padding:45px;color:var(--muted)}dialog{width:min(720px,calc(100% - 28px));max-height:90vh;padding:0;border:0;border-radius:22px;background:white;box-shadow:0 30px 100px rgba(10,30,45,.28)}dialog::backdrop{background:rgba(10,25,35,.5);backdrop-filter:blur(4px)}.dialog-card{padding:27px;overflow:auto}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px}.dialog-head h2{margin-top:5px}.dialog-head .icon-button{border-color:var(--line);color:var(--ink)}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:8px}.mobile-only{display:none}.sidebar.open{transform:none}
@media(max-width:960px){.settings-grid{grid-template-columns:1fr}.app{grid-template-columns:1fr}.sidebar{position:fixed;z-index:50;width:255px;transform:translateX(-100%);transition:.2s}.mobile-only{display:grid;color:var(--ink);border-color:var(--line)}.topbar{justify-content:flex-start}.connection-pill{margin-left:auto}.metrics{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:700px){.auth-shell{grid-template-columns:1fr}.auth-art{display:none}.auth-panel{padding:20px}.auth-card{padding:27px}.topbar{min-height:82px;padding:16px}.topbar h1{font-size:1.05rem}.connection-pill{padding:7px 9px}.connection-pill span:last-child{display:none}.page-content{padding:24px 16px}.intro-row{align-items:stretch;flex-direction:column}.settings-grid{gap:14px}.identity-panel,.connection-panel{padding:19px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.form-actions{flex-wrap:wrap}.form-actions span{width:100%}.qr-card{align-items:flex-start;flex-direction:column}.qr-card img{align-self:center}.metrics{grid-template-columns:1fr}.table-panel{margin:0 -16px;border-left:0;border-right:0;border-radius:0}.dialog-card .form-grid{grid-template-columns:1fr}.dialog-card .span-2{grid-column:auto}}

.access-area{width:min(100%,440px)}
.access-switch{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:12px;padding:5px;border:1px solid var(--line);border-radius:14px;background:#e9eef3}
.access-option{height:42px;border:0;border-radius:10px;background:transparent;color:#6b7a8b;font-weight:800;cursor:pointer}
.access-option.active{background:#fff;color:var(--green);box-shadow:0 3px 12px rgba(15,35,55,.09)}
