:root{--bg: #f4f5f3;--surface: #ffffff;--ink: #1d2420;--muted: #5c6660;--line: #dde1dd;--accent: #166b4d;--accent-dark: #0f5139;--accent-soft: #e3efe8;--danger: #b3261e;--danger-soft: #f9e8e7;--radius: 8px;--font: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--ink);font-size:15px;line-height:1.5}a{color:var(--accent)}.topbar{background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.topbar-inner{max-width:960px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.brand{font-weight:700;font-size:17px;text-decoration:none;color:var(--ink);margin-right:auto}.brand span{color:var(--accent)}.nav{display:flex;gap:4px;flex-wrap:wrap}.nav a{text-decoration:none;color:var(--muted);padding:7px 12px;border-radius:6px;font-weight:600;font-size:14px}.nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent-dark)}.userbox{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.container{max-width:960px;margin:0 auto;padding:24px 16px 48px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-bottom:16px}.card h2{margin:0 0 4px;font-size:19px}.card .subtitle{margin:0 0 16px;color:var(--muted);font-size:13.5px}.field{margin-bottom:14px}.field>label,.field>.label{display:block;font-weight:600;font-size:14px;margin-bottom:6px}input[type=text],input[type=date],input[type=number],select{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:6px;font:inherit;background:var(--surface);color:var(--ink)}input:focus,select:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.hint{font-size:12.5px;color:var(--muted);margin-top:4px}.error{color:var(--danger);font-size:13px;margin-top:6px}.radio-row{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:8px}.radio-row label{display:flex;align-items:center;gap:7px;font-size:14px;cursor:pointer}.search-wrap{position:relative}.search-results{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--surface);border:1px solid var(--line);border-radius:6px;box-shadow:0 8px 24px #0000001f;max-height:240px;overflow-y:auto;z-index:20;list-style:none;margin:0;padding:4px}.search-results li button{width:100%;text-align:left;background:none;border:none;padding:8px 10px;border-radius:5px;cursor:pointer;font:inherit;color:var(--ink)}.search-results li button:hover{background:var(--accent-soft)}.search-results .no-order{font-size:12px;color:var(--muted)}.search-status{padding:8px 10px;font-size:13px;color:var(--muted)}.picked-order{display:flex;align-items:center;gap:8px;background:var(--accent-soft);border-radius:6px;padding:8px 10px;font-size:14px}.team-group{border:1px solid var(--line);border-radius:6px;margin-bottom:10px}.team-group>summary{padding:9px 12px;font-weight:700;font-size:14px;cursor:pointer;background:#f8f9f8;border-radius:6px}.team-group[open]>summary{border-radius:6px 6px 0 0;border-bottom:1px solid var(--line)}.team-members{padding:8px 12px 10px;display:grid;gap:6px}.team-members label{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}.team-members .inactive{color:var(--muted);text-decoration:line-through}.btn{display:inline-block;border:1px solid var(--accent);background:var(--accent);color:#fff;font:inherit;font-weight:600;font-size:14px;padding:9px 16px;border-radius:6px;cursor:pointer;text-decoration:none}.btn:hover{background:var(--accent-dark)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-ghost{background:var(--surface);color:var(--ink);border-color:var(--line)}.btn-ghost:hover{background:#f0f2f0}.btn-danger{background:var(--surface);color:var(--danger);border-color:var(--danger)}.btn-danger:hover{background:var(--danger-soft)}.btn-small{padding:5px 10px;font-size:13px}.btn-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.filter-row{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px;align-items:end;margin-bottom:8px}.filter-row .field{margin-bottom:8px}@media(max-width:640px){.filter-row{grid-template-columns:1fr}.filter-row .filter-reset{display:flex}.filter-row .filter-reset .btn{flex:1}}.pager{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}.pager-info{font-size:13.5px;color:var(--muted)}.pager-pages{display:flex;gap:4px;flex-wrap:wrap}.bulkbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--danger-soft);border-radius:6px;padding:8px 12px;margin-bottom:10px;font-size:14px}.col-check{width:28px;text-align:center}.col-check input{width:16px;height:16px;accent-color:var(--accent)}@media(max-width:640px){body{font-size:14px}.container{padding:16px 12px 40px}.card{padding:16px}.card h2{font-size:17px}.topbar-inner{gap:8px;padding:8px 12px}.brand{font-size:16px}.nav{order:3;width:100%;overflow-x:auto;padding-bottom:2px}.nav a{white-space:nowrap}.userbox{font-size:12px}.userbox span{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}table{font-size:13.5px}th,td{padding:7px 8px}.btn-row>.btn{flex:1 1 auto;text-align:center}.login-wrap{margin-top:24px}.login-wrap h1{font-size:21px}.picked-order{flex-wrap:wrap}}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line)}th{font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}tr:last-child td{border-bottom:none}.notice{border-radius:6px;padding:10px 12px;font-size:14px;margin-bottom:14px}.notice-success{background:var(--accent-soft);color:var(--accent-dark)}.notice-error{background:var(--danger-soft);color:var(--danger)}.notice-info{background:#e8eef7;color:#1d3f6e}.login-wrap{max-width:420px;margin:48px auto 0;text-align:center}.login-wrap h1{font-size:24px;margin:0 0 8px}.login-wrap p{color:var(--muted);margin:0 0 20px}code.setup{display:block;text-align:left;background:#20241f;color:#e8ece8;padding:12px 14px;border-radius:6px;font-size:12.5px;overflow-x:auto;white-space:pre}
