:root{--bg: #1a1a1a;--surface: #272727;--card: #2e2e2e;--card-hover: #383838;--border: #3a3a3a;--text: #e0e0e0;--text-muted: #888;--radius: 8px;--in-stock: #4caf7d;--out-stock: #e05c6e;--unknown: #888;--error: #e09a3e;--accent: #5b8fd4}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:system-ui,sans-serif;font-size:14px;min-height:100vh}.login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh}.login-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:32px;width:320px;display:flex;flex-direction:column;gap:16px}.login-card h1{font-size:18px}.login-card input{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:8px 12px;font-size:14px}.login-card input:focus{outline:1px solid var(--accent)}.login-error{color:var(--out-stock);font-size:13px}.login-tabs{display:flex;gap:4px;background:var(--surface);border-radius:var(--radius);padding:4px}.login-tab{flex:1;background:none;border:none;color:var(--text-muted);padding:6px;border-radius:calc(var(--radius) - 2px);font-size:13px;cursor:pointer}.login-tab.active{background:var(--card);color:var(--text)}.app{max-width:1600px;margin:0 auto;padding:24px 16px}.app-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.app-header h1{font-size:20px;font-weight:600}button{cursor:pointer;border:none;border-radius:var(--radius);font-size:13px;padding:6px 14px;transition:opacity .15s;white-space:nowrap}button:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){opacity:.85}.btn-ghost{background:var(--card);color:var(--text);border:1px solid var(--border)}.btn-ghost:hover:not(:disabled){background:var(--card-hover)}.btn-danger{background:transparent;color:var(--out-stock);border:1px solid var(--out-stock)}.btn-danger:hover:not(:disabled){background:var(--out-stock);color:#fff}.btn-sm{padding:4px 10px;font-size:12px}.badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap}.badge-in_stock{background:var(--in-stock);color:#fff}.badge-out_of_stock{background:var(--out-stock);color:#fff}.badge-unknown{background:var(--surface);color:var(--text-muted);border:1px solid var(--border)}.badge-error{background:var(--error);color:#fff}.table-wrap{overflow-x:auto}.items-table{width:100%;border-collapse:collapse}.items-table th,.items-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);width:1%;white-space:nowrap}.items-table .name-cell{width:100%;max-width:0;overflow:hidden}.thumb-cell{width:52px;padding:6px 8px 6px 12px!important}.item-thumb{width:44px;height:44px;object-fit:contain;border-radius:4px;background:var(--surface);display:block}.item-thumb-clickable{cursor:zoom-in}.lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;cursor:zoom-out}.lightbox-img{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:var(--radius)}.item-thumb-empty{background:var(--surface);border:1px solid var(--border)}.items-table th{color:var(--text-muted);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.05em;background:var(--surface)}.items-table tr:hover td{background:var(--card)}.items-table .url-cell{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.items-table .url-cell a{color:var(--accent);text-decoration:none}.items-table .url-cell a:hover{text-decoration:underline}.actions{display:flex;gap:6px;white-space:nowrap}.empty-state{text-align:center;padding:64px 0;color:var(--text-muted)}.empty-state p{margin-top:8px;font-size:13px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:28px;width:460px;max-width:95vw;display:flex;flex-direction:column;gap:16px}.modal h2{font-size:16px}.modal-footer{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}.form-field{display:flex;flex-direction:column;gap:6px}.form-field label{font-size:12px;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.04em}.form-field input,.form-field select{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:8px 10px;font-size:14px;width:100%}.form-field input:focus,.form-field select:focus{outline:1px solid var(--accent)}.form-field select option{background:var(--surface)}.form-hint{font-size:11px;color:var(--text-muted)}.form-error{color:var(--out-stock);font-size:12px}.history-panel{margin-top:24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.history-panel h3{font-size:14px;margin-bottom:12px;color:var(--text-muted)}.history-list{display:flex;flex-direction:column;gap:6px}.history-item{display:flex;align-items:center;gap:10px;font-size:12px}.history-item .time{color:var(--text-muted);min-width:140px}.history-item .err{color:var(--error)}@media (max-width: 640px){.login-card{width:100%;max-width:360px;padding:24px 20px}.app{padding:16px 12px}.app-header{flex-wrap:wrap;gap:10px}.app-header h1{flex:1}.app-header>div{flex-wrap:wrap;gap:6px}.app-header .user-email,.col-url,.col-ts,.col-interval{display:none}.items-table th,.items-table td{padding:8px}.thumb-cell{padding:5px 4px 5px 8px!important}.actions{flex-wrap:wrap;gap:4px}.history-item{flex-wrap:wrap}.history-item .time{min-width:unset;width:100%}}
