:root{--ink: #1f2933;--muted: #6b7280;--accent: #1d4ed8;--line: #d1d5db;--bg: #f8fafc;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0}.page{max-width:1080px;margin:0 auto;padding:0 16px;min-height:100vh;display:flex;flex-direction:column}main{flex:1;padding:24px 0}.topbar{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px}.brand{font-weight:700;font-size:1.2rem;color:var(--ink);text-decoration:none}nav{display:flex;gap:16px;align-items:center}nav a{color:var(--ink);text-decoration:none}nav a.active{color:var(--accent);font-weight:600}button,.button{background:var(--accent);color:#fff;border:0;border-radius:6px;padding:9px 16px;font-size:1rem;cursor:pointer;text-decoration:none;display:inline-block;margin:4px 4px 4px 0}button:disabled{opacity:.5;cursor:not-allowed}button.link{background:none;color:var(--accent);padding:0;margin:0}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #93c5fd;outline-offset:2px}.tabs{display:flex;gap:4px;justify-content:center;margin-bottom:16px}.tabs button{background:#e5e7eb;color:var(--ink)}.tabs button.active{background:var(--accent);color:#fff}.search{max-width:680px;margin:0 auto;text-align:center}.search input#person,.search textarea{width:100%;font-size:1.4rem;padding:14px;border:2px solid var(--line);border-radius:8px}.features{border:0;text-align:left;margin:16px 0;padding:0}.features legend{font-weight:600;margin-bottom:8px}.features label{display:block;padding:8px;border-bottom:1px solid #eef2f7}.features label.disabled{color:var(--muted)}.features small{display:block;color:var(--muted);margin-left:24px}.badge{font-size:.75rem;background:#fef3c7;color:#92400e;border-radius:4px;padding:1px 6px;margin-left:6px}.badge.muted{background:#e5e7eb;color:var(--muted)}.quota,.hint{color:var(--muted);font-size:.9rem}.alert{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;border-radius:6px;padding:10px;margin:10px 0}.card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:16px;margin-bottom:16px}.bar{height:10px;background:#e5e7eb;border-radius:5px;overflow:hidden}.bar div{height:100%;background:var(--accent);transition:width .5s}.good-citizen{font-size:2rem;color:#166534;font-weight:700}.person{border-top:1px solid #eef2f7;padding-top:8px}table{width:100%;border-collapse:collapse;margin:8px 0}th,td{border:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top}th{background:#f1f5f9}.pricing td:first-child{font-weight:600}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center}.modal{background:#fff;padding:24px;border-radius:8px;min-width:280px;text-align:center}.config-row{display:flex;justify-content:space-between;gap:8px;padding:4px 0}.config-row input{width:220px}.inline{margin-right:8px;white-space:nowrap}.audit{font-size:.85rem;word-break:break-all}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}footer{color:var(--muted);font-size:.8rem;border-top:1px solid var(--line);padding:12px 0}
