*{box-sizing:border-box}
body{margin:0;font-family:var(--font-sans);color:var(--text);background:var(--surface-alt);font-size:15px;line-height:1.55}
a{color:var(--link);text-decoration:none}
.top{display:flex;align-items:center;gap:20px;padding:10px 24px;background:var(--primary);color:#fff;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;font-weight:600}.logo{background:#fff;color:var(--primary);border-radius:6px;padding:2px 8px;font-weight:700}
#nav{display:flex;gap:4px;flex:1;flex-wrap:wrap}#nav a{color:#fff;padding:6px 14px;border-radius:999px;opacity:.85}#nav a.on{background:rgba(255,255,255,.2);opacity:1;font-weight:600}
#who{font-size:14px}#who a{color:#fff;opacity:.8;margin-left:8px}
.badge{background:#fff;color:var(--primary);border-radius:999px;padding:0 6px;font-size:12px}
main{max-width:1100px;margin:0 auto;padding:20px 16px 80px}
h1{font-size:24px;margin:4px 0}h2{font-size:17px;margin:24px 0 8px}h3{margin:0 0 10px;font-size:17px}h4{margin:16px 0 6px}
.muted{color:var(--text-muted)}.small{font-size:13px}.err{color:var(--danger-fg)}
.card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px 18px;margin:12px 0;box-shadow:var(--shadow-1)}
.head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.head .right{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.acts{display:flex;gap:6px;flex-wrap:wrap}
.gp{background:var(--secondary);color:var(--primary);border-radius:10px;padding:10px 16px;font-size:16px}
.pill{display:inline-block;border-radius:999px;padding:2px 10px;font-size:13px;background:var(--surface-alt);border:1px solid var(--border)}
.st-draft{background:#F2F3F5}.st-pending{background:var(--warning-bg);color:var(--warning-fg);border-color:transparent}.st-ok{background:var(--success-bg);color:var(--success-fg);border-color:transparent}
.pill.sup{background:#fff;color:var(--primary);border:0;font-weight:600}
.btn{background:var(--primary);color:#fff;border:0;border-radius:8px;padding:9px 18px;font:inherit;font-weight:600;cursor:pointer;min-height:40px}
.btn:hover{background:var(--primary-hover)}.btn.ghost{background:#fff;color:var(--primary);border:1px solid var(--primary)}.btn.ok{background:var(--success-fg)}
.btn.ai{background:#1B2C4E}.btn.sm{padding:4px 12px;min-height:32px;font-size:13px}.btn.big{padding:12px 32px;font-size:16px}.btn:disabled{opacity:.6;cursor:wait}
.tabs{display:flex;gap:6px;margin:18px 0 4px}.tabs button,.seg button{font:inherit;border:1px solid var(--border);background:#fff;padding:8px 18px;border-radius:999px;cursor:pointer}
.tabs button.on,.seg button.on,.seg a.on{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:600}
.seg{display:flex;gap:6px;margin:4px 0 8px;flex-wrap:wrap}.seg a{border:1px solid var(--border);background:#fff;padding:6px 16px;border-radius:999px;color:var(--text)}
.note{background:#fff;border-left:4px solid var(--primary);padding:8px 14px;border-radius:6px}
.persp h3{border-left:5px solid var(--primary);padding-left:10px}
.p-customer h3{border-color:#ED1C24}.p-internal h3{border-color:#1B2C4E}.p-learning h3{border-color:#8B8D90}
table.grid{width:100%;border-collapse:collapse}.grid th{font-size:12px;color:var(--text-muted);text-align:left;font-weight:500;padding:6px 6px;border-bottom:1px solid var(--border)}
.grid td{padding:6px;border-bottom:1px solid #F2F3F5;vertical-align:middle}.grid td.t{font-weight:500}
.grid tr:not(.sel)[data-topic] td.t{color:var(--text-muted)}.grid tr.sel{background:#FFF8F8}
.grid input[type=number],.grid input:not([type]),.grid input.u{width:100%;min-width:60px;padding:6px 8px;border:1px solid var(--border);border-radius:6px;font:inherit}
.grid input.u{max-width:90px}.grid input:disabled{background:transparent;border-color:transparent}
.c-chk{width:32px}.c-chk input{width:20px;height:20px;accent-color:var(--primary)}
.act input{max-width:130px}
.bar{display:flex;gap:10px;align-items:center;margin-top:14px;flex-wrap:wrap}
.pct{font-weight:600;padding:2px 8px;border-radius:6px}.pct.good{background:var(--success-bg);color:var(--success-fg)}.pct.warn{background:var(--warning-bg);color:var(--warning-fg)}.pct.bad{background:var(--danger-bg);color:var(--danger-fg)}
.advice{border:2px solid #1B2C4E}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.tile{background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px;color:var(--text);display:flex;flex-direction:column;gap:6px}.tile:hover{border-color:var(--primary)}
.tname{font-weight:600;font-size:16px}.tgp{color:var(--primary);font-weight:600}
.list{background:#fff;border:1px solid var(--border);border-radius:12px}.row{display:flex;justify-content:space-between;padding:10px 16px;border-bottom:1px solid #F2F3F5;color:var(--text)}.row:hover{background:#FFF8F8}
.search{padding:8px 12px;border:1px solid var(--border);border-radius:8px;font:inherit;width:100%;max-width:320px}
.gpgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.gpgrid label{display:flex;flex-direction:column;font-size:13px;gap:4px}.gpgrid input{padding:8px;border:1px solid var(--border);border-radius:6px;font:inherit}
.parent summary{cursor:pointer;font-weight:500}.parent ul{margin:8px 0 0;columns:2}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#1B2C4E;color:#fff;padding:10px 20px;border-radius:8px;z-index:99}.toast.bad{background:var(--danger-fg)}
@media (max-width:700px){.grid th:nth-child(n+5),.grid td:nth-child(n+5){display:none}.parent ul{columns:1}}
