:root{--bg: var(--tg-theme-bg-color, #faf8f5);--surface: var(--tg-theme-secondary-bg-color, #ffffff);--text: var(--tg-theme-text-color, #1d1b19);--muted: var(--tg-theme-hint-color, #6b645c);--accent: var(--tg-theme-button-color, #7a3b2e);--accent-text: var(--tg-theme-button-text-color, #ffffff);--link: var(--tg-theme-link-color, #7a3b2e);--line: color-mix(in srgb, var(--text) 12%, transparent);--danger: var(--tg-theme-destructive-text-color, #b3261e);--warn: #b26a00;--ok: #2e7d32;--radius: 12px;color-scheme:light dark}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: var(--tg-theme-bg-color, #171513);--surface: var(--tg-theme-secondary-bg-color, #221f1c);--text: var(--tg-theme-text-color, #f2ede7);--muted: var(--tg-theme-hint-color, #a39a90);--accent: var(--tg-theme-button-color, #c9826f);--link: var(--tg-theme-link-color, #e0a08f)}}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-text-size-adjust:100%}a{color:var(--link);text-decoration:none}.page{max-width:680px;margin:0 auto;padding:8px 16px 96px}.bar{display:flex;align-items:center;gap:8px;min-height:52px;position:sticky;top:0;background:var(--bg);z-index:2}.bar h1{font-size:20px;margin:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar .back{font-size:28px;padding:0 8px 0 0;line-height:1}h2{font-size:18px;margin:0}h3{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:24px 0 8px;font-weight:600}.muted{color:var(--muted)}.small{font-size:13px}.center{text-align:center}.warn{color:var(--warn);font-weight:600}.row{display:flex;align-items:center;justify-content:space-between;gap:8px}.grow{flex:1;min-width:0}.panel{background:var(--surface);border-radius:var(--radius);padding:14px 16px;margin:8px 0}.panel p{margin:6px 0 0}.note{background:color-mix(in srgb,var(--warn) 10%,transparent);border-radius:8px;padding:8px 10px}.notice{padding:10px 12px;border-radius:8px;background:var(--surface)}.notice.error{color:var(--danger)}.tabs{display:flex;gap:6px;margin:4px 0 8px;overflow-x:auto}.tabs a{padding:6px 12px;border-radius:999px;background:var(--surface);color:var(--text);white-space:nowrap}.tabs a.on{background:var(--accent);color:var(--accent-text)}.cards,.list,.steps{list-style:none;margin:0;padding:0}.card{display:flex;gap:12px;align-items:center;background:var(--surface);border-radius:var(--radius);padding:10px;margin-bottom:8px;color:var(--text)}.card img,.card .thumb{width:56px;height:56px;border-radius:8px;object-fit:cover;background:var(--line);flex:none}.list li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.list li a{color:var(--text)}.steps li{background:var(--surface);border-radius:var(--radius);padding:12px 14px;margin-bottom:8px;border-left:4px solid var(--line)}.steps li.in_progress{border-left-color:var(--accent)}.steps li.done{border-left-color:var(--ok);opacity:.8}.buttons{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.buttons.end{justify-content:flex-end;margin-top:24px}button,.button{font:inherit;border:0;border-radius:10px;padding:10px 16px;background:var(--surface);color:var(--text);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:44px}.panel button:not(.primary):not(.link),.panel .button{background:var(--bg)}.button{width:100%;margin:8px 0}button.primary,.button.primary{background:var(--accent);color:var(--accent-text);font-weight:600}button.big,.button.big{width:100%;min-height:52px;font-size:17px;margin:8px 0}button.link{background:none;padding:0;min-height:auto;color:var(--link);text-align:left}button.danger,.danger{color:var(--danger)}button:disabled{opacity:.5}.badge{font-size:12px;padding:2px 8px;border-radius:999px;white-space:nowrap;background:var(--line)}.badge.blue{background:color-mix(in srgb,var(--accent) 18%,transparent)}.badge.green{background:color-mix(in srgb,var(--ok) 18%,transparent);color:var(--ok)}.badge.orange{background:color-mix(in srgb,var(--warn) 18%,transparent);color:var(--warn)}.badge.red{background:color-mix(in srgb,var(--danger) 18%,transparent);color:var(--danger)}.spec{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;margin:10px 0 0}.spec dt{color:var(--muted)}.spec dd{margin:0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stats div{display:flex;flex-direction:column}.form label{display:flex;flex-direction:column;gap:4px;margin:10px 0;font-size:14px;color:var(--muted)}input,select,textarea{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;width:100%;min-height:44px}.search{margin:4px 0 12px;background:var(--surface)}.inline{display:flex;gap:8px;margin-top:16px}.segmented{display:flex;gap:4px;background:var(--bg);padding:4px;border-radius:10px}.segmented button{flex:1;min-height:36px;background:none}.segmented button.on{background:var(--surface);font-weight:600}.camera{width:100%;border-radius:var(--radius);margin-top:12px;background:#000}.tabbar{position:fixed;bottom:0;left:0;right:0;display:flex;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);z-index:3}.tabbar a{flex:1;text-align:center;padding:10px 0 12px;font-size:12px;color:var(--muted)}.tabbar a.on{color:var(--accent);font-weight:600}.toast{position:fixed;left:50%;bottom:84px;transform:translate(-50%);background:var(--text);color:var(--bg);padding:10px 16px;border-radius:10px;z-index:4;max-width:90vw}.login{text-align:center;padding-top:12vh;max-width:380px}.login h1{margin:12px 0 4px}details{margin:8px 0}.print{padding:16px;background:#fff;color:#000;min-height:100vh}.label{display:flex;gap:16px;align-items:flex-start;border:1px dashed #999;padding:12px;max-width:520px}.label .qr{width:160px;flex:none}.label.small .qr{width:110px}.label h1{margin:0 0 4px;font-size:22px}.label p{margin:2px 0}.label ol{list-style:none;padding:0;margin:8px 0 0;font-size:14px}@media print{.noprint{display:none}.label{border:0}}.steps button:not(.primary):not(.link){background:var(--bg)}.list li>span:last-child,.list li>.badge{white-space:nowrap;flex:none}
