@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;600;700&family=Space+Grotesk:wght@700&display=swap');

*,*::before,*::after{box-sizing:border-box}
body{font-family:'Inter',sans-serif;margin:0}
.font-outfit{font-family:'Outfit',sans-serif}

::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}
.dark ::-webkit-scrollbar-thumb{background:#475569}

@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes pulse-glow{0%,100%{box-shadow:0 0 0 0 rgba(249,115,22,0.3)}50%{box-shadow:0 0 0 10px rgba(249,115,22,0)}}
.animate-fade-in{animation:fadeIn .4s ease-out forwards}
.animate-fade-in-up{animation:fadeInUp .5s ease-out forwards}
.animate-spin{animation:spin 1s linear infinite}

/* ========== HEADER ========== */
.grimont-global-header{width:100%;z-index:1000;position:sticky;top:0;transition:all .4s cubic-bezier(.4,0,.2,1);background:rgba(15,23,42,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.08);padding:14px 0;font-family:'Outfit','Inter',sans-serif;color:#e2e8f0;box-shadow:0 4px 30px rgba(0,0,0,.15)}
.grimont-global-header *{box-sizing:border-box}
.grimont-global-header .ggh-container{max-width:1152px;margin:0 auto;padding:0 1.5rem;display:flex;justify-content:space-between;align-items:center}
.ggh-left{display:flex;align-items:center;gap:1.5rem}
.ggh-logo-group{display:flex;align-items:center;gap:.875rem;text-decoration:none;transition:transform .2s ease}
.ggh-logo-group:hover{transform:scale(1.02)}
.ggh-logo-box{width:40px;height:40px;background:linear-gradient(135deg,#2563eb,#7c3aed);border-radius:10px;display:flex;align-items:center;justify-content:center;color:white;font-weight:bold;font-size:1.25rem;border:1px solid rgba(255,255,255,.15);box-shadow:0 0 20px rgba(37,99,235,.25);flex-shrink:0}
.ggh-logo-text{font-family:'Space Grotesk',monospace;font-weight:800;font-size:1.2rem;color:white;letter-spacing:.05em;display:none}
.ggh-logo-text span{color:#00f2ff}
@media(min-width:640px){.ggh-logo-text{display:block}}
.ggh-separator{width:1px;height:36px;background-color:rgba(255,255,255,.1);display:none}
@media(min-width:768px){.ggh-separator{display:block}}
.ggh-app-info{display:flex;flex-direction:column;justify-content:center}
.ggh-app-title-group{display:flex;align-items:center;gap:.6rem}
.ggh-app-icon-container{width:32px;height:32px;border-radius:8px;background:rgba(30,41,59,1);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:14px;color:#fb923c;box-shadow:0 2px 10px rgba(0,0,0,.2);flex-shrink:0}
.ggh-app-name{font-weight:700;color:white;font-size:1.05rem;margin:0;padding:0;letter-spacing:.02em}
.ggh-app-desc{font-size:.8rem;color:#94a3b8;max-width:600px;display:none;margin:4px 0 0;padding:0;line-height:1.4;font-weight:300}
@media(min-width:1024px){.ggh-app-desc{display:block}}
.ggh-right{display:flex;align-items:center;gap:1rem}
.ggh-right button{background:rgba(30,41,59,.6)!important;border:1px solid rgba(255,255,255,.1)!important;color:#cbd5e1!important;width:40px!important;height:40px!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;transition:all .2s ease!important;padding:0!important}
.ggh-right button:hover{background:rgba(30,41,59,1)!important;color:white!important;border-color:rgba(255,255,255,.2)!important;transform:translateY(-1px)!important}

/* ========== LAYOUT ========== */
.container{max-width:1100px;margin:0 auto;padding:0 1rem}
.section-card{background:white;border-radius:1rem;box-shadow:0 1px 3px rgba(0,0,0,.04);border:1px solid #e2e8f0;padding:1.5rem 2rem;margin-bottom:1.5rem}
.dark .section-card{background:#1e293b;border-color:#334155}

/* ========== STEP BADGE ========== */
.step-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#f97316,#ec4899);color:white;font-weight:700;font-size:.8rem;flex-shrink:0}

/* ========== CHIPS ========== */
.chip-group{display:flex;flex-wrap:wrap;gap:.5rem}
.chip{display:inline-flex;align-items:center;gap:.375rem;padding:.45rem 1rem;border-radius:9999px;cursor:pointer;font-size:.825rem;font-weight:500;border:1.5px solid #e2e8f0;background:white;transition:all .2s ease;user-select:none;white-space:nowrap}
.chip:hover{border-color:#fdba74;background:#fff7ed;color:#ea580c}
.chip.selected{background:linear-gradient(135deg,#f97316,#ec4899);color:white;border-color:#f97316}
.chip.selected:hover{opacity:.9}
.dark .chip{background:#1e293b;border-color:#475569;color:#cbd5e1}
.dark .chip:hover{border-color:#fb923c;background:rgba(249,115,22,.1);color:#fdba74}
.dark .chip.selected{background:linear-gradient(135deg,#f97316,#ec4899);border-color:#f97316;color:white}

/* ========== FORM ========== */
.form-input,.form-select{width:100%;border-radius:.75rem;border:1.5px solid #e2e8f0;background:#f8fafc;color:#1e293b;padding:.625rem 1rem;font-size:.875rem;transition:all .2s ease;font-family:'Inter',sans-serif}
.form-input:focus,.form-select:focus{outline:none;border-color:#f97316;box-shadow:0 0 0 3px rgba(249,115,22,.15)}
.dark .form-input,.dark .form-select{background:rgba(15,23,42,.5);border-color:#475569;color:#e2e8f0}
.dark .form-input:focus,.dark .form-select:focus{border-color:#fb923c;box-shadow:0 0 0 3px rgba(249,115,22,.2)}
.form-select{appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .6rem center;background-repeat:no-repeat;background-size:1.5em;padding-right:2.5rem}

/* ========== TEMPLATE CARDS ========== */
.template-card{cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:2px solid transparent;position:relative;overflow:hidden;background:white;border-radius:.75rem;padding:1rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem}
.template-card::before{content:'';position:absolute;inset:0;opacity:0;background:linear-gradient(135deg,rgba(249,115,22,.08),rgba(236,72,153,.08));transition:opacity .3s ease}
.template-card:hover::before{opacity:1}
.template-card:hover{transform:translateY(-3px);border-color:rgba(249,115,22,.4);box-shadow:0 12px 40px rgba(249,115,22,.12)}
.template-card.active{border-color:#f97316;box-shadow:0 0 0 2px rgba(249,115,22,.2),0 8px 30px rgba(249,115,22,.15)}
.dark .template-card{background:#1e293b;border-color:rgba(71,85,105,.5)}
.dark .template-card:hover{border-color:rgba(251,146,60,.5)}
.dark .template-card.active{border-color:#fb923c}

/* ========== GENERATE BTN ========== */
#generate-btn{background:linear-gradient(135deg,#f97316,#ec4899);box-shadow:0 4px 15px rgba(249,115,22,.35);transition:all .2s ease;border:none;color:white;padding:.75rem 2rem;border-radius:.75rem;font-weight:600;font-size:.875rem;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem}
#generate-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(249,115,22,.45)}
#generate-btn:active{transform:translateY(0)}
#generate-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}

/* ========== REPORT SECTIONS ========== */
.report-section{background:white;border-radius:1rem;padding:1.5rem 2rem;border:1px solid #e2e8f0;transition:box-shadow .2s ease;box-shadow:0 1px 3px rgba(0,0,0,.04);margin-bottom:1rem}
.report-section:hover{box-shadow:0 4px 20px rgba(0,0,0,.06)}
.dark .report-section{background:#1e293b;border-color:#334155}
.dark .report-section:hover{box-shadow:0 4px 20px rgba(0,0,0,.3)}
.report-section h3{font-family:'Outfit',sans-serif;font-weight:700;font-size:1.1rem;margin:0 0 .75rem;padding-bottom:.6rem;border-bottom:2px solid #ffedd5;display:flex;align-items:center;gap:.5rem;color:#c2410c}
.dark .report-section h3{border-bottom-color:#7c2d12;color:#fdba74}

/* ========== EDITABLE ========== */
[contenteditable="true"]{outline:none;border-radius:4px;padding:2px 4px;margin:-2px -4px;transition:background .2s ease,box-shadow .2s ease;min-height:1em;display:inline-block;width:100%}
td[contenteditable="true"]{display:table-cell;width:auto}
[contenteditable="true"]:hover{background:rgba(249,115,22,.04)}
[contenteditable="true"]:focus{background:rgba(249,115,22,.06);box-shadow:0 0 0 2px rgba(249,115,22,.2)}
.dark [contenteditable="true"]:hover{background:rgba(251,146,60,.06)}
.dark [contenteditable="true"]:focus{background:rgba(251,146,60,.1);box-shadow:0 0 0 2px rgba(251,146,60,.2)}
.editable-hint{font-size:.7rem;color:#94a3b8;font-style:italic;display:flex;align-items:center;gap:.3rem;margin-top:.5rem}

/* ========== BADGES ========== */
.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .65rem;border-radius:9999px;font-size:.72rem;font-weight:600;white-space:nowrap}
.badge-orange{background:#fff7ed;color:#c2410c}
.badge-pink{background:#fdf2f8;color:#be185d}
.badge-emerald{background:#d1fae5;color:#065f46}
.badge-blue{background:#dbeafe;color:#1e40af}
.badge-violet{background:#f5f3ff;color:#6d28d9}
.badge-amber{background:#fef3c7;color:#92400e}
.dark .badge-orange{background:rgba(194,65,12,.2);color:#fdba74}
.dark .badge-pink{background:rgba(190,24,93,.2);color:#f9a8d4}
.dark .badge-emerald{background:rgba(6,95,70,.2);color:#6ee7b7}
.dark .badge-blue{background:rgba(30,64,175,.2);color:#93c5fd}
.dark .badge-violet{background:rgba(109,40,217,.2);color:#c4b5fd}
.dark .badge-amber{background:rgba(146,64,14,.2);color:#fcd34d}

/* ========== SOURCE LINK ========== */
.source-link{display:inline-flex;align-items:center;gap:.375rem;color:#f97316;font-size:.78rem;text-decoration:none;transition:all .2s ease;padding:.2rem .5rem;border-radius:.375rem;font-weight:500}
.source-link:hover{background:rgba(249,115,22,.08);text-decoration:underline}
.dark .source-link{color:#fdba74}
.dark .source-link:hover{background:rgba(251,146,60,.1)}

/* ========== EXPORT BTN ========== */
.export-btn-png{transition:all .2s ease;padding:.375rem .75rem;font-size:.75rem;font-weight:500;border-radius:.5rem;border:1px solid #e2e8f0;color:#64748b;background:transparent;cursor:pointer;display:inline-flex;align-items:center;gap:.375rem}
.export-btn-png:hover{transform:translateY(-1px);border-color:#f97316;color:#f97316}
.dark .export-btn-png{border-color:#475569;color:#94a3b8}
.dark .export-btn-png:hover{border-color:#fb923c;color:#fb923c}

/* ========== TABS ========== */
.tab-btn{padding:.5rem 1.25rem;border-radius:9999px;cursor:pointer;font-size:.875rem;font-weight:500;border:1.5px solid #e2e8f0;background:transparent;transition:all .2s ease;color:#64748b}
.tab-btn:hover{border-color:#fb923c;color:#ea580c;background:#fff7ed}
.tab-btn.active{background:linear-gradient(135deg,#f97316,#ec4899);color:white;border-color:#f97316}
.dark .tab-btn{border-color:#475569;color:#94a3b8}
.dark .tab-btn:hover{border-color:#fb923c;color:#fdba74;background:rgba(249,115,22,.1)}
.dark .tab-btn.active{background:linear-gradient(135deg,#f97316,#ec4899);border-color:#f97316;color:white}

/* ========== PROGRESS BAR ========== */
.progress-bar{height:8px;background:#f1f5f9;border-radius:4px;overflow:hidden}
.progress-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,#f97316,#ec4899);transition:width .6s ease}
.dark .progress-bar{background:#334155}

/* ========== SCORE CIRCLE ========== */
.score-circle{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.25rem;color:white;flex-shrink:0}

/* ========== TABLE ========== */
.data-table{width:100%;border-collapse:collapse;font-size:.85rem}
.data-table th{background:#fff7ed;color:#c2410c;font-weight:600;padding:.625rem .75rem;text-align:left;border-bottom:2px solid #fed7aa}
.data-table td{padding:.625rem .75rem;border-bottom:1px solid #f1f5f9;color:#475569}
.data-table tr:hover td{background:#fffbeb}
.dark .data-table th{background:rgba(194,65,12,.15);color:#fdba74;border-bottom-color:rgba(194,65,12,.3)}
.dark .data-table td{border-bottom-color:#334155;color:#cbd5e1}
.dark .data-table tr:hover td{background:rgba(249,115,22,.05)}

/* ========== INFLUENCER CARD ========== */
.influencer-card{border:1px solid #f1f5f9;border-radius:.75rem;padding:1rem;transition:all .2s ease;background:white}
.influencer-card:hover{border-color:#fdba74;box-shadow:0 4px 12px rgba(249,115,22,.1)}
.dark .influencer-card{background:#0f172a;border-color:#334155}
.dark .influencer-card:hover{border-color:#fb923c;box-shadow:0 4px 12px rgba(249,115,22,.15)}

/* ========== CALENDAR ========== */
.calendar-week{display:grid;grid-template-columns:80px 1fr;gap:.5rem;align-items:start;padding:.75rem 0;border-bottom:1px solid #f1f5f9}
.dark .calendar-week{border-bottom-color:#334155}
.week-label{font-weight:700;font-size:.8rem;color:#f97316;padding-top:.25rem}
.week-tasks{display:flex;flex-wrap:wrap;gap:.375rem}
.week-task{padding:.25rem .75rem;border-radius:.375rem;font-size:.78rem;font-weight:500}

/* ========== PRINT / EXPORT ========== */
@media print{.grimont-global-header,.no-print{display:none!important}.report-section{break-inside:avoid}body{background:white!important;color:#1e293b!important}}
.no-transitions *{transition:none!important;animation:none!important}
#export-zone{background:white;font-family:'Inter',sans-serif}
.dark #export-zone{background:#0f172a}

/* ========== RESPONSIVE ========== */
@media(max-width:640px){.report-section{padding:1rem 1.25rem}.section-card{padding:1rem 1.25rem}}

/* ========== HELPERS ========== */
.hidden{display:none!important}
.text-center{text-align:center}
.flex{display:flex}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}
.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}
.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.ml-auto{margin-left:auto}
.space-y-2>*+*{margin-top:.5rem}.space-y-3>*+*{margin-top:.75rem}.space-y-4>*+*{margin-top:1rem}.space-y-6>*+*{margin-top:1.5rem}
.pt-2{padding-top:.5rem}
.w-full{width:100%}
.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-4xl{font-size:2.25rem}
.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}
.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}
.grid{display:grid}
.grid-cols-2{grid-template-columns:repeat(2,1fr)}
@media(min-width:640px){.sm\:grid-cols-3{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){.lg\:grid-cols-5{grid-template-columns:repeat(5,1fr)}}
