:root{--ink:#172b34;--muted:#78858e;--line:#e5eaec;--bg:#f5f7f8;--teal:#12756b;--dark:#112b32;--red:#cd514a;--amber:#ac751a;--radius:12px}*{box-sizing:border-box}body{margin:0;font:14px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a{color:var(--teal);text-decoration:none}button{border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink);padding:8px 14px}button:hover{background:#f0f5f4}button.primary,.primary{background:var(--teal);color:white;border-color:var(--teal)}button.primary:hover{background:#0e625a}.full{width:100%;display:flex;justify-content:space-between}.muted{color:var(--muted)}.error{color:var(--red)}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h1{font-size:28px;letter-spacing:-.6px;line-height:1.35;margin-bottom:8px}h2{font-size:18px;line-height:1.4;margin-bottom:8px}h3{font-size:14px;margin-bottom:4px}small,.small{font-size:12px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:600;color:var(--teal)}code,.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}code{background:#f0f3f4;border-radius:4px;padding:2px 5px}label{display:block;font-size:12px;font-weight:600;color:#455861;margin:18px 0 0}input,select,textarea{display:block;width:100%;border:1px solid #d9e1e4;background:white;border-radius:7px;padding:10px 12px;color:var(--ink);margin-top:6px}input:focus,select:focus,textarea:focus{border-color:var(--teal)}textarea{min-height:90px;resize:vertical}.brand{display:flex;align-items:center;gap:12px;letter-spacing:2px;font-size:12px;font-weight:600;line-height:1.5;color:white}.brand strong{font-weight:500;letter-spacing:2.2px}.brand-mark{display:grid;place-items:center;background:#b5f3d9;color:#154a43;border-radius:10px;width:38px;height:42px;font-size:24px;font-weight:800;clip-path:polygon(0 0,100% 0,100% 75%,50% 100%,0 75%)}.login-layout{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-intro{background:#112e35;color:white;padding:60px 12%;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;background-image:radial-gradient(ellipse at 90% 80%,#1d6156 0,transparent 60%)}.login-intro h1{font-size:48px;margin:24px 0;line-height:1.5;letter-spacing:1px}.login-intro p{font-size:16px;color:#b6c9cc;line-height:2}.login-intro .eyebrow{color:#9cd5bb}.login-intro small{color:#9ab5bb}.login-side{display:grid;place-items:center;padding:40px;background:white}.login-side form{max-width:360px;width:100%}.login-side h2{font-size:26px;margin:14px 0}.login-side button{margin-top:24px}.login-tip{color:var(--muted);font-size:12px;line-height:2;margin-top:30px}.sidebar{position:fixed;left:0;top:0;bottom:0;width:226px;background:var(--dark);padding:31px 20px 20px;color:#9bb0b5;display:flex;flex-direction:column}.sidebar>.brand{margin-left:12px}.workspace-label{display:flex;align-items:center;gap:8px;border:1px solid #294149;border-radius:7px;font-size:11px;padding:9px;margin-top:32px}.tiny{margin-left:auto;font-size:9px;color:#98aeb3}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#66c9a4}.nav-caption{font-size:10px;letter-spacing:1.2px;color:#69838c;margin:28px 12px 10px}.sidebar nav a{display:flex;align-items:center;gap:12px;color:#a9bdc3;padding:11px 14px;border-radius:7px;margin:3px 0;font-size:13px}.sidebar nav a>span{font-size:20px;line-height:1;width:20px}.sidebar nav a.active{background:#22473f;color:#c1efdb}.sidebar nav a:hover{background:#1b3b42}.sidebar nav b{margin-left:auto;font-size:10px;border-radius:4px;background:#c5eedc;color:#214a41;min-width:20px;text-align:center}.sidebar-footer{display:flex;gap:10px;align-items:center;margin-top:auto;padding:18px 8px;border-top:1px solid #284048;font-size:11px;color:#c4d5d9}.sidebar-footer small{display:block;font-size:10px;color:#718c95}.shield{font-size:18px;color:#92d5b8}.logout{background:transparent;color:#8ea5ac;border:0;text-align:left;font-size:11px;padding-left:9px}.main-shell{margin-left:226px}.topbar{height:72px;background:white;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 36px;font-size:12px;color:var(--muted)}.topbar strong{font-weight:500;color:var(--ink)}.slash{margin:0 16px;color:#c5cdd1}.top-actions{display:flex;align-items:center;gap:14px}.time-zone{font-size:11px}.avatar{background:#e8efec;color:#32695a;border:1px solid #d7e5dd;border-radius:50%;width:29px;height:29px;text-align:center;line-height:28px;font-size:11px}.icon-button{border:0;padding:3px 8px;font-size:21px;background:transparent;line-height:1.3}main{padding:30px 36px 16px;max-width:1700px;margin:auto}.demo-banner{background:#fff7e4;border:1px solid #efdfb7;border-radius:7px;color:#89671e;font-size:12px;padding:10px 14px;margin-bottom:22px}.demo-banner strong{margin-right:12px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.page-heading p{color:var(--muted);font-size:12px;margin:8px 0 0}.heading-actions{display:flex;align-items:center;gap:10px}.period{font-size:12px;border:1px solid var(--line);padding:8px 12px;background:white;border-radius:7px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.metric{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;position:relative}.metric-title{font-size:12px;color:#63737c}.metric-number{font-size:32px;font-weight:650;line-height:1.4;margin:10px 0 4px;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.metric-foot{font-size:11px;color:var(--muted)}.metric-icon{position:absolute;right:18px;top:18px;background:#f1f6f4;width:30px;height:30px;display:grid;place-items:center;color:var(--teal);border-radius:8px;font-size:17px}.metric.danger .metric-number{color:var(--red)}.metric.danger .metric-icon{color:var(--red);background:#fdf0ed}.metric.warning .metric-number{color:var(--amber)}.metric.warning .metric-icon{background:#fcf5e8;color:var(--amber)}.overview-grid{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(270px,1fr);gap:20px;margin-bottom:22px}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:20px}.overview-grid .panel{margin-bottom:0}.panel-head{padding:20px 22px 0;display:flex;justify-content:space-between;align-items:center;gap:12px}.panel-head h2{font-size:14px;margin:0}.panel-head p{font-size:11px;color:var(--muted);margin:5px 0 0}.panel-head a{font-size:11px}.panel-body{padding:20px 22px}.legend{font-size:10px;color:var(--muted);display:flex;gap:13px;flex-wrap:wrap}.legend i{width:7px;height:7px;display:inline-block;border-radius:2px;margin-right:5px}.allowed-color{background:#4c9b8b}.outside-color{background:#df7966}.unknown-color{background:#d5b067}.chart{width:100%;height:205px;display:block}.chart text{fill:#9aa6ad;font-size:10px}.chart .grid{stroke:#edf0f2;stroke-dasharray:3 4}.chart .allowed-bar{fill:#76b8a7}.chart .outside-bar{fill:#dd7c69}.chart .unknown-bar{fill:#d9b476}.source-mini{padding:15px 0;border-bottom:1px solid #edf0f1;display:flex;align-items:center;gap:12px}.source-mini:last-child{border-bottom:0}.cloud-logo{display:grid;place-items:center;background:#fff0e7;color:#ef7c37;width:36px;height:36px;font-size:14px;font-weight:700;border-radius:9px;flex-shrink:0}.cloud-logo.huawei{background:#ffeded;color:#cf5c60}.source-info{flex:1;min-width:0}.source-info h3{font-size:12px;overflow:hidden;text-overflow:ellipsis}.source-info p{font-size:10px;color:var(--muted);margin:0}.badge{display:inline-flex;align-items:center;gap:4px;border-radius:5px;padding:2px 7px;font-size:10px;white-space:nowrap;font-weight:500}.badge.green{background:#edf7f2;color:#32745e}.badge.red{background:#fff0eb;color:#c65f47}.badge.amber{background:#fff6e5;color:#a37928}.badge.gray{background:#f0f3f5;color:#7b8a93}.source-note{font-size:11px;color:var(--muted);border-radius:7px;background:#f7f9f9;padding:10px 12px;margin-top:18px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{font-size:10px;font-weight:500;color:#8a969d;background:#fafbfc;padding:12px 20px;text-align:left;border-bottom:1px solid var(--line)}td{padding:14px 20px;border-bottom:1px solid #eef1f2;font-size:12px}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fcfdfd}td small{display:block;color:#99a2a9;font-size:10px;margin-top:2px}.cell-stack{max-width:220px;overflow:hidden;text-overflow:ellipsis}.table-top{padding-bottom:18px}.text-button{color:var(--teal);background:none;border:0;padding:3px 5px;font-size:11px}.filters{display:flex;gap:10px;margin:20px 0;align-items:center;flex-wrap:wrap}.filters input,.filters select{width:auto;min-width:130px;margin:0;font-size:12px;padding:9px 12px}.filters input{flex:1;min-width:250px}.filters button{font-size:12px}.pagination{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.pagination button{font-size:11px;padding:5px 10px;margin-left:8px}.page-footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:18px 0 0;color:#9aa4aa;font-size:10px;margin-top:12px}.empty{text-align:center;padding:40px 20px;color:var(--muted);font-size:12px}.empty strong{display:block;color:#516772;font-size:15px;margin-bottom:7px}.notice{background:#edf5f3;border:1px solid #d8e9e3;border-radius:8px;font-size:12px;color:#4b7568;padding:13px 17px;margin:0 0 20px}.notice.amber{background:#fff9ef;border-color:#efdfb7;color:#9a762b}.source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.source-card{padding:22px}.source-card .source-mini{padding-top:0}.facts{display:grid;grid-template-columns:95px 1fr;gap:12px;font-size:12px;margin:22px 0}.facts dt{color:var(--muted)}.facts dd{margin:0;word-break:break-word}.config-guide{padding:24px}.config-guide ol{padding-left:20px;line-height:2.2;color:#60737d;font-size:12px}.config-guide pre{background:#f5f7f8;padding:16px;white-space:pre-wrap;font-size:11px;border-radius:7px}.loading{padding:80px;text-align:center;color:var(--muted)}dialog{width:min(600px,94vw);padding:24px;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 80px #102c3333;color:var(--ink)}dialog::backdrop{background:#10252a66;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:12px}.dialog-heading h2{margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.form-hint{font-size:11px;color:var(--muted);margin:14px 0 0}.detail-list{display:grid;grid-template-columns:110px 1fr;gap:14px;font-size:12px;margin:22px 0}.detail-list dt{color:var(--muted)}.detail-list dd{margin:0;word-break:break-all}.detail-list code{white-space:normal}.form-error{color:var(--red);font-size:12px;margin:12px 0}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);padding:11px 22px;background:#1b3a3e;color:white;border-radius:8px;box-shadow:0 5px 25px #0002;font-size:12px;z-index:100}.row-actions{display:flex;gap:5px}.stat-inline{display:flex;gap:22px;font-size:11px;color:var(--muted);padding:0 22px 17px}.stat-inline strong{color:var(--teal);font-size:16px;margin-right:6px}.wrap{white-space:normal;min-width:160px;max-width:350px;word-break:break-word}@media(min-width:1500px){main{padding:36px 46px}.metric{padding:24px}.chart{height:230px}td{padding-top:17px;padding-bottom:17px}}@media(max-width:1100px){.sidebar{width:192px;padding:24px 12px}.main-shell{margin-left:192px}main{padding:24px}.topbar{padding:0 24px}.metrics{gap:10px}.metric{padding:15px}.metric-number{font-size:27px}.metric-icon{display:none}.overview-grid{grid-template-columns:minmax(0,1.6fr) minmax(230px,1fr)}.legend{gap:6px}}@media(max-width:800px){.sidebar{width:65px;padding:20px 8px}.sidebar>.brand{margin:0 5px}.sidebar .brand>span:not(.brand-mark),.workspace-label,.sidebar>.nav-caption,.sidebar nav .nav-caption,.sidebar-footer,.sidebar .logout{display:none}.sidebar nav{margin-top:35px}.sidebar nav a{font-size:0;padding:14px 10px;gap:0}.sidebar nav a>span{font-size:22px}.sidebar nav b{position:absolute;left:40px}.main-shell{margin-left:65px}.overview-grid,.source-grid{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,1fr)}.time-zone{display:none}.page-heading{align-items:flex-start}h1{font-size:24px}.heading-actions{flex-direction:column;align-items:flex-end}.login-layout{grid-template-columns:1fr}.login-intro{display:none}.login-side{min-height:100vh}.topbar{padding:0 18px;height:60px}main{padding:20px 16px}.page-footer{font-size:9px}.form-grid{grid-template-columns:1fr}.filters input{min-width:100%}.panel-head{padding:18px 16px 0}.panel-body{padding:18px 16px}.panel-head .legend{display:none}.period{font-size:10px;white-space:nowrap}.source-card{padding:18px}}
.action-link{display:inline-block;padding:8px 14px;border-radius:7px;font-size:12px;white-space:nowrap}.action-link:hover{background:#0e625a}

.ak-id{padding:0;font-weight:600;max-width:240px;overflow-wrap:anywhere;white-space:normal;text-align:left}.cloud-inline{display:flex;align-items:center;gap:8px}.cloud-inline .cloud-logo{width:22px;height:22px;font-size:10px;border-radius:5px}.scope-label{font-family:inherit;color:#8d9b9e;font-size:9px}.policy-summary{max-width:200px}.policy-summary small{overflow:hidden;text-overflow:ellipsis}.ak-table td{vertical-align:top}.asset-dialog{width:min(840px,94vw)}.asset-identity{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px}.asset-identity>.mono{font-size:15px;overflow-wrap:anywhere}.detail-section{border-top:1px solid var(--line);padding-top:20px;margin-top:22px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.policy-detail{border:1px solid var(--line);border-radius:7px;margin:10px 0;padding:12px}.policy-detail summary{cursor:pointer;font-size:12px;overflow-wrap:anywhere}.policy-detail summary span{color:var(--muted);font-size:11px}.policy-detail pre{font-size:11px;background:#f5f7f8;padding:14px;border-radius:6px;overflow:auto;max-height:300px}.action-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.action-tags>span{font-size:11px;background:#edf5f3;border:1px solid #dcebe6;padding:5px 9px;border-radius:5px;overflow-wrap:anywhere}.action-tags b{margin-left:8px;color:var(--teal)}

.ak-table th,.ak-table td{padding-left:12px;padding-right:12px}.ak-table .ak-id{max-width:190px;font-size:11px}

.source-dialog{width:min(760px,94vw);max-height:90vh}.source-form-section{border-top:1px solid var(--line);margin-top:24px;padding-top:18px}.source-form-section h3{font-size:14px}.source-form-section summary{cursor:pointer;font-weight:600}.check-label{display:flex;align-items:center;gap:9px}.check-label input{width:auto;margin:0}.source-actions{display:flex;flex-wrap:wrap;gap:8px}.source-test-result{font-size:12px;margin:14px 0 0;overflow-wrap:anywhere}input[readonly]{background:#f4f7f7;color:#78858e}
