:root{--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-tertiary:#f1f5f9;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--color-primary:#3b82f6;--color-primary-hover:#1d4ed8;--color-primary-light:#eff6ff;--color-accent:#10b981;--color-accent-hover:#047857;--color-accent-light:#ecfdf5;--color-danger:#ef4444;--color-danger-hover:#b91c1c;--color-danger-light:#fef2f2;--border-color:#e2e8f0;--border-focus:#3b82f6;--grad-premium:linear-gradient(135deg, #1e3a8a 0%, #3b82f6 100%);--grad-accent:linear-gradient(135deg, #064e3b 0%, #10b981 100%);--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000000d, 0 2px 4px -1px #00000008;--shadow-lg:0 10px 15px -3px #0000000d, 0 4px 6px -2px #00000005;--shadow-premium:0 20px 25px -5px #1e3a8a14, 0 10px 10px -5px #1e3a8a0a;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--transition-fast:.15s ease;--transition-normal:.25s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit;background:0 0;border:none}button{cursor:pointer}.card{background-color:var(--bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--border-color);transition:transform var(--transition-normal), box-shadow var(--transition-normal)}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn{border-radius:var(--radius-md);transition:all var(--transition-fast);justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-weight:500;display:inline-flex}.btn-primary{background:var(--grad-premium);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{opacity:.95;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-accent{background:var(--grad-accent);color:#fff;box-shadow:var(--shadow-sm)}.btn-accent:hover{opacity:.95;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background-color:var(--border-color)}.btn-danger{background-color:var(--color-danger);color:#fff}.btn-danger:hover{background-color:var(--color-danger-hover)}.form-group{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.form-label{color:var(--text-secondary);font-size:.875rem;font-weight:600}.form-input{border-radius:var(--radius-md);border:1px solid var(--border-color);background-color:var(--bg-secondary);width:100%;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);color:var(--text-primary);padding:12px 16px}.form-input:focus{border-color:var(--border-focus);outline:none;box-shadow:0 0 0 3px #3b82f626}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}.pc-header-menu{align-items:center;gap:12px;display:flex!important}.sp-hamburger-btn,.sp-menu-dropdown{display:none!important}@media (width<=768px){.container{padding:0 16px}.card{border-radius:var(--radius-md)}.btn{padding:8px 14px;font-size:.875rem}.header-title-sp{white-space:nowrap!important;font-size:1rem!important}.nav-title-sp{white-space:nowrap!important;text-overflow:ellipsis!important;font-size:.95rem!important;overflow:hidden!important}.hide-on-mobile{display:none!important}.sp-col{flex-direction:column!important;align-items:stretch!important;gap:16px!important}.sp-full-btn{justify-content:center!important;width:100%!important}.modal-content-sp{max-height:90vh!important;padding:20px 16px!important;overflow-y:auto!important}.sp-grid-1col{grid-template-columns:1fr!important}.pc-header-menu{display:none!important}.sp-hamburger-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;padding:8px 12px;display:flex!important}.sp-menu-dropdown{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);z-index:999;width:260px;animation:fadeIn var(--transition-fast) forwards;flex-direction:column;gap:8px;padding:12px;position:absolute;top:calc(100% + 8px);right:16px;box-shadow:0 10px 25px -5px #0003,0 8px 10px -6px #0000001a;display:flex!important}.sp-menu-user-info{background:var(--bg-tertiary);border-radius:var(--radius-sm);border-bottom:1px solid var(--border-color);align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.sp-menu-item-btn{border-radius:var(--radius-sm);width:100%;color:var(--text-primary);cursor:pointer;text-align:left;transition:background var(--transition-fast);background:0 0;border:none;align-items:center;gap:10px;padding:10px 12px;font-size:.9rem;font-weight:500;display:flex}.sp-menu-item-btn:hover,.sp-menu-item-btn:active{background:var(--bg-tertiary)}}@media (width<=480px){.container{padding:0 12px}}.table-responsive{-webkit-overflow-scrolling:touch!important;width:100%!important;max-width:100%!important;overflow-x:auto!important}@media (width<=768px){.table-responsive table{min-width:560px!important}.table-responsive th,.table-responsive td{padding:10px!important;font-size:.85rem!important}}.summary-item-header{color:var(--text-muted);grid-template-columns:50px 1fr 140px 40px;gap:12px;padding:0 8px;font-size:.75rem;font-weight:700;display:grid}.summary-item-row{background-color:var(--bg-secondary);border-radius:var(--radius-sm);grid-template-columns:50px 1fr 140px 40px;align-items:center;gap:12px;padding:8px;display:grid}@media (width<=768px){.summary-item-header{display:none!important}.summary-item-row{grid-template-columns:40px 1fr 40px!important;gap:8px!important}.summary-item-chars{grid-column:2/3!important}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn var(--transition-normal) forwards}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin-animation{animation:.8s linear infinite spin!important}@keyframes pulseGlow{0%,to{opacity:.7;filter:drop-shadow(0 0 6px #6366f166)}50%{opacity:1;filter:drop-shadow(0 0 16px #6366f1cc)}}.loading-container{min-height:100vh;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:16px;animation:2s ease-in-out infinite pulseGlow;display:flex}
