:root{--ink:#33475e;--muted:#7c8b9d;--line:#e5eaf0;--blue:#1680e4;--surface:#f5f7fa}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:white;font:12px/1.6 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}button,input,select{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{background:transparent;color:inherit;border:0;cursor:pointer}a{color:var(--blue);text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid #8dbceb;outline-offset:2px}button:disabled{opacity:.45;cursor:default}.top{height:52px;display:flex;align-items:center;border-bottom:1px solid var(--line);background:#f4f6f8}.top>button{width:264px;height:51px;display:flex;align-items:center;padding:0 17px;gap:8px;border-right:1px solid var(--line);text-align:left}.project-dot{height:7px;width:7px;border-radius:50%;background:#7a9dbc}.chevron{margin-left:auto;color:#8c9aab}.app-label{height:51px;display:flex;align-items:center;padding:0 22px;background:#fff;color:#397ebd;border-right:1px solid var(--line);font-size:12px}.top-right{margin-left:auto;display:flex;align-items:center;gap:17px;padding:0 18px;color:#667b93;font-size:11px}.environment{font-size:10px;color:#97a3b0}.environment:before{content:'•';margin-right:5px}.shell{height:calc(100dvh - 52px);display:flex}.rail{width:52px;flex:0 0 52px;border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 0}.rail>button{width:42px;height:40px;border-radius:5px;color:#7a8796;display:grid;place-items:center}.rail>button.active{background:#eaf3fd;color:var(--blue)}.rail svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.3}.native-account{margin-top:auto;font-size:18px;color:#7d8c9d}.directory{width:212px;flex:0 0 212px;background:#fafbfd;border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.directory-title{height:44px;padding:12px 15px;font-weight:500;color:#394c63}.search{display:flex;align-items:center;gap:7px;background:#f0f3f7;margin:0 12px 15px;padding:0 9px;height:30px;border-radius:4px;color:#8193a6}.search input{width:100%;min-width:0;border:0;outline:0;background:transparent;font-size:11px;color:#50647f}.directory-section{padding:12px 15px;border-bottom:1px solid #edf1f5}.directory-section h3{font-size:11px;font-weight:500;margin:0 0 10px;color:#62768f}.directory-section label{display:flex;align-items:center;gap:7px;padding:5px 0;font-size:11px;color:#73859a}.directory-section input{accent-color:var(--blue)}.directory-section small{margin-left:auto;font-size:10px;color:#8d9bac}.directory-link{width:calc(100% - 18px);display:flex;align-items:center;gap:9px;margin:3px 9px;padding:9px 12px;text-align:left;border-radius:4px;color:#6c7f96;font-size:11px}.directory-link.current{background:#eaf2fd;color:#197ccd}.directory-link svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.2}.directory footer{margin-top:auto;border-top:1px solid var(--line);padding:16px;font-size:10px;color:#8494a8;line-height:1.9}.directory footer span{font-size:9px;color:#a0aaba}main{flex:1;min-width:0;position:relative;overflow:hidden;display:flex;flex-direction:column}.toolbar{height:44px;min-height:44px;display:flex;align-items:center;padding:0 22px;border-bottom:1px solid var(--line);gap:14px}.toolbar h1{font-size:12px;font-weight:500;margin:0}.toolbar .right{margin-left:auto;display:flex;align-items:center;gap:14px;font-size:10px;color:#8191a4}.content{padding:18px 24px;overflow:auto;flex:1;min-height:0}.content.table-content{padding:0;display:flex;min-height:0}.list-area{flex:1;min-width:0;overflow:auto}.inventory{width:100%;border-collapse:collapse;white-space:nowrap;font-size:11px}.inventory th{font-size:10px;color:#8391a3;font-weight:500;text-align:left;padding:10px 14px;background:#fbfcfd;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:1;cursor:pointer}.inventory td{padding:8px 14px;height:38px;border-bottom:1px solid #edf1f5;color:#536982}.inventory tr[data-pick]{cursor:pointer}.inventory tr[data-pick]:hover,.inventory tr.selected{background:#f3f8fe}.name-cell{color:#344e6d!important}.sub{display:block;color:#91a0b2;font-size:10px}.status{display:inline-flex;gap:6px;align-items:center;white-space:nowrap}.status i{width:6px;height:6px;border-radius:50%;background:#b4beca}.status.up i{background:#3bb66f}.status.down i{background:#d9a14d}.status.revoked i{background:#c67c7c}.row-action{color:var(--blue);font-size:11px;padding:4px 0}.button{border:1px solid #dce4ed;background:#fff;border-radius:4px;height:29px;padding:0 11px;font-size:11px;display:inline-flex;align-items:center;justify-content:center;gap:6px;color:#566e88;white-space:nowrap}.button.primary{border-color:var(--blue);background:var(--blue);color:#fff}.button.danger{border-color:#e6caca;color:#b05656}.button:hover{filter:brightness(.97)}.inspector{width:350px;flex:0 0 350px;border-left:1px solid var(--line);display:flex;flex-direction:column;overflow:auto;background:#fff}.inspector-head{padding:17px 19px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px}.inspector-head svg{width:32px;height:32px;fill:none;stroke:#7b9abd;stroke-width:1.2}.inspector-head b{font-size:13px;font-weight:500}.inspector-head small{display:block;font-size:10px;color:#91a0b1}.inspector-head>button{margin-left:auto;color:#8b9bab}.inspector-section{padding:16px 19px;border-bottom:1px solid var(--line)}.inspector h3,.section h2{font-size:11px;font-weight:500;color:#4b637f;margin:0 0 12px}.properties{display:grid;grid-template-columns:100px 1fr;gap:9px 12px;font-size:10px;margin:0}.properties dt{color:#8c9aac}.properties dd{margin:0;color:#536c88;overflow-wrap:anywhere;white-space:normal}.inspector-actions{padding:16px 19px;display:flex;flex-direction:column;gap:9px}.help{font-size:10px;color:#8b9aae;line-height:1.8;margin:10px 0 0;white-space:normal}.fingerprint{font:9px/1.8 ui-monospace,monospace;overflow-wrap:anywhere;color:#8497ad}.section{padding:18px 0;border-bottom:1px solid var(--line)}.section:first-child{padding-top:0}.role-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.role-grid b{font-size:11px;font-weight:500}.role-grid p{font-size:10px;color:#8998aa;line-height:1.8;margin:7px 0}.empty{padding:55px 30px!important;text-align:center;color:#8e9daf!important;font-size:11px}.error{padding:14px 22px;background:#fff9f0;border-bottom:1px solid #eee0c5;color:#a17d3d;font-size:11px}.loading{padding:30px;color:#8a9aac;font-size:11px}.note{padding:12px 22px;background:#fafcfe;border-bottom:1px solid var(--line);font-size:10px;color:#8b9aad;line-height:1.8}.table-footer{padding:12px 15px;font-size:10px;color:#94a1b1;display:flex;gap:18px}.editor-form{padding:15px 20px}.field{display:grid;grid-template-columns:100px 1fr;gap:12px;padding:8px 0;align-items:center}.field>label{font-size:11px;color:#7c8ea5}.field input,.field select{height:30px;width:100%;min-width:0;border:1px solid #dfe6ee;border-radius:4px;background:#f5f8fb;padding:4px 8px;color:#4f6985;font-size:11px}.field input[type=checkbox]{width:15px;height:15px;accent-color:var(--blue)}.form-end{display:flex;gap:8px;margin:18px 0 0;justify-content:flex-end}dialog{border:1px solid #dbe5ef;border-radius:6px;padding:0;max-width:calc(100vw - 30px);width:500px;color:var(--ink);box-shadow:0 10px 40px #203e6022}dialog::backdrop{background:#24394d22}dialog header{padding:17px 20px;border-bottom:1px solid var(--line);font-size:14px}dialog .body{padding:17px 20px;font-size:12px;line-height:1.9}dialog footer{padding:13px 20px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px}.invite-link{font:10px/1.7 ui-monospace,monospace;overflow-wrap:anywhere;background:#f5f8fc;padding:12px;border:1px solid var(--line);border-radius:4px}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);padding:11px 18px;background:#364d67;color:white;border-radius:5px;font-size:12px;box-shadow:0 4px 20px #172d4433;z-index:50}[hidden]{display:none!important}.mobile-directory{display:none}@media(max-width:1100px){.inspector{width:310px;flex-basis:310px}.directory{width:190px;flex-basis:190px}.top>button{width:242px}.role-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.directory{display:none}.top>button{width:160px;padding:0 12px;font-size:11px}.app-label{padding:0 14px}.top-right{gap:10px;padding:0 10px}.environment,#account-name{display:none}.inspector{position:absolute;right:0;top:44px;bottom:0;width:min(350px,calc(100vw - 52px));box-shadow:-5px 0 20px #1f3a5410;z-index:4}.toolbar{padding:0 15px}.toolbar .right{gap:8px}.content{padding:16px}.inventory td,.inventory th{padding-left:12px;padding-right:12px}.mobile-directory{display:block}.role-grid{gap:15px}.top-right #cloud-entry{font-size:10px}.field{grid-template-columns:90px 1fr}}
/* Site Manager alignment: readable type, quiet separators, compact rows,
   grouped vertical filters and a persistent inspector. */
:root{--ink:#344054;--muted:#667085;--line:#e7e9ee;--blue:#087aff}
body{font-size:13px;color:var(--ink)}
.top{position:relative;background:#f6f7f9}.app-label{font-size:13px;font-weight:500;color:var(--blue);min-width:100px;justify-content:center}
.manager-title{position:absolute;left:50%;transform:translateX(-50%);font-size:14px;color:#9199a5;pointer-events:none}
.top-right{font-size:12px;gap:14px}.environment{font-size:11px}.directory{background:#fff}.directory-title{font-size:12px;color:#475467}
#directory-content{overflow:auto;min-height:0}.directory-section h3{font-size:12px;color:#344054;font-weight:600;margin-bottom:8px}.directory-section label{font-size:12px;color:#667085;padding:4px 0;line-height:24px}.directory-section input{appearance:none;width:15px;height:15px;border:1px solid #c8ced8;border-radius:4px;flex-shrink:0;margin:0}.directory-section input:checked{appearance:auto;accent-color:var(--blue)}.directory-section small{font-size:11px;color:#98a2b3}.directory-link{font-size:12px}.directory-section .directory-link{width:100%;margin:0;padding:5px 0;background:none}.directory-section .directory-link small{margin-left:auto}.clear-filter{font-size:12px;color:var(--blue);padding:7px 0}.search{background:#f3f4f6}.search input{font-size:12px}.toolbar h1{font-size:13px;font-weight:500}.toolbar .right{font-size:11px}.inventory{font-size:13px}.inventory th{font-size:12px;color:#475467;background:white;font-weight:600;height:42px}.inventory td{height:40px;padding-top:7px;padding-bottom:7px;color:#667085}.sub{font-size:11px}.name-cell{color:#475467!important}.inventory tr.selected{background:#f4f8ff}.site-name{display:flex;align-items:center;gap:12px;color:#475467}.site-dot{display:inline-block;width:6px;height:6px;flex-shrink:0;border-radius:50%;background:#b8bec7}.site-dot.online{background:#2fc65a}.site-dot.offline{background:#f0a33b}.site-dot.revoked{background:#d36b65}.history-cell{display:flex;align-items:center;gap:12px;min-width:270px}.availability{min-width:44px;text-align:right;font-variant-numeric:tabular-nums;color:#33b956}.history-bar{display:flex;gap:1px;min-width:190px;flex:1;height:10px;overflow:hidden;border-radius:2px}.history-bar i{flex:1;min-width:3px;background:#f0f2f4}.history-bar .up,.legend .up{background:#32c65b}.history-bar .down,.legend .down{background:#ef454a}.history-bar .mixed{background:#f6c343}.history-bar .unknown,.legend .unknown{background:#eef0f3}.legend{display:flex;align-items:center;gap:5px;color:#8490a0;font-size:10px;margin-top:10px}.legend i{display:inline-block;width:9px;height:9px;border-radius:2px}.device-count{display:flex;align-items:center;gap:7px;color:#667085}.device-count svg{width:18px;height:18px;stroke:#8994a5;fill:none;stroke-width:1.3}.status i{width:6px;height:6px}.status.up i{background:#32c65b}.table-footer{font-size:11px}.help,.note{font-size:11px;color:#7a8697}.button{font-size:12px;height:30px}.properties{font-size:12px;gap:10px 12px}.properties dt{color:#8a94a3}.properties dd{color:#526075}.inspector h3,.section h2{font-size:12px;color:#475467;font-weight:600}.inspector-head b{font-size:14px}.inspector-head small{font-size:11px}.role-grid b{font-size:12px}.role-grid p{font-size:11px}.row-action{font-size:12px}.field>label{font-size:12px}.field input,.field select{font-size:12px}.fingerprint{font-size:10px}.loading,.error{font-size:12px}
@media(max-width:1100px){.manager-title{display:none}}

.roles-summary{padding:18px 22px}

/* Project activation and inspection are separate actions. */
.project-entry{color:#35668d;text-decoration:none}.project-entry:hover{text-decoration:underline}.project-entry:focus-visible,.project-details:focus-visible{outline:2px solid #1680e4;outline-offset:3px}.project-details{font:inherit;font-size:16px;line-height:1;background:transparent;border:0;color:#8491a3;padding:2px 6px;cursor:pointer}.project-details:hover{color:#1680e4;background:#f2f7fd;border-radius:3px}.inventory th:not([data-sort]){cursor:default}

/* Primary project action opens its console; management and inspection remain explicit. */
.project-actions{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.project-manage{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;color:#8491a3;border-radius:3px}.project-manage svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5}.project-manage:hover{color:#1680e4;background:#f2f7fd}.project-manage:focus-visible{outline:2px solid #1680e4;outline-offset:2px}
