:root{--bg:#eef3ee;--surface:#ffffff;--surface-muted:#f7faf7;--ink:#1e2a24;--muted:#64746a;--line:#d8e1da;--green:#2d6f4f;--green-dark:#1f513a;--teal:#2f7d7a;--red:#a64035;--gold:#9a7227;--shadow:0 14px 35px rgba(38,58,45,0.11)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:linear-gradient(90deg,rgba(45,111,79,.08) 1px,transparent 1px),linear-gradient(0deg,rgba(45,111,79,.06) 1px,transparent 1px),var(--bg);background-size:36px 36px;color:var(--ink);font-family:Noto Sans TC,Microsoft JhengHei,PingFang TC,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.app-shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;border-right:1px solid var(--line);background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:22px 18px}.brand{display:grid;grid-gap:4px;gap:4px;margin-bottom:28px}.brand strong{font-size:18px}.brand span,.small-text{color:var(--muted);font-size:13px}.nav{display:grid;grid-gap:6px;gap:6px}.icon-button,.nav a,.nav button,.primary-button,.secondary-button{align-items:center;border:0;cursor:pointer;display:inline-flex;gap:9px}.nav a,.nav button{background:transparent;border-radius:8px;color:var(--muted);padding:10px 11px;text-align:left;width:100%}.nav a:hover,.nav button:hover{background:var(--surface-muted);color:var(--ink)}.main{padding:24px clamp(18px,3vw,42px) 48px}.section-heading,.toolbar,.topbar{align-items:center;display:flex;gap:16px;justify-content:space-between}.topbar{margin-bottom:28px}.eyebrow{color:var(--green);font-size:12px;font-weight:700;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{margin:0}h1{font-size:clamp(28px,4vw,44px);line-height:1.05;max-width:820px}h2{font-size:20px}h3{font-size:16px}.grid{display:grid;grid-gap:16px;gap:16px}.overview-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.work-grid{align-items:start;grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr)}.card{background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:18px}.plain-section{margin-top:28px}.directory-callout,.directory-hero,.directory-table-card{border-radius:12px}.directory-callout{background:linear-gradient(135deg,rgba(45,111,79,.12),transparent 45%),rgba(255,255,255,.92);margin-top:12px}.directory-copy{color:var(--muted);line-height:1.7;max-width:920px}.directory-layout{display:grid;grid-gap:16px;gap:16px}.directory-layout>.grid{grid-template-columns:minmax(0,1.2fr) minmax(280px,.65fr)}.directory-metrics{margin-top:18px}.table-wrap{overflow-x:auto}.sync-grid{display:grid;grid-gap:6px 14px;gap:6px 14px;grid-template-columns:repeat(2,minmax(0,1fr))}.pill-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.directory-filters{display:grid;grid-gap:16px;gap:16px}.directory-filter-form{gap:16px}.directory-profile-card{background:linear-gradient(180deg,rgba(45,111,79,.08),rgba(255,255,255,.92))}.filter-actions{align-items:center;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between}.empty-state{display:grid;grid-gap:6px;gap:6px;padding:14px 4px}.directory-groups{display:grid;grid-gap:14px;gap:14px}.department-group{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:rgba(255,255,255,.7)}.department-group[open]{background:rgba(255,255,255,.92)}.department-group-summary{align-items:center;cursor:pointer;display:flex;gap:14px;justify-content:space-between;list-style:none;padding:14px 16px}.department-group-summary::-webkit-details-marker{display:none}.department-group-summary:hover{background:var(--surface-muted)}.department-table-wrap{border-top:1px solid var(--line)}.department-group>.department-table-wrap{padding:0}.company-department-stack{gap:12px;padding:12px}.org-company-grid{display:grid;grid-gap:16px;gap:16px}.org-company{border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.72);padding:16px}.org-tree{list-style:none;margin:14px 0 0;padding:0 0 0 18px;position:relative}.org-tree:before{background:var(--line);bottom:10px;content:"";left:4px;position:absolute;top:8px;width:1px}.org-tree .org-tree{margin-top:10px}.org-tree li{margin:0 0 10px;position:relative}.org-tree li:before{background:var(--line);content:"";height:1px;left:-14px;position:absolute;top:21px;width:14px}.org-node{background:var(--surface);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:3px;gap:3px;max-width:360px;padding:10px 12px}.org-node small,.org-node span{color:var(--muted)}.org-node small{font-size:12px}.metric{display:grid;grid-gap:10px;gap:10px}.metric span{color:var(--muted);font-size:13px}.metric strong{font-size:28px}.service-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.list-item,.service-link{border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:8px;gap:8px;padding:14px}.service-link:hover{border-color:rgba(45,111,79,.5)}.list{display:grid;grid-gap:10px;gap:10px}.list-item p{color:var(--muted);line-height:1.55}.badge-row{display:flex;flex-wrap:wrap;gap:6px}.badge{background:#eaf3ed;border:1px solid #c8dccd;border-radius:999px;color:var(--green-dark);font-size:12px;padding:3px 8px}.badge.warning{background:#fff4dc;border-color:#ecd49a;color:var(--gold)}.badge.danger{background:#fff0ed;border-color:#efc5bd;color:var(--red)}.icon-button,.primary-button,.secondary-button{border-radius:8px;min-height:40px;padding:10px 13px}.primary-button{background:var(--green);color:#fff}.icon-button,.secondary-button{background:var(--surface);border:1px solid var(--line);color:var(--ink)}.form-grid,.two-col{display:grid;grid-gap:12px;gap:12px}.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}label{color:var(--muted);display:grid;font-size:13px;grid-gap:6px;gap:6px}input,select,textarea{background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);min-height:40px;padding:10px 11px;width:100%}textarea{min-height:110px;resize:vertical}.check-row{align-items:center;display:flex;gap:8px}.check-row input{min-height:auto;width:auto}.table{border-collapse:collapse;width:100%}.table td,.table th{border-bottom:1px solid var(--line);padding:11px 8px;text-align:left;vertical-align:top}.table th{color:var(--muted);font-size:12px;font-weight:700}@media (max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.directory-layout>.grid,.overview-grid,.service-grid,.two-col,.work-grid{grid-template-columns:1fr}.section-heading,.toolbar,.topbar{align-items:flex-start;flex-direction:column}}