:root{--line: #d2d6de;--ink: #333333;--muted: #6b7a89;--brand: #1a4292;--box-head: #1a4292;--logo: #16387c;--sidebar: #1a4292;--surface: #f5f5f5;--danger: #e32636;--ok: #00a65a}*{box-sizing:border-box}body{margin:0;font:14px/1.45 Source Sans Pro,Helvetica Neue,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--surface)}.brand{display:flex;align-items:center;gap:22px;background:#fff;padding:14px 26px;border-bottom:3px solid var(--brand)}.brand .logo{width:62px;height:62px;flex:none;border-radius:50%;background:radial-gradient(circle at 50% 45%,#fff 34%,var(--brand) 36%,var(--brand) 62%,#c0392b 64%);border:2px solid var(--brand)}.brand div div{font-weight:700;font-size:15px;color:#1a1a1a}.layout{display:flex;align-items:stretch;min-height:calc(100vh - 92px)}.sidebar{width:232px;flex:none;background:var(--sidebar);padding:0 0 20px}.sidebar nav{display:flex;flex-direction:column}.sidebar .nav{font:inherit;text-align:left;padding:13px 18px;border:0;cursor:pointer;background:transparent;color:#b8c7ce;border-left:3px solid transparent}.sidebar .nav:hover{background:var(--logo);color:#fff}.sidebar .nav.active{background:var(--logo);color:#fff;border-left-color:#fff}.sidebar .tools{padding:18px;display:flex;flex-direction:column;gap:9px}.sidebar .tools button{font:inherit;padding:9px 12px;border:0;border-radius:3px;cursor:pointer;color:#fff;font-weight:600}.sidebar .fill{background:var(--ok)}.sidebar .reset{background:#c0392b}.sidebar .whoami{color:#c8d4ea;font-size:12px;padding:0 18px;margin:12px 0 0}.content{flex:1;padding:20px 26px 60px;min-width:0}.intro{text-align:center;margin:0 auto 8px;max-width:900px}.req-note{text-align:center;color:var(--danger);margin:0 auto 18px}.req-note code{background:none;color:var(--danger);font-weight:700}.box{background:#fff;border:1px solid var(--line);border-radius:3px;margin-bottom:18px}.box h2{margin:0;background:var(--box-head);color:#fff;font-size:15px;font-weight:600;padding:11px 16px}.box-body{padding:16px;display:grid;gap:14px 26px;grid-template-columns:repeat(auto-fit,minmax(330px,1fr))}.box-body.single{display:block}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field label{font-size:13px;font-weight:700}.req{color:var(--danger)}input,select,textarea{font:inherit;padding:7px 9px;border:1px solid var(--line);border-radius:3px;background:#fff;width:100%}input:focus,select:focus,textarea:focus{outline:0;border-color:#3c8dbc}textarea{resize:vertical}.choices{display:flex;flex-wrap:wrap}.choice{font:inherit;padding:7px 15px;border:1px solid var(--line);background:#f4f4f4;cursor:pointer;margin-right:-1px}.choice:first-child{border-radius:3px 0 0 3px}.choice:last-child{border-radius:0 3px 3px 0;margin-right:0}.choice.active{background:#3c8dbc;border-color:#367fa9;color:#fff;z-index:1}button.primary{font:inherit;padding:10px 24px;border:0;border-radius:3px;background:var(--ok);color:#fff;cursor:pointer;font-weight:700}.bar{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:3px;padding:12px 16px;margin-bottom:16px}.bar label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.bar button{font:inherit;padding:7px 14px;border:1px solid var(--line);background:#f4f4f4;border-radius:3px;cursor:pointer}.card-banner{background:#dff0d8;border:1px solid #d6e9c6;border-radius:3px;padding:11px 15px;margin-bottom:16px;font-size:13px}.card-banner .saved{margin-top:10px}.card-banner .saved button{font:inherit;padding:6px 14px;border:1px solid #b6d7a8;background:#fff;border-radius:3px;cursor:pointer;margin-bottom:8px}.card-banner details summary{cursor:pointer}.card-banner table{border-collapse:collapse;margin-top:8px;width:100%}.card-banner td{border-bottom:1px solid #cfe3c4;padding:3px 10px 3px 0;vertical-align:top}.card-banner td:nth-child(2){color:var(--muted)}.error{background:#f2dede;border:1px solid #ebccd1;border-radius:3px;padding:10px 14px;margin-bottom:16px;color:#a94442}.error ul{margin:6px 0 0;padding-left:20px}.warnings{margin-top:22px;font-size:13px;color:var(--muted)}.warnings ul{margin:8px 0 0;padding-left:20px}code{background:#eef2f6;padding:1px 5px;border-radius:3px;font-size:12px}.gate{max-width:440px;margin:0 auto;padding:80px 20px;text-align:center}.gate p{color:var(--muted);margin-bottom:18px}.gate input{text-align:center;margin-bottom:12px}.gate .error{margin-top:16px;text-align:left}.issued{text-align:center;padding:26px 10px}.issued .number{font-size:34px;font-weight:700;letter-spacing:1px;color:var(--brand);margin:14px 0 10px}.issued .hint{color:var(--muted);font-size:13px;max-width:520px;margin:0 auto 18px}.issued button{font:inherit;padding:8px 18px;border:1px solid var(--line);background:#f4f4f4;border-radius:3px;cursor:pointer}.tabs{display:flex;flex-wrap:wrap;gap:2px;margin-bottom:14px}.tab{font:inherit;padding:8px 14px;border:1px solid var(--line);border-bottom:0;background:#f4f4f4;cursor:pointer;border-radius:3px 3px 0 0}.tab.active{background:var(--box-head);color:#fff;border-color:var(--box-head)}.tab .count{font-size:11px;opacity:.7;margin-left:4px}.tab.part{box-shadow:inset 0 -3px #f39c12}.tab.full{box-shadow:inset 0 -3px 0 var(--ok)}.tab.active.part,.tab.active.full{box-shadow:none}.tab.fillall{margin-left:auto;border-bottom:1px solid var(--line);border-radius:3px}.question{padding:12px 0;border-bottom:1px solid #eef1f4}.question:last-child{border-bottom:0}.q-text{margin:0 0 8px;font-weight:600}.choices.wrap{gap:6px}.choices.wrap .choice{margin-right:0;border-radius:3px}.scores{border-collapse:collapse;margin:16px auto 0;font-size:13px}.scores td{border-bottom:1px solid #cfe3c4;padding:3px 16px 3px 0}.backdrop{position:fixed;inset:0;background:#00000073;display:flex;align-items:flex-start;justify-content:center;padding:60px 20px;z-index:50}.modal{background:#fff;border-radius:4px;max-width:760px;width:100%;box-shadow:0 10px 40px #0000004d;overflow:hidden}.modal h3{margin:0;padding:14px 20px;border-bottom:1px solid var(--line);font-size:17px;color:var(--brand)}.modal-body{padding:18px 20px}.modal-body h4{margin:0 0 6px}.modal-body ol{margin:6px 0 12px;padding-left:22px}.modal-body .note{background:#f6f8fa;border-left:3px solid var(--danger);padding:8px 12px}.modal-body .policy{max-height:200px;overflow-y:auto;border:1px solid #ddd;padding:10px;margin:10px 0;font-size:13px}.modal-body .consent{display:flex;gap:8px;align-items:flex-start;font-size:13px}.modal-body .consent input{width:auto;margin-top:3px}.modal-actions{padding:12px 20px;border-top:1px solid var(--line);display:flex;gap:10px;justify-content:flex-end}.modal-actions .ghost{font:inherit;padding:10px 18px;border:1px solid var(--line);background:#f4f4f4;border-radius:3px;cursor:pointer}.modal-actions .primary:disabled{opacity:.5;cursor:not-allowed}.sidebar .seed{display:block;color:#c0392b;font-size:12px;font-weight:700;margin-bottom:4px}.sidebar .seed input{margin-top:4px}.box h2{display:flex;justify-content:space-between;align-items:center}.box h2 .collapse{font:inherit;font-size:18px;line-height:1;background:transparent;border:0;color:#fff;cursor:pointer;padding:0 4px}.q-input{max-width:240px}.field.bad input,.field.bad select,.field.bad textarea{border-color:var(--danger)}.field-error{display:block;color:var(--danger);font-size:12px;margin-top:3px}.question.bad .q-input{border-color:var(--danger)}.counter{display:block;color:var(--muted);font-size:12px;margin-top:3px}.counter.over{color:var(--danger);font-weight:700}.modal-body .unfinished{margin:8px 0 12px 18px;font-size:14px}.modal-body .unfinished li{margin-bottom:4px}.issued .unscored{text-align:left;background:#fff8e6;border-left:3px solid #d9a441;padding:10px 14px;margin:14px 0;font-size:14px}.issued .unscored ul{margin:6px 0 6px 18px}.issued .unscored .note{color:var(--muted);font-size:13px;margin:0}.sidebar .seed-hint{color:#c8d4ea;font-size:11px;margin:2px 0 8px;line-height:1.3}.notices{position:fixed;right:16px;bottom:16px;z-index:100;display:flex;flex-direction:column;gap:8px;max-width:380px}.notice{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:3px;font-size:13px;line-height:1.35;background:#fff;border-left:4px solid var(--muted);box-shadow:0 2px 8px #0000002e;animation:notice-in .15s ease-out}@keyframes notice-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1}}@media(prefers-reduced-motion:reduce){.notice{animation:none}}.notice.info{border-left-color:#3c8dbc}.notice.success{border-left-color:#00a65a}.notice.warning{border-left-color:#f39c12}.notice.error{border-left-color:var(--danger)}.notice-icon{font-weight:700;line-height:1.35}.notice.info .notice-icon{color:#3c8dbc}.notice.success .notice-icon{color:#00a65a}.notice.warning .notice-icon{color:#f39c12}.notice.error .notice-icon{color:var(--danger)}.notice-text{flex:1}.notice-close{font:inherit;font-size:16px;line-height:1;color:var(--muted);background:transparent;border:0;cursor:pointer;padding:0 2px}.checks{display:flex;flex-direction:column;gap:6px}.check{display:flex;gap:8px;align-items:flex-start;font-size:13px;font-weight:400}.check input{width:auto;margin-top:3px}.upload{display:flex;flex-direction:column;gap:4px}.upload .chosen{font-size:13px;color:var(--ink)}.upload .hint{color:var(--muted);font-size:12px}.step1-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}.step1-actions button{font:inherit;padding:10px 18px;border-radius:3px;cursor:pointer;border:1px solid var(--line);background:#f4f4f4}.step1-actions button:disabled{opacity:.5;cursor:not-allowed}.box-body.lab{display:block}.lab-row{display:grid;grid-template-columns:1fr 120px 220px;gap:10px;align-items:center;padding:4px 0;border-bottom:1px solid #f0f0f0}.lab-row label{font-weight:400;font-size:13px}.lab-row .unit{color:var(--muted)}.lab-row input{margin:0}.tip-wrap{position:relative;display:inline-block}.tip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);z-index:40;width:max-content;max-width:320px;padding:8px 11px;background:#262626f0;color:#fff;border-radius:5px;font-size:13px;font-weight:400;line-height:1.4;text-align:left;pointer-events:none;box-shadow:0 2px 8px #00000040}.tip:after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border:5px solid transparent;border-top-color:#262626f0}.lab-row.awaited{background:#ffe9e9}.lab-row.awaited input{border-color:#e8a0a0}h2 .assigned{margin-left:10px;font-size:12px;font-weight:400;color:#b03030;background:#ffe9e9;border-radius:3px;padding:1px 7px;vertical-align:middle}.dir{font-size:12px}.dir em{color:var(--muted);font-style:normal}.dir.norm{color:#00a65a}.dir.up,.dir.down{color:#f39c12;font-weight:700}.dir2up,.dir2down{color:var(--danger);font-weight:700}.dir.absent{color:var(--muted)}.verdicts td{padding:5px 10px}.verdicts tr.active_red td{color:var(--danger);font-weight:700}.verdicts tr.active_orange td{color:#d35400;font-weight:700}.verdicts tr.stable_green td{color:#00a65a}.nav-group{margin-bottom:6px;display:flex;flex-direction:column}.nav-app{color:#c8d4ea;font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:8px 14px 2px}.nav-group .nav{padding-left:26px}.answers{width:100%;border-collapse:collapse;font-size:13px}.answers th{text-align:left;border-bottom:1px solid var(--line);padding:6px 8px}.answers td{padding:5px 8px;border-bottom:1px solid #f2f2f2;vertical-align:top}.answers td.muted{color:var(--muted);white-space:nowrap}.verdict{margin:0;font-size:14px}.verdict.active_red{color:var(--danger)}.verdict.active_orange{color:#d35400}.verdict.stable_green{color:#00a65a}.combo{position:relative}.combo input{padding-right:26px}.combo-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:transparent;border:0;color:var(--muted);cursor:pointer;font-size:12px;line-height:1;padding:2px}.combo-list{position:absolute;z-index:50;left:0;right:0;top:calc(100% + 2px);margin:0;padding:4px 0;list-style:none;max-height:260px;overflow-y:auto;background:#fff;border:1px solid var(--line);border-radius:3px;box-shadow:0 4px 14px #00000024}.combo-item{padding:6px 10px;font-size:13px;cursor:pointer}.combo-item.on{background:var(--brand);color:#fff}.combo-empty{padding:6px 10px;font-size:13px;color:var(--muted)}.action{display:inline-flex;flex-direction:column;gap:3px}.action .why{color:var(--muted);font-size:11px;max-width:240px;line-height:1.3}.dials{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px}.dial{margin:0;text-align:center}.dial img{max-width:240px;width:100%;height:auto}.dial figcaption{font-size:12px;color:var(--ink);text-align:justify;margin-top:6px;line-height:1.35}.opros-plot,.opros-results img{width:100%;height:auto}.conclusion{font-size:14px;line-height:1.45;margin-top:10px}.opros-results{margin-top:16px;text-align:left}.packages{margin:0 0 10px 18px;font-size:14px}.packages li{margin-bottom:5px}.why{font-size:13px;margin-top:8px}.why ul{margin:6px 0 0 18px;color:var(--muted)}.why li.fired{color:var(--ink);font-weight:600}.analytes{columns:2;margin:0 0 0 18px;font-size:13px}.analytes li{break-inside:avoid;margin-bottom:3px}.analytes .unit{color:var(--muted)}.analytes .sample{color:var(--muted);font-size:11px;margin-left:6px}textarea.recom{width:100%;font:inherit;font-size:13px}.recom-block{margin-top:10px;font-size:13px}.recom-text{max-height:260px;overflow-y:auto;border:1px solid var(--line);padding:10px;margin:8px 0;font-size:13px;line-height:1.4}.radars{display:flex;flex-wrap:wrap;gap:10px 16px;justify-content:center;margin-bottom:14px}.radar{margin:0;flex:1 1 300px;max-width:460px;text-align:center}.radar figcaption{font-size:13px;margin-bottom:4px}.radar img{width:100%;height:auto}.radar .none{color:var(--muted);font-size:13px;padding:20px 0}.intro.drawing{color:var(--muted)}.download{font:inherit;padding:8px 14px;border-radius:3px;cursor:pointer;border:1px solid var(--line);background:#f4f4f4;margin-bottom:10px}.upload .chosen{display:block}.lab-report{border:1px solid var(--line);border-left:3px solid #3c8dbc;padding:10px 14px;margin-top:12px;font-size:13px}.lab-report p{margin:0 0 6px}.lab-report ul{margin:6px 0 6px 18px}.lab-report summary{cursor:pointer;font-weight:600}.lab-report .note{color:var(--muted)}.recom-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}.recom-actions button{font:inherit;font-size:13px;padding:8px 14px;border-radius:3px;cursor:pointer;border:1px solid var(--line)}.recom-actions .accept{background:#1cac78;color:#000;border-color:#169163}.recom-actions .ghost{background:#444;color:#fff;border-color:#333}.box h2 .empty-recom{margin-left:auto;margin-right:12px;font-size:12px;font-weight:400;opacity:.8}.box-body[hidden]{display:none}.box h2 .guide{font:inherit;font-size:12px;font-weight:400;padding:4px 10px;border-radius:3px;cursor:pointer;border:1px solid rgba(255,255,255,.35);background:#ffffff1f;color:#fff}.box h2 .guide:hover{background:#ffffff38}.guide-text{font-size:14px;line-height:1.5;max-height:60vh;overflow-y:auto}.staff-login,.manage-entry{margin-top:26px;padding-top:18px;border-top:1px solid var(--line);text-align:left}.staff-login h3,.manage-entry h3{margin:0 0 4px;font-size:15px;color:var(--brand)}.staff-login .hint,.manage-entry .hint{margin:0 0 10px}.staff-login button{width:100%;font:inherit;padding:9px;border-radius:3px;cursor:pointer;border:1px solid var(--line);background:#f4f4f4}.gate h2{color:var(--brand);font-size:18px;margin:0 0 8px}.linky{border:0;background:none;padding:0;font:inherit;color:var(--brand);text-decoration:underline;cursor:pointer}.sidebar .whoami .linky{color:#c8d4ea}.diary{display:flex;flex-direction:column;gap:18px}.diary-day-title{margin:0;font-size:17px}.diary-actions{display:flex;gap:10px;flex-wrap:wrap}.diary-privacy{color:var(--muted);font-size:13px;margin:0}.diary-questions{margin:0;padding:10px 14px;border-left:4px solid #f39c12;background:#fff8e8;border-radius:6px}.diary-counters{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.diary-counter{display:flex;flex-direction:column;gap:4px;padding:16px 18px;background:var(--surface);border:1px solid var(--line);border-radius:10px}.diary-counter .value{font-size:30px;font-weight:700;line-height:1.1}.diary-counter .label{color:var(--muted);font-size:14px}.diary-counter .note{color:var(--muted);font-size:12px}.diary-chart{width:100%;max-width:980px}.diary-stats,.reflection-history{width:100%;border-collapse:collapse}.diary-stats th,.diary-stats td,.reflection-history th,.reflection-history td{padding:7px 10px;border-bottom:1px solid #f0f0f0;text-align:left}.diary-stats th,.reflection-history th{color:var(--muted);font-weight:600;font-size:13px}.diary-stats td:not(:first-child){text-align:right}.reflection-history tbody tr{cursor:pointer}.reflection-history tbody tr:hover{background:var(--surface)}.reflection-period{font-weight:600;margin:0 0 6px}.reflection-locked{text-align:center;padding:40px 20px}.reflection-locked h3{margin:0 0 8px;font-size:18px}.reflection-locked p{color:var(--muted);margin:0}.reflection-detail{margin-top:18px;padding:15px;background:var(--surface);border-radius:8px}.reflection-detail h4{margin:0 0 10px}.reflection-detail p{margin:4px 0 12px}.tools .diary-today{display:flex;flex-direction:column;gap:4px}.diary-range{display:flex;align-items:center;gap:8px}.diary-range input{width:120px}.linklike{background:none;border:0;padding:0;color:var(--brand);text-decoration:underline;cursor:pointer;font:inherit}.curator{display:flex;flex-direction:column;gap:18px}.curator-table{width:100%;border-collapse:collapse;font-size:14px}.curator-table th,.curator-table td{padding:7px 10px;border-bottom:1px solid #f0f0f0;text-align:left;vertical-align:top}.curator-table th{color:var(--muted);font-weight:600;font-size:13px}.curator-table tr.off{color:var(--muted)}.row-actions{display:flex;gap:6px;flex-wrap:wrap}.row-actions button{font-size:12px;padding:3px 8px}.issue-sheet{border:2px solid var(--brand)}.issue-sheet p{margin:4px 0}.import-box .hint{max-width:70ch}.import-summary{font-weight:600;margin:0 0 8px}.import-table tr.off td:last-child{color:var(--danger, #b00)}@media print{.sidebar,.bar,.notices,.curator-table{display:none!important}.box:not(.issue-sheet):not(:has(.issue-sheet)){display:none!important}.issue-sheet .curator-table{display:table!important}}
