:root{color-scheme:dark;--bg: #020405;--bg-gradient: radial-gradient(circle at top, rgba(0, 246, 156, .12), transparent 45%);--surface: #0b0f14;--surface-strong: #121924;--surface-soft: rgba(18, 25, 36, .72);--border: rgba(255, 255, 255, .08);--border-strong: rgba(0, 246, 156, .35);--text: #f5f7fa;--text-soft: #9ea7bd;--headline: #ffffff;--accent: #00f69c;--accent-soft: rgba(0, 246, 156, .12);--danger: #ff5c58;font-family:Plus Jakarta Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);background-image:var(--bg-gradient)}#root{min-height:100vh}.dashboard-shell{min-height:100vh;padding:2.5rem clamp(1.5rem,4vw,3rem);display:flex;flex-direction:column;gap:2rem}.dashboard-header{display:flex;flex-direction:column;gap:1.5rem}.dashboard-header h1{margin:0;font-size:clamp(2rem,3.2vw,2.6rem);font-weight:700;color:var(--headline)}.dashboard-intro{display:flex;flex-direction:column;gap:.35rem;max-width:640px;color:var(--text-soft);font-size:.98rem}.tool-switcher{display:flex;flex-wrap:wrap;gap:.8rem}.tool-button{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.95rem 1.15rem;min-width:220px;border-radius:1rem;border:1px solid var(--border);background:var(--surface);color:inherit;text-align:left;cursor:pointer;transition:all .2s ease}.tool-button strong{font-weight:600}.tool-button span{font-size:.88rem;color:var(--text-soft)}.tool-button:hover{border-color:var(--border-strong);transform:translateY(-2px);box-shadow:0 12px 24px #00f69c14}.tool-button.active{border-color:var(--border-strong);background:#00f69c24;color:var(--headline);box-shadow:0 18px 32px #00f69c1f}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:1.75rem;align-items:start}@media (max-width: 1080px){.dashboard-grid{grid-template-columns:1fr}}.content{background:var(--surface-soft);border:1px solid var(--border);border-radius:1.5rem;padding:clamp(1.6rem,3vw,2.1rem);display:grid;gap:1.75rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 24px 40px #00000047}.content header{display:grid;gap:.6rem}.content header h2{margin:0;font-size:clamp(1.6rem,2.4vw,1.9rem);color:var(--headline);font-weight:600}.content header p{margin:0;color:var(--text-soft);font-size:.98rem;max-width:620px}.grid{display:grid;gap:1.15rem}@media (min-width: 960px){.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}}label{font-weight:600;display:block;margin-bottom:.4rem;font-size:.92rem;color:var(--text)}.label-with-help{display:flex;align-items:center;gap:.45rem;font-weight:600;margin-bottom:.4rem;font-size:.92rem;color:var(--text)}.help-icon{display:inline-flex;align-items:center;justify-content:center;width:1.2rem;height:1.2rem;border-radius:999px;background:#ffffff1f;color:var(--headline);font-size:.75rem;cursor:help;transition:background .18s ease,transform .18s ease}.help-icon:hover{background:#ffffff3d;transform:translateY(-1px)}.form-error{background:#ff5c582e;border:1px solid rgba(255,92,88,.4);color:#ffb4b0;padding:.75rem 1rem;border-radius:.9rem;font-size:.9rem}input,select,textarea{width:100%;padding:.6rem .8rem;border-radius:.75rem;border:1px solid var(--border);background:#0f141d;color:var(--text);font-size:.98rem;transition:border .2s ease,box-shadow .2s ease,background .2s ease}input::placeholder,select::placeholder,textarea::placeholder{color:#6a7288}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--border-strong);box-shadow:0 0 0 3px #00f69c29;background:#121a26}.has-error{border-color:#ff5c5899;box-shadow:none}textarea{resize:vertical;min-height:88px}.input-error{color:#ff8a80;font-size:.82rem;margin:.35rem 0 0}.section{background:#0e131cb3;border-radius:1.15rem;padding:1.25rem;border:1px solid rgba(255,255,255,.05);display:grid;gap:1rem}.section h3{margin:0;font-size:1.05rem;color:var(--headline)}.checkbox-group{display:flex;flex-direction:column;gap:.6rem}.checkbox-option{display:flex;align-items:center;gap:.6rem;font-weight:500;color:var(--text-soft)}.checkbox-option input{width:auto;accent-color:var(--accent)}.button-row{display:flex;gap:.85rem;flex-wrap:wrap}button{padding:.7rem 1.5rem;border-radius:.9rem;border:none;cursor:pointer;font-weight:600;font-size:.98rem;display:inline-flex;align-items:center;gap:.5rem;transition:transform .15s ease,box-shadow .15s ease,background .2s ease}.primary-btn{background:var(--accent);color:#002715;box-shadow:0 16px 32px #00f69c2e}.primary-btn:hover{transform:translateY(-2px);box-shadow:0 22px 40px #00f69c38}.secondary-btn{background:#ffffff14;color:var(--text);border:1px solid rgba(255,255,255,.1)}.secondary-btn:hover{transform:translateY(-2px);background:#ffffff1f}button:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.results-grid{display:grid;gap:1.1rem}@media (min-width: 960px){.results-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}}.stat-card{background:linear-gradient(140deg,#00f69c2e,#001c13bf);border-radius:1.1rem;padding:1.4rem;display:grid;gap:.45rem;border:1px solid rgba(0,246,156,.24);color:var(--headline)}.stat-card span{font-size:.84rem;text-transform:uppercase;letter-spacing:1.6px;color:#ffffffa6}.stat-card strong{font-size:1.8rem}.stat-card small{font-size:.88rem;color:#ffffffb3}.tip-list{display:grid;gap:.65rem}.tip{position:relative;padding-left:1.3rem;font-size:.94rem;color:var(--text-soft)}.tip:before{content:"›";position:absolute;left:.3rem;color:var(--accent);font-size:1rem;line-height:1}.budget-breakdown{display:grid;gap:.75rem}.budget-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-radius:.85rem;background:#0003;border:1px solid rgba(255,255,255,.06)}.budget-item strong{color:var(--headline)}.creative-advice{border-radius:1.1rem;border:1px solid rgba(255,255,255,.08);background:#0000002e;padding:1.1rem 1.3rem;display:grid;gap:.5rem;color:var(--text-soft);font-size:.94rem}.creative-advice p{margin:0}.budget-info{border-radius:1rem;background:#0003;border:1px solid rgba(255,255,255,.08);padding:.95rem 1.2rem;font-size:.94rem;color:var(--text-soft)}.budget-info strong{color:var(--headline)}.warning-card{border-radius:1rem;padding:.85rem 1.1rem;font-size:.9rem;border:1px solid rgba(255,193,7,.4);background:#ffc1071a;color:#ffdd57}.warning-card.red{border-color:#ff5c588c;background:#ff5c5829;color:#ff8a80}.warning-card.green{border-color:#00f69c66;background:#00f69c1f;color:var(--accent)}.cpm-note{font-size:.9rem;color:var(--text-soft);border-left:3px solid rgba(0,246,156,.4);padding:.6rem 0 .6rem .85rem}.status-tag{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .75rem;border-radius:999px;font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:1.1px;border:1px solid transparent}.status-tag.green{background:#00f69c29;color:var(--accent);border-color:#00f69c52}.status-tag.yellow{background:#ffc10729;color:#ffdd57;border-color:#ffc10752}.status-tag.red{background:#ff5c582e;color:#ff8a80;border-color:#ff5c5859}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .7rem;border-radius:999px;background:#00f69c29;color:var(--accent);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:1.1px}.fitness-list{display:grid;gap:.9rem}.fitness-item{border-radius:1.1rem;border:1px solid rgba(255,255,255,.08);background:#00000038;padding:1.1rem 1.3rem;display:grid;gap:.6rem}.fitness-item-header{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:space-between}.fitness-item-header strong{color:var(--headline);font-size:.95rem}.fitness-item p{margin:0;color:var(--text-soft);font-size:.92rem}.export-actions{display:flex;flex-wrap:wrap;gap:.6rem}.history-panel{background:var(--surface-soft);border:1px solid var(--border);border-radius:1.4rem;padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.history-panel h2{margin:0;font-size:1.15rem;color:var(--headline)}.history-panel p{margin:0;color:var(--text-soft);font-size:.9rem}.history-actions{display:flex;flex-wrap:wrap;gap:.6rem}.history-actions .secondary-btn{width:100%;justify-content:center}.template-section{display:grid;gap:.5rem}.template-section h3{margin:0;color:var(--headline);font-size:.95rem}.template-list{display:grid;gap:.6rem;max-height:220px;overflow:auto;padding-right:.2rem}.template-entry{border-radius:.9rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);padding:.75rem .9rem;display:grid;gap:.45rem}.template-headline{display:flex;justify-content:space-between;gap:.6rem;align-items:baseline}.template-headline strong{color:var(--headline);font-size:.92rem}.template-meta{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.82rem;color:var(--text-soft)}.template-actions{display:flex;gap:.5rem}.template-actions button{padding:.4rem .75rem;font-size:.8rem;border-radius:.7rem;background:#00f69c29;color:var(--headline);border:1px solid rgba(0,246,156,.3)}.template-actions button:hover{background:#00f69c38}.history-empty{padding:1rem;border-radius:1rem;background:#ffffff0d;color:var(--text-soft);font-size:.9rem}.history-list{display:flex;flex-direction:column;gap:.85rem;overflow:auto;max-height:520px;padding-right:.2rem}.history-entry{background:#00f69c14;border-radius:1rem;border:1px solid rgba(0,246,156,.2);padding:.85rem 1rem;display:grid;gap:.3rem;color:inherit;text-align:left;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.history-entry strong{font-size:.96rem;color:var(--headline)}.history-entry span,.history-entry small{color:var(--text-soft);font-size:.86rem}.history-entry:hover{transform:translateY(-2px);background:#00f69c26;box-shadow:0 18px 30px #00f69c29}.history-entry-header{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:space-between;align-items:baseline}.history-entry-details{display:grid;gap:.35rem}.history-entry-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.4rem}.history-entry-actions button{padding:.45rem .9rem;font-size:.85rem;border-radius:.75rem;background:#00f69c29;color:var(--headline);border:1px solid rgba(0,246,156,.3);box-shadow:none}.history-entry-actions button:hover{background:#00f69c38;transform:translateY(-1px)}.history-entry-actions button:nth-of-type(2){background:#ffffff14;border-color:#ffffff1f}.history-entry-actions button:nth-of-type(2):hover{background:#ffffff24}.history-entry-actions button:nth-of-type(3){background:#00000047;border-color:#ffffff14}.history-entry-actions button:nth-of-type(3):hover{background:#0006}.history-controls{display:grid;gap:.75rem}.history-search{width:100%;background:#00000052;border:1px solid rgba(255,255,255,.12);border-radius:.85rem;padding:.55rem .9rem;color:var(--text);font-size:.9rem}.history-search::placeholder{color:#ffffff73}.history-filter{display:flex;flex-wrap:wrap;gap:.5rem}.filter-chip{padding:.35rem .8rem;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#00000040;color:var(--text-soft);font-size:.8rem;cursor:pointer;transition:all .18s ease}.filter-chip.active{background:#00f69c2e;border-color:#00f69c59;color:var(--headline)}.filter-chip.reset{background:#ffffff0d;border-style:dashed}.filter-chip:hover{transform:translateY(-1px)}.history-count{color:var(--text-soft);font-size:.78rem}.tool-placeholder{display:grid;place-items:center;min-height:40vh}.placeholder-card{background:var(--surface-soft);border-radius:1.4rem;border:1px solid var(--border);padding:2.4rem;max-width:520px;text-align:center;display:grid;gap:.8rem;color:var(--text-soft)}.placeholder-card h2{margin:0;font-size:1.5rem;color:var(--headline)}.public-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:3rem 1.5rem;background:var(--bg);background-image:var(--bg-gradient)}.public-card{max-width:520px;text-align:center;background:var(--surface-soft);border:1px solid var(--border);border-radius:1.6rem;padding:2.6rem 2rem;display:grid;gap:.9rem}.public-card h1{margin:0;font-size:2.1rem;color:var(--headline)}.public-card p{margin:0;color:var(--text-soft)}.public-card .badge{justify-self:center}@media (max-width: 600px){.dashboard-shell{padding:1.8rem 1.1rem}.tool-button{min-width:100%}.button-row{flex-direction:column}button{width:100%;justify-content:center}}
