:root{--ink:#17212b;--muted:#6d7985;--line:#dfe5e9;--bg:#f5f7f8;--card:#fff;--teal:#087f82;--teal-dark:#065d62;--gold:#d08b35;--red:#bd4e4e;--shadow:0 8px 30px rgba(23,33,43,.06)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif}.topbar{height:64px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 max(24px,calc((100% - 1180px)/2));gap:34px}.brand{font-weight:800;color:var(--teal-dark);text-decoration:none;letter-spacing:.02em}.topbar nav{display:flex;gap:22px;flex:1}.topbar nav a,.topbar a{color:var(--ink);text-decoration:none}.topbar nav a:hover,a{color:var(--teal)}button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:9px 14px;cursor:pointer;color:var(--ink);font:inherit}button.primary{background:var(--teal);color:#fff;border-color:var(--teal)}button.primary:hover{background:var(--teal-dark)}button.full{width:100%;margin-top:8px}.logout-form button{padding:5px 10px;font-size:13px}.container{max-width:1180px;margin:0 auto;padding:42px 24px 80px}.hero{background:linear-gradient(115deg,#e9f3f2,#fff);border:1px solid #d9e8e7;border-radius:16px;padding:32px 36px;display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.hero.compact{padding:24px 28px}.hero h1,.page-head h1{margin:3px 0 8px;font-size:30px;letter-spacing:-.02em}.hero p{margin:0;color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:.14em;color:var(--teal);font-weight:800;margin:0}.status,.tag{display:inline-flex;align-items:center;border-radius:999px;padding:3px 10px;font-size:12px}.status.high,.tag.warn{background:#fff0df;color:#9b5b14}.tag.neutral{background:#eef1f2;color:#59656e}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.stats>div{background:var(--card);box-shadow:var(--shadow);border:1px solid var(--line);border-radius:12px;padding:20px}.stats strong{display:block;font-size:28px;color:var(--teal-dark)}.stats span{color:var(--muted);font-size:13px}.grid{display:grid;gap:22px}.grid.two{grid-template-columns:1fr 1fr}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:24px;box-shadow:var(--shadow)}.card h2{font-size:18px;margin:0 0 18px}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.section-head h2{margin:0}.section-head a{font-size:13px}.task-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.task-row:first-of-type{border-top:0}.task-row b{display:block;font-size:14px}.task-row small,.advisor-card p,.table-wrap small{display:block;color:var(--muted);font-size:12px}.priority{width:8px;height:8px;border-radius:50%;background:#91a0a8;display:inline-block}.priority.high{background:var(--red)}.priority.medium{background:var(--gold)}.priority.low{background:#7ba9ac}.finding{border-left:3px solid #9caab1;padding:7px 0 7px 12px;margin:10px 0;background:#fafbfb}.finding.high{border-color:var(--red)}.finding.medium{border-color:var(--gold)}.finding b{font-size:13px}.finding p{margin:3px 0;font-size:13px}.finding small{color:var(--muted);font-size:11px;display:block}.roadmap{margin-top:22px}.steps{display:grid;grid-template-columns:repeat(8,1fr);gap:7px}.step{position:relative;border-top:3px solid var(--line);padding-top:10px;color:var(--muted);font-size:12px}.step span{display:block;font-size:11px;margin-bottom:4px}.step.active{border-color:var(--teal);color:var(--teal-dark)}.page-head{margin-bottom:24px}.page-head p{margin:5px 0}.search{display:flex;gap:10px;margin-bottom:16px}.search input{flex:1}.search select{width:145px}input,textarea,select{display:block;width:100%;font:inherit;border:1px solid var(--line);border-radius:7px;padding:9px 10px;background:#fff;color:var(--ink)}label{display:block;font-size:13px;color:var(--muted);margin-bottom:13px}label input,label textarea,label select{margin-top:5px;color:var(--ink)}textarea{resize:vertical}.table-wrap{overflow:auto;padding:0}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);white-space:nowrap}th{background:#fafbfb;color:var(--muted);font-weight:600}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.advisor-layout{align-items:start}.advisor-list{display:grid;gap:12px}.advisor-card{display:flex;justify-content:space-between;text-decoration:none;color:var(--ink)}.advisor-card h2{margin:0 0 4px}.advisor-card p{margin:0 0 4px}.score{text-align:right;color:var(--teal-dark);font-size:24px;font-weight:800;min-width:76px}.score small,.score span{display:block;font-size:11px;color:var(--muted);font-weight:400}.score span{color:var(--gold);margin-top:4px}.score.big{font-size:34px}.timeline-item{border-left:2px solid #b8d8d7;padding:0 0 18px 18px;margin-left:5px}.timeline-item b{font-size:13px}.timeline-item p{margin:4px 0}.timeline-item small{color:var(--muted)}dl{margin:0}dt{font-size:12px;color:var(--muted);margin-top:13px}dd{margin:2px 0 0;white-space:pre-wrap}.detailed{align-items:flex-start}.check{border-radius:50%;width:23px;height:23px;padding:0;font-size:13px}.check.done{background:var(--teal);border-color:var(--teal);color:#fff}.task-main{flex:1}.task-main.completed b{text-decoration:line-through;color:var(--muted)}.task-main small{display:block;color:var(--muted);font-size:12px}.muted{color:var(--muted)}.alert{border-radius:8px;padding:10px 13px;margin-bottom:15px;font-size:13px}.alert.danger{background:#fff0f0;border:1px solid #f0c4c4;color:#963b3b}.login-card{max-width:390px;margin:70px auto;background:#fff;padding:32px;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.login-card h1{font-size:25px;margin:4px 0 24px}.preview{white-space:pre-wrap;word-break:break-word;max-height:620px;overflow:auto;background:#f7f9fa;border-radius:8px;padding:14px;font:12px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace}@media(max-width:800px){.topbar{padding:0 14px;gap:12px}.topbar nav{gap:10px;font-size:12px}.container{padding:24px 14px 50px}.grid.two,.stats{grid-template-columns:1fr 1fr}.steps{grid-template-columns:repeat(4,1fr);row-gap:16px}.hero{padding:24px;display:block}.hero .status{margin-top:14px}.search{flex-wrap:wrap}.search input{flex-basis:100%}}@media(max-width:520px){.stats,.grid.two,.form-grid{grid-template-columns:1fr}.topbar nav{display:none}.hero h1,.page-head h1{font-size:25px}}
