[hidden]{display:none!important}
.source-drop.dragging{border-color:var(--green2);background:#f4fbf7;transform:translateY(-2px);box-shadow:0 0 0 4px rgba(47,120,98,.12)}
body.studio{height:100vh;overflow:hidden}
body.studio.auth-pending #login,body.studio.auth-pending #app{visibility:hidden}body.studio.auth-pending:before{content:'SENSHI SABANTO';position:fixed;inset:0;display:grid;place-items:center;background:#f4f5f0;color:#174f3e;font:800 .8rem/1 system-ui;letter-spacing:.2em;z-index:9999}
.button-loading{align-items:center;gap:8px}.button-loading:not([hidden]){display:inline-flex}.button-loading i{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:senshi-spin .7s linear infinite}@keyframes senshi-spin{to{transform:rotate(360deg)}}
body.studio:not(.authenticated) #app{display:none!important}
body.studio.authenticated #login{display:none!important}
body.studio.authenticated #app{display:block!important;height:100vh;overflow:hidden}
body.studio.authenticated .workspace{height:100vh;overflow-y:auto;overscroll-behavior:contain}
.advanced-nav{margin:8px 0}.advanced-nav summary{cursor:pointer;color:#a8c8bc;padding:10px 12px;font-size:.72rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.advanced-nav button{display:block;width:100%}
.offer-flow{max-width:920px;margin:0 auto;display:grid;gap:24px}
.offer-hero{padding:30px 8px 10px}
.offer-hero h2{max-width:760px;font:500 clamp(2.8rem,6vw,5.4rem)/.94 Georgia,serif;letter-spacing:-.055em;margin:.18em 0}
.offer-hero>p:last-child{max-width:650px;color:var(--muted);font-size:1.08rem}
.ad-fix-wizard{padding:clamp(22px,5vw,48px);border-radius:28px;box-shadow:0 28px 90px rgba(20,55,44,.1)}
.source-first{padding:24px;border-radius:20px;background:linear-gradient(145deg,#edf5f0,#f8f5ec);margin-bottom:28px}.source-first h3{font:700 1.65rem Georgia,serif;margin:5px 0}.source-first>p{color:var(--muted)}
.source-drop{min-height:190px;border:1.5px dashed #88a99b;border-radius:18px;display:grid;place-items:center;align-content:center;gap:5px;text-align:center;background:rgba(255,255,255,.65);cursor:pointer;transition:.2s}.source-drop:hover{border-color:var(--green2);background:white;transform:translateY(-2px)}.source-drop input{display:none}.source-drop strong,.source-drop small{display:block}.source-drop small{color:var(--muted);font-weight:500}.source-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:white;font-size:1.5rem}
.source-preview{display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:center;margin-top:16px}.source-preview img{width:120px;height:120px;border-radius:14px;object-fit:cover;box-shadow:0 8px 28px rgba(20,55,44,.12)}.source-preview strong,.source-preview small{display:block}.source-preview small{color:var(--muted)}
.step-mark{display:flex;align-items:center;gap:14px;margin:30px 0 16px;padding-top:26px;border-top:1px solid var(--line)}
.step-mark:first-child{margin-top:0;padding-top:0;border-top:0}
.step-mark>span{flex:0 0 34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:white;font-weight:850}
.step-mark p,.step-mark strong,.step-mark small{display:block;margin:0}
.step-mark strong{font:700 1.22rem Georgia,serif}.step-mark small{color:var(--muted);font-weight:500}
.ad-fix-wizard label{font-size:.9rem}.ad-fix-wizard input,.ad-fix-wizard select,.ad-fix-wizard textarea{padding:14px;border-radius:12px;background:#fbfcfa}
.ad-fix-wizard .ad-copy{min-height:160px}
.optional-fields{margin:22px 0;border:1px solid var(--line);border-radius:14px;background:#f7f9f6}
.optional-fields summary{cursor:pointer;padding:16px 18px;font-weight:800;list-style:none}.optional-fields summary span{float:right;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
.optional-fields[open] summary{border-bottom:1px solid var(--line)}.optional-fields .form-grid{padding:18px}
.wizard-submit{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;padding:20px;border-radius:16px;background:var(--cream)}
.wizard-submit p{margin:0;color:var(--muted)}.wizard-submit strong{color:var(--ink)}.wizard-submit .button{padding:15px 25px;white-space:nowrap}
.pack-results{padding:clamp(22px,4vw,38px);border-radius:24px}
.pack-results>#outcomeForm{display:none}.ad-project{border:1px solid var(--line);border-radius:20px;padding:22px;margin-top:18px;background:#fbfcfa}.ad-project>header{display:flex;justify-content:space-between;gap:18px;align-items:center}.ad-project h3{font:700 1.65rem Georgia,serif;margin:7px 0 2px}.ad-project header p{color:var(--muted);margin:0}.project-stages{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:22px 0}.project-stages span{padding:8px;text-align:center;border-radius:99px;background:#e8ece9;color:#78857f;font-size:.7rem;font-weight:850}.project-stages .done{background:#d8eee4;color:#195b46}.before-after{display:grid;grid-template-columns:1fr 1fr;gap:14px}.before-after>div{padding:20px;border:1px solid var(--line);border-radius:16px;background:white}.before-after .after{background:var(--green);color:white}.before-after small,.direction-grid span{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:.65rem;font-weight:900;color:var(--muted);margin-bottom:10px}.before-after .after small{color:#b9d8cc}.before-after h4{font:700 1.35rem Georgia,serif}.ad-project details{border-top:1px solid var(--line);padding:16px 2px}.ad-project summary{cursor:pointer;font-weight:850}.diagnosis-list li{margin:12px 0}.diagnosis-list span{display:block;color:var(--muted)}.direction-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.direction-grid article{padding:16px;border-radius:14px;background:white;border:1px solid var(--line)}.direction-grid h4{margin:4px 0}.review-actions{margin-top:16px}.engine-working,.empty-project{padding:28px;text-align:center;color:var(--muted)}.engine-working span{display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--green2);box-shadow:20px 0 #9bc7b5,40px 0 #d1e3db;margin:0 40px 16px 0}
@media(max-width:650px){.offer-hero{padding-top:5px}.offer-hero h2{font-size:2.75rem}.wizard-submit,.ad-project>header{align-items:stretch;flex-direction:column}.wizard-submit .button{width:100%}.before-after,.direction-grid{grid-template-columns:1fr}.project-stages{grid-template-columns:1fr 1fr}.source-preview{grid-template-columns:80px 1fr}.source-preview img{width:80px;height:80px}}
