:root{color-scheme:light;--ink:#192b42;--muted:#63758c;--blue:#1665dc;--line:#dce4ee;--bg:#f3f6fb}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.7 system-ui,-apple-system,'Segoe UI',sans-serif}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}header{display:flex;align-items:center;gap:16px;padding:20px 5%;background:white;border-bottom:1px solid var(--line)}header form{margin-left:auto}header .brand{font-size:24px;font-weight:800;color:var(--ink)}.tag,.pill{font-size:12px;color:var(--muted);background:#eef3f9;padding:5px 10px;border-radius:16px}nav{display:flex;gap:20px;flex-wrap:wrap;padding:12px 5%;background:white;border-bottom:1px solid var(--line)}main{max-width:1200px;margin:32px auto;padding:0 24px}h1{font-size:30px;line-height:1.3}h2{font-size:20px}.hero{padding:32px;border-radius:18px;background:#eaf1ff;margin-bottom:20px}.eyebrow{letter-spacing:2px;font-size:12px;color:var(--blue);font-weight:700}.hero h1{margin:10px 0}.button,button,input[type=submit]{display:inline-block;border:0;border-radius:9px;background:var(--blue);color:white;padding:11px 18px;font:inherit;font-weight:600;cursor:pointer}.button:hover{text-decoration:none;background:#124faf}.secondary{color:var(--ink);background:#eaf0f8}.notice{padding:16px 20px;background:#fff4d7;border:1px solid #ebdba8;border-radius:12px;margin-bottom:24px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0}.card,.panel{background:white;border:1px solid var(--line);border-radius:14px;padding:24px}.card{color:var(--ink)}.card span{display:block;color:var(--muted)}.card strong{font-size:34px}.panel{margin:20px 0}.narrow{max-width:640px;margin:32px auto}.muted,footer{color:var(--muted)}.heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.table-wrap{overflow:auto;background:white;border:1px solid var(--line);border-radius:12px}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{padding:16px;text-align:left;border-bottom:1px solid var(--line)}th{background:#edf2f8;font-size:13px}td.text-cell{white-space:pre-wrap;min-width:220px;max-width:420px}tr.status-suspended{background:#ffb3b3}tr.status-shadow{background:#e7e7e7}tr.status-limited{background:#fff2a6}label{display:block;font-weight:600;margin-bottom:6px}input:not([type=hidden]):not([type=checkbox]),textarea,select{width:100%;padding:12px;border:1px solid #b7c6d9;border-radius:8px;font:inherit;background:white;color:var(--ink)}input[type=checkbox]{width:20px;height:20px}.helptext{display:block;color:var(--muted);font-size:13px}.errorlist{color:#a82020}.message{padding:14px 20px;background:#e0f5e8;border-radius:10px}.pagination{display:flex;justify-content:center;gap:24px;margin:24px}footer{padding:32px;text-align:center;font-size:12px}.btn{display:inline-block;margin:8px 8px 8px 0}.qr-code img{max-width:100%}@media(max-width:680px){header{gap:8px}.tag{display:none}main{padding:0 16px;margin-top:20px}.hero{padding:24px}.cards{grid-template-columns:repeat(2,1fr)}h1{font-size:25px}nav{gap:14px}.panel{padding:20px}.heading{align-items:flex-start}.heading .button{font-size:13px}.table-wrap{font-size:13px}}
[hidden]{display:none!important}button:disabled{opacity:.45;cursor:default}.heading{flex-wrap:wrap}.heading input[type=search]{max-width:520px;min-width:0}
.action-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0}.credential-cell{white-space:pre-wrap;overflow-wrap:anywhere;min-width:170px;max-width:300px;user-select:all}textarea[readonly]{margin-bottom:20px;overflow-wrap:anywhere}input[readonly]{margin-bottom:20px}code{overflow-wrap:anywhere}
.profile-link{display:table;margin-top:6px;padding:4px 10px;font-size:12px;line-height:1.5;white-space:nowrap}
.worker-claim-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin:18px 0}.worker-claim-card{border:1px solid var(--line);border-radius:12px;padding:18px;min-width:0;overflow-wrap:anywhere}.worker-claim-card h3{margin:0 0 10px}.worker-claim-state{color:#176343}.worker-claim-state.paused{color:#975411}.worker-claim-card form{margin-top:16px}.worker-claim-confirm{display:flex;align-items:flex-start;gap:8px;margin:10px 0;font-size:13px}.worker-claim-confirm input{flex:0 0 auto;width:18px;height:18px;margin:3px 0 0}.worker-claim-card button{max-width:100%;white-space:normal}@media(max-width:380px){.worker-claim-list{grid-template-columns:minmax(0,1fr)}}
.purpose-tabs .filter-tab{max-width:100%;white-space:normal;overflow-wrap:anywhere}.purpose-tabs .filter-tab span{flex-shrink:0}
.worker-site-flags{display:flex;flex-wrap:wrap;gap:10px 22px;margin:16px 0;font-size:13px}.worker-grants-wrap:focus-visible{outline:3px solid #80afff;outline-offset:3px}.worker-grants-table{min-width:850px}.worker-grants-table tbody th{background:white;min-width:210px}.worker-grants-name{display:block;font-size:15px;overflow-wrap:anywhere;max-width:260px;white-space:normal}.worker-grants-table tbody th small{display:block;font-weight:400;font-size:12px;margin-top:6px}.worker-grant{display:inline-block;border-radius:7px;padding:4px 9px;font-size:12px;font-weight:600}.worker-grant-on{color:#186743;background:#e4f5eb;border:1px solid #b9deca}.worker-grant-off{color:#64748b;background:#f0f3f7;border:1px solid #d9e1ea}.worker-grant-note{display:block;color:#875b0a;font-size:11px;margin-top:6px;white-space:normal;max-width:130px}
.plan-field{margin-bottom:20px}.plan-account-picker{border:0;padding:0;margin:0;min-width:0}.plan-account-picker legend{font-weight:600;margin-bottom:10px}.plan-picker-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.plan-picker-filters label{font-size:13px}.plan-picker-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.plan-picker-actions button{font-size:12px;padding:8px 11px}.plan-account-list{max-height:300px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border:1px solid var(--line);border-radius:10px;margin-top:12px;padding:8px;background:#f8faff}.plan-account-list:focus-visible{outline:3px solid #80afff;outline-offset:3px}.plan-account-option{display:flex;align-items:center;gap:10px;padding:9px 8px;margin:0;border-bottom:1px solid var(--line);font-weight:500;cursor:pointer}.plan-account-option:last-of-type{border-bottom:0}.plan-account-option input{flex:0 0 20px;margin:0}.plan-account-option span{overflow-wrap:anywhere;min-width:0}.plan-account-option small{font-size:12px;font-weight:400;margin-left:auto;text-align:right;overflow-wrap:anywhere;max-width:40%}.plan-confirm{margin:20px 0}.plan-confirm label{font-size:13px}.plan-confirm input{vertical-align:middle;margin-right:6px}.plan-panel #plan-submit{width:100%}@media(max-width:680px){.plan-picker-filters{grid-template-columns:minmax(0,1fr)}.plan-account-list{max-height:260px}.plan-account-option{font-size:13px}}
.record-account-status{display:table;margin-top:4px;padding:1px 7px;border:1px solid #ebc1c1;border-radius:5px;background:#fff2f2;color:#9a3030;font-size:11px;font-weight:600;line-height:1.5}
.job-completion-list{list-style:none;padding:0;margin:14px 0;max-height:400px;overflow:auto}.job-completion-entry{padding:12px;margin:8px 0;border:1px solid var(--line);border-left:4px solid #268264;border-radius:8px;background:#f7fcfa;overflow-wrap:anywhere}.job-completion-entry time{font-size:12px;color:var(--muted);margin-right:10px}.job-completion-entry strong{font-size:13px}.job-completion-entry p{margin:6px 0 0;font-size:13px}.job-completion-entry.job_failed{border-left-color:#bf4545;background:#fff7f7}.job-completion-entry.job_held,.job-completion-entry.job_retry_waiting{border-left-color:#bd8618;background:#fffaf0}.job-completion-entry.job_cancelled{border-left-color:#8190a3;background:#f7f9fc}.job-progress h2{font-size:20px}.job-progress p{overflow-wrap:anywhere}@media(max-width:680px){.job-progress h2{font-size:18px}.job-completion-entry time{display:block}.job-completion-list{max-height:330px}}
.worker-name-editor{margin-top:10px;font-weight:400}.worker-name-editor summary{font-size:12px;color:var(--blue);cursor:pointer}.worker-name-editor form{margin-top:10px;max-width:100%}.worker-name-editor label{font-size:12px}.worker-name-editor input[type=text]{width:100%;min-width:0;box-sizing:border-box;padding:7px;font-size:13px}.worker-name-editor button{margin-top:8px;padding:7px 10px;font-size:12px;white-space:normal}.worker-name-editor .errorlist{padding-left:16px;color:#9a3030;font-size:12px;overflow-wrap:anywhere}
.material-storage-status{display:inline-block;padding:3px 9px;border:1px solid var(--line);border-radius:6px;background:#f1f5fa;color:var(--muted);font-size:12px;white-space:nowrap}.material-storage-ready{background:#e3f5ed;color:#17694e;border-color:#acdcca}.material-storage-partial{background:#fff6dc;color:#80560b;border-color:#ebd395}.material-storage-error{background:#fff2f2;color:#9a3030;border-color:#ebc1c1}.material-storage-count{display:block;font-size:12px;color:var(--muted);margin-top:5px;white-space:nowrap}.material-storage-policy{overflow-wrap:anywhere}.table-wrap:focus-visible{outline:3px solid #80afff;outline-offset:3px}
.worker-grants-table{table-layout:fixed}.worker-grants-table th:first-child{position:sticky;left:0;z-index:1;width:200px;min-width:200px;max-width:200px;white-space:normal}.worker-grants-table thead th:first-child{z-index:2}
.check-result-action{display:block;margin-top:9px;font-size:12px;padding:7px 10px;width:fit-content}.check-manual-date{display:block;font-size:12px;margin-top:7px;white-space:normal}
.check-result-badge{display:inline-block;border-radius:7px;padding:4px 10px;background:#e1f4eb;color:#17694e;font-weight:600}.check-result-failed{background:#ffe7e7;color:#a22a2a}.check-result-unknown{background:#fff3d6;color:#82590f}.check-result-table .check-result-reason{min-width:290px;max-width:420px;overflow-wrap:anywhere}
.purpose-management-list{display:grid;gap:16px;margin:22px 0}.purpose-management-card{min-width:0;overflow-wrap:anywhere}.purpose-management-card h2{margin:0 0 8px}.purpose-management-card .action-row{flex-wrap:wrap;margin-top:16px}.purpose-management-card input[type=text]{width:100%;max-width:520px;min-width:0}.purpose-management-card label{white-space:normal}.purpose-management-card input[type=checkbox]{width:auto}.button.danger,button.danger{background:#b83d3d;color:white}.button.danger:hover,button.danger:hover{background:#9c3030}@media(max-width:680px){.purpose-management-card .button,.purpose-management-card button{white-space:normal}}
.account-note-cell{min-width:200px;max-width:320px}.account-note-preview{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.account-note-edit{display:inline-block;margin-top:4px;font-size:12px}.account-note-full{white-space:pre-wrap;overflow-wrap:anywhere}
.post-progress progress{display:block;width:100%;height:16px;accent-color:var(--blue)}.post-counter{font-size:24px;font-variant-numeric:tabular-nums}.post-progress .heading{flex-wrap:wrap}.post-result-filters>label{flex:1;min-width:180px}.result-success{background:#dff4e8;color:#186342}.result-hold{background:#fff0cd;color:#825300}.result-failed{background:#fee3e3;color:#9b2424}.result-active{background:#eaf1ff;color:#1665dc}
.plan-account-option .plan-post-state{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:3px;margin-left:0;max-width:none;text-align:left}.record-posted-text{min-width:250px;max-width:340px;white-space:normal;vertical-align:top}.record-text-preview{white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.record-text-full{white-space:pre-wrap;overflow-wrap:anywhere;max-width:340px;margin-top:8px}.record-posted-text details{font-size:13px;margin-top:6px}.record-posted-text summary{cursor:pointer;color:var(--blue)}
.account-filter-reset{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;margin:18px 0;border:1px solid #b7d0f7;border-radius:10px;background:#eaf2ff}.account-filter-reset>div{min-width:0}.account-filter-reset strong{font-size:14px}.account-filter-reset p{display:flex;flex-wrap:wrap;gap:6px 12px;margin:6px 0 0;font-size:13px}.account-filter-reset p span{overflow-wrap:anywhere;max-width:100%}.account-filter-reset .button{flex-shrink:0}@media(max-width:680px){.account-filter-reset{align-items:stretch;flex-direction:column}.account-filter-reset .button{text-align:center;white-space:normal}}
.record-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.record-summary-grid .metric-card.selected{border-color:var(--blue);background:#edf3ff}.record-summary-grid .record-summary-number{font-size:clamp(20px,2.4vw,30px);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.record-summary-grid .compact{font-size:12px;margin:0}@media(max-width:680px){.record-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.record-summary-grid .record-summary-number{font-size:25px}}
.filter-form>.record-date-control{flex:0 1 205px;min-width:170px}.record-date-control label{font-size:12px;margin-bottom:3px}.record-date-control input[type=date]{width:100%;min-width:0;max-width:100%;font-variant-numeric:tabular-nums}#record-filters{align-items:flex-end}@media(max-width:680px){#record-filters input[type=search]{flex-basis:100%}.filter-form>.record-date-control{flex:1 1 175px}}
.account-table-wrap{margin-top:12px}.account-table th:first-child,.account-table td:first-child{position:sticky;left:0;z-index:1;border-right:1px solid var(--line);min-width:170px}.account-table td:first-child{background:white}.account-table th:first-child{background:#edf2f8;z-index:2}.account-table tr.status-suspended td:first-child{background:#ffb3b3}.account-table tr.status-shadow td:first-child{background:#e7e7e7}.account-table tr.status-limited td:first-child{background:#fff2a6}.account-table.credentials-visible{min-width:1900px}.account-table-wrap:focus-visible{outline:3px solid #80afff;outline-offset:3px}
.metric-grid{display:grid;gap:12px;margin:18px 0}.category-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.status-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-card{display:flex;flex-direction:column;gap:6px;padding:18px;border:1px solid var(--line);border-radius:12px;background:#f8faff;color:var(--ink);transition:border-color .15s,background .15s}.metric-card:hover{border-color:var(--blue);background:#edf3ff;text-decoration:none}.metric-card span{font-size:14px;overflow-wrap:anywhere}.metric-card strong{font-size:32px;line-height:1.2}.metric-card small{font-size:12px;color:var(--blue)}.metric-suspended{border-top:4px solid #c74848}.metric-limited{border-top:4px solid #c78c12}.metric-sensitive{border-top:4px solid #ab5eb9}.metric-shadow{border-top:4px solid #79869b}.progress-summary{display:flex;flex-wrap:wrap;gap:12px 24px;padding-top:16px;border-top:1px solid var(--line)}.compact{font-size:13px;margin:10px 0 0}.filter-tabs{padding:0;background:transparent;border:0;gap:10px;margin:20px 0}.filter-tab{display:flex;align-items:center;gap:10px;padding:9px 14px;background:white;border:1px solid var(--line);border-radius:10px;color:var(--ink);font-weight:600}.filter-tab span{font-size:12px;padding:1px 8px;border-radius:12px;background:#eef3f9;color:var(--muted)}.filter-tab.selected{background:var(--blue);color:white;border-color:var(--blue)}.filter-tab.selected span{background:#ffffff26;color:white}.filter-tab:hover{text-decoration:none;border-color:var(--blue)}.filter-form{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:18px 0}.filter-form input[type=search]{flex:1;min-width:200px;max-width:600px}.filter-form>div{flex:1;min-width:180px}.filter-form button{white-space:nowrap}.result-count{font-size:14px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}a:focus-visible,button:focus-visible{outline:3px solid #80afff;outline-offset:3px}@media(max-width:680px){.status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card{padding:14px}.metric-card strong{font-size:28px}.filter-form{gap:10px}.filter-form input[type=search]{max-width:none}.filter-tabs{gap:8px}.filter-tab{padding:8px 11px}.progress-summary{gap:8px 16px}}
