*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:#1f2328;background:#f7f8fa;min-height:100vh;font-family:-apple-system,Segoe UI,system-ui,sans-serif;font-size:14px;line-height:1.6}.app{flex-direction:column;min-height:100vh;display:flex}.header{z-index:100;background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0}.header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;max-width:1100px;margin:0 auto;padding:14px 20px;display:flex}.header-title{align-items:center;gap:10px;display:flex}.header-logo{flex-shrink:0}.header-title h1{font-size:18px;font-weight:700}.header-sub{color:#57606a;font-size:11px}.header-right{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.main{width:100%;max-width:1100px;margin:0 auto;padding:24px 20px}.stats-bar{background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-wrap:wrap;align-items:center;gap:0;margin-bottom:16px;padding:12px 24px;display:flex}.stat{flex-direction:column;align-items:center;padding:0 20px;display:flex}.stat-num{color:#1f2328;font-size:22px;font-weight:700}.stat-label{color:#57606a;font-size:11px}.stat-divider{background:#e5e7eb;width:1px;height:36px}.filter-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:20px;display:flex}.filter-label{color:#57606a;margin-right:4px;font-size:12px}.filter-btn{cursor:pointer;color:#57606a;background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:5px 14px;font-family:inherit;font-size:12px;transition:all .12s}.filter-btn:hover{background:#f7f8fa}.filter-btn.active{color:#fff;background:#3b82d4;border-color:#3b82d4;font-weight:600}.filter-btn.active-green{color:#fff;background:#22c55e;border-color:#22c55e;font-weight:600}.filter-search{background:#fff;border:1px solid #e5e7eb;border-radius:6px;width:200px;margin-left:auto;padding:5px 12px;font-family:inherit;font-size:13px}.filter-search:focus{border-color:#3b82d4;outline:none}.grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;gap:10px;padding:16px;transition:box-shadow .15s;display:flex}.card:hover{box-shadow:0 2px 8px #00000014}.card.inactive{opacity:.65}.card.card-fureai{border-left:3px solid #22c55e}.card.card-fureai.inactive{border-left-color:#94a3b8}.card-top{flex-direction:column;gap:6px;display:flex}.card-name{word-break:break-word;font-size:15px;font-weight:700}.card-badges{flex-wrap:wrap;gap:6px;display:flex}.badge{white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.badge-active{color:#166534;background:#dcfce7}.badge-inactive{color:#475569;background:#f1f5f9}.badge-target{color:#374151;background:#f1f5f9}.badge-amazon{color:#92400e;background:#fef3c7}.badge-mercari{color:#9d174d;background:#fce7f3}.badge-custom{color:#5b21b6;background:#ede9fe}.badge-fureai{color:#166534;background:#dcfce7}.badge-slack{color:#1d4ed8;background:#dbeafe}.badge-line{color:#166534;background:#dcfce7}.badge-email{color:#92400e;background:#fef3c7}.card-url{color:#3b82d4;word-break:break-all;font-size:12px}.card-url a{color:inherit}.card-price-row{align-items:center;gap:8px;display:flex}.card-price-label{color:#57606a;flex-shrink:0;font-size:12px}.price-input{border:1px solid #e5e7eb;border-radius:6px;width:100px;padding:4px 8px;font-family:inherit;font-size:13px}.price-input:focus{border-color:#3b82d4;outline:none}.vacancy-row{background:#f7f8fa;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.vacancy-icon{font-size:22px}.vacancy-text{font-size:13px;font-weight:600}.vacancy-ok{color:#166534}.vacancy-none{color:#57606a}.vacancy-detail{color:#57606a;margin-left:auto;font-size:11px}.fureai-config-row{color:#57606a;flex-wrap:wrap;gap:8px;font-size:11px;display:flex}.fureai-config-row span{background:#f7f8fa;border:1px solid #e5e7eb;border-radius:10px;padding:2px 8px}.card-actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.btn-primary{color:#fff;cursor:pointer;background:#3b82d4;border:none;border-radius:6px;padding:7px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:background .12s}.btn-primary:hover{background:#2563c0}.btn-primary.btn-green{background:#22c55e}.btn-primary.btn-green:hover{background:#16a34a}.btn-secondary{color:#1f2328;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:7px 14px;font-family:inherit;font-size:13px;transition:background .12s}.btn-secondary:hover{background:#f7f8fa}.btn-danger{color:#b91c1c;cursor:pointer;background:#fff;border:1px solid #fecaca;border-radius:6px;padding:7px 14px;font-family:inherit;font-size:13px}.btn-danger:hover{background:#fee2e2}.btn-sm{padding:4px 10px;font-size:12px}.btn-toggle{cursor:pointer;color:#57606a;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:12px}.btn-toggle:hover{background:#f1f5f9}.state-msg{color:#57606a;text-align:center;padding:40px}.state-msg.error{color:#b91c1c}.empty{text-align:center;color:#57606a;flex-direction:column;align-items:center;gap:16px;padding:60px 20px;display:flex}.overlay{z-index:200;background:#00000059;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:12px;flex-direction:column;gap:16px;width:100%;max-width:520px;max-height:90vh;padding:24px;display:flex;overflow-y:auto}.modal-wide{max-width:720px}.modal-header{justify-content:space-between;align-items:center;display:flex}.modal-header h2{font-size:16px;font-weight:700}.btn-close{cursor:pointer;color:#57606a;background:0 0;border:none;font-size:20px;line-height:1}.form-grid{flex-direction:column;gap:14px;display:flex}.field{flex-direction:column;gap:5px;display:flex}.field label{font-size:13px;font-weight:600}.field input,.field select,.field textarea{background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:8px 10px;font-family:inherit;font-size:14px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#3b82d4;outline:none}.field input:disabled{color:#57606a;background:#f7f8fa}.field .hint{color:#57606a;font-size:11px}.field-row{gap:12px;display:flex}.field-row .field{flex:1}.form-actions{justify-content:flex-end;gap:8px;display:flex}.input-error{border-color:#f87171!important}.err-msg{color:#b91c1c;font-size:12px}.fureai-box{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;flex-direction:column;gap:12px;padding:14px 16px;display:flex}.fureai-box-title{color:#166534;align-items:center;gap:6px;font-size:13px;font-weight:700;display:flex}.fureai-box .field-row{gap:10px}.fureai-box .field label{color:#1f2328}.notif-row{background:#f7f8fa;border:1px solid #e5e7eb;border-radius:6px;margin-top:8px;padding:12px 14px}.notif-row-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.notif-index{color:#57606a;font-size:12px;font-weight:700}.detail-section{flex-direction:column;gap:8px;display:flex}.detail-section h3{color:#57606a;text-transform:uppercase;letter-spacing:.05em;font-size:13px;font-weight:700}.history-table{border-collapse:collapse;width:100%;font-size:13px}.history-table th{text-align:left;color:#57606a;border-bottom:2px solid #e5e7eb;padding:6px 10px;font-weight:600}.history-table td{border-bottom:1px solid #e5e7eb;padding:6px 10px}.history-table tr:last-child td{border-bottom:none}.price-ok{color:#166534;font-weight:700}.price-err{color:#b91c1c}.vacancy-timeline{flex-wrap:wrap;gap:4px;padding:4px 0;display:flex}.vt-dot{cursor:default;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;display:flex}.vt-dot-ok{background:#dcfce7;border-color:#bbf7d0}.vt-dot-none{color:#94a3b8;background:#f1f5f9;border-color:#e5e7eb}.vt-dot-err{color:#b91c1c;background:#fee2e2;border-color:#fecaca}.health{background:#fff;border:1px solid #e5e7eb;border-radius:20px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;display:flex}.health-dot{border-radius:50%;width:8px;height:8px}.health-ok .health-dot{background:#22c55e}.health-bad .health-dot{background:#ef4444}.sparkline{width:100%;height:60px}@media (width<=600px){.header-inner{padding:10px 14px}.main{padding:16px 12px}.stats-bar{padding:8px 12px}.stat{padding:0 12px}.filter-search{width:140px}.modal{padding:16px}}.auth-loading{color:#57606a;justify-content:center;align-items:center;min-height:100vh;font-size:14px;display:flex}.login-page{background:#f7f8fa;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;gap:16px;width:100%;max-width:400px;padding:40px 36px;display:flex}.login-logo{flex-direction:column;align-items:center;gap:8px;margin-bottom:8px;display:flex}.login-title{font-size:22px;font-weight:700}.login-sub{color:#57606a;text-align:center;font-size:12px}.login-form{flex-direction:column;gap:14px;display:flex}.btn-full{text-align:center;justify-content:center;width:100%}.btn-small-text{color:#57606a;font-size:12px}.month-checks{flex-wrap:wrap;gap:6px 12px;padding:8px 0;display:flex}.month-check-item{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:5px;font-size:13px;display:flex}.month-check-item input[type=checkbox]{cursor:pointer}.detail-tabs{background:#f7f8fa;border-bottom:1px solid #e5e7eb;gap:4px;padding:0 20px;display:flex}.detail-tab{cursor:pointer;color:#57606a;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 16px;font-size:13px}.detail-tab:hover{color:#1f2328}.detail-tab-active{color:#3b82d4;border-bottom-color:#3b82d4;font-weight:600}.booking-panel{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;flex-direction:column;gap:10px;margin:4px 0 8px;padding:14px 16px;display:flex}.booking-panel-title{color:#0369a1;font-size:13px;font-weight:600}.booking-no-login{color:#b45309;background:#fef3c7;border-radius:4px;padding:6px 10px;font-size:12px}.bp-vacancy-list{flex-direction:column;gap:6px;display:flex}.bp-vacancy-card{cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1.5px solid #e0f2fe;border-radius:6px;align-items:center;gap:10px;padding:10px 14px;transition:border-color .12s,background .12s;display:flex}.bp-vacancy-card:hover{background:#f0f9ff;border-color:#7dd3fc}.bp-vacancy-card.bp-selected{background:#e0f2fe;border-color:#0ea5e9}.bp-radio{accent-color:#0ea5e9;flex-shrink:0}.bp-card-date{color:#1f2328;min-width:96px;font-size:13px;font-weight:700}.bp-card-time{color:#0369a1;min-width:56px;font-size:13px;font-weight:600}.bp-card-court{color:#57606a;font-size:12px}.bp-footer{padding-top:4px}.bp-confirm{width:100%;padding:10px 16px;font-size:13px}.bp-confirm:disabled{opacity:.55;cursor:not-allowed}.bp-result{background:#f7f8fa;border:1px solid #e5e7eb;border-radius:6px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}.bp-result[data-status=success]{background:#f0fdf4;border-color:#bbf7d0}.bp-result[data-status=failed]{background:#fef2f2;border-color:#fecaca}.bp-result[data-status=pending]{background:#fefce8;border-color:#fde047}.bp-result-detail{color:#57606a;font-size:12px}.bp-retry{margin-left:auto;font-size:12px}.bp-latest-banner{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:10px 14px;font-size:13px;font-weight:600;display:flex}.booking-badge{border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.booking-badge-pending{color:#854d0e;background:#fef9c3}.booking-badge-success{color:#166534;background:#dcfce7}.booking-badge-failed{color:#991b1b;background:#fee2e2}.fureai-login-box{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;margin-top:12px;padding:12px 14px}.fureai-login-title{color:#166534;margin-bottom:10px;font-size:13px;font-weight:600}.auto-book-field{background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;margin-top:12px;padding:10px 14px}.auto-book-field--disabled{opacity:.7;background:#f3f4f6;border-color:#d1d5db}.auto-book-label{color:#1e40af;cursor:pointer;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.auto-book-field--disabled .auto-book-label{color:#6b7280;cursor:not-allowed}.auto-book-label input[type=checkbox]{accent-color:#2563eb;cursor:pointer;width:17px;height:17px}.auto-book-field--disabled .auto-book-label input[type=checkbox]{cursor:not-allowed}
