:root{color:#18212f;background:#f4f6f9;font-family:Inter,Segoe UI,Microsoft YaHei,Arial,sans-serif;line-height:1.5;font-size:15px}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,#f8fafc,#f4f6f9 42%,#eef2f6)}a{color:#135f9b;text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{border:1px solid #cbd6e2;border-radius:6px;font:inherit}button{min-height:40px;padding:0 15px;border-color:#145f9c;color:#fff;background:#145f9c;cursor:pointer;font-weight:700;letter-spacing:0;box-shadow:0 1px 2px #0f2c4814;transition:background .15s ease,border-color .15s ease,transform .15s ease}button:hover:not(:disabled){border-color:#0f4d82;background:#0f4d82}button:active:not(:disabled){transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.65}button.secondary{color:#1769aa;background:#fff;border-color:#9cc5e6}button.secondary:hover:not(:disabled){color:#0f4d82;background:#eef6fc;border-color:#5da1d6}input,select,textarea{width:100%;min-height:40px;padding:8px 11px;color:#18212f;background:#fff;outline:none}input[type=checkbox],input[type=radio]{width:16px;min-width:16px;height:16px;min-height:16px;margin:2px 8px 0 0;padding:0;accent-color:#1769aa;vertical-align:text-top;box-shadow:none}input[type=checkbox]:focus,input[type=radio]:focus{box-shadow:0 0 0 3px #1769aa24}input:focus,select:focus,textarea:focus{border-color:#4f92c9;box-shadow:0 0 0 3px #1769aa1f}textarea{min-height:100px;resize:vertical}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:11px 13px;border-bottom:1px solid #e1e7ef;text-align:left;vertical-align:top}th{color:#4c5d72;font-weight:600;background:#f6f8fb;position:sticky;top:0;z-index:1}tbody tr:hover{background:#f8fbfe}.app-shell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:24px 16px;color:#fff;background:#162232;box-shadow:inset -1px 0 #ffffff0d}.brand{margin-bottom:24px;padding:0 2px;font-size:18px;font-weight:700;letter-spacing:0}.sidebar nav{display:grid;gap:6px}.sidebar a{display:block;padding:10px 12px;border-radius:6px;color:#dbe7f5;font-weight:650;text-decoration:none}.sidebar a:hover{color:#fff;background:#ffffff14;text-decoration:none}.sidebar a.router-link-active{color:#fff;background:#145f9c;text-decoration:none}.main-content{min-width:0;padding:30px}.page{max-width:1180px;margin:0 auto}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.page-header h1{margin:0;color:#121c2b;font-size:29px;line-height:1.18}.eyebrow{margin:0 0 4px;color:#657589;font-size:12px;font-weight:700;letter-spacing:0;text-transform:uppercase}.toolbar,.panel-form{display:grid;grid-template-columns:1fr 1fr auto;gap:11px;margin-bottom:16px}.action-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.panel-form{grid-template-columns:1fr 1fr;padding:16px;border:1px solid #dbe3ee;border-radius:8px;background:#fbfdff}.panel-form textarea,.panel-form button{grid-column:1 / -1}.notice{margin:12px 0;padding:11px 13px;border-radius:6px;border:1px solid;font-weight:650}.notice.error{color:#9f1d20;border-color:#f1b7ba;background:#fff2f2}.notice.ok{color:#14613a;border-color:#aad8bd;background:#effaf3}.status{padding:6px 11px;border-radius:999px;font-size:13px;font-weight:700}.status.ok{color:#14613a;background:#dcf7e6}.status.warn{color:#8b5e00;background:#fff3c4}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:13px;margin-bottom:20px}.metric-grid.compact{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.action-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px}.action-card{display:grid;min-height:132px;align-content:space-between;gap:8px;padding:15px;border:1px solid #dbe3ee;border-top:3px solid #9cc5e6;border-radius:8px;color:#18212f;background:#fbfdff;text-decoration:none;box-shadow:0 1px 2px #14263d0a}.action-card:hover{border-color:#9cc5e6;background:#f6fbff;text-decoration:none}.action-card span{color:#536174;font-size:13px;font-weight:700}.action-card strong{color:#121c2b;font-size:26px;line-height:1.1}.action-card em{color:#657589;font-size:13px;font-style:normal}.metric,.data-card,.empty-state{border:1px solid #dbe3ee;border-radius:8px;background:#fff;box-shadow:0 1px 2px #14263d0a}.metric{padding:16px 17px;border-top:3px solid #d5e4f2}.metric span,.muted{color:#657589}.metric strong{display:block;margin-top:5px;color:#121c2b;font-size:25px;line-height:1.15}.card-list{display:grid;gap:13px}.data-card{padding:16px 17px;transition:border-color .15s ease,box-shadow .15s ease}.data-card:hover{border-color:#c8d8e8;box-shadow:0 5px 16px #14263d12}.card-title{color:#142235;font-weight:700;line-height:1.35}.summary-row{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:10px;color:#536174;font-size:13px}.summary-row span{display:inline-flex;align-items:center;min-height:24px;padding:2px 8px;border-radius:999px;background:#f1f5f9;color:#4c5d72}.logic-panel{margin-bottom:24px;padding:20px;border:1px solid #d7e1ec;border-radius:8px;background:#fff;box-shadow:0 8px 24px #14263d0d}.logic-header,.logic-columns,.thesis-grid{display:grid;gap:14px}.logic-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;margin-bottom:16px}.logic-header h2,.logic-columns h3{margin:0;color:#172335}.thesis-grid,.logic-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.thesis-grid{margin-bottom:16px}.thesis-grid p{margin:6px 0 0;color:#263445}.lead-text{margin:0 0 16px;color:#263445;font-size:16px}.field-label{color:#657589;font-size:13px;font-weight:700}.status-badge{display:inline-flex;align-items:center;min-height:26px;padding:5px 10px;border-radius:999px;color:#536174;background:#eef3f8;font-size:13px;font-weight:700;white-space:nowrap}.status-badge.strengthening{color:#14613a;background:#dcf7e6}.status-badge.weakening,.status-badge.risk_rising,.status-badge.at_risk,.status-badge.weakened,.status-badge.falsified{color:#9f1d20;background:#fff2f2}.status-badge.unverified,.status-badge.uncertain{color:#8b5e00;background:#fff3c4}.status-badge.strengthened{color:#14613a;background:#dcf7e6}.status-badge.stable{color:#1769aa;background:#e8f2fb}.status-badge.pending,.status-badge.running,.status-badge.confirm{color:#8b5e00;background:#fff3c4}.status-badge.approved,.status-badge.edited,.status-badge.success,.status-badge.done{color:#14613a;background:#dcf7e6}.status-badge.rejected,.status-badge.failed,.status-badge.manual{color:#9f1d20;background:#fff2f2}.step-list{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 16px}.step-list span{padding:7px 11px;border:1px solid #dbe3ee;border-radius:999px;color:#607086;background:#f8fafc;font-size:13px;font-weight:700}.step-list span.active{color:#1769aa;border-color:#9cc5e6;background:#e8f2fb}.draft-review{display:grid;gap:14px}.review-card{display:grid;gap:12px}.hypothesis-form label{display:grid;gap:6px}.hypothesis-form label:has(textarea){grid-column:1 / -1}.draft-review h3,.page h2{margin:18px 0 10px;color:#172335;font-size:18px;line-height:1.25}.secondary-button{width:fit-content;color:#1769aa;background:#fff;border-color:#9cc5e6}.mini-list{display:grid;gap:10px;margin-top:10px}.mini-item{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:12px;border:1px solid #e1e7ef;border-radius:6px;background:#fbfdff}.mini-item>span:first-child{display:inline-flex;align-items:flex-start;min-width:0}.empty-state{display:grid;gap:4px;padding:18px;color:#657589;background:#fbfdff}.empty-state strong{color:#263445}.table-wrap{overflow-x:auto;border:1px solid #dbe3ee;border-radius:8px;background:#fff;box-shadow:0 1px 2px #14263d0a}.secondary-link{white-space:nowrap}.code-panel{display:grid;gap:8px;padding:12px;border:1px solid #dbe3ee;border-radius:6px;background:#f8fafc}.code-panel h3{margin:4px 0 0;font-size:14px}.code-panel pre{max-height:220px;overflow:auto;margin:0;padding:10px;border-radius:6px;background:#172335;color:#edf3fb;font-size:12px;line-height:1.5}@media (max-width: 760px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:14px}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.main-content{padding:18px 14px 28px}.page-header,.toolbar,.panel-form,.logic-header,.logic-columns,.thesis-grid{grid-template-columns:1fr}.page-header{align-items:flex-start;flex-direction:column}}
