:root{--jap-primary:#FF6600;--jap-primary-hover:#E55A00;--jap-primary-light:#FFE8D6;--jap-charcoal:#393939;--jap-cream:#F5E4D8;--jap-white:#FFFFFF;--jap-bg:#F7F7F7;--jap-surface:#FFFFFF;--jap-border:#E5E5E5;--jap-border-subtle:#F0F0F0;--jap-text:#333333;--jap-text-light:#666666;--jap-text-muted:#888888;--success:#10B981;--success-bg:#ECFDF5;--success-border:#A7F3D0;--success-text:#065F46;--warn:#F59E0B;--warn-bg:#FFFBEB;--warn-border:#FDE68A;--warn-text:#78350F;--error:#EF4444;--error-bg:#FEF2F2;--error-border:#FECACA;--error-text:#991B1B;--jap-radius-sm:4px;--jap-radius:8px;--jap-radius-lg:16px;--jap-max-width:1200px;--jap-font:"Trebuchet MS","Lucida Grande",Tahoma,sans-serif;--shadow-xs:0 1px 2px rgba(0,0,0,0.04);--shadow-sm:0 1px 3px rgba(0,0,0,0.06),0 1px 2px rgba(0,0,0,0.04);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.07),0 2px 4px -2px rgba(0,0,0,0.04);--shadow-lg:0 10px 25px -5px rgba(0,0,0,0.08),0 8px 10px -6px rgba(0,0,0,0.03);--shadow-xl:0 20px 40px -8px rgba(255,102,0,0.18),0 8px 16px -6px rgba(0,0,0,0.06);--ease:cubic-bezier(0.4,0,0.2,1)}*,:after,:before{box-sizing:border-box;margin:0}body,html{background:var(--jap-bg);color:var(--jap-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}body,button,html,input,select,textarea{font-family:var(--jap-font)}button{cursor:pointer}@keyframes spin{to{transform:rotate(1turn)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes slideIn{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}.loader{width:28px;height:28px;border:3px solid var(--jap-border);border-top-color:var(--jap-primary);border-radius:50%;animation:spin .7s linear infinite;margin:auto}.card{background:var(--jap-surface);border-radius:var(--jap-radius);padding:20px;border:1px solid var(--jap-border);box-shadow:var(--shadow-xs);transition:box-shadow .2s var(--ease)}.card:hover{box-shadow:var(--shadow-sm)}.card-title{font-weight:700;letter-spacing:-.01em;margin-bottom:14px;display:flex;justify-content:space-between;align-items:center}.card-title,.input-field{font-size:14px;color:var(--jap-charcoal)}.input-field{width:100%;padding:9px 12px;border-radius:var(--jap-radius-sm);border:1px solid var(--jap-border);background:var(--jap-white);outline:none;transition:border-color .15s,box-shadow .15s}.input-field:focus{border-color:var(--jap-primary);box-shadow:0 0 0 3px rgba(255,102,0,.15)}.chip{padding:6px 14px;border-radius:20px;font-size:13px;font-weight:500;border:1.5px solid var(--jap-border);background:var(--jap-surface);color:var(--jap-text);cursor:pointer;transition:all .15s var(--ease);white-space:nowrap}.chip:hover{border-color:var(--jap-primary);color:var(--jap-primary)}.chip-active{padding:6px 14px;border-radius:20px;font-size:13px;font-weight:600;border:1.5px solid var(--jap-primary);background:var(--jap-primary-light);color:var(--jap-primary);cursor:pointer;white-space:nowrap}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.02em}.badge-success{background:var(--success-bg);color:var(--success-text);border:1px solid var(--success-border)}.badge-error{background:var(--error-bg);color:var(--error-text);border:1px solid var(--error-border)}.badge-warn{background:var(--warn-bg);color:var(--warn-text);border:1px solid var(--warn-border)}.badge-primary{background:var(--jap-primary-light);color:var(--jap-primary);border:1px solid var(--jap-primary)}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-ok{background:var(--success)}.status-fail{background:var(--error)}.btn-primary{padding:9px 20px;border-radius:var(--jap-radius-sm);border:none;background:var(--jap-primary);color:#fff;font-weight:700;font-size:14px;cursor:pointer;transition:background .15s}.btn-primary:hover{background:var(--jap-primary-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-outline{padding:9px 20px;border-radius:var(--jap-radius-sm);border:1.5px solid var(--jap-primary);background:transparent;color:var(--jap-primary);font-weight:700;font-size:14px;cursor:pointer;transition:all .15s}.btn-outline:hover{background:var(--jap-primary-light)}.btn-ghost{background:none;border:none;color:var(--jap-primary);font-weight:600;cursor:pointer;font-size:13px;padding:0}.btn-ghost:hover{text-decoration:underline}.btn-back{background:none;border:none;font-size:14px;color:var(--jap-primary);cursor:pointer;font-weight:600;padding:4px 0;display:flex;align-items:center;gap:4px}.progress-bar{height:6px;border-radius:3px;background:var(--jap-border);overflow:hidden;flex:1 1}.progress-fill{height:100%;border-radius:3px;transition:width .6s var(--ease)}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:16px;gap:16px}.tab-bar{display:flex;background:var(--jap-surface);border-bottom:1px solid var(--jap-border);overflow-x:auto;padding:0 8px}.tab{padding:11px 16px;font-size:13px;font-weight:500;color:var(--jap-text-muted);background:none;cursor:pointer;border:none;border-bottom:2px solid transparent;white-space:nowrap;transition:color .15s;display:flex;align-items:center;gap:5px}.tab:hover{color:var(--jap-text)}.tab-active{padding:11px 16px;font-size:13px;font-weight:700;color:var(--jap-primary);background:none;border:none;cursor:pointer;border-bottom:2px solid var(--jap-primary);white-space:nowrap;display:flex;align-items:center;gap:5px}.table{width:100%;border-collapse:separate;border-spacing:0}.table th{text-align:left;padding:10px 12px;font-size:11px;font-weight:700;color:var(--jap-text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--jap-border)}.table td{padding:12px;font-size:14px;border-bottom:1px solid var(--jap-border-subtle)}