
:root{
  --navy:#17324d; --blue:#244f70; --light:#f3f6f8; --mid:#d8e0e5;
  --text:#24313b; --green:#2e6b38; --green-bg:#dceedc; --amber:#8a6500;
  --amber-bg:#fff2c7; --red:#96382f; --red-bg:#f8d9d6; --white:#fff;
}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);background:#eef2f5}
header{background:var(--navy);color:#fff;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:0;z-index:10}
header h1{font-size:22px;margin:0}
header small{opacity:.85}
nav{display:flex;gap:8px;flex-wrap:wrap}
nav button{border:0;border-radius:10px;padding:10px 14px;background:#ffffff20;color:#fff;font-weight:700}
nav button.active{background:#fff;color:var(--navy)}
main{max-width:1500px;margin:auto;padding:18px}
.view{display:none}.view.active{display:block}
.card{background:#fff;border-radius:16px;padding:16px;box-shadow:0 4px 18px #00000010;margin-bottom:16px}
.grid{display:grid;gap:16px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
h2,h3{color:var(--navy);margin-top:0}
label{font-size:12px;font-weight:700;color:#536574;display:block;margin-bottom:5px}
input,select,textarea,button{font:inherit}
input,select,textarea{width:100%;border:1px solid var(--mid);border-radius:10px;padding:11px;background:#fff;color:var(--text)}
button.primary{background:var(--blue);color:#fff;border:0;border-radius:10px;padding:11px 16px;font-weight:700}
button.secondary{background:#fff;color:var(--blue);border:1px solid var(--blue);border-radius:10px;padding:10px 15px;font-weight:700}
button.danger{background:#fff;color:var(--red);border:1px solid var(--red);border-radius:10px;padding:9px 12px}
.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.hole-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 16px}
.hole-tabs button{min-width:54px;border:1px solid var(--mid);background:#fff;color:var(--navy);border-radius:10px;padding:10px 12px;font-weight:800}
.hole-tabs button.active{background:var(--blue);color:#fff;border-color:var(--blue)}
.hole-panel-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}
.table-wrap{overflow:auto;max-height:none}

table{border-collapse:collapse;width:100%;min-width:980px}
th{background:var(--blue);color:#fff;text-align:left;padding:10px;position:sticky;top:0}
td{padding:8px;border-bottom:1px solid #e5eaee;background:#fff}
td input,td select{padding:8px;min-width:90px}
.badge{display:inline-block;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800}
.ok{background:var(--green-bg);color:var(--green)}
.warn{background:var(--amber-bg);color:var(--amber)}
.err{background:var(--red-bg);color:var(--red)}
.kpi{padding:16px;background:var(--light);border-radius:14px}
.kpi .value{font-size:34px;font-weight:800;color:var(--navy)}
.kpi .label{font-size:12px;color:#647481;font-weight:700}
.bar{height:13px;background:#e4eaee;border-radius:99px;overflow:hidden}
.bar > span{display:block;height:100%;background:var(--blue);border-radius:99px}
.phase-row{display:grid;grid-template-columns:180px 1fr 60px;gap:10px;align-items:center;margin:10px 0}
.rec{border-left:7px solid var(--blue);padding:14px 16px;background:var(--light);border-radius:12px;margin:12px 0}
.rec.rank1{border-color:var(--red)} .rec.rank2{border-color:var(--amber)} .rec.rank3{border-color:var(--green)}
.rec h3{margin-bottom:6px}
.small{font-size:12px;color:#697985}
.client-hero{background:linear-gradient(135deg,var(--navy),var(--blue));color:white;border-radius:18px;padding:22px;margin-bottom:16px}
.client-hero h2{color:white}
.strength{background:var(--green-bg);color:var(--green);padding:12px;border-radius:12px}
.weakness{background:var(--red-bg);color:var(--red);padding:12px;border-radius:12px}
.notice{padding:12px;border-radius:10px;background:#edf5ff;color:#234b6d;margin-bottom:14px}
.hidden{display:none!important}
@media(max-width:900px){
 .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
 header{align-items:flex-start;flex-direction:column}
 .phase-row{grid-template-columns:120px 1fr 46px}
 main{padding:10px}
}
@media print{
 header,nav,.no-print,#entryView,#analysisView{display:none!important}
 body{background:white}
 main{max-width:none;padding:0}
 .card,.client-hero{box-shadow:none;break-inside:avoid}
 #clientView{display:block!important}
}
