:root{--navy:#0B2545;--navy2:#13315C;--gold:#C9A227;--gold-l:#F4E9C1;--bg:#F5F6F8;--card:#fff;--line:#D9DEE6;--ink:#1B2430;--muted:#5D6B7E;--ok:#1E7B4C;--bad:#B3261E;--bites:#0B5FA5;--caffe:#B5651D}
*{box-sizing:border-box}
body{margin:0;font-family:"Times New Roman",Times,serif;background:var(--bg);color:var(--ink);font-size:16px}
header.top{background:var(--navy);color:#fff;border-bottom:4px solid var(--gold)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 16px}
header.top h1{margin:0;font-size:1.35rem;letter-spacing:.5px}
header.top h1 small{display:block;font-size:.85rem;color:var(--gold-l);font-weight:normal;letter-spacing:0}
nav a{color:#fff;text-decoration:none;padding:6px 12px;border:1px solid rgba(255,255,255,.25);border-radius:4px;margin-left:6px;font-size:.95rem}
nav a.on,nav a:hover{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.wrap{max-width:1000px;margin:0 auto;padding:0 16px}
main.wrap{padding:20px 16px 40px}
.card{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:18px;margin-bottom:16px}
.card h2{margin:0 0 12px;font-size:1.1rem;color:var(--navy);border-left:4px solid var(--gold);padding-left:8px;text-transform:uppercase;letter-spacing:.5px}
.grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
label.f{display:block;font-weight:bold;margin-bottom:4px;color:var(--navy2)}
select,input[type=text],textarea{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:4px;font:inherit;background:#fff}
textarea{min-height:80px;resize:vertical}
select:focus,input:focus,textarea:focus{outline:2px solid var(--gold);border-color:var(--gold)}
input[readonly]{background:#EEF1F5}
.btn{background:var(--navy);color:#fff;border:0;border-radius:4px;padding:10px 18px;font:inherit;font-weight:bold;cursor:pointer}
.btn:hover{background:var(--navy2)}.btn.gold{background:var(--gold);color:var(--navy)}
.btn.ghost{background:#fff;color:var(--navy);border:1px solid var(--navy)}.btn.sm{padding:5px 10px;font-size:.85rem}
.btn.del{background:#fff;color:var(--bad);border:1px solid var(--bad)}
.muted{color:var(--muted);font-size:.92rem}
.scale{display:flex;flex-wrap:wrap;gap:10px;font-size:.9rem;color:var(--muted)}
.scale b{color:var(--navy)}
table{width:100%;border-collapse:collapse}
th,td{padding:8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
th{background:var(--navy);color:#fff;font-weight:bold}
table.rate th.c{text-align:center}
table.rate td.crit b{display:block;color:var(--navy)}
table.rate td.crit span{font-size:.85rem;color:var(--muted)}
.pills{display:flex;gap:4px;justify-content:center}
.pills input{position:absolute;opacity:0;pointer-events:none}
.pills label{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;cursor:pointer;font-weight:bold;background:#fff;user-select:none}
.pills label:hover{border-color:var(--gold)}
.pills input:checked+label{background:var(--navy);color:#fff;border-color:var(--navy)}
.pills input:focus-visible+label{outline:2px solid var(--gold)}
tr.missing td{background:#FDECEA}
.prefs{display:flex;flex-wrap:wrap;gap:10px}
.prefs label{border:1px solid var(--line);border-radius:4px;padding:8px 14px;cursor:pointer;background:#fff}
.prefs input{margin-right:6px}
.msg{padding:10px 14px;border-radius:4px;margin-bottom:12px;display:none}
.msg.err{display:block;background:#FDECEA;color:var(--bad);border:1px solid #F3B8B3}
.msg.ok{display:block;background:#E6F4EC;color:var(--ok);border:1px solid #B5DEC6}
.thanks{text-align:center;padding:40px 20px}
.thanks h2{border:0;text-transform:none;font-size:1.6rem}
.stat{background:var(--card);border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:6px;padding:14px}
.stat .v{font-size:1.9rem;font-weight:bold;color:var(--navy)}.stat .l{color:var(--muted);font-size:.9rem}
.bar{height:12px;background:#E8EBF0;border-radius:6px;overflow:hidden;min-width:80px}
.bar i{display:block;height:100%}
.bites i{background:var(--bites)}.caffe i{background:var(--caffe)}
.tag{display:inline-block;padding:2px 8px;border-radius:10px;font-size:.8rem;font-weight:bold}
.tag.s{background:#E3ECF7;color:var(--navy)}.tag.m{background:#FBEFD9;color:#7A4A10}
.tag.done{background:#E6F4EC;color:var(--ok)}.tag.pend{background:#FDECEA;color:var(--bad)}
.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.toolbar select,.toolbar input{width:auto;min-width:160px}
.scroll{overflow-x:auto}
footer{text-align:center;color:var(--muted);font-size:.85rem;padding:20px}
@media (max-width:640px){
  table.rate thead{display:none}
  table.rate tr{display:block;border-bottom:1px solid var(--line);padding:8px 0}
  table.rate td{display:block;border:0;padding:4px 0}
  table.rate td.cv::before{content:attr(data-c);display:block;font-size:.85rem;font-weight:bold;color:var(--navy2);margin-bottom:2px}
  .pills{justify-content:flex-start}
  nav a{margin:4px 4px 0 0}
}
@media print{header.top nav,.toolbar,.btn{display:none!important}body{background:#fff}.card{border:0;padding:0}}
