[hidden] { display:none !important; }
.lab-header { padding:56px 0 32px; }
.crumb { display:inline-block; margin-bottom:24px; font-size:12px; color:var(--muted); }
.crumb:hover { color:var(--fg); }
.lab-header h1 { font-size:clamp(30px,5vw,44px); margin-bottom:16px; }
.lab-main { padding-bottom:72px; }
.lab-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.lab-panel { padding:26px; border:1px solid var(--line); border-radius:14px; min-width:0; background:var(--card); }
.lab-panel h2 { margin:0 0 22px; font-size:17px; font-weight:600; }
.lab-label { display:block; font-size:13px; margin-bottom:18px; }
.lab-input,.lab-select,.lab-area { width:100%; margin-top:8px; padding:11px 12px; border:1px solid var(--line); border-radius:8px; background:var(--bg); color:var(--fg); font:inherit; font-size:15px; min-width:0; }
.lab-area { min-height:240px; resize:none; line-height:1.7; overflow:auto; }
.lab-select { cursor:pointer; }
.lab-input:focus,.lab-select:focus,.lab-area:focus { outline:2px solid var(--fg); outline-offset:2px; }
[aria-invalid="true"] { border-color:var(--fg); border-style:dashed; }
.lab-btn { display:inline-flex; justify-content:center; align-items:center; min-height:42px; padding:10px 19px; border:1px solid var(--line); border-radius:999px; background:transparent; color:var(--fg); font:inherit; font-size:13px; cursor:pointer; }
.lab-btn:hover { border-color:var(--fg); }
.lab-btn.primary { background:var(--fg); border-color:var(--fg); color:var(--bg); }
.lab-btn.primary:hover { opacity:.85; }
.lab-btn:disabled { opacity:.4; cursor:not-allowed; }
.lab-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.lab-help { color:var(--muted); font-size:12px; line-height:1.8; margin:10px 0 0; }
.lab-error { min-height:22px; font-size:12px; margin:8px 0 12px; line-height:1.7; }
.lab-status { min-height:24px; font-size:13px; margin:18px 0; }
.lab-note { margin-top:32px; padding-top:24px; border-top:1px solid var(--line); font-size:13px; color:var(--muted); line-height:1.9; }
.lab-note a { text-decoration:underline; text-underline-offset:4px; }
.lab-output { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; overflow-wrap:anywhere; font-size:14px; }
.result-row { padding:16px 0; border-top:1px solid var(--line); }
.result-row:first-of-type { border-top:0; padding-top:0; }
.result-label { display:block; font-size:11px; color:var(--muted); margin-bottom:7px; }
.result-row .lab-btn { min-height:32px; padding:6px 12px; margin-top:10px; font-size:12px; }
.text-counts { display:flex; gap:18px; flex-wrap:wrap; color:var(--muted); font-size:12px; }
.image-preview { display:block; max-width:100%; max-height:320px; margin:0 auto 20px; border-radius:8px; }
.image-empty { min-height:260px; display:flex; align-items:center; justify-content:center; color:var(--muted); font-size:13px; }
.file-input { display:block; width:100%; font:inherit; font-size:13px; color:var(--muted); }
.file-input::file-selector-button { padding:10px 16px; margin-right:12px; border:1px solid var(--line); border-radius:999px; color:var(--fg); background:var(--bg); cursor:pointer; }
.color-preview { display:flex; min-height:200px; align-items:center; justify-content:center; border-radius:10px; font-size:30px; font-weight:500; margin-bottom:20px; }
.color-picker { width:100%; height:52px; padding:4px; cursor:pointer; }
.wide-panel { margin-top:18px; }
@media(max-width:640px) { .lab-grid { grid-template-columns:1fr; } .lab-panel { padding:22px; } .lab-header { padding:36px 0 24px; } .lab-area { min-height:210px; } }

/* Independent tool pages */
.standalone-tool{padding-top:0;margin-bottom:40px}.inline-confirm{margin:14px 0}.inline-confirm p{font-size:14px;margin-top:0}.tools-directory{padding-bottom:24px}.generic-qr{padding:20px;background:#fff;border-radius:10px;display:inline-flex;max-width:100%}.generic-qr canvas{width:100%;max-width:250px;height:auto;image-rendering:pixelated}.day-count{display:flex;align-items:baseline;gap:12px;margin:20px 0}.day-count strong{font-size:clamp(48px,8vw,70px);font-weight:500;font-variant-numeric:tabular-nums;line-height:1.2}.day-count span{font-size:16px;color:var(--muted)}.check-label{display:flex;align-items:center;gap:10px;font-size:14px;cursor:pointer}.check-label input{width:18px;height:18px;accent-color:var(--fg);cursor:pointer}.standalone-tool~.lab-note{margin-bottom:65px}
