*{box-sizing:border-box}input,button,select{font:inherit}.auth-page{min-height:100dvh;background:#f5f7f1}.auth-shell{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr}.auth-story{background:#e9efdd;padding:40px max(40px,calc((100vw - 1200px)/2));padding-right:50px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.auth-story:after{content:'';width:360px;height:360px;border:55px solid #d9e5c6;border-radius:50%;position:absolute;right:-150px;bottom:-100px;pointer-events:none;opacity:.6}.auth-story-content{padding:70px 0 85px;position:relative;z-index:1}.auth-story h1{font-size:48px;line-height:1.45;letter-spacing:-2px;font-weight:500}.auth-story-content>p{font-size:14px;color:#8b9b7c;line-height:2.1;margin-top:25px}.auth-story-content .eyebrow{margin-bottom:22px;letter-spacing:2px;font-size:11px}.auth-features{display:flex;gap:10px;flex-wrap:wrap;margin-top:36px}.auth-features span{font-size:10px;padding:7px 10px;border:1px solid #d2ddc3;color:#83966d;border-radius:6px}.auth-story-foot{font-size:11px;letter-spacing:2px;color:#91a17b;position:relative;z-index:1}.auth-form-side{display:flex;align-items:center;justify-content:center;padding:55px 38px}.auth-form-card{width:100%;max-width:360px}.auth-kicker{font-size:11px;letter-spacing:3px;color:#9da98d}.auth-form-card>h2{font-size:28px;font-weight:500;margin:8px 0}.auth-subtitle{font-size:12px;line-height:1.9;color:#96a087;margin:7px 0 24px}.auth-field{display:block;font-size:12px;font-weight:500;color:#6e845d;margin:20px 0}.auth-field>input,.auth-field>select,.password-field{display:block;width:100%;margin-top:9px;border:1px solid #dfe7d3;border-radius:8px;background:#fff;color:#38582b;min-height:47px;padding:11px 13px;font-size:14px;outline:0}.auth-field input:focus,.auth-field select:focus{border-color:#89a771;box-shadow:0 0 0 3px #c7d9b022}.password-field{display:flex;align-items:center;padding:0;overflow:hidden}.password-field input{flex:1;width:100%;min-width:0;border:0;outline:0;padding:12px 13px;background:none;color:#38582b}.password-field button{border:0;background:none;padding:12px;color:#a1ac92;font-size:10px}.password-field:focus-within{border-color:#89a771}.auth-submit{width:100%;min-height:47px;margin-top:8px;font-size:13px}.auth-account-note{font-size:10px;color:#a5ae98;line-height:1.9;margin-top:22px}.auth-privacy{padding-top:24px;margin-top:29px;border-top:1px solid #e5eadf;color:#a5b194;font-size:10px;display:flex;align-items:center;gap:7px}.auth-alert{border:1px solid #eddbcb;background:#fff5eb;color:#ac7756;padding:11px 12px;font-size:12px;border-radius:7px;line-height:1.8;overflow-wrap:anywhere;margin:12px 0}.auth-alert a{text-decoration:underline;display:block}.auth-alert.success{background:#eef6e4;border-color:#d6e5c6;color:#6a8951}.auth-mobile-brand{display:none}.admin-grid{display:grid;grid-template-columns:330px 1fr;gap:24px;align-items:start}.admin-grid .panel{padding:25px}.admin-page{padding-bottom:45px}.admin-page .intro{align-items:center}.admin-page .auth-subtitle{font-size:11px;margin-top:9px}.admin-page .auth-field{font-size:11px}.admin-page .auth-field input,.admin-page .auth-field select{font-size:12px}.admin-users-panel .aside-title h2{font-size:16px}.admin-search input{width:100%;border:1px solid #e1e8d7;background:#fafcf7;border-radius:7px;font-size:12px;padding:11px;margin:21px 0 9px;color:#5e7b47}.user-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid #eef1e8}.user-card:last-child{border-bottom:0}.user-card h3{font-size:13px;font-weight:500;overflow-wrap:anywhere;margin:0}.user-card h3 .tag{font-size:8px;margin-left:7px}.user-card p{font-size:10px;color:#a2ae92;margin:4px 0 0}.user-actions{display:flex;gap:7px;flex-shrink:0}.user-actions .button{font-size:10px;min-height:35px;padding:6px 10px}.enable-user{color:#748e58;border-color:#b8cea1}.account-nav{display:flex;gap:14px;align-items:center}.account-name{font-size:11px;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8b9d7a}.account-nav .text-button{font-size:11px;min-height:35px}.account-loading-bar{max-width:1192px;margin:13px auto 0;padding:10px 18px;border:1px solid #dfe7d4;background:#f1f5ea;border-radius:8px;color:#879b70;font-size:11px;display:flex;align-items:center;gap:12px}.account-loading-bar:has(#cloud-status:empty){display:none}#cloud-status{flex:1;line-height:1.8}#cloud-retry{border:0;background:none;color:var(--green);font-size:11px;cursor:pointer;min-height:32px}.loading .page{opacity:.4;pointer-events:none}.loading .mobile-savebar{display:none}.mobile-savebar{display:none}
@media(max-width:1000px){.auth-story{padding:32px}.auth-story h1{font-size:40px}.auth-features{max-width:250px}.auth-form-side{padding:45px 30px}.account-nav{gap:9px}.topbar-right{gap:15px}.admin-grid{grid-template-columns:290px 1fr;gap:18px}.admin-grid .panel{padding:21px}.user-actions{flex-direction:column}}
@media(max-width:700px){.auth-shell{display:block}.auth-story{min-height:220px;padding:23px 26px}.auth-story .brand{font-size:16px}.auth-story .brand-icon{width:32px;height:32px}.auth-story-content{padding:31px 0 9px}.auth-story-content .eyebrow,.auth-story-foot,.auth-features{display:none}.auth-story h1{font-size:28px;line-height:1.5;letter-spacing:-.8px}.auth-story h1 br{display:none}.auth-story-content>p{font-size:11px;line-height:1.8;margin-top:10px}.auth-story:after{width:250px;height:250px;bottom:-100px;right:-70px;border-width:40px}.auth-form-side{padding:33px 27px 45px;display:block}.auth-form-card{max-width:430px;margin:0 auto}.auth-kicker{font-size:10px}.auth-form-card>h2{font-size:23px}.auth-subtitle{font-size:11px}.auth-field{font-size:12px;margin:20px 0}.auth-field>input,.auth-field>select,.password-field input{font-size:16px;min-height:48px}.auth-field>input,.auth-field>select{padding:11px 12px}.auth-submit{min-height:48px;font-size:14px}.auth-account-note{font-size:11px}.auth-privacy{font-size:10px}.admin-grid{grid-template-columns:1fr;gap:19px}.admin-page .intro h1{font-size:29px}.admin-page .intro{align-items:flex-start}.admin-page .intro>span{margin-top:10px}.admin-page .auth-field input,.admin-page .auth-field select{font-size:16px}.admin-users-panel .aside-title h2{font-size:14px}.user-actions{flex-direction:row}.user-actions .button{font-size:11px;min-height:40px}.admin-grid .panel{padding:22px}.user-card{gap:10px}.user-card h3{font-size:12px}.user-card p{font-size:10px}.admin-search input{font-size:16px}}
@media(max-width:660px){body:not(.auth-page){padding-bottom:calc(72px + env(safe-area-inset-bottom))}.topbar{height:auto;min-height:88px}.topbar-inner{min-height:88px;flex-wrap:wrap;padding-top:12px;padding-bottom:10px;gap:10px}.topbar-right{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;flex:1}.account-nav{gap:11px;justify-content:flex-end}.account-name{font-size:10px;max-width:95px}.account-nav .text-button{font-size:11px;min-height:32px}.topbar-right .save-status{font-size:9px;gap:5px;flex-basis:100%;justify-content:flex-end}.save-status.error{max-width:none}.topbar-right #help-button{display:none}.input-wrap input,.round-card .input-wrap input{font-size:16px}.status-select{font-size:12px;padding:7px 5px;max-width:110px}.history-open{min-height:38px;min-width:47px;font-size:11px}.history-card-actions .icon-button{min-height:35px;min-width:40px}.history-tools .text-button{font-size:10px;min-height:32px}.history-tools>input{font-size:16px}.record-name-area>input{font-size:17px}.add-round{min-height:44px}.icon-button.delete-round{min-height:34px;min-width:30px}.round-top{gap:4px}.round-toolbar{gap:5px}.round-title{gap:5px}.round-number{padding:2px 5px}.account-loading-bar{margin:12px 16px 0;padding:8px 11px;font-size:10px;gap:8px}.mobile-savebar{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;gap:10px;padding:10px 17px calc(10px + env(safe-area-inset-bottom));background:#ffffffef;border-top:1px solid #e5ecdb;backdrop-filter:blur(10px)}.mobile-savebar .button{flex:1;min-height:43px;font-size:12px}.admin-page~.mobile-savebar{display:none}.user-card{align-items:flex-start}.user-actions{flex-direction:column;gap:5px}.user-card h3 .tag{display:inline-block;margin-left:4px}.auth-page .topbar,.auth-page .mobile-savebar{display:none}}
@media print{.account-nav,.account-loading-bar,.mobile-savebar{display:none!important}body{padding-bottom:0!important}}
@media(max-width:660px){.topbar-right{flex:0 0 100%;justify-content:space-between;gap:6px}.topbar-right .save-status{flex-basis:auto;justify-content:flex-start;max-width:145px}.account-nav{flex:0 0 auto;gap:9px}.account-nav .text-button{white-space:nowrap}.account-name{max-width:72px;font-size:9px}.toast{bottom:calc(84px + env(safe-area-inset-bottom))}}

/* Keep each ledger transaction readable on a phone. */
@media screen and (max-width:660px){
  .ledger-section{background:transparent;border:0;border-radius:0;overflow:visible}
  .ledger-section .ledger-heading{padding:5px 2px 16px}
  .ledger-section .ledger-heading h2{font-size:18px;color:#243f33}
  .ledger-section .ledger-heading>span{margin-top:6px;font-size:12px;line-height:1.6;color:#6a7b65}
  .ledger-section .table-wrap{overflow:visible}
  .ledger-section table{display:block;width:100%;white-space:normal}
  .ledger-section thead{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .ledger-section tbody{display:grid;gap:14px}
  .ledger-section tbody tr{display:block;padding:17px 19px;background:#fff;border:1px solid #dce5d6;border-radius:14px}
  .ledger-section td{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:14px;min-width:0;max-width:none;border:0;padding:8px 0;color:#344c3d;font-size:19px;font-weight:600;line-height:1.55;text-align:right;white-space:normal;overflow:visible;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
  .ledger-section td::before{font-size:13px;font-weight:400;line-height:1.6;color:#697b63;text-align:left}
  .ledger-section td:first-child{display:block;max-width:none;padding:0 0 13px;margin-bottom:5px;border-bottom:1px solid #edf1e8;font-size:16px;font-weight:600;line-height:1.6;color:#2a4435;text-align:left;text-overflow:clip;overflow:visible}
  .ledger-section td .row-sub{display:block;margin-top:3px;font-size:12px;font-weight:400;line-height:1.6;color:#75856e;white-space:normal}
  .ledger-section td:nth-child(2){color:#146253}
  .ledger-section td:nth-child(2)::before{content:"销售到账"}
  .ledger-section td:nth-child(3)::before{content:"计入支出"}
  .ledger-section td:nth-child(4)::before{content:"本笔盈亏"}
  .ledger-section td:nth-child(5){padding-top:13px;margin-top:4px;border-top:1px dashed #dce5d6}
  .ledger-section td:nth-child(5)::before{content:"累计盈亏"}
  .ledger-section td.positive{color:var(--green)}
  .ledger-section td.negative{color:var(--red)}
}
