:root{--bg:#f8fafc;--surface:#fff;--border:#e2e8f0;--text:#0f172a;--text-muted:#64748b;--text-faint:#94a3b8;--attention:#b45309;--attention-bg:#fffbeb;--attention-border:#fcd34d;--success:#047857;--success-bg:#ecfdf5;--success-border:#6ee7b7;--danger:#b91c1c;--danger-bg:#fef2f2;--danger-border:#fca5a5;--primary:#1e293b;--info-bg:#f1f5f9;--radius:10px;--tap:48px}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.screen{background:var(--bg);max-width:480px;min-height:100vh;margin:0 auto;padding-bottom:96px}.desktop{max-width:1200px}.topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:10;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;top:0}.topbar a{color:var(--text-muted);font-size:20px;text-decoration:none}.period-head{padding:16px}.period-head h1{letter-spacing:-.02em;margin:0;font-size:26px}.period-head .sub{color:var(--text-muted);margin:2px 0 0;font-size:15px}.period-head .date{color:var(--text-faint);margin:6px 0 0;font-size:13px}.group{margin:8px 0 20px}.group-head{letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;padding:8px 16px;font-size:12px;font-weight:700;display:flex}.group-head.attention{color:var(--attention)}.group-head.neutral{color:var(--text-muted)}.group-head.success{color:var(--success)}.dot{border-radius:50%;flex:none;width:8px;height:8px}.dot.attention{background:var(--attention)}.dot.neutral{background:var(--text-faint)}.dot.success{background:var(--success)}.rows{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.row:last-child{border-bottom:none}.row .who{min-width:0}.row .name{font-size:16px;font-weight:600}.row .meta{color:var(--text-muted);margin-top:2px;font-size:13px}.row .roll{color:var(--text-faint);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.decide{flex:none;gap:8px;display:flex}.decide button{min-height:var(--tap);min-width:84px;color:var(--text);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:0 14px;font-family:inherit;font-size:15px;font-weight:600}.decide button:active{background:var(--info-bg)}.icon-actions{flex:none;gap:8px;display:flex}.icon-actions button{width:var(--tap);height:var(--tap);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);cursor:pointer;place-items:center;font-family:inherit;font-size:20px;display:grid}.icon-actions button.confirm{color:var(--success);border-color:var(--success-border)}.icon-actions button.reject{color:var(--danger);border-color:var(--danger-border)}.collapsed{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);border-left:3px solid var(--success);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.collapsed .count{font-size:16px;font-weight:600}.collapsed summary{cursor:pointer;list-style:none}.collapsed summary::-webkit-details-marker{display:none}details.confirmed-group>summary{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);border-left:3px solid var(--success);cursor:pointer;justify-content:space-between;align-items:center;padding:14px 16px;list-style:none;display:flex}details.confirmed-group>summary::-webkit-details-marker{display:none}details.confirmed-group .show{color:var(--text-muted);font-size:14px;font-weight:600}.notice{border-radius:var(--radius);gap:10px;margin:16px;padding:12px 14px;font-size:14px;line-height:1.45;display:flex}.notice .glyph{flex:none;font-size:16px;line-height:1.3}.notice.info{background:var(--info-bg);color:var(--text-muted)}.notice.warn{background:var(--attention-bg);border:1px solid var(--attention-border);color:var(--attention)}.notice strong{color:var(--text);margin-bottom:2px;display:block}.notice a{color:inherit;font-weight:600}.closebar{max-width:480px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);margin:0 auto;position:fixed;bottom:0;left:0;right:0}.closebar .helper{text-align:center;color:var(--text-muted);margin-bottom:8px;font-size:13px}.closebar button{color:#fff;background:var(--primary);border-radius:var(--radius);cursor:pointer;letter-spacing:.01em;border:none;width:100%;min-height:52px;font-family:inherit;font-size:16px;font-weight:700}.closebar button[disabled]{color:#64748b;cursor:not-allowed;background:#cbd5e1}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:16px;padding:20px}.card h2{margin:0 0 4px;font-size:20px}.card p{color:var(--text-muted);margin:0 0 16px;font-size:14px}label{margin:12px 0 4px;font-size:13px;font-weight:600;display:block}input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],select{width:100%;min-height:var(--tap);color:var(--text);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);padding:0 12px;font-family:inherit;font-size:16px}button.primary{color:#fff;background:var(--primary);border-radius:var(--radius);cursor:pointer;border:none;width:100%;min-height:52px;margin-top:20px;font-family:inherit;font-size:16px;font-weight:700}.error{border-radius:var(--radius);background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger);margin:12px 16px;padding:12px 14px;font-size:14px}.list{margin:0;padding:0;list-style:none}.list a{border-bottom:1px solid var(--border);background:var(--surface);color:var(--text);min-height:var(--tap);justify-content:space-between;align-items:center;padding:14px 16px;text-decoration:none;display:flex}.list .chev{color:var(--text-faint)}.list .sub{color:var(--text-muted);font-size:13px}.range{flex-wrap:wrap;align-items:flex-end;gap:12px;padding:0 16px 12px;display:flex}.range label{color:var(--text-muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.range input{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);min-height:var(--tap);padding:8px 10px;font-size:15px}.range button{min-height:var(--tap);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);cursor:pointer;padding:0 16px;font-size:15px}.table-wrap{padding:0 16px;overflow-x:auto}.register{border-collapse:collapse;background:var(--surface);width:100%;min-width:640px;font-size:14px}.register th,.register td{border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:10px 12px}.register th{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:12px;font-weight:600}.register .num{text-align:right}.register .roll{color:var(--text-faint);font-variant-numeric:tabular-nums}.register .muted{color:var(--text-faint)}.register .low{color:var(--attention)}.register a{color:var(--text);font-weight:600;text-decoration:none}.register a:hover{text-decoration:underline}.export-bar{flex-wrap:wrap;align-items:center;gap:12px;padding:16px;display:flex}.export-bar button{min-height:var(--tap);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);cursor:pointer;padding:0 16px;font-size:15px}.export-bar .hint{color:var(--text-muted);font-size:13px}.tally{color:var(--text-muted);flex-wrap:wrap;gap:20px;padding:0 16px 16px;font-size:14px;display:flex}.tally .n{color:var(--text);margin-right:4px;font-size:20px;font-weight:600}.tally .muted .n{color:var(--text-faint)}.mark{background:var(--surface);border-bottom:1px solid var(--border)}.mark summary{cursor:pointer;min-height:var(--tap);align-items:center;padding:14px 16px;list-style:none;display:flex}.mark summary::-webkit-details-marker{display:none}.mark .name{font-size:16px;font-weight:600}.mark .meta{color:var(--text-muted);margin-top:2px;font-size:13px;display:block}.mark .provenance{color:var(--text-muted);margin:0;padding:0 16px 14px;font-size:14px;line-height:1.5}.amend-form{flex-wrap:wrap;gap:8px;padding:0 16px 16px;display:flex}.amend-form select,.amend-form input[type=text]{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);min-height:var(--tap);padding:8px 10px;font-size:15px}.amend-form input[type=text]{flex:1;min-width:180px}.amend-form button{min-height:var(--tap);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);cursor:pointer;padding:0 16px;font-size:15px}.rights-form{flex-direction:column;gap:16px;padding:0 16px 16px;display:flex}.rights-form label{color:var(--text-muted);flex-direction:column;gap:6px;font-size:14px;display:flex}.rights-form select,.rights-form textarea{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);min-height:var(--tap);padding:10px 12px;font-family:inherit;font-size:16px}.rights-form textarea{resize:vertical;line-height:1.5}.rights-form button{min-height:var(--tap);color:var(--on-primary);background:var(--primary);border-radius:var(--radius);cursor:pointer;border:none;padding:0 20px;font-size:16px;font-weight:600}.prefs-form{flex-direction:column;gap:16px;padding:0 16px 8px;display:flex}.prefs-form label{color:var(--text-muted);flex-direction:column;gap:6px;font-size:14px;display:flex}.prefs-form select{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);min-height:var(--tap);max-width:22rem;padding:10px 12px;font-family:inherit;font-size:16px}.prefs-form button{min-height:var(--tap);color:var(--on-primary);background:var(--primary);border-radius:var(--radius);cursor:pointer;border:none;align-self:flex-start;padding:0 20px;font-size:16px;font-weight:600}.prefs-form label.prefs-check{color:var(--text);flex-direction:row;align-items:flex-start;gap:10px;font-size:15px;line-height:1.5}.prefs-form .prefs-check input{flex:none;width:22px;height:22px;margin:0}.prefs-hint{color:var(--text-muted);margin:0;padding:0 16px;font-size:13px;line-height:1.6}.prefs-form .prefs-hint{margin-top:-8px;padding:0}.prefs-more{padding:8px 16px 16px}.prefs-more>summary{cursor:pointer;color:var(--text-muted);min-height:var(--tap);align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.prefs-more>summary::-webkit-details-marker{display:none}.prefs-more>summary:after{content:"›";transition:transform .15s}.prefs-more[open]>summary:after{transform:rotate(90deg)}.prefs-stop button{min-height:var(--tap);color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;margin-top:8px;padding:0 16px;font-family:inherit;font-size:15px}.signout,.signout-confirm button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px 6px;font-size:13px}.signout-confirm{color:var(--attention);align-items:center;gap:8px;font-size:13px;display:inline-flex}.signout-confirm button:first-of-type{color:var(--danger);font-weight:600}.decide[data-queued]:after,.icon-actions[data-queued]:after{content:"queued";color:var(--attention);align-self:center;margin-left:8px;font-size:12px}.row .name a{color:var(--text);text-decoration:none}.row .name a:hover{text-decoration:underline}.row:has(.name a){transition:background .12s}.row:has(.name a):hover{background:var(--info-bg)}.mark summary:after{content:"›";color:var(--text-faint);margin-left:auto;font-size:20px;line-height:1;transition:transform .14s}.mark[open] summary:after{transform:rotate(90deg)}.mark[open],.mark summary:hover{background:var(--info-bg)}.amend-form select{flex:none;width:auto;min-width:140px}.signin-alt{color:var(--text-muted);margin:16px 0 0;font-size:14px;line-height:1.5}.signin-alt a{color:var(--text)}.review-progress{background:var(--border);border-radius:3px;height:6px;margin:10px 0 0;overflow:hidden}.review-progress span{background:var(--success);height:100%;transition:width .2s;display:block}.order-tabs{gap:4px;padding:0 16px 12px;display:flex}.order-tabs a{border-radius:var(--radius);color:var(--text-muted);border:1px solid #0000;padding:8px 14px;font-size:14px;text-decoration:none}.order-tabs a.active{color:var(--text);background:var(--surface);border-color:var(--border);font-weight:600}.group-confirm{background:var(--info-bg);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:12px;margin:0 16px 16px;padding:14px 16px;display:flex}.group-confirm button{min-height:var(--tap);color:var(--on-primary);background:var(--primary);border-radius:var(--radius);cursor:pointer;border:none;padding:0 18px;font-size:15px;font-weight:600}.group-confirm .hint{color:var(--text-muted);font-size:13px}.mark-row{background:var(--surface);border-bottom:1px solid var(--border);padding:14px 16px}.mark-row header{align-items:flex-start;gap:12px;display:flex}.mark-row .who{flex:1;min-width:0}.mark-row .name{font-size:16px;font-weight:600}.mark-row .meta{color:var(--text-muted);margin-top:2px;font-size:13px;display:block}.chip{background:var(--info-bg);color:var(--text-muted);border-radius:999px;flex:none;padding:3px 9px;font-size:12px}.chip.attention{background:var(--warn-bg,var(--info-bg));color:var(--attention)}.read-as{color:var(--text-muted);margin:10px 0 0;font-size:14px}.read-as strong{color:var(--text)}.criterion{color:var(--text-muted);margin:6px 0 0;font-size:13px;line-height:1.5}.criterion .met{color:var(--success);margin-right:6px;font-weight:700}.criterion .unmet{color:var(--text-faint);margin-right:6px;font-weight:700}.needs-person{color:var(--attention);margin:8px 0 0;font-size:13px;line-height:1.5}.mark-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.mark-actions button{min-height:var(--tap);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);cursor:pointer;padding:0 16px;font-size:15px}.mark-actions .confirm-proposed{color:var(--on-primary);background:var(--primary);border-color:var(--primary);font-weight:600}.mark-actions .amend{gap:6px;display:inline-flex}.mark-actions .amend input{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);width:92px;color:var(--text);min-height:var(--tap);padding:8px 10px;font-size:15px}.mark-actions .see-answer{color:var(--text-muted);margin-left:auto;font-size:13px}.export-bar button:disabled{opacity:.45;cursor:not-allowed}
