:root{font-family:Inter,Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Malgun Gothic,sans-serif;color:#242a29;background:#f6f7f5;font-synthesis:none;font-size:14px;--green: #315c4b;--line: #e1e5e1;--muted: #7b8580;--ink: #222b27}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);padding:10px 14px;font-weight:550;transition:background .15s,border-color .15s}button:hover{background:#f0f3ef;border-color:#b7c3bb}button:disabled{opacity:.48;cursor:not-allowed}a{color:inherit;text-decoration:none}button.primary{background:var(--green);border-color:var(--green);color:#fff}button.primary:hover{background:#244939}button.danger{background:#ab4545;color:#fff;border:0}.text-button{border:0;background:transparent;padding:4px;color:var(--green);font-size:12px}.icon-button{padding:7px;border:0;background:transparent}.muted{color:var(--muted)}.small{font-size:12px;line-height:1.7}p{line-height:1.7}h1,h2,h3,p{margin-top:0}h1{font-size:27px;font-weight:650;letter-spacing:-1px;margin-bottom:10px}h2{font-size:17px;letter-spacing:-.4px;margin-bottom:12px}h3{font-size:15px;margin-bottom:8px}label{display:block;font-size:12px;font-weight:600;margin:16px 0 7px}input,select,textarea{border:1px solid #dce1dc;background:#fff;border-radius:6px;padding:11px 12px;width:100%;color:var(--ink);margin-top:7px}input::placeholder,textarea::placeholder{color:#a1aaa5}input:focus,select:focus,textarea:focus{outline:2px solid #94b8a4;outline-offset:1px}textarea{resize:vertical;min-height:86px;line-height:1.7}select{cursor:pointer}input[type=checkbox]{width:16px;height:16px;accent-color:var(--green);margin:0;flex-shrink:0}.checkbox{display:flex;gap:9px;align-items:center;font-weight:450;white-space:nowrap}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.7px;color:#6e8777;margin-bottom:12px}.brand{display:flex;align-items:center;gap:10px;white-space:nowrap}.brand-mark{display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:29px;background:#c8debf;color:#203c2c;width:33px;height:34px;border-radius:10px 10px 10px 2px;font-weight:700;line-height:1}.brand b{font-size:21px;letter-spacing:-.6px}.brand b>span{display:block;font-size:8px;letter-spacing:2.3px;margin-top:3px;font-weight:500;color:#9aa89f}.loading{display:flex;align-items:center;justify-content:center;height:100vh;gap:12px}.loading p{margin:0}.spin{animation:spin 1.5s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-layout{display:grid;grid-template-columns:1.15fr 1fr;min-height:100vh;background:#fafbf8}.login-story{display:flex;flex-direction:column;position:relative;overflow:hidden;background:#202e28;padding:56px 64px;color:#f3f5ed}.login-story:after{content:"";position:absolute;border:1px solid #52664d;border-radius:50%;width:700px;height:700px;right:-450px;top:10%;opacity:.5}.login-story .brand{position:relative;z-index:1}.story-copy{margin:auto 0;padding:100px 0;z-index:1}.story-copy .eyebrow{color:#b6cbac}.story-copy h1{font-size:clamp(28px,2.5vw,45px);font-weight:500;letter-spacing:-1.7px;line-height:1.55;margin:22px 0}.story-copy p{color:#aab8af;line-height:1.95;font-size:15px}.story-steps{display:flex;align-items:center;gap:15px;margin-top:48px;color:#c2d2ba;font-size:11px}.story-footer{display:flex;align-items:center;gap:9px;font-size:11px;color:#9aad9e}.login-form{padding:50px;display:flex;flex-direction:column;justify-content:center;align-items:center}.login-box{width:100%;max-width:360px;margin:auto}.login-box h2{font-size:28px;margin:16px 0 9px;letter-spacing:-1px}.login-box>p{color:var(--muted)}.login-box form{margin:30px 0}.login-box form label{margin-top:20px}.login-box .primary{width:100%;margin-top:26px;justify-content:space-between;padding:14px 16px}.login-footnote{font-size:11px;color:#929c95;text-align:center;margin:30px 0 0}.app-shell{display:flex;min-height:100vh}.sidebar{width:242px;position:fixed;inset:0 auto 0 0;background:#202b26;color:#ccd4ce;padding:30px 20px 0;display:flex;flex-direction:column;z-index:20}.sidebar>.brand{padding-left:8px;color:#f7f8f3;margin-bottom:38px}.workspace-label{display:flex;align-items:center;gap:10px;padding:15px 5px;border-top:1px solid #354139;border-bottom:1px solid #354139;margin-bottom:25px}.workspace-label b{font-size:11px;color:#e6eae3}.workspace-label small{display:block;font-size:10px;color:#82968a;margin-top:4px}.workspace-label>svg{margin-left:auto;color:#789b86}.workspace-avatar{width:29px;height:29px;background:#394b40;border:1px solid #506554;border-radius:6px;display:grid;place-items:center;color:#c9d6c4;font-family:Georgia,serif}.nav-caption{font-size:9px;letter-spacing:1.6px;color:#768b7c;padding-left:13px;margin-bottom:13px}.sidebar nav{display:grid;gap:5px}.sidebar nav button{justify-content:flex-start;background:none;border:0;color:#a0b0a5;font-size:12px;font-weight:500;padding:13px 12px;gap:12px}.sidebar nav button.active{background:#3c5243;color:#e1ecd9}.sidebar nav button.active svg{color:#c2d5b0}.sidebar nav button:hover{background:#2e3e33}.count{margin-left:auto;border-radius:4px;background:#50694f;padding:1px 5px;font-size:9px;color:#d6e5ca}.sidebar-bottom{margin-top:auto;padding-top:45px}.plan-label{font-size:10px;color:#b2c1b0;display:flex;align-items:center;gap:6px}.plan-label i,.green-dot{display:inline-block;width:6px;height:6px;background:#93b589;border-radius:50%}.sidebar-bottom>p{font-size:10px;line-height:1.8;color:#7e9385;margin:9px 0 24px}.profile{display:flex;align-items:center;gap:10px;border-top:1px solid #354139;padding:19px 0}.profile>span{width:31px;height:31px;border-radius:50%;background:#57644c;display:grid;place-items:center;color:#e0e8d6;font-size:11px}.profile b{font-size:11px;color:#dfe6dc}.profile small{display:block;font-size:10px;margin-top:3px;color:#91a194}.profile button{margin-left:auto;color:#8fa195}.main-column{margin-left:242px;min-width:0;width:calc(100% - 242px);display:flex;flex-direction:column}.topbar{height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 42px;background:#fff;border-bottom:1px solid var(--line);font-size:11px;color:#929c95}.topbar>div{display:flex;align-items:center;gap:13px}.topbar b{font-weight:550;color:#535f57}.topbar>span{display:flex;align-items:center;gap:7px;font-size:10px}.content{width:100%;max-width:1440px;margin:0 auto;padding:38px 42px 45px;flex:1}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.page-heading>div>p:last-child{font-size:12px;color:#7c8880;margin:0}.page-heading .eyebrow{margin-bottom:12px}.app-footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;margin:0 42px;padding:18px 0;font-size:9px;color:#8c968f}.app-footer span:first-child{letter-spacing:1.3px}.mobile-nav{display:none}.panel{background:#fff;border:1px solid var(--line);border-radius:10px;padding:25px;margin-bottom:20px}.studio-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:24px}.generator{padding:28px;margin-bottom:0}.panel-title{display:flex;align-items:center;gap:12px;margin-bottom:20px}.step-number{height:30px;width:30px;display:grid;place-items:center;background:#f0f4ed;border:1px solid #e5eadf;border-radius:7px;font-size:10px;color:#56704d;font-weight:600}.panel-title h2{font-size:15px;margin:0 0 4px}.panel-title p{font-size:10px;color:#8c958e;margin:0}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.two-columns>label{margin-top:0}.reference-preview{display:flex;gap:20px;border:1px solid var(--line);border-radius:8px;padding:12px;margin-top:20px;background:#fbfcfa;min-height:180px}.reference-preview>.media{width:125px;flex-shrink:0;aspect-ratio:3/4}.reference-preview>div:last-child{padding:14px 0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.reference-preview h3{margin:10px 0 6px}.reference-preview p{font-size:11px;color:#8a958c}.mini-label{font-size:9px;letter-spacing:1.2px;color:#8b9b8a;font-weight:600}.panel-divider{border-top:1px solid #e9ece7;margin:27px 0}.media{overflow:hidden;border-radius:6px;aspect-ratio:3/4;background:#f0f2ed;display:flex;align-items:center;justify-content:center}.media img{width:100%;height:100%;object-fit:contain}.image-placeholder{display:flex;flex-direction:column;align-items:center;gap:12px;color:#b4beb2;padding:18px;text-align:center}.image-placeholder span{font-size:9px;line-height:1.6;color:#99a494}.photo-options{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.photo-options>button{width:calc(33.33% - 8px);padding:5px;display:block;text-align:left;border-color:var(--line)}.photo-options>button.selected{border:2px solid var(--green);padding:4px;background:#f4f7f0}.photo-options>button>span{display:flex;align-items:center;justify-content:space-between;font-size:10px;padding:8px 5px 4px}.photo-options .media{aspect-ratio:1}.inline-empty{background:#f8faf6;border:1px dashed #d8dfd3;min-height:140px;width:100%;border-radius:7px;display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;color:#9da899}.inline-empty span{font-size:11px}.segmented{display:flex;background:#f1f3ef;padding:4px;border-radius:6px;margin:10px 0 19px;gap:4px}.segmented button{flex:1;border:1px solid transparent;background:none;font-size:11px;padding:9px 4px;color:#8b958d}.segmented button.selected{background:#fff;border-color:#dce4d7;box-shadow:0 2px 3px #22302007;color:#31553a}details{font-size:11px;margin-top:15px;color:#8b958e}summary{cursor:pointer;padding:5px 0}.cost-box{margin:23px 0 17px;background:#f4f7ef;border:1px solid #e2e9d9;border-radius:7px;padding:19px;text-align:left}.cost-box>span{font-size:11px;color:#7a8b70}.cost-box strong{display:block;font-size:30px;color:#355531;font-weight:550;margin:8px 0}.cost-box small{font-size:12px;font-weight:500}.cost-box p{font-size:10px;color:#97a28c;margin:0}.generate-button{width:100%;padding:13px!important}.studio-right>.panel>.small{font-size:10px;text-align:center;margin:12px 0 0}.hint{display:flex;align-items:flex-start;gap:10px;font-size:10px;color:#7f8d7b;padding:2px 6px}.hint svg{flex-shrink:0}.hint b{font-weight:600;font-size:11px}.hint p{font-size:10px;line-height:1.8;margin:6px 0}.recent{margin-top:32px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.section-heading h2{margin:0;font-size:15px}.recent-empty{border:1px dashed #d9e0d3;border-radius:8px;text-align:center;padding:32px;font-size:11px;color:#929e8c}.recent-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.recent-card{padding:15px;justify-content:flex-start;gap:12px}.recent-card>div:nth-child(2){text-align:left;min-width:0}.recent-card b{font-size:11px}.recent-card small{font-size:10px;display:block;color:#8b968d;margin-top:6px}.recent-card .badge{margin-left:auto}.recent-icon{background:#f0f4eb;border-radius:6px;padding:10px;color:#8ca07f}.badge{display:inline-flex;align-items:center;border-radius:4px;font-size:9px;font-weight:550;padding:5px 7px;white-space:nowrap;background:#f0f1ef;color:#818b81;line-height:1.2}.badge.approved,.badge.completed{background:#eaf3e7;color:#4c7942}.badge.running,.badge.saving,.badge.submitting{background:#e9f0f7;color:#5c7e9d}.badge.rejected,.badge.failed,.badge.expired{background:#faeaea;color:#b36666}.badge.submission_unknown,.badge.save_failed{background:#fff2d8;color:#9a7829}.toolbar{display:flex;gap:15px;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap}.toolbar>input{max-width:340px;margin:0}.toolbar>select{width:auto;max-width:240px;margin:0}.toolbar>p{margin:0}.toolbar .muted{font-size:11px}.toolbar label{margin:0}.tabs{display:flex;gap:4px}.tabs button{border:0;background:transparent;color:#8b968c;font-size:12px}.tabs button.active{background:#e7eddf;color:#466035}.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.library-card{background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden}.card-image{display:block;width:100%;padding:0;border:0;position:relative;border-radius:0;background:#eef1e9}.card-image .media{border-radius:0;aspect-ratio:4/4.7}.photo-count{position:absolute;right:12px;bottom:12px;padding:4px 8px;background:#ffffffdf;font-size:9px;border-radius:4px;color:#67745f}.card-body{padding:18px}.card-title{display:flex;align-items:center;justify-content:space-between}.card-title h3{margin:0}.card-body h3{font-size:14px}.card-body>p{font-size:11px;color:#8b968d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:8px 0 17px}.card-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #edf0e8;padding-top:12px;margin-top:12px;font-size:10px;color:#96a18f}.empty{text-align:center;background:#fafcf8;border:1px dashed #dce3d5;border-radius:9px;padding:75px 25px}.empty-icon{display:inline-flex;padding:18px;border-radius:13px;background:#eef2e8;color:#9daf90;margin-bottom:22px}.empty h3{font-size:17px;font-weight:550;margin-bottom:12px}.empty p{font-size:12px;color:#8b9786;margin-bottom:25px}.result-image{position:relative}.select-image{position:absolute;left:12px;top:12px;z-index:2;padding:7px;margin:0;border-radius:5px;background:#ffffffe8;line-height:0}.results-grid .badge{margin-bottom:12px}.table-wrap{width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:8px;background:#fff}.panel .table-wrap{border:0}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}th{font-weight:500;font-size:11px;color:#8e998c;background:#f8faf6;padding:15px 16px;border-bottom:1px solid var(--line)}td{padding:18px 16px;border-bottom:1px solid #edf0e8;font-size:11px}td b{font-weight:550}td small{display:block;margin-top:7px;color:#97a18e;font-size:10px}td select{margin:0;padding:6px}td button{font-size:10px;padding:7px 9px}td:last-child>.text-button{display:flex;margin:4px 0}.error-note{max-width:170px;white-space:normal;line-height:1.7}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat{padding:20px}.stat span{font-size:11px;color:#8b9887;display:block}.stat strong{display:block;font-size:23px;font-weight:550;margin-top:16px;letter-spacing:-.5px}.admin-panels>.panel{margin-bottom:20px}.admin-panels p{font-size:12px}.notice{padding:15px 17px;border-radius:7px;border:1px solid #e0e7d9;background:#f3f7ee;color:#75866c;font-size:11px;line-height:1.9;margin:16px 0}.notice.warning{background:#fff7e5;border-color:#ecdfbc;color:#9b813e}.modal-backdrop{position:fixed;inset:0;background:#15221988;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:100;padding:28px}.modal{width:520px;max-width:100%;max-height:92vh;overflow:auto;background:#fff;border-radius:12px;padding:28px;box-shadow:0 25px 90px #10221333}.modal.wide{width:960px}.modal>header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}.modal>header h2{margin:0;font-size:20px}.modal>p{font-size:12px;color:#7b8975}.modal-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:9px;margin-top:25px}.modal form>.media{max-height:220px;aspect-ratio:auto}.upload-preview{display:block;max-width:100%;max-height:260px;margin:15px auto;object-fit:contain;border-radius:7px;background:#f0f3ea}.asset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.asset-card{border:1px solid var(--line);border-radius:7px;overflow:hidden}.asset-card>.media{border-radius:0;aspect-ratio:4/5}.asset-card>div:last-child{padding:12px}.asset-card b{font-size:12px}.asset-card p{font-size:10px;color:#8f9a8a;margin:6px 0 10px}.asset-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}.asset-actions button{font-size:10px;padding:6px 8px}.asset-card.archived{opacity:.65}.compare{display:grid;grid-template-columns:1fr 1fr;gap:20px}.compare .media{margin-top:10px;max-height:500px;aspect-ratio:4/5}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:18px;max-width:90vw;width:max-content;background:#263b2d;color:#eef4e6;box-shadow:0 8px 30px #15251930;border-radius:8px;padding:15px 18px;z-index:200;font-size:12px;line-height:1.7}.toast button{border:0;background:none;color:#c7d8bf;padding:0;font-size:20px}@media(min-width:1550px){.library-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.generator{padding:32px}.content{padding-top:45px}}@media(max-width:1150px){.sidebar{width:215px;padding:26px 15px 0}.main-column{margin-left:215px;width:calc(100% - 215px)}.content{padding:30px 25px}.topbar{padding:0 25px}.studio-grid{grid-template-columns:minmax(0,1.2fr) minmax(285px,1fr);gap:17px}.generator,.panel{padding:21px}.library-grid{gap:15px;grid-template-columns:repeat(2,minmax(0,1fr))}.stat-grid{grid-template-columns:1fr 1fr}.page-heading h1{font-size:23px}.reference-preview{gap:12px}.reference-preview>.media{width:100px}.login-story{padding:40px}.login-form{padding:35px}}@media(max-width:850px){.studio-grid{grid-template-columns:1fr}.studio-right{display:grid;grid-template-columns:1fr}.sidebar{width:200px}.main-column{margin-left:200px;width:calc(100% - 200px)}.content{padding:28px 20px}.topbar{padding:0 20px}.topbar>span{display:none}.brand b{font-size:19px}.sidebar>.brand{padding-left:2px}.recent-grid,.admin-panels,.login-layout{grid-template-columns:1fr}.login-story{display:none}.login-form{min-height:100vh;padding:40px 24px}.asset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.sidebar{display:none;width:235px}.sidebar.open{display:flex;box-shadow:15px 0 80px #0d251555}.main-column{margin:0;width:100%}.mobile-nav{display:flex}.topbar{justify-content:flex-start;gap:12px;height:56px;padding:0 15px}.content{padding:25px 16px}.page-heading{align-items:flex-start;gap:12px}.page-heading h1{font-size:22px;line-height:1.5;letter-spacing:-.8px}.page-heading>button{font-size:11px;white-space:nowrap;padding:9px}.page-heading>div>p:last-child{font-size:11px}.library-grid{gap:12px}.card-body{padding:12px}.card-title h3{font-size:12px}.card-body>p{font-size:10px}.card-bottom{font-size:9px}.card-bottom .text-button{font-size:10px}.toolbar{gap:10px}.toolbar>input{max-width:none}.toolbar .tabs{gap:0}.tabs button{font-size:11px;padding:8px 11px}.toolbar>button{font-size:11px}.app-footer{margin:0 16px;font-size:8px}.modal-backdrop{padding:12px}.modal{padding:20px;max-height:95vh}.modal>header h2{font-size:18px}.compare{gap:10px}.modal-actions{justify-content:flex-start}.modal-actions button{font-size:11px}.stat strong{font-size:20px}.stat{padding:17px}.toast{font-size:11px;padding:12px 15px}.hint{padding:0 3px}.generator{padding:20px}.two-columns{gap:10px}}
