@font-face{font-family:Pretendard Variable;font-weight:45 920;font-style:normal;font-display:swap;src:url(/assets/PretendardVariable-CJuje-Rk.woff2)format("woff2-variations")}:root{color:#151b1f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"tnum" 1;background:#f6f7f5;font-family:Pretendard Variable,Pretendard,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px}*{box-sizing:border-box}body{min-width:320px;margin:0}#root{min-height:100vh}:root{--bg:#f6f7f5;--surface:#fff;--surface-muted:#f9faf8;--line:#e0e5e1;--line-strong:#cfd8d2;--text:#151b1f;--muted:#657174;--faint:#899294;--black:#11181c;--green:#24a878;--green-soft:#e8f6ef;--red:#ba3d45;--red-soft:#fff0f1;--yellow-soft:#fff7df;--yellow-text:#7b5c00;--shadow-sm:0 1px 2px #11181c0d;--shadow-md:0 16px 40px #11181c1f}button,input,select{font:inherit}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:.45}.loading-screen,.auth-shell,.app-shell{min-height:100vh;color:var(--text)}.loading-screen{background:var(--bg);color:var(--muted);place-items:center;font-size:14px;font-weight:600;display:grid}.app-shell{background:var(--bg);grid-template-rows:auto auto minmax(0,1fr);gap:14px;padding:18px;display:grid}.auth-shell{background:var(--bg);grid-template-rows:auto auto 1fr;gap:14px;padding:18px;display:grid}.auth-shell-brand{border:1px solid var(--line);background:var(--surface);width:fit-content;box-shadow:var(--shadow-sm);border-radius:12px;justify-self:center;align-items:center;gap:8px;padding:8px 12px;display:flex}.auth-notice{grid-row:2}.topbar,.brand-lockup,.top-actions,.main-nav,.main-nav button,.stage-controls,.modal-actions,.row-actions,.notice{align-items:center;display:flex}.topbar{border:1px solid var(--line);background:var(--surface);min-height:58px;box-shadow:var(--shadow-sm);border-radius:12px;justify-content:space-between;gap:16px;padding:8px 10px 8px 12px}.brand-lockup,.top-actions,.modal-actions,.row-actions{gap:8px}.brand-lockup{min-width:196px;color:var(--text)}.brand-mark{border:1px solid var(--line-strong);background:var(--surface);border-radius:8px;place-items:center;width:36px;height:36px;display:grid}.brand-mark span{border:4px solid var(--black);border-right-color:var(--green);border-radius:999px;width:15px;height:15px;transform:rotate(-24deg)}.brand-copy{gap:2px;line-height:1;display:grid}.brand-copy strong{font-size:15px;font-weight:700}.brand-copy small{color:var(--muted);font-size:11px;font-weight:600}.main-nav{border:1px solid var(--line);background:#f2f4f1;border-radius:10px;justify-self:center;gap:2px;padding:3px}.main-nav button{min-width:84px;height:36px;color:var(--muted);background:0 0;border-radius:8px;justify-content:center;gap:6px;font-size:13px;font-weight:600}.main-nav button.active{background:var(--black);color:#fff}.primary-button,.soft-button{white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 13px;font-size:13px;font-weight:600;display:inline-flex}.primary-button{background:var(--black);color:#fff}.primary-button:hover:not(:disabled){background:#263238}.soft-button{border:1px solid var(--line);background:var(--surface);color:var(--text)}.soft-button:hover:not(:disabled){border-color:var(--line-strong);background:var(--surface-muted)}.soft-button.danger{color:var(--red)}.user-pill,.state,.status,.share-list span{color:#465357;background:#eef2ef;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-height:28px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.notice{border:1px solid var(--line);background:var(--surface);width:min(760px,100%);min-height:40px;color:var(--text);box-shadow:var(--shadow-sm);border-radius:8px;justify-content:space-between;justify-self:center;gap:12px;padding:0 10px 0 14px;font-size:13px;font-weight:600}.notice button,.close-button{width:32px;height:32px;color:var(--muted);background:0 0;border-radius:8px;place-items:center;display:grid}.home-stage{place-items:center;min-height:calc(100vh - 112px);display:grid;position:relative;overflow:hidden}.stage-controls{z-index:3;gap:8px;position:absolute;top:20px;right:22px}.stage-controls button,.row-actions button{border:1px solid var(--line);background:var(--surface);width:38px;height:38px;color:var(--text);box-shadow:var(--shadow-sm);border-radius:8px;place-items:center;display:grid}.card-rail{scroll-snap-type:x mandatory;grid-auto-columns:316px;grid-auto-flow:column;justify-content:center;gap:18px;width:min(1280px,100%);min-height:594px;padding:28px 8px 34px;scroll-padding-inline:8px;display:grid;overflow:auto visible}.card-rail.empty{justify-content:center}.card-rail:has(.project-card:nth-child(4)){justify-content:start}.project-card{--accent:var(--green);scroll-snap-align:center;text-align:left;border:1px solid var(--line);background:var(--surface);min-height:536px;color:var(--text);box-shadow:var(--shadow-sm);border-radius:8px;grid-template-rows:auto 1fr auto auto;gap:18px;padding:22px;transition:transform .15s,border-color .15s,box-shadow .15s;display:grid;position:relative;overflow:hidden}.project-card:hover{border-color:color-mix(in srgb, var(--accent) 42%, var(--line));transform:translateY(-4px);box-shadow:0 14px 32px #11181c1a}.company-card{background:linear-gradient(#fff,#f7f9f6)}.project-card:before{content:"";background:var(--accent);height:5px;position:absolute;top:0;left:0;right:0}.project-card:after{content:"";background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 8%, #fff), #fff0);pointer-events:none;height:92px;position:absolute;inset:5px 0 auto}.card-meta,.card-title,.card-stats,.share-list{z-index:1;position:relative}.card-meta{color:var(--muted);justify-content:space-between;align-items:center;font-size:12px;font-weight:600;display:flex}.card-title{align-content:end;gap:12px;display:grid}.card-title h2,.create-card h2{color:var(--text);word-break:keep-all;overflow-wrap:anywhere;margin:0;font-size:29px;font-weight:700;line-height:1.12}.card-title>span{background:color-mix(in srgb, var(--accent) 12%, #fff);width:fit-content;min-height:28px;color:color-mix(in srgb, var(--accent) 72%, var(--text));border-radius:999px;align-items:center;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.card-stats{gap:8px;display:grid}.card-stats div{border-bottom:1px solid #eef1ee;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:12px;padding-bottom:9px;display:grid}dt,dd{margin:0}dt{color:var(--muted);font-size:12px;font-weight:500}dd{color:var(--text);font-variant-numeric:tabular-nums;font-size:15px;font-weight:700}.share-list{flex-wrap:wrap;gap:6px;display:flex}.create-card{text-align:center;color:var(--muted);background:#fbfcfa;border-style:dashed;grid-template-rows:1fr auto auto 1fr;place-items:center}.create-card:before,.create-card:after{display:none}.create-icon{background:var(--black);color:#fff;border-radius:8px;place-items:center;width:68px;height:68px;display:grid}.modal-backdrop{z-index:20;background:#11181c61;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.auth-required-backdrop{z-index:auto;background:0 0;align-items:center;min-height:calc(100vh - 104px);padding:0;position:static;inset:auto}.auth-required-backdrop .modal{box-shadow:var(--shadow-sm)}.auth-required-backdrop .modal h2{margin-right:0}.modal{border:1px solid var(--line);background:var(--surface);width:min(440px,100%);max-height:calc(100vh - 44px);box-shadow:var(--shadow-md);border-radius:12px;padding:22px;position:relative;overflow:auto}.wide-modal{width:min(680px,100%)}.detail-modal{width:min(1060px,100%)}.close-button{position:absolute;top:12px;right:12px}.modal h2{color:var(--text);margin:0 40px 18px 0;font-size:22px;font-weight:700}form{gap:10px;display:grid}form label{gap:6px;display:grid}form label>span{color:var(--muted);font-size:12px;font-weight:600}input,select{border:1px solid var(--line-strong);background:var(--surface);width:100%;min-width:0;height:42px;color:var(--text);border-radius:8px;outline:none;padding:0 12px;font-weight:500}input::placeholder{color:var(--faint)}input:focus,select:focus{border-color:var(--green);box-shadow:0 0 0 3px #24a8781f}.form-row,.member-input-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.member-input-row{grid-template-columns:1fr 1fr 96px 40px;align-items:end}.member-editor,.member-row-group,.detail-head,.metrics,.detail-grid,.expense-list,.payout-list,.payment-list{gap:10px;display:grid}.member-editor-head{color:var(--muted);justify-content:space-between;font-weight:600;display:flex}.member-row-group{border:1px solid var(--line);background:var(--surface-muted);border-radius:8px;gap:8px;padding:10px}.member-search-field,.member-search-control{position:relative}.member-suggestions{z-index:30;border:1px solid var(--line-strong);background:var(--surface);max-height:224px;box-shadow:var(--shadow-md);border-radius:8px;gap:4px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto}.member-suggestion,.member-suggestion-empty{text-align:left;border-radius:7px;align-content:center;gap:2px;min-height:42px;padding:8px 10px;display:grid}.member-suggestion{color:var(--text);background:0 0}.member-suggestion:hover{background:var(--green-soft)}.member-suggestion strong{font-size:13px;font-weight:700}.member-suggestion span,.member-suggestion-empty{color:var(--muted);font-size:12px;font-weight:500}.member-suggestion-empty{background:var(--surface-muted)}.valid{color:#177957}.invalid,.form-error{color:var(--red)}.form-error,.form-info,.form-hint{margin:0;font-size:13px;font-weight:500}.form-info{color:#177957}.form-hint{color:var(--muted)}.auth-links{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.auth-links button{color:var(--muted);background:0 0;font-weight:600}.verification-panel{gap:14px;display:grid}.verification-panel strong{color:var(--text);font-size:16px;font-weight:700;display:block}.verification-panel p{color:var(--muted);margin:7px 0 0;font-size:13px;font-weight:400;line-height:1.55}.verify-badge{background:var(--green-soft);color:#177957;border-radius:8px;place-items:center;width:42px;height:42px;display:grid}.verify-badge.pending{background:var(--yellow-soft);color:var(--yellow-text)}.verify-actions{flex-wrap:wrap;gap:8px;display:flex}.dev-link-button{color:#177957;background:#eefaf4;border:1px solid #24a8784d;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;font-size:13px;font-weight:600;display:inline-flex}.member-remove-button{background:var(--red-soft);width:40px;height:42px;color:var(--red);border:1px solid #ead4d7;border-radius:8px;place-items:center;display:grid}.company-share-row input[readonly]{background:var(--surface-muted);color:var(--muted)}.company-share-row .member-remove-button{background:var(--green-soft);color:#177957;border-color:#24a87838}.add-member-button{width:fit-content}.empty-line{border:1px solid var(--line);color:var(--muted);border-radius:8px;margin:0;padding:14px;font-size:13px;font-weight:500}.detail-head{grid-template-columns:1fr auto;align-items:start;margin-bottom:14px}.detail-head span,.modal h3,.metrics span,.payout-row span,.expense-row span,.payment-row span,.section-head span{color:var(--muted);font-size:12px;font-weight:500}.detail-head h2{margin:4px 0 0}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.metrics div{border:1px solid var(--line);background:var(--surface-muted);border-radius:8px;gap:5px;padding:12px;display:grid}.metrics strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}.detail-grid{grid-template-columns:minmax(0,1.2fr) minmax(240px,.7fr) minmax(260px,.8fr);align-items:start}.company-detail-grid{grid-template-columns:minmax(260px,1fr) minmax(260px,1fr)}.modal h3{color:var(--text);margin:0 0 8px;font-size:16px;font-weight:700}.payout-row,.expense-row,.payment-row{border:1px solid var(--line);background:var(--surface);border-radius:8px;align-items:center;gap:10px;min-height:44px;padding:0 12px;display:grid}.payout-row{grid-template-columns:minmax(76px,1fr) repeat(5,minmax(86px,1fr))}.payout-row-head{background:var(--surface-muted);min-height:36px}.payout-row-head span{color:var(--faint);font-size:11px;font-weight:700}.expense-section{margin-top:16px}.expense-row{grid-template-columns:minmax(160px,1fr) .7fr .7fr auto auto 76px}.company-expense-row{grid-template-columns:minmax(150px,1fr) .8fr .7fr auto minmax(170px,auto) auto 76px}.expense-row strong,.payout-row strong,.payment-row strong{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.payment-section{gap:10px;margin-top:16px;display:grid}.section-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.payment-form{grid-template-columns:minmax(180px,1fr) minmax(140px,.7fr) minmax(180px,1fr) auto;gap:8px;display:grid}.payment-row{grid-template-columns:minmax(100px,.7fr) minmax(120px,.7fr) minmax(180px,1fr) minmax(110px,auto)}.state.open,.status.APPROVED{background:var(--green-soft);color:#177957}.status.INCLUDED{color:#536064;background:#edf1ef}.status.PENDING{background:var(--yellow-soft);color:var(--yellow-text)}.status.REJECTED{background:var(--red-soft);color:var(--red)}.muted-status{color:#536064;background:#edf1ef}.row-actions button:last-child{color:var(--red)}.modal-actions{justify-content:space-between;margin-top:16px}.admin-page{align-content:start;justify-self:center;gap:14px;width:min(1120px,100%);min-height:calc(100vh - 112px);padding:42px 0;display:grid}.admin-header,.admin-summary,.admin-row{gap:12px;display:grid}.admin-header{grid-template-columns:1fr auto;align-items:center}.admin-header span,.admin-summary span,.admin-row-head span{color:var(--muted);font-size:12px;font-weight:600}.admin-header h1{color:var(--text);margin:4px 0 0;font-size:28px;line-height:1.15}.admin-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-summary div{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:8px;gap:5px;padding:14px;display:grid}.admin-summary strong{color:var(--text);font-size:22px;font-weight:700}.admin-table{gap:8px;display:grid}.admin-row{border:1px solid var(--line);background:var(--surface);border-radius:8px;grid-template-columns:minmax(120px,.9fr) minmax(190px,1.4fr) 88px 100px 100px 82px;align-items:center;min-height:52px;padding:8px 12px}.admin-row-head{background:0 0;border-color:#0000;min-height:36px;padding-block:0}.admin-row strong,.admin-row>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.admin-row strong{color:var(--text);font-size:14px;font-weight:700}.admin-row>span{color:var(--muted);font-size:13px;font-weight:500}@media (width<=1120px){.topbar{flex-wrap:wrap;align-items:stretch}.main-nav{order:3;justify-content:center;width:100%}.detail-grid,.company-detail-grid,.metrics{grid-template-columns:1fr}.expense-row,.company-expense-row,.admin-row,.payout-row,.payment-row,.payment-form,.member-input-row{grid-template-columns:1fr;align-items:start;padding:12px}.expense-row strong,.payout-row strong,.payment-row strong{text-align:left}.member-remove-button{width:100%}.admin-row-head{display:none}}@media (width<=680px){.app-shell{padding:12px}.topbar,.top-actions{flex-direction:column;align-items:stretch}.brand-lockup{min-width:0}.main-nav{border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.main-nav button{border-radius:8px;width:100%}.stage-controls{display:none}.card-rail{grid-auto-columns:minmax(276px,88vw);justify-content:start;min-height:536px;padding-top:12px}.project-card{min-height:500px}.card-title h2,.create-card h2{font-size:26px}.admin-page{padding:18px 0}.admin-header,.admin-summary{grid-template-columns:1fr}}
