:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#182d31;--muted:#536a70;--line:#e0e9e7;--back:#f3f7f6;--card:#fff;--accent:#0b7867;--accent-hover:#086457;--rail:#142d31;--rail-hi:#254d4a;--shadow:0 2px 8px #132d3010;font:14px/1.55 Inter,PingFang SC,Microsoft YaHei,Noto Sans CJK SC,system-ui,sans-serif}*{box-sizing:border-box}body{background:var(--back);color:var(--ink);margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:default}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}:is(button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible){outline-offset:2px;outline:3px solid #65bba8}.btn{white-space:nowrap;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:8px 13px;font-weight:750;display:inline-flex}.primary{background:var(--accent);color:#fff;box-shadow:0 2px 4px #0b786720}.primary:hover{background:var(--accent-hover)}.subtle{color:#23534c;background:#fff;border-color:#d8e5e0}.subtle:hover{background:#edf6f3}.danger{color:#fff;background:#aa4242}.danger:hover{background:#8d3333}.text-btn,.icon-btn{color:var(--accent-hover);background:0 0;border:0;border-radius:7px;align-items:center;gap:6px;display:inline-flex}.text-btn{padding:3px 0;font-weight:730}.text-btn:hover{text-decoration:underline}.icon-btn{color:#536f73;padding:7px}.icon-btn:hover{background:#eaf3f0}.brand{align-items:center;gap:11px;min-width:0;display:flex}.brand-mark{color:#073e34;background:#83d6bf;border-radius:12px;flex:none;place-items:center;width:40px;height:40px;display:grid}.brand strong,.brand small{display:block}.brand strong{letter-spacing:.045em;font-size:16px;line-height:1.25}.brand small{letter-spacing:.16em;color:#487268;margin-top:3px;font-size:9px;font-weight:800}.brand.light strong{color:#f1fbf8}.brand.light small{color:#9bc6bb}.guest{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:100dvh;display:grid}.guest-hero{color:#f0fbf7;background:radial-gradient(at 87% 75%,#24635b,#0000 56%),linear-gradient(140deg,#112b31,#163f3b);flex-direction:column;min-height:100%;padding:clamp(27px,5vw,74px);display:flex;position:relative;overflow:hidden}.guest-hero:after{content:"";pointer-events:none;border:1px solid #c6fbeb2c;border-radius:50%;width:650px;height:650px;position:absolute;bottom:-240px;right:-220px;box-shadow:0 0 0 50px #c6fbeb12,0 0 0 100px #c6fbeb0a}.guest-copy{z-index:1;max-width:610px;margin:auto 0;padding:60px 0;position:relative}.hero-badge{color:#b9f3e0;letter-spacing:.045em;background:#b9f0dc23;border-radius:7px;align-items:center;gap:6px;padding:5px 9px;font-size:11px;font-weight:800;display:inline-flex}.guest h1{letter-spacing:-.045em;margin:16px 0 14px;font-size:clamp(36px,5.3vw,76px);line-height:1.17}.guest-copy>p{color:#c3dfd8;max-width:420px;font-size:15px}.guest-points{gap:12px;margin-top:31px;display:grid}.guest-points>div{color:#9be1cc;align-items:center;gap:11px;display:flex}.guest-points strong,.guest-points small{display:block}.guest-points strong{color:#f2fbf8;font-size:13px}.guest-points small{color:#b7d5cd;font-size:11px}.guest-foot{color:#b7d5cd;z-index:1;align-items:center;gap:7px;font-size:11px;display:flex;position:relative}.guest-right{background:#f6faf8;place-items:center;padding:29px;display:grid}.guest-form{border:1px solid var(--line);background:#fff;border-radius:20px;width:min(100%,440px);padding:30px;box-shadow:0 14px 46px #17393112}.guest-form h2{margin:10px 0 6px;font-size:27px;line-height:1.2}.guest-form>p{color:var(--muted);font-size:13px}.guest-form .notice{color:inherit;margin:12px 0}.guest-tabs{margin:18px 0 13px!important}.guest-options{justify-content:flex-end;margin-top:12px;font-size:12px;display:flex}.login-fields{gap:12px;margin-top:13px;display:grid}.guest-submit{justify-content:space-between;width:100%;margin-top:2px;padding-inline:14px}.otp-row{grid-template-columns:1fr auto;align-items:end;gap:8px;display:grid}.app-shell{grid-template-columns:228px minmax(0,1fr);min-height:100dvh;display:grid}.sidebar{background:var(--rail);color:#c8e0da;flex-direction:column;height:100dvh;padding:24px 13px 15px;display:flex;position:sticky;top:0}.sidebar .brand{margin:0 6px 34px}.sidebar .brand strong{font-size:15px}.nav-label{color:#9bbcb6;letter-spacing:.08em;margin:0 10px 9px;font-size:11px}.sidebar nav{gap:5px;display:grid}.sidebar nav button,.side-new,.side-user{text-align:left;width:100%;color:inherit;white-space:nowrap;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;padding:10px 11px;display:flex}.sidebar nav button:hover,.side-new:hover,.side-user:hover{background:#1f4445}.sidebar nav button[aria-current]{background:var(--rail-hi);color:#f5fcfa;font-weight:800}.sidebar nav button svg{flex:none}.sidebar nav button b{color:#fff;background:#2d796c;border-radius:9px;margin-left:auto;padding:0 6px;font-size:11px}.side-bottom{gap:9px;margin-top:auto;display:grid}.side-new{color:#b7e8d8;border:1px solid #355251;font-weight:700}.side-user{white-space:normal;gap:8px;padding-inline:7px}.side-user>span:nth-child(2){flex:1}.side-user strong,.side-user small{display:block}.side-user small{color:#a8c7be;font-size:10px}.avatar{color:#125d50;background:#e2f1ec;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;font-size:15px;font-weight:800;display:inline-grid}.avatar.reviewer{color:#804b16;background:#fff1d8}.avatar.finance{color:#635096;background:#ece8fa}.main{min-width:0}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:9px;height:61px;padding:0 clamp(16px,3vw,38px);display:flex}.project-switch{color:var(--accent);align-items:center;gap:6px;min-width:0;display:flex}.project-switch select{text-overflow:ellipsis;max-width:min(52vw,360px);color:var(--ink);background:0 0;border:0;padding:6px 4px;font-weight:800}.main-inner{max-width:1530px;margin:auto;padding:25px clamp(16px,3vw,38px) 0}.page-head{justify-content:space-between;align-items:end;gap:12px;margin-bottom:17px;display:flex}.page-head h1{letter-spacing:-.025em;margin:4px 0 5px;font-size:clamp(26px,3.2vw,40px);line-height:1.18}.page-head p{color:var(--muted);font-size:13px}.eyebrow{color:#2a7365;letter-spacing:.08em;align-items:center;gap:6px;font-size:11px;font-weight:800;display:flex}.eyebrow span{background:#2aa68a;border-radius:50%;width:7px;height:7px}.month-picker,.toolbar label{border:1px solid var(--line);color:var(--muted);white-space:nowrap;background:#fff;border-radius:8px;align-items:center;gap:6px;padding:4px 8px;font-size:12px;display:flex}.month-picker input,.toolbar select{color:var(--ink);background:0 0;border:0;min-width:0;font-weight:650}.panel{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;min-width:0;margin-bottom:15px;overflow:hidden}.panel-head{justify-content:space-between;align-items:center;gap:9px;padding:17px 19px 14px;display:flex}.panel-head h2{font-size:17px;line-height:1.3}.panel-head p{color:var(--muted);margin-top:3px;font-size:12px}.panel-body{padding:0 19px 16px}.grid-two{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.overview-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.cost-hero{color:#fff;background:linear-gradient(105deg,#174b45,#205b51);border-radius:16px;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:18px;margin-bottom:14px;padding:19px 21px;display:grid;box-shadow:0 7px 25px #143f3522}.cost-hero h2{color:#f4fffc;margin-top:8px;font-size:17px}.cost-hero strong{margin:4px 0;font-size:clamp(26px,3.4vw,42px);line-height:1.25;display:inline-block}.daily-unit{color:#cbefe3;font-size:14px}.cost-hero p{color:#c8e8df;font-size:12px}.hero-btn{color:#175746;background:#e0f6ee;min-height:35px;margin-top:13px;font-size:12px}.cost-breakdown{background:#ffffff0e;border:1px solid #a5dbcd57;border-radius:11px;min-width:0;padding:13px 15px}.cost-breakdown h3{margin-bottom:6px;font-size:13px}.cost-breakdown>div{border-bottom:1px solid #a5dbcd38;justify-content:space-between;gap:9px;padding:6px 0;font-size:12px;display:flex}.cost-breakdown>div:last-child{border-bottom:0}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.metric{padding:13px 14px}.metric>div{color:var(--muted);justify-content:space-between;align-items:center;gap:5px;font-size:12px;font-weight:700;display:flex}.metric strong,.metric small{display:block}.metric strong{letter-spacing:-.045em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin-top:7px;font-size:clamp(20px,2.2vw,31px);line-height:1.2}.metric small{color:var(--muted);margin-top:5px;font-size:10px}.icon-tile{color:#197461;background:#e1f2ed;border-radius:10px;flex:none;place-items:center;width:36px;height:36px;display:inline-grid}.icon-tile.green{color:#14755e;background:#e1f4ee}.icon-tile.amber{color:#8b551b;background:#fff0df}.icon-tile.blue{color:#315f9e;background:#e8f1fc}.icon-tile.purple{color:#6555a3;background:#edeafa}.legend{color:var(--muted);white-space:nowrap;align-items:center;gap:5px;font-size:11px;display:flex}.legend i{background:#26a58b;border-radius:50%;width:8px;height:8px}.legend i:nth-child(2){background:#e7a767;margin-left:6px}.store-bars{gap:11px;display:grid}.store-bars>div>div:first-child{justify-content:space-between;gap:7px;font-size:12px;display:flex}.store-bars small{color:var(--muted);font-size:11px}.track{background:#e9f1ef;border-radius:8px;height:5px;margin-top:4px;overflow:hidden}.track i{background:#26a58b;border-radius:8px;height:100%;display:block}.track.expense i{background:#e7a767}.team-mini{gap:8px;display:grid}.team-mini>div{border-bottom:1px solid #edf2f1;align-items:center;gap:9px;padding-bottom:7px;display:flex}.team-mini>div>div{flex:1}.team-mini b,.team-mini small{display:block}.team-mini small{color:var(--muted);font-size:11px}.team-mini>div>strong{color:#2c6c5c}.compact-top{margin-top:-5px;padding-top:0}.table-wrap{overflow:auto}.table-wrap table{border-collapse:collapse;text-align:left;width:100%;min-width:550px}.table-wrap th,.table-wrap td{vertical-align:middle;border-bottom:1px solid #edf2f0;padding:9px 11px;font-size:12px}.table-wrap th{color:#4c6466;white-space:nowrap;background:#f4f8f7;font-size:11px}.table-wrap th:first-child,.table-wrap td:first-child{padding-left:19px}.table-wrap tbody tr:last-child td{border-bottom:0}.table-wrap tbody tr:hover{background:#f8fbfa}.table-wrap td small{color:var(--muted);font-size:11px;display:block}.row-title{color:var(--ink);text-align:left;overflow-wrap:anywhere}.numeric{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.pill{white-space:nowrap;color:#516564;background:#eef1f1;border-radius:20px;padding:3px 8px;font-size:11px;font-weight:800;display:inline-block}.pill.green{color:#156751;background:#e1f4ed}.pill.blue{color:#335b8d;background:#e8f1fc}.pill.amber{color:#8b561d;background:#fff1dc}.pill.red{color:#9b3939;background:#fce8e6}.notice{color:#285d50;background:#edf7f3;border:1px solid #d4e8e0;border-radius:8px;margin-bottom:13px;padding:9px 12px;font-size:12px}.notice.bad{color:#873c31;background:#fff0ed;border-color:#f0d0c8}.feedback{justify-content:space-between;align-items:center;display:flex}.muted{color:var(--muted);font-size:12px}.button-line{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.pad-top{padding-top:9px}.segmented{flex-wrap:wrap;gap:5px;margin-bottom:13px;display:flex}.segmented button{color:#44615b;background:#fff;border:1px solid #dce8e2;border-radius:8px;padding:7px 10px;font-size:12px;font-weight:700}.segmented button[aria-pressed=true]{color:#075e50;background:#dff1eb;border-color:#c6e6db}.toolbar{flex-wrap:wrap;gap:6px;padding:0 19px 12px;display:flex}.empty{text-align:center;color:var(--muted);padding:23px 15px 28px}.empty>span{color:#438777;background:#e9f4ef;border-radius:13px;place-items:center;width:44px;height:44px;margin:0 auto 7px;display:grid}.empty strong{color:#304b4a;font-size:14px;display:block}.empty p{margin-top:3px;font-size:12px}.info-block,.attendance-card{color:#24594f;background:#edf7f3;border:1px solid #d5e8e0;border-radius:12px;align-items:center;gap:11px;margin-bottom:14px;padding:11px 14px;display:flex}.info-block p,.attendance-card p{color:#4e746b;font-size:12px}.info-block svg{flex:none}.attendance-card .button-line{margin-left:auto}.agreement-grid,.member-grid,.people-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 18px 16px;display:grid}.agreement-card,.member-card{border:1px solid var(--line);background:#fcfefd;border-radius:12px;min-width:0;padding:12px}.agreement-card h3,.member-card h3{overflow-wrap:anywhere;margin-top:9px;font-size:14px}.agreement-card p,.member-card p{color:var(--muted);margin-bottom:8px;font-size:11px}.agreement-card .card-top,.member-card>div:first-child{justify-content:space-between;align-items:center;gap:5px;display:flex}.member-card h3 b{color:#397469;margin-left:4px}.panel-note{color:var(--muted);padding:0 19px 15px;font-size:12px}.people-summary{gap:10px;padding:0}.person-kpi{align-items:center;gap:8px;padding:10px;display:flex}.person-kpi h3{font-size:13px}.person-kpi p{color:var(--muted);font-size:10px}.person-kpi strong{color:#26695a;white-space:nowrap;margin-left:auto;font-size:16px}.form{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;display:grid}.field{flex-direction:column;gap:4px;min-width:0;display:flex}.field>span{color:#3b5553;font-size:12px;font-weight:750}.field input,.field select,.field textarea{width:100%;min-width:0;min-height:36px;color:var(--ink);background:#fff;border:1px solid #cddeda;border-radius:8px;padding:7px 8px}.field textarea{resize:vertical}.field input::placeholder{color:#718781}.wide{grid-column:1/-1}.check,.weekdays{color:var(--muted);align-items:center;gap:7px;font-size:12px;display:flex}.weekdays{flex-wrap:wrap}.check input,.weekdays input{accent-color:var(--accent)}.statement{gap:4px;display:grid}.statement>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:7px;padding:8px 0;display:flex}.statement .result{color:#076653;font-weight:800}.statement .muted{margin-top:5px}dialog{color:var(--ink);background:#fff;border:1px solid #dce9e6;border-radius:16px;width:min(680px,100% - 24px);max-height:calc(100dvh - 24px);padding:0;box-shadow:0 24px 80px #0b2f3260}dialog::backdrop{background:#10282b91}.modal-content{padding:17px 20px 19px}.modal-head{align-items:start;padding:0 0 13px}.modal-head h2{font-size:21px}.modal-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;padding-top:10px;display:flex}.modal-actions>.muted{margin-right:auto}.details{grid-template-columns:1fr 1fr;gap:6px 12px;margin:10px 0;display:grid}.details>div{border-bottom:1px solid var(--line);min-width:0;padding:5px 0}.details dt{color:var(--muted);font-size:11px}.details dd{overflow-wrap:anywhere;margin:2px 0}.amount-band{background:#eaf6f1;border-radius:8px;justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.amount-band strong{font-size:23px;line-height:1.2}.label-heading{margin:10px 0 5px;font-size:13px}.action-form{border-top:1px solid var(--line);margin-top:11px;padding-top:10px}.upload-row{flex-wrap:wrap;align-items:center;gap:6px;margin-top:9px;display:flex}.upload-row input{min-width:0;max-width:100%;font-size:12px}.file-list{gap:4px;display:grid}.file-link{color:#165c4e;background:#f0f7f5;border-radius:6px;align-items:center;gap:6px;min-width:0;padding:5px 7px;display:flex}.file-link span{overflow-wrap:anywhere;flex:1}.file-link small{white-space:nowrap;font-size:10px}.contract-body{white-space:pre-wrap;border:1px solid var(--line);overflow-wrap:anywhere;background:#fbfdfc;border-radius:8px;max-height:330px;padding:12px;font-size:13px;overflow:auto}.checks{color:var(--muted);margin:6px 0;padding-left:17px;font-size:11px}.diff{min-width:0!important}.diff td{overflow-wrap:anywhere}.secret{color:#0c5e50;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;background:#eaf7f2;border:1px solid #d3ebe1;border-radius:9px;padding:12px;font-size:17px;display:block}.section-pad{border-bottom:1px solid var(--line);padding:9px 0}.section-pad h3{margin-bottom:4px;font-size:14px}footer{color:#647d77;justify-content:center;align-items:center;gap:6px;padding:2px 0 17px;font-size:11px;display:flex}.sr{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}@media (max-width:1080px){.app-shell{grid-template-columns:193px minmax(0,1fr)}.sidebar{padding-inline:10px}.agreement-grid,.member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}}@media (max-width:800px){.grid-two{grid-template-columns:1fr;gap:0}.cost-hero{grid-template-columns:1fr}.cost-breakdown{display:none}.guest-hero{padding:26px}.guest-copy{padding:35px 0}.guest h1{font-size:clamp(28px,5.4vw,49px)}}@media (max-width:640px){.guest{flex-direction:column;display:flex}.guest-hero{padding:18px 16px 24px}.guest-copy{padding:25px 0 0}.guest h1{margin:7px 0;font-size:36px}.guest h1 br{display:none}.guest-copy>p{font-size:12px}.guest-points,.guest-foot{display:none}.guest-right{padding:17px 12px 24px}.guest-form{padding:19px}.guest-form h2{font-size:23px}.app-shell{display:block}.sidebar{grid-template-columns:1fr auto;gap:8px;height:auto;padding:9px 10px;display:grid;position:static}.sidebar .brand{margin:0}.brand-mark{border-radius:8px;width:34px;height:34px}.sidebar .brand strong{font-size:13px}.sidebar .brand small{font-size:8px}.nav-label,.side-new,.side-user small,.side-user svg{display:none}.sidebar nav{grid-area:2/1/auto/-1;display:flex;overflow-x:auto}.sidebar nav button{gap:4px;width:auto;padding:6px 7px;font-size:11px}.sidebar nav button svg{width:14px;height:14px}.side-bottom{grid-area:1/2;margin:0}.side-user{gap:5px;padding:4px;font-size:11px}.side-user .avatar{width:25px;height:25px;font-size:11px}.topbar{height:48px;padding-inline:10px}.topbar .btn{min-height:31px;padding:5px 7px;font-size:11px}.main-inner{padding:16px 10px 0}.page-head{align-items:start}.page-head p{font-size:11px}.page-head h1{font-size:28px}.month-picker{gap:3px;padding:3px 4px}.month-picker span{display:none}.month-picker input{font-size:11px}.cost-hero{padding:14px}.metrics{gap:0 7px}.metric{padding:10px}.metric strong{font-size:23px}.panel-head{flex-wrap:wrap;padding:12px}.panel-body,.toolbar{padding-inline:12px}.agreement-grid,.member-grid{grid-template-columns:1fr;padding-inline:12px}.people-summary{grid-template-columns:1fr;gap:0}.attendance-card{flex-wrap:wrap}.attendance-card .button-line{margin-left:0}.modal-content{padding:13px}.form{gap:8px}.btn{font-size:12px}.modal-head{padding:0 0 11px}}
