/* Shared console surface: quiet hierarchy, consistent controls, explicit load/save states. */
:root{--bg:#f6f8fa;--panel:#fff;--ink:#202a35;--sub:#566372;--faint:#778391;--line:#e8edf0;--green:#397556;--green-d:#2c6045;--blue:#397556;--blue-soft:#edf5ef;--r:20px}
.shell{grid-template-columns:232px minmax(0,1fr)}
.side{padding:28px 0 20px;border-right:1px solid var(--line)}
.side .lg{padding:0 24px;font-size:20px}
.side .lg b{color:#397556}
.side .lg span{letter-spacing:.12em;font-size:10px;margin-top:6px}
.side nav{padding:0 14px;margin-top:24px}
.side nav a,.side nav a.pri{padding:12px 14px;font-size:14px;border-radius:12px;margin:4px 0;font-weight:650}
.side nav a.on,.side nav a.pri.on,.side nav a.sub.on{background:#edf5ef;color:#286044}
.side .bizBox{border-radius:16px;background:#f8faf9;padding:16px;box-shadow:none}
.side .bizBox .sw,.side .bizBox span{color:#647267}
.side .out{color:#687480}
.main{max-width:1280px;padding:24px clamp(24px,3.5vw,56px) 88px;margin:0 auto}
.purposeTabs{gap:24px;margin-bottom:28px;border-color:var(--line)}
.purposeTabs a{padding:14px 0;font-size:13px;font-weight:650;color:#6b7784}
.purposeTabs a.on{color:#286044;border-color:#397556}
.pgHead{gap:10px;margin-bottom:24px;align-items:center}
.pgHead h2{font-size:clamp(25px,2.4vw,32px);letter-spacing:-.045em;line-height:1.3}
.pgHead .meta{font-size:12px;color:#72808b}
.card,.card.strong{border:1px solid var(--line);border-radius:20px;box-shadow:0 3px 14px rgba(33,51,42,.025);padding:26px}
.card .card{box-shadow:none;padding:20px;border-radius:16px}
.grid2{gap:20px}
.btn{background:#397556;border-radius:12px;min-height:44px;font-weight:650;box-shadow:none}
.btn:hover{background:#2c6045}
.btn.ghost{background:#f0f3f5;border:1px solid transparent;color:#3e4c5b}
.btn.ghost:hover{background:#e7ecef;color:#253342}
.btn.sm{min-height:38px}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #88b99c;outline-offset:3px}
.field label{font-size:13px;color:#53616f;line-height:1.5;margin-top:16px;margin-bottom:8px}
.field input,.field textarea,.field select,[data-ap-question]{border:1px solid #e2e9e6;background:#f8faf9;border-radius:12px;padding:12px 14px;font-weight:500;color:#263b30;min-height:46px;max-width:100%;transition:background .15s,border-color .15s}
.field textarea{min-height:100px;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus,[data-ap-question]:focus{outline:none;border:1px solid #74a888;box-shadow:0 0 0 3px #edf5ef;background:#fff}
.field input::placeholder,.field textarea::placeholder{color:#8b9792;font-weight:400}
.tag{font-size:11px;padding:4px 10px}
.subTabs{gap:8px;overflow-x:auto;flex-wrap:nowrap;padding:4px 0 10px;scrollbar-width:thin}
.subTabs button{flex:none;white-space:nowrap}
.subTabs button.on{background:#e8f2ec;color:#286044}
.kpi,.met{border:1px solid var(--line);box-shadow:none;padding:18px;border-radius:16px}
.kpi .v,.met .v{font-variant-numeric:tabular-nums;letter-spacing:-.035em}
.emptyBox,.lockCard,.gateCard{border:1px solid var(--line);box-shadow:none}
.ap-actions{gap:8px;flex-wrap:wrap}
[data-ap-state]{padding:10px 12px;border-radius:10px;background:#f1f7f3;line-height:1.6}
[data-ap-state][data-save="error"]{background:#fff3e8;color:#8b501b}
[data-ap-state][data-save="saving"]{color:#476854}
[data-ap-editor] details{border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-top:18px}
[data-ap-editor] summary{font-size:13px;font-weight:650;cursor:pointer}
.workspaceStatus{display:flex;align-items:center;gap:8px;min-height:34px;margin:0 0 14px;font-size:11px;color:#748078}
.workspaceStatus::before{content:'';width:6px;height:6px;flex:none;border-radius:50%;background:#6b9b7b}
.workspaceStatus button{margin-left:auto;border:0;background:none;color:#68786d;font-size:11px;padding:6px 0 6px 12px;white-space:nowrap}
.workspaceStatus[data-state="loading"]::before{animation:workspace-pulse 1s ease-in-out infinite}
.workspaceStatus[data-state="error"]{color:#985c26}
.workspaceStatus[data-state="error"]::before{background:#c48940}
.workspaceDraft{flex-basis:100%;font-size:11px;font-weight:400;color:#477658;margin-top:2px}
.workspaceBoot{min-height:100vh;display:grid;place-content:center;text-align:center;gap:16px;padding:28px;background:#f7faf8}
.workspaceBoot strong{font-size:24px;letter-spacing:-.04em}.workspaceBoot p{font-size:14px;color:#6d7e72;max-width:380px}
.workspaceBoot .bootMark{width:44px;height:44px;background:#e1eee5;border-radius:15px;margin:0 auto 6px;display:grid;place-items:center;color:#397556;font-weight:800}
.workspaceBoot[hidden]{display:none!important}
@keyframes workspace-pulse{50%{opacity:.3}}
@media(min-width:961px){.side{height:100dvh}.side nav{scrollbar-gutter:stable}}
@media(max-width:960px){.shell{grid-template-columns:minmax(0,1fr)}.side{padding:10px 14px 0;gap:6px;border-right:0;min-width:0}.side .lg{padding:0;font-size:17px}.side .lg span{display:none}.side nav{padding:0;margin-top:4px}.side .bizBox{padding:6px 10px;border-radius:10px}.main{padding:14px 20px 70px;min-width:0}.purposeTabs{margin-bottom:22px;gap:20px}.workspaceStatus{margin-bottom:6px}.card,.card.strong{padding:20px;border-radius:17px}.grid2{gap:16px}.pgHead{margin-bottom:20px}.side nav a,.side nav a.pri{padding:10px 12px;margin:2px 0}}
@media(max-width:540px){.main{padding:12px 16px 60px}.card,.card.strong{padding:18px}.card .card{padding:16px}.field input,.field textarea,.field select,[data-ap-question]{font-size:16px}.pgHead .meta{font-size:11px}.workspaceStatus{font-size:10.5px}.grid2{gap:12px}.purposeTabs a{font-size:12px}}
@media(prefers-reduced-motion:reduce){.workspaceStatus::before{animation:none!important}.field input,.field textarea,.field select{transition:none}}
