:root{--bg:#f3f6f8;--card:#fff;--ink:#14202b;--muted:#607080;--line:#dce3e8;--accent:#1d5d73;--accent2:#123d4e;--danger:#9a2d2d;--shadow:0 18px 50px rgba(24,43,57,.10)}
*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#eaf0f3 0,#f6f8f9 360px);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}
button,input{font:inherit}.app-shell{max-width:920px;margin:0 auto;padding:36px 18px 80px}.brand{display:flex;align-items:center;gap:16px;margin:0 0 24px}.brand-mark{width:52px;height:52px;border-radius:16px;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:30px;font-weight:800}.brand h1{margin:1px 0 0;font-size:clamp(26px,4vw,40px);letter-spacing:-.035em}.eyebrow,.stage-label{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--accent)}
.card{background:var(--card);border:1px solid rgba(20,32,43,.08);border-radius:24px;box-shadow:var(--shadow);padding:clamp(22px,4vw,42px)}.hidden{display:none!important}.card h2{font-size:clamp(25px,4vw,36px);letter-spacing:-.03em;margin:8px 0 12px}.card h3{font-size:19px;margin:26px 0 14px}.lede{font-size:17px;line-height:1.55;color:var(--muted);max-width:700px}.field{display:grid;gap:8px;margin:18px 0}.field>span,legend{font-weight:750}.field input{width:100%;padding:13px 14px;border:1px solid #bcc9d1;border-radius:12px;background:#fff;outline:none}.field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(29,93,115,.12)}fieldset{border:0;padding:0;margin:30px 0}.choice-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}.choice-row label{border:1px solid var(--line);padding:10px 16px;border-radius:12px;background:#fafcfd}.conditional{border-left:3px solid #d6e4e9;margin:16px 0 0;padding:1px 0 1px 18px}
.primary,.secondary{border:0;border-radius:14px;padding:14px 20px;font-weight:800;cursor:pointer}.primary{background:var(--accent);color:white}.primary:hover{background:var(--accent2)}.secondary{background:#eef3f5;color:var(--ink)}.full{width:100%}.error{color:var(--danger);font-weight:700;min-height:1.25em}video,audio{display:block;width:100%;margin:18px 0;border-radius:16px;background:#0f1519}video{max-height:470px}.rating{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.rating.compact{margin-top:8px}.rate{min-height:64px;border:1px solid var(--line);background:#f8fafb;border-radius:14px;padding:10px;font-weight:800;cursor:pointer}.rate:hover,.rate:focus{border-color:var(--accent);background:#edf5f7}.rate.selected{background:var(--accent);color:#fff;border-color:var(--accent)}
.progress-line{display:flex;align-items:center;gap:16px;margin-bottom:24px;color:var(--muted);font-weight:700;font-size:14px}.bar{height:8px;flex:1;background:#e8edf0;border-radius:100px;overflow:hidden}.bar i{display:block;height:100%;background:var(--accent);border-radius:100px;transition:width .25s}.center{text-align:center}.spinner{width:44px;height:44px;border:5px solid #dfe8ec;border-top-color:var(--accent);border-radius:50%;margin:24px auto;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin:16px 0 30px}.instrument-result-card{overflow:hidden;border:2px solid #bad0d8;background:#f1f7f9;border-radius:18px;text-align:center}.instrument-image-wrap{aspect-ratio:4/3;background:linear-gradient(135deg,#edf3f5,#dce7eb);display:grid;place-items:center;overflow:hidden}.instrument-image{width:100%;height:100%;display:block;object-fit:contain;background:#fff}.instrument-result-name{padding:16px 14px 18px;font-size:20px;font-weight:850}.submitted-note{border-top:1px solid var(--line);margin-top:26px;padding:22px 0;color:var(--muted);font-weight:700}
.admin-shell{max-width:1200px;margin:0 auto;padding:30px 18px 70px}.admin-top{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:22px}.admin-actions{display:flex;gap:10px;flex-wrap:wrap}.admin-actions form{margin:0}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:18px}.data-table{width:100%;border-collapse:collapse;min-width:760px}.data-table th,.data-table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);white-space:nowrap}.data-table th{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);background:#f7f9fa}.data-table a{color:var(--accent);font-weight:800;text-decoration:none}.score{font-variant-numeric:tabular-nums}.badge{display:inline-block;padding:4px 8px;border-radius:100px;font-size:12px;font-weight:850;background:#edf1f3}.badge.rejected{background:#f6e9e9;color:#812828}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.detail-box{border:1px solid var(--line);border-radius:14px;padding:16px}.login-card{max-width:500px;margin:70px auto}
@media(max-width:650px){.app-shell{padding-top:20px}.rating{grid-template-columns:1fr 1fr}.rate{min-height:58px}.admin-top{align-items:flex-start;flex-direction:column}.brand-mark{width:46px;height:46px;border-radius:14px}}
.requirement-note{margin:18px 0;padding:14px 16px;border:1px solid #c7d8df;border-left:5px solid var(--accent);border-radius:12px;background:#f1f7f9;line-height:1.5;color:#294653}.requirement-note strong{color:var(--ink)}
