/* 保留原型主样式；补齐表单语义、移动溢出和运行状态。 */
.topbar form{display:inline}.logout{background:none;border:0;cursor:pointer;font:inherit}.messages{width:100%;margin-bottom:16px}.auth-card.wide{max-width:600px;width:100%}.prewrap{white-space:pre-wrap}.mono,code{overflow-wrap:anywhere}.form-row input:not([type=checkbox]),.form-row select,.form-row textarea{width:100%;padding:10px;border:1px solid var(--c-border);border-radius:8px;font:inherit}.form-row textarea{min-height:90px}.checkbox-row{margin:10px 0}.errorlist{color:#b91c1c;padding:10px 24px}.revision{border-top:1px solid var(--c-border);padding:16px 0}.table-wrap{max-width:100%;overflow-x:auto}.table{min-width:560px}.task-head,.task-actions,.filter-bar,.flex-between{flex-wrap:wrap;gap:10px}.task-file{overflow-wrap:anywhere}fieldset{border:1px solid var(--c-border);padding:12px;margin-bottom:16px}summary{cursor:pointer}details{margin-bottom:12px}button:disabled{opacity:.5;cursor:not-allowed}:focus-visible{outline:3px solid #93c5fd;outline-offset:3px}.rubric-row{padding:16px;border:1px solid var(--c-border);margin:12px 0;border-radius:12px}.rubric-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}progress{width:100%}.auth-wrap{flex-direction:column}.alert-danger{background:#fef2f2;color:#b91c1c;padding:12px;border-radius:8px}ol{padding-left:24px}td{max-width:360px;overflow-wrap:anywhere}.receipt{border:2px solid var(--c-border)}
@media(max-width:600px){.topbar-inner{height:auto;min-height:56px;flex-wrap:wrap;padding:12px 0;gap:8px}.topbar .logo{width:100%}.topbar .nav-link{margin-left:0;margin-right:8px}.container{padding:16px 12px 40px}.card{padding:16px}.task-grid,.rubric-grid{grid-template-columns:1fr}.stat-grid,.stat-grid.cols-8{grid-template-columns:repeat(2,minmax(0,1fr))}.tabs{overflow-x:auto;max-width:100%;white-space:nowrap}.auth-card{width:100%;padding:24px 18px}.auth-wrap{padding:12px}.filter-bar>*{max-width:100%}.task-name{overflow-wrap:anywhere}.receipt table{min-width:0}.receipt th{width:95px}.topbar .spacer{display:none}}
@media print{.topbar,button,.tabs,.messages{display:none}.container{max-width:none}.receipt{box-shadow:none}}
.topbar button.nav-link{color:#dbeafe}.receipt table{width:100%;table-layout:fixed}.receipt table.table td,.receipt table.table th{white-space:normal;overflow-wrap:anywhere}.receipt .mono{word-break:break-all}
.auth-card.wide{width:640px;max-width:100%}@media(max-width:600px){.form-2col{grid-template-columns:1fr}}
