:root{--font-family: "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-heading: "Plus Jakarta Sans", "Pretendard", sans-serif;--bg-primary: #0b0f17;--bg-secondary: #111827;--bg-tertiary: #1f2937;--bg-card: rgba(17, 24, 39, .75);--bg-card-hover: rgba(31, 41, 55, .85);--bg-glass: rgba(17, 24, 39, .6);--border-color: rgba(255, 255, 255, .08);--border-glow: rgba(16, 185, 129, .25);--border-focus: #10b981;--text-primary: #f9fafb;--text-secondary: #9ca3af;--text-muted: #6b7280;--accent-emerald: #10b981;--accent-emerald-glow: rgba(16, 185, 129, .2);--accent-teal: #14b8a6;--accent-cyan: #06b6d4;--accent-blue: #3b82f6;--accent-purple: #8b5cf6;--accent-amber: #f59e0b;--accent-rose: #f43f5e;--gradient-primary: linear-gradient(135deg, #10b981 0%, #06b6d4 100%);--gradient-accent: linear-gradient(135deg, #8b5cf6 0%, #3b82f6 100%);--gradient-amber: linear-gradient(135deg, #f59e0b 0%, #f43f5e 100%);--gradient-card: linear-gradient(180deg, rgba(255, 255, 255, .04) 0%, rgba(255, 255, 255, .01) 100%);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .2);--shadow-md: 0 4px 20px rgba(0, 0, 0, .35);--shadow-lg: 0 10px 30px -10px rgba(0, 0, 0, .5);--shadow-glow: 0 0 25px rgba(16, 185, 129, .2);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}.bg-mesh{position:fixed;top:0;left:0;width:100vw;height:100vh;background:radial-gradient(circle at 15% 15%,rgba(16,185,129,.08) 0%,transparent 40%),radial-gradient(circle at 85% 25%,rgba(6,182,212,.07) 0%,transparent 45%),radial-gradient(circle at 50% 85%,rgba(139,92,246,.06) 0%,transparent 50%);pointer-events:none;z-index:0}.app-container{position:relative;z-index:1;max-width:1400px;margin:0 auto;padding:0 24px 60px}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;letter-spacing:-.02em}.text-gradient{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.text-gradient-purple{background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.header-wrapper{position:sticky;top:0;z-index:100;background:#0b0f17d9;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border-color);padding:16px 0;margin-bottom:28px}.header-content{display:flex;justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;padding:0 24px}.logo-area{display:flex;align-items:center;gap:12px;cursor:pointer}.logo-icon{width:40px;height:40px;border-radius:var(--radius-md);background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;color:#000;box-shadow:var(--shadow-glow)}.logo-title{font-size:1.35rem;font-weight:800;color:#fff;display:flex;align-items:center;gap:8px}.logo-badge{font-size:.7rem;padding:2px 8px;border-radius:999px;background:#10b98126;border:1px solid rgba(16,185,129,.4);color:var(--accent-emerald);font-weight:600;text-transform:uppercase}.header-actions{display:flex;align-items:center;gap:12px}.ticker-bar{background:#10b98114;border:1px solid rgba(16,185,129,.2);border-radius:var(--radius-md);padding:8px 16px;display:flex;align-items:center;gap:12px;font-size:.85rem;margin-bottom:24px}.ticker-badge{background:var(--accent-emerald);color:#000;font-weight:700;font-size:.72rem;padding:2px 6px;border-radius:var(--radius-sm);display:flex;align-items:center;gap:4px}.ticker-content{color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.nav-tabs{display:flex;gap:8px;background:var(--bg-secondary);padding:6px;border-radius:var(--radius-lg);border:1px solid var(--border-color);margin-bottom:32px;overflow-x:auto}.nav-tab-item{display:flex;align-items:center;gap:8px;padding:10px 18px;border-radius:var(--radius-md);color:var(--text-secondary);font-weight:600;font-size:.92rem;cursor:pointer;transition:all .2s ease;border:none;background:transparent;white-space:nowrap}.nav-tab-item:hover{color:var(--text-primary);background:#ffffff0d}.nav-tab-item.active{background:var(--gradient-primary);color:#051b14;font-weight:700;box-shadow:0 4px 12px #10b9814d}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:32px}.stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:var(--gradient-primary);opacity:0;transition:opacity .2s ease}.stat-card:hover{transform:translateY(-3px);border-color:#10b9814d;box-shadow:var(--shadow-md)}.stat-card:hover:before{opacity:1}.stat-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.stat-title{font-size:.85rem;color:var(--text-secondary);font-weight:500}.stat-icon-wrapper{width:36px;height:36px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:#ffffff0d}.stat-value{font-size:1.85rem;font-weight:800;color:#fff;font-family:var(--font-heading);letter-spacing:-.03em}.stat-desc{font-size:.78rem;color:var(--accent-emerald);margin-top:4px;display:flex;align-items:center;gap:4px}.filter-bar{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:16px 20px;margin-bottom:24px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.search-input-wrapper{position:relative;flex:1;min-width:260px}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-muted)}.search-input{width:100%;padding:10px 14px 10px 42px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:.9rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.search-input:focus{border-color:var(--accent-emerald);box-shadow:0 0 0 3px #10b98126}.filter-select{padding:10px 16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:.88rem;outline:none;cursor:pointer}.filter-select:focus{border-color:var(--accent-emerald)}.region-chips-wrapper{display:flex;gap:6px;overflow-x:auto;padding-bottom:8px;margin-bottom:20px}.region-chip{padding:6px 14px;border-radius:999px;font-size:.82rem;font-weight:600;background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;transition:all .2s ease;white-space:nowrap}.region-chip:hover{background:#ffffff14;color:#fff}.region-chip.active{background:#10b98126;border-color:var(--accent-emerald);color:var(--accent-emerald)}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:20px}.item-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:22px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;flex-direction:column;justify-content:space-between;transition:all .25s cubic-bezier(.16,1,.3,1);position:relative}.item-card:hover{transform:translateY(-4px);border-color:#10b98166;box-shadow:0 12px 30px #0006}.card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:12px}.badge-group{display:flex;flex-wrap:wrap;gap:6px}.badge{font-size:.72rem;font-weight:700;padding:3px 8px;border-radius:4px}.badge-emerald{background:#10b98126;color:#10b981;border:1px solid rgba(16,185,129,.3)}.badge-blue{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.badge-purple{background:#8b5cf626;color:#c084fc;border:1px solid rgba(139,92,246,.3)}.badge-amber{background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.badge-rose{background:#f43f5e26;color:#fb7185;border:1px solid rgba(244,63,94,.3)}.dday-badge{font-size:.72rem;font-weight:800;padding:3px 8px;border-radius:4px;display:flex;align-items:center;gap:4px}.dday-urgent{background:#f43f5e;color:#fff;animation:pulse 2s infinite}.dday-normal{background:#10b98133;color:var(--accent-emerald)}.dday-closed{background:#6b728033;color:var(--text-muted)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.75}}.card-title{font-size:1.05rem;font-weight:700;color:#fff;line-height:1.45;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-meta{display:flex;flex-direction:column;gap:6px;font-size:.83rem;color:var(--text-secondary);margin-bottom:18px}.meta-row{display:flex;align-items:center;gap:8px}.meta-row svg{color:var(--text-muted);flex-shrink:0}.card-actions{display:flex;gap:8px;border-top:1px solid var(--border-color);padding-top:14px;margin-top:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;border-radius:var(--radius-md);font-size:.88rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:1px solid transparent;outline:none;text-decoration:none}.btn-primary{background:var(--gradient-primary);color:#061913;box-shadow:0 4px 14px #10b9814d}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #10b98173}.btn-secondary{background:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-primary)}.btn-secondary:hover{background:#ffffff1a;color:#fff}.btn-pro{background:var(--gradient-accent);color:#fff;box-shadow:0 4px 14px #8b5cf659}.btn-pro:hover{transform:translateY(-1px);box-shadow:0 6px 20px #8b5cf680}.btn-sm{padding:6px 12px;font-size:.8rem}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-card{background:#111827;border:1px solid var(--border-color);border-radius:var(--radius-xl);width:100%;max-width:640px;max-height:90vh;overflow-y:auto;padding:32px;box-shadow:0 20px 50px #0009;position:relative;animation:modalIn .25s ease-out}@keyframes modalIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.modal-title{font-size:1.35rem;font-weight:800;color:#fff}.close-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:var(--radius-sm);transition:color .2s ease}.close-btn:hover{color:#fff}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin:24px 0}.pricing-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;justify-content:space-between;position:relative;transition:all .2s ease}.pricing-card.featured{border-color:var(--accent-emerald);background:linear-gradient(180deg,#10b98114,#111827cc);box-shadow:0 0 25px #10b98126}.pricing-title{font-size:1.15rem;font-weight:700;margin-bottom:6px}.pricing-price{font-size:1.85rem;font-weight:800;font-family:var(--font-heading);margin-bottom:16px;color:#fff}.pricing-price span{font-size:.85rem;font-weight:400;color:var(--text-secondary)}.pricing-features{list-style:none;margin-bottom:24px;display:flex;flex-direction:column;gap:10px;font-size:.88rem;color:var(--text-secondary)}.pricing-features li{display:flex;align-items:center;gap:8px}.pricing-features li svg{color:var(--accent-emerald);flex-shrink:0}.loading-box{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:var(--text-secondary);gap:16px}.spinner{width:40px;height:40px;border:3px solid rgba(16,185,129,.2);border-top-color:var(--accent-emerald);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-box{text-align:center;padding:60px 20px;background:var(--bg-card);border:1px dashed var(--border-color);border-radius:var(--radius-lg);color:var(--text-secondary)}@media(max-width:768px){.app-container{padding:0 16px 40px}.cards-grid{grid-template-columns:1fr}.filter-bar{flex-direction:column;align-items:stretch}.search-input-wrapper{min-width:100%}}
