:root{--ink:#182927;--muted:#76827f;--green:#14775f;--light:#f3f6f4;--border:#e3e9e5;--nav:#142c28;--white:#fff;--blue:#608bb8}*{box-sizing:border-box}body{margin:0;font:14px/1.5 "Segoe UI",Arial,sans-serif;background:var(--light);color:var(--ink)}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:var(--green);text-decoration:none}h1,h2,p{margin-top:0}h1{font-size:29px;line-height:1.2;letter-spacing:-.8px;margin-bottom:9px}h2{font-size:19px;line-height:1.35;letter-spacing:-.3px}p{margin-bottom:16px}.muted{color:var(--muted)}.small{font-size:12px}.eyebrow{font-size:10px;letter-spacing:1.5px;font-weight:700;color:var(--green);margin-bottom:12px}label{display:block;font-size:12px;font-weight:600;margin:16px 0 5px}input,select,textarea{width:100%;background:#fff;color:var(--ink);border:1px solid #dbe3df;border-radius:7px;padding:10px 11px;margin-top:6px;outline:none}input:focus,select:focus,textarea:focus{border-color:#4c9e86;box-shadow:0 0 0 3px #14775f12}textarea{resize:vertical}input[readonly]{background:#f6f8f6}button{border:0;border-radius:7px;padding:10px 14px;font-weight:600}.primary{background:var(--green);color:white;display:inline-flex;gap:12px;align-items:center;justify-content:center}.primary:hover{background:#0e604c}.secondary{background:#fff;border:1px solid var(--border);color:var(--ink)}.compact{font-size:12px;padding:7px 10px}.text-button{padding:4px;background:transparent;color:var(--green)}.icon-button{background:transparent;padding:5px 9px;font-size:20px;color:var(--muted)}[hidden]{display:none!important}.login-screen{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at 75% 10%,#dbece3,transparent 65%),#f3f6f4}.login-card{background:#fff;padding:38px 42px;width:min(460px,94vw);border:1px solid var(--border);border-radius:16px;box-shadow:0 25px 90px #17392e0a}.login-card h1{font-size:31px;line-height:1.25}.login-card .brand-icon{margin-bottom:24px}.login-card .primary{width:100%;margin-top:24px}.login-card .small{margin-top:18px;margin-bottom:0}.error{color:#ad4138;font-size:12px;margin:14px 0 0}.shell{display:flex;min-height:100vh}.sidebar{width:222px;background:var(--nav);padding:28px 16px;flex-shrink:0;color:#cad8d1;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column}.brand{display:flex;gap:10px;align-items:center;padding:0 6px;margin-bottom:56px}.brand strong{font-size:18px;color:#fff;letter-spacing:-.6px}.brand strong span{display:block;font-size:7px;letter-spacing:1.2px;color:#839e92;margin-top:1px}.brand-icon{background:#d8efb7;width:33px;height:33px;border-radius:9px;display:grid;place-items:center;color:#18392c;font-size:22px;font-weight:800;flex-shrink:0}.nav-label{font-size:8px;letter-spacing:1.4px;color:#7e998e;padding:0 10px;margin-bottom:14px}.nav-item{width:100%;text-align:left;border-radius:7px;padding:12px 9px;font-size:12px;font-weight:500;background:transparent;color:#a9bdb3;display:flex;gap:11px;align-items:center;margin-bottom:5px}.nav-item span{font-size:19px;width:21px;text-align:center}.nav-item:hover{background:#ffffff08}.nav-item.active{background:#29473c;color:#dff2d0}.sidebar-bottom{display:flex;gap:9px;margin-top:auto;padding:18px 8px 0;border-top:1px solid #ffffff12;font-size:11px;color:#d0ddd5}.sidebar-bottom small{font-size:9px;color:#819c90}.local-dot{width:7px;height:7px;background:#a8d38d;border-radius:50%;margin-top:5px}.main-shell{margin-left:222px;width:calc(100% - 222px)}.topbar{height:78px;border-bottom:1px solid var(--border);background:#fff;padding:12px 32px;display:flex;align-items:center;justify-content:space-between}.company-switch>span{display:block;font-size:8px;font-weight:700;letter-spacing:1.3px;color:var(--muted)}.company-switch select{margin:1px 0 0;border:0;padding:2px 22px 2px 0;font-size:14px;font-weight:650;max-width:370px;background:transparent}.topbar-right{display:flex;align-items:center;gap:23px;font-size:11px}.topbar-right>a{color:#75847c}#login-label{background:#eff4f0;padding:6px 10px;border-radius:6px;font-weight:600}main{padding:30px 32px 32px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:23px}.page-heading .muted{font-size:12px;margin:0}.page-heading .eyebrow{color:#87948d;font-size:8px;letter-spacing:1.2px;margin-bottom:10px}.heading-actions{display:flex;gap:8px}.heading-actions button{font-size:11px;padding:10px 12px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:24px}.metric{background:#fff;border:1px solid var(--border);padding:17px 20px;border-radius:9px;display:flex;align-items:center;justify-content:space-between}.metric strong{font-size:26px;font-weight:650;letter-spacing:-1px}.metric p{font-size:10px;color:var(--muted);margin:0 0 3px}.metric-icon{font-size:24px;background:#eff5ee;color:#7d9e89;border-radius:8px;width:39px;height:39px;display:grid;place-items:center}.map-layout{display:grid;grid-template-columns:minmax(350px,1fr) 300px;gap:16px}.map-card,.detail-panel,.table-card,.content-card{background:#fff;border:1px solid var(--border);border-radius:10px;overflow:hidden}.map-toolbar{height:61px;padding:15px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}.map-toolbar strong{font-size:12px}.badge{display:inline-block;background:#eef4ee;color:#60816c;font-size:9px;padding:3px 7px;border-radius:4px;margin-left:8px}.map-container{position:relative;min-height:510px;height:calc(100vh - 370px);background-color:#fafcf9;background-image:radial-gradient(#d8e1da .7px,transparent .7px);background-size:17px 17px;overflow:hidden}#network-map{width:100%;height:100%;cursor:grab;touch-action:none}#network-map.dragging{cursor:grabbing}.map-help{position:absolute;left:15px;bottom:14px;font-size:8px;color:#98a49c;pointer-events:none}.zoom-controls{position:absolute;right:15px;bottom:13px;background:#fff;border:1px solid var(--border);border-radius:7px;display:flex;box-shadow:0 4px 10px #18292705}.zoom-controls button{background:none;font-size:12px;padding:5px 9px;border-radius:0}.legend{display:flex;gap:17px;padding:13px 17px;font-size:9px;color:#7c8d82;border-top:1px solid var(--border)}.legend span{display:flex;align-items:center;gap:5px}.line{width:16px;height:2px;display:inline-block}.green{background:#45956f}.blue{background:#7d9fc0}.orange{background:#c99456}.detail-panel{min-height:600px;padding:22px;max-height:calc(100vh - 300px);overflow-y:auto}.empty-detail{text-align:center;padding-top:120px;color:var(--muted);font-size:12px}.empty-detail h2{font-size:15px;color:var(--ink);margin-top:20px}.detail-symbol{display:grid;place-items:center;background:#eef4ee;color:#81a68a;width:54px;height:54px;margin:auto;border-radius:12px;font-size:30px}.detail-panel .eyebrow{font-size:8px;color:var(--muted);margin-bottom:8px}.detail-panel h2{font-size:19px;word-break:break-word;margin-bottom:7px}.detail-panel .detail-meta{font-size:10px;color:var(--muted);margin-bottom:18px}.detail-panel label{font-size:10px;margin-top:12px}.detail-panel input,.detail-panel textarea,.detail-panel select{font-size:11px;padding:8px}.detail-panel .primary,.detail-panel .secondary{font-size:11px;margin-top:14px;width:100%}.detail-panel .detail-actions{margin-top:12px;border-top:1px solid var(--border);padding-top:4px}.detail-panel .detail-actions a{display:block;text-align:center;font-size:11px;margin-top:15px}.detail-panel h3{font-size:11px;margin:22px 0 5px}.relation-item{border-bottom:1px solid #eef2ee;padding:8px 0;font-size:10px;color:#667d70}.relation-item strong{color:var(--ink);display:block}.relation-item button{padding:0 5px;float:right;background:transparent;color:#a38476}.node{cursor:pointer}.node rect.card{fill:#fff;stroke:#dbe5dd;stroke-width:1.5}.node.selected rect.card{stroke:#16785c;stroke-width:3}.node:hover rect.card{stroke:#6caa8c}.node .node-title{fill:#243d2f;font-size:17px;font-weight:600}.node .node-subtitle{fill:#829388;font-size:12px}.node .node-icon{fill:#5f8d73;font-size:25px}.node.location rect.card{fill:#f0f7ec}.node.employee rect.card{fill:#fff}.node.company rect.card{fill:#193d2f;stroke:#193d2f}.node.company .node-title{fill:#fff;font-size:22px}.node.company .node-subtitle{fill:#b3cab5}.node.company .node-icon{fill:#d8efb7}.graph-edge{fill:none;stroke-width:2.2;opacity:.65}.edge-label{font-size:10px;fill:#8b9a8c}.cluster-label{font-size:12px;fill:#8a9d8e;letter-spacing:2px}.table-card{padding:6px 20px}.table-card table{border-collapse:collapse;width:100%}.table-card th{text-align:left;color:#87968c;font-size:10px;font-weight:600;padding:16px 10px;border-bottom:1px solid var(--border)}.table-card td{padding:17px 10px;font-size:12px;border-bottom:1px solid #eff2ef}.table-card tbody tr{cursor:pointer}.table-card tbody tr:hover{background:#f5f9f4}.table-card td strong{display:block}.table-card td small{display:block;font-size:10px;color:var(--muted)}.table-card .empty-state{padding:70px 25px;text-align:center;color:var(--muted)}.workspace-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.content-card{padding:27px}.content-card p{font-size:12px}.content-card pre{padding:20px;background:#f5f8f3;border-radius:8px;color:#59795f;font:12px/1.8 Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.content-card dt{font-size:12px;font-weight:700}.content-card dd{font-size:11px;color:var(--muted);margin:3px 0 18px}.info-box{font-size:11px;background:#f2f6ed;border:1px solid #e3ecda;border-radius:7px;padding:12px;color:#718463;margin-top:17px}.full{grid-column:1/-1}.form-row{display:flex;gap:10px}.form-row>label{flex:1}.checkbox-label{display:flex;align-items:flex-start;gap:8px;font-size:11px;line-height:1.5}.checkbox-label input{width:auto;margin:2px 0 0}.map-empty{position:absolute;left:0;right:0;top:45%;text-align:center;font-size:12px;color:var(--muted)}dialog{border:1px solid var(--border);border-radius:13px;padding:25px;width:430px;max-width:95vw;max-height:90vh;overflow:auto;color:var(--ink);box-shadow:0 30px 100px #102c2633}dialog::backdrop{background:#0f2b2370;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.dialog-heading h2{margin:0}dialog .primary{width:100%;margin-top:20px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:90vw;background:#173e30;color:#fff;padding:14px 22px;border-radius:9px;font-size:12px;box-shadow:0 8px 30px #193b302a;z-index:100}#handover-pin{font:24px Consolas,monospace;letter-spacing:5px;text-align:center}.list-detail-open{position:fixed;right:24px;top:105px;width:340px;z-index:20;box-shadow:0 18px 80px #14322635}.close-detail{float:right;background:transparent;padding:0;font-size:20px;color:var(--muted)}@media(min-width:1700px){.map-layout{grid-template-columns:minmax(500px,1fr) 340px}.map-container{min-height:600px}.detail-panel{max-height:none}}@media(max-width:1100px){.sidebar{width:180px}.main-shell{margin-left:180px;width:calc(100% - 180px)}.brand strong{font-size:15px}.brand strong span{font-size:5px}main{padding:22px 18px}.topbar{padding:12px 18px}.map-layout{grid-template-columns:1fr 265px}.heading-actions{flex-direction:column}.topbar-right>a{display:none}.metrics{gap:8px}.metric{padding:13px}.map-help{display:none}.legend{gap:9px;font-size:8px}}@media(max-width:800px){.sidebar{width:62px;padding:22px 7px}.brand{padding:0;margin-bottom:30px}.brand strong,.nav-label,.sidebar-bottom{display:none}.nav-item{font-size:0;padding:10px 8px}.nav-item span{font-size:23px}.main-shell{margin-left:62px;width:calc(100% - 62px)}.map-layout{grid-template-columns:1fr}.detail-panel{max-height:none;min-height:0}.empty-detail{padding:20px}.page-heading{align-items:flex-start}h1{font-size:24px}.metrics{grid-template-columns:repeat(2,1fr)}.topbar-right{gap:4px}.company-switch select{max-width:210px;font-size:12px}.workspace-grid{grid-template-columns:1fr}.table-card{overflow:auto}.legend{flex-wrap:wrap}.list-detail-open{width:calc(100vw - 95px);right:15px;top:90px;max-height:80vh;overflow:auto}.heading-actions button{font-size:9px}.map-container{height:480px}}
