:root{--mobile-nav-height: 76px;--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", "Helvetica Neue", Arial, sans-serif;--font-export: "Noto Sans SC", "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif;--type-display: 44px;--type-page-title: 32px;--type-section-title: 22px;--type-card-title: 18px;--type-body: 16px;--type-caption: 13px;--type-amount-large: 36px;--type-amount-large-desktop: 44px;--type-amount-list: 22px;--text-primary: #1D1D1F;--text-secondary: #5F6368;--text-tertiary: #86868B;--color-primary: #6C5CE7;--color-primary-soft: #F3F1FF;--color-primary-hover: #7C63F4;--color-black: #111111;--color-text: var(--text-secondary);--color-muted: var(--text-tertiary);--color-border: #E8E8EF;--color-bg: #F7F7FA;--color-white: #FFFFFF;--color-success: #22A06B;--color-warning: #F5A524;--color-error: #E5484D;--radius-xs: 8px;--radius-sm: 10px;--radius-md: 12px;--radius-lg: 14px;--radius-xl: 16px;--radius-2xl: 18px;--radius-pill: 999px;--radius-preview-frame: 30px;--radius-preview-screen: 26px;--border-soft: 1px solid rgba(232, 232, 239, .95);--border-subtle: 1px solid rgba(232, 232, 239, .86);--shadow-soft: 0 12px 30px rgba(17, 17, 17, .06);--shadow-card: 0 10px 24px rgba(17, 17, 17, .05);--shadow-subtle: 0 6px 16px rgba(17, 17, 17, .04);--shadow-modal: 0 18px 44px rgba(17, 17, 17, .16);--form-control-height-pc: 54px;--form-control-height-mobile: 56px;--form-label-gap: 8px;--form-field-gap: 18px;--form-section-gap: 22px;--form-grid-gap: 20px;--form-control-radius-pc: 12px;--form-control-radius-mobile: 14px;--form-textarea-min-height-pc: 104px;--form-textarea-min-height-mobile: 112px;--form-upload-min-height-pc: 132px;--form-upload-min-height-mobile: 140px;--form-amount-height-pc: 78px;--form-amount-height-mobile: 76px;--form-amount-font-pc: 38px;--form-amount-font-mobile: 34px;color:var(--text-primary);background:var(--color-bg);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{background:var(--color-bg)}body{color:var(--text-primary);font-family:var(--font-sans);font-size:16px;font-weight:400;line-height:1.5;margin:0;min-width:320px;min-height:100vh}a,button,input,textarea,select,label,table,th,td{font-family:var(--font-sans)}button,input,textarea,select{font:inherit;font-size:16px;line-height:1.35}h1,h2,h3,h4,p{letter-spacing:0}h1,h2,h3,h4{color:var(--text-primary);font-weight:700;line-height:1.12}p{line-height:1.5}small{font-size:13px;line-height:1.45}strong,b,.amount-input,.amount-card strong,.detail-amount-card strong,.expense-card__amount-status strong,.report-summary-card strong,.report-audit-grid strong,.metric-grid strong,.list-summary-card strong,.settings-summary-grid strong,.record-item b{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"lnum" 1}button{-webkit-tap-highlight-color:transparent;border:0;cursor:pointer;font-weight:650}button:disabled{cursor:not-allowed;opacity:.62}.auth-page{align-items:center;background:radial-gradient(circle at 12% 18%,rgba(108,92,231,.12),transparent 28%),linear-gradient(135deg,#f3f1ffd1,#f7f7faf0),var(--color-bg);display:flex;min-height:100dvh;padding:28px}.auth-shell{background:#fffffff0;border:var(--border-soft);border-radius:22px;box-shadow:0 24px 70px #2121341f;display:grid;grid-template-columns:minmax(0,.94fr) minmax(360px,1.06fr);height:min(600px,calc(100dvh - 56px));margin:0 auto;max-width:920px;min-height:560px;overflow:hidden;position:relative;width:min(100%,920px)}.auth-card{align-content:center;align-self:stretch;background:var(--color-white);display:grid;gap:18px;margin:0 auto;max-width:360px;padding:38px 36px;width:100%}.auth-left{grid-column:1;grid-row:1;min-height:100%;z-index:2}.auth-card--register{gap:16px;padding-block:34px}.auth-card--register .auth-form{gap:12px}.auth-card--register .auth-form label{gap:7px}.auth-card--loading{border-radius:var(--radius-xl);min-height:auto;justify-items:center;padding:28px}.auth-card--loading p{color:var(--text-secondary);font-weight:750;margin:0}.auth-card__brand{align-items:center;display:flex;justify-content:flex-start}.auth-card__brand .brand-identity__text{font-size:22px;font-weight:900}.auth-card__brand .brand-identity__mark{height:32px;width:32px}.auth-switch,.auth-language-switch{background:#f7f7fae0;border-radius:var(--radius-lg);color:var(--text-secondary);font-size:13px;font-weight:500;min-height:38px;padding:0 12px}.auth-switch:hover,.auth-language-switch:hover{background:var(--color-primary-soft);color:var(--color-primary)}.auth-card__heading h1{font-size:31px;font-weight:500;line-height:1.08;margin:0}.auth-card__heading p{color:var(--text-secondary);font-size:14px;margin:0}.auth-form{display:grid;gap:13px}.auth-form label{display:grid;gap:7px}.auth-form label span,.auth-language legend{color:var(--text-secondary);font-size:12px;font-weight:500;letter-spacing:.02em}.auth-input-wrap{position:relative}.auth-form input{background:var(--color-white);border:var(--border-soft);border-radius:var(--form-control-radius-pc);color:var(--text-primary);min-height:50px;padding:0 15px;width:100%}.auth-form input.auth-input--error{border-color:var(--color-error);padding-right:112px}.auth-input-wrap--password input{padding-right:52px}.auth-input-wrap--password input.auth-input--error{padding-right:146px}.auth-form input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #6c5ce71a;outline:none}.auth-form input.auth-input--error:focus{border-color:var(--color-error);box-shadow:0 0 0 3px #e5484d1f}.auth-input-inline-error{color:var(--color-error);font-size:11px;font-weight:500;line-height:1;max-width:96px;overflow:hidden;pointer-events:none;position:absolute;right:14px;text-align:right;text-overflow:ellipsis;top:50%;transform:translateY(-50%);white-space:nowrap}.auth-input-wrap--password .auth-input-inline-error{right:46px}.auth-password-toggle{align-items:center;background:transparent;border:0;border-radius:var(--radius-sm);color:var(--text-tertiary);display:inline-flex;height:34px;justify-content:center;padding:0;position:absolute;right:9px;top:50%;transform:translateY(-50%);width:34px}.auth-password-toggle:hover:not(:disabled){background:#e8e8ef9e;color:var(--text-secondary)}.auth-password-toggle:focus-visible{box-shadow:0 0 0 3px #6c5ce71f;outline:none}.auth-password-toggle:disabled{cursor:not-allowed;opacity:.5}.auth-language{border:0;display:grid;gap:8px;margin:0;padding:0}.auth-language div{background:var(--color-bg);border-radius:var(--radius-2xl);display:flex;gap:8px;padding:5px}.auth-language button{border-radius:var(--radius-md);color:var(--text-secondary);flex:1;font-size:13px;font-weight:500;min-height:38px}.auth-language button.is-active{background:var(--color-primary);color:var(--color-white)}.auth-error{color:var(--color-error);font-size:12px;font-weight:750;margin:0}.auth-submit{align-items:center;background:var(--color-primary);border-radius:var(--radius-lg);color:var(--color-white);display:inline-flex;font-weight:650;gap:8px;justify-content:center;min-height:50px}.auth-submit:hover{background:var(--color-primary-hover)}.auth-switch{min-width:0}.auth-actions-row{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-top:2px}.auth-actions-row button{white-space:nowrap}.auth-language-switch{flex:0 0 auto;min-width:52px;padding:0 12px}.auth-hero-panel{background:#f5f2ff;grid-column:2;grid-row:1;height:100%;isolation:isolate;min-height:100%;overflow:hidden;padding:40px;position:relative}.auth-hero-panel:before{background:url(/images/auth/auth-hero-bg.svg?v=20260629) center / cover no-repeat;content:"";top:0;right:0;bottom:0;left:0;pointer-events:none;position:absolute;z-index:1}.auth-hero-panel:after{background:linear-gradient(145deg,#ffffff52,#5a46be1a),linear-gradient(180deg,rgba(255,255,255,.42),transparent 34%,rgba(255,255,255,.18));content:"";top:0;right:0;bottom:0;left:0;pointer-events:none;position:absolute;z-index:2}.auth-hero-title{left:40px;max-width:calc(100% - 80px);position:absolute;right:40px;top:40px;z-index:4}.auth-hero-title strong{color:var(--text-primary);font-size:29px;font-weight:500;line-height:1.12;text-shadow:0 1px 18px rgba(255,255,255,.52)}.auth-hero-title .auth-hero-title--compact{font-size:26px;line-height:1.08;white-space:nowrap}@media (max-width: 900px){.auth-page{padding:22px}.auth-shell{background:transparent;border:0;box-shadow:none;display:flex;height:auto;min-height:auto;overflow:visible}.auth-card{border:var(--border-soft);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);max-width:440px;padding:24px}.auth-hero-panel{display:none}}.app-icon{align-items:center;color:currentColor;display:inline-flex;flex:0 0 auto;justify-content:center;line-height:0;position:relative}.app-icon__fallback,.app-icon__custom{display:block;height:100%;width:100%}.app-icon__custom{background:currentColor;top:0;right:0;bottom:0;left:0;mask-position:center;mask-repeat:no-repeat;mask-size:contain;position:absolute;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain}.app-icon__loader{display:none}.neutral-action-icon{color:var(--text-tertiary)}.brand-identity{align-items:center;display:inline-flex;gap:10px;min-width:0}.brand-identity__mark{height:30px;width:30px}.brand-identity__wordmark{height:28px;max-width:132px;object-fit:contain}.brand-identity__text{color:var(--text-primary)}.app-root{min-height:100vh;background:radial-gradient(circle at top left,rgba(108,92,231,.12),transparent 34%),var(--color-bg)}.desktop-workspace,.sidebar-nav{display:none}.mobile-workspace{display:block}.home-page{width:100%}.home-page__inner{margin:0 auto;max-width:480px;min-height:100vh;padding:22px 20px 96px;position:relative}.topbar{align-items:center;display:flex;justify-content:space-between;gap:16px;margin-bottom:18px}.topbar h1{font-size:23px;font-weight:700;line-height:1.1;margin:0}.desktop-toolbar h1{font-size:var(--type-page-title);font-weight:700;line-height:1.05;margin:3px 0 0}.eyebrow{color:var(--color-muted);font-size:14px;line-height:1.35;margin:0}.topbar__actions,.desktop-toolbar__actions{align-items:center;display:flex;gap:10px}.language-toggle,.icon-button,.preview-toggle{align-items:center;background:var(--color-white);border:var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-subtle);color:var(--color-black);display:inline-flex;font-weight:700;height:44px;justify-content:center;min-width:44px;transition:transform .16s ease,background-color .16s ease,border-color .16s ease,color .16s ease}.language-toggle{font-size:14px;padding:0 13px}.preview-toggle{gap:8px;padding:0 16px}.preview-toggle:hover,.language-toggle:hover,.icon-button:hover{border-color:#6c5ce74d;color:var(--color-primary)}.language-toggle:active,.icon-button:active,.quick-grid button:active,.bottom-nav__item:active,.floating-add:active,.preview-toggle:active,.sidebar-nav__item:active{transform:scale(.96)}.amount-card{background:linear-gradient(135deg,#fffffffc,#f3f1ff94),var(--color-white);border:var(--border-soft);border-radius:var(--radius-2xl);box-shadow:var(--shadow-soft);color:var(--text-primary);padding:24px}.amount-card__header,.amount-card__footer{align-items:center;display:flex;justify-content:space-between;gap:14px}.amount-card__header{color:var(--text-secondary);font-size:15px}.amount-card strong{display:block;font-size:var(--type-amount-large);font-weight:700;line-height:1;margin:22px 0}.amount-card__footer{color:var(--text-tertiary);font-size:13px}.metric-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin:16px 0 22px}.metric-grid article,.metric-grid button,.section-block{background:var(--color-white);border:var(--border-soft);border-radius:var(--radius-2xl);box-shadow:var(--shadow-card)}.metric-grid article,.metric-grid button{min-height:104px;padding:18px}.metric-grid button{color:var(--text-primary);text-align:left;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;width:100%}.metric-grid span{color:var(--color-muted);display:block;font-size:13px;font-weight:400;line-height:1.45}.metric-grid strong{display:block;font-size:var(--type-amount-list);line-height:1.15;margin-top:12px}.home-page--mobile .metric-grid article:first-child strong{color:var(--color-primary)}.home-page--mobile .metric-grid{gap:10px;margin:14px 0 16px}.home-page--mobile .metric-grid button{align-items:center;border-radius:var(--radius-xl);display:flex;justify-content:space-between;min-height:60px;padding:0 16px}.home-page--mobile .metric-grid span{font-weight:400;line-height:1.2;min-width:0}.home-page--mobile .metric-grid strong{flex:0 0 auto;font-size:22px;margin-top:0}.home-page--mobile .metric-grid button:first-child strong{color:var(--color-primary)}.home-page--mobile .metric-grid button:hover{border-color:#6c5ce733;box-shadow:var(--shadow-soft)}.home-page--mobile .metric-grid button:active{transform:scale(.98)}.metric-grid .summary-card--disabled{cursor:default}.home-page--mobile .metric-grid .summary-card--disabled:hover{border-color:#ffffffb8;box-shadow:var(--shadow-subtle)}.home-page--mobile .metric-grid .summary-card--disabled:active{transform:none}.home-page--mobile .metric-grid button:disabled{opacity:1}.section-block{margin-top:16px;padding:18px}.section-heading{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.section-heading h2{font-size:18px;font-weight:650;line-height:1.25;margin:0}.section-link{background:transparent;color:var(--color-primary);font-size:13px;font-weight:800;padding:8px 0}.quick-grid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.quick-grid button{align-items:center;background:#ffffffc2;border:1px solid rgba(232,232,239,.92);border-radius:var(--radius-2xl);color:var(--color-black);display:flex;flex-direction:column;font-size:13px;font-weight:700;gap:10px;justify-content:center;min-height:88px;padding:12px 8px;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.quick-grid button:hover{background:var(--color-white);border-color:#6c5ce73d;box-shadow:var(--shadow-card)}.quick-grid button:disabled{background:#f7f7fab8;border-color:#e8e8efc7;box-shadow:none;color:var(--text-tertiary);cursor:not-allowed;opacity:1}.quick-grid button:disabled:hover{background:#f7f7fab8;border-color:#e8e8efc7;box-shadow:none}.quick-grid button:disabled:active{transform:none}.quick-grid__icon{align-items:center;background:transparent;border:0;border-radius:0;color:var(--color-primary);display:inline-flex;height:48px;justify-content:center;width:48px}.quick-grid__icon--primary{background:transparent;color:var(--color-primary)}.quick-grid__label{display:inline}.quick-grid button:disabled .quick-grid__icon{color:var(--text-tertiary)}.home-page--mobile .quick-actions-block{background:transparent;border:0;box-shadow:none;margin-top:0;padding:0}.home-page--mobile .quick-actions-block .section-heading{display:none}.home-page--mobile .quick-grid{gap:16px;margin:0 0 16px;width:100%}.home-page--mobile .quick-grid button{background:var(--color-white);border:1px solid rgba(108,92,231,.16);border-radius:var(--radius-xl);box-shadow:var(--shadow-subtle);color:var(--color-primary);height:60px;min-height:60px;padding:0;width:100%}.home-page--mobile .quick-grid button:hover{background:var(--color-primary-soft);border-color:#6c5ce738;box-shadow:var(--shadow-subtle)}.home-page--mobile .quick-grid button:disabled,.home-page--mobile .quick-grid button:disabled:hover{background:var(--color-white);border-color:#e8e8efdb;box-shadow:none}.home-page--mobile .quick-grid button:focus-visible{box-shadow:0 0 0 3px #6c5ce724,var(--shadow-subtle);outline:none}.home-page--mobile .quick-grid__icon{background:transparent;border:0;border-radius:var(--radius-xl);box-shadow:none;color:var(--color-primary);height:60px;width:60px}.home-page--mobile .quick-grid__label{display:none}.home-page--mobile.home-page--empty .home-page__inner{min-height:100dvh;padding-bottom:calc(var(--mobile-nav-height, 76px) + 22px + env(safe-area-inset-bottom))}.home-page--mobile.home-page--empty .topbar{margin-bottom:14px}.home-page--mobile.home-page--empty .amount-card{padding:20px}.home-page--mobile.home-page--empty .amount-card strong{margin:16px 0}.home-page--mobile.home-page--empty .metric-grid{margin:12px 0}.home-page--mobile.home-page--empty .quick-grid{margin-bottom:12px}.home-page--mobile.home-page--empty .records-block{padding-bottom:0}.home-page--mobile.home-page--empty .record-list__empty{min-height:72px;padding:14px 16px}.records-block{padding-bottom:12px}.record-list{display:grid;gap:10px}.record-list__empty{background:var(--color-bg);border-radius:var(--radius-2xl);color:var(--text-tertiary);display:grid;gap:4px;min-height:84px;padding:18px}.record-list__empty strong{color:var(--text-secondary);font-size:15px;font-weight:500}.record-list__empty span{font-size:13px;line-height:1.45}.record-item{align-items:center;background:var(--color-bg);border:0;border-radius:var(--radius-2xl);color:inherit;cursor:pointer;display:grid;font:inherit;gap:12px;grid-template-columns:44px 1fr auto;min-height:62px;padding:12px;text-align:left;transition:background-color .16s ease,transform .16s ease;width:100%}.record-item:hover{background:var(--color-primary-soft);transform:translateY(-1px)}.record-item:focus-visible{box-shadow:0 0 0 3px #6c5ce729;outline:none}.record-item:active{transform:translateY(0)}.record-item__icon{align-items:center;background:var(--color-white);border-radius:var(--radius-lg);color:var(--text-tertiary);display:inline-flex;height:44px;justify-content:center;width:44px}.record-item__content{min-width:0}.record-item__line{align-items:baseline;display:flex;gap:10px;justify-content:flex-start;min-width:0;text-align:left}.record-item strong{color:var(--text-primary);flex:0 1 auto;font-size:15px;line-height:1.35;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.record-item__note{color:var(--text-tertiary);flex:1 1 auto;font-size:12px;font-weight:400;line-height:1.35;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.record-item b{color:var(--color-black);font-size:15px;justify-self:end;white-space:nowrap}.new-record-page,.edit-record-page{width:100%}.new-record-page__inner,.edit-record-page__inner{margin:0 auto;max-width:480px;min-height:100vh;padding:22px 20px 106px}.record-topbar{align-items:center;display:flex;gap:7px;margin-bottom:10px}.record-topbar h2{font-size:16px;font-weight:400;line-height:1.2;margin:0}.back-button{align-items:center;background:transparent;border:0;border-radius:9px;box-shadow:none;color:#1d1d1f;display:inline-flex;flex:0 0 auto;font-weight:400;gap:6px;min-height:32px;padding:0 8px;transition:background-color .16s ease,transform .16s ease,color .16s ease}.back-button--icon{border-radius:9px;height:32px;justify-content:center;min-height:32px;min-width:32px;padding:0;width:32px}.back-button--icon .app-icon{height:16px!important;width:16px!important}.back-button:hover{background:#e8e8ef9e;color:var(--color-primary)}.back-button:active{transform:scale(.96)}.record-layout{display:grid;gap:var(--form-section-gap)}.record-card{background:var(--color-white);border:var(--border-soft);border-radius:var(--radius-2xl);box-shadow:var(--shadow-card);padding:20px}.amount-entry-card{background:linear-gradient(135deg,#fffffffc,#f3f1ff85),var(--color-white);color:var(--text-primary)}.amount-entry-card .form-field>span,.amount-entry-card .form-error{color:var(--text-secondary)}.amount-entry-card .form-error{color:var(--color-error)}.form-field{display:grid;gap:var(--form-label-gap)}.amount-entry-card,.detail-entry-card{align-content:start;display:grid;gap:var(--form-field-gap)}.form-label,.form-field>span{color:var(--color-text);font-size:13px;font-weight:700;line-height:1.25}.form-field input,.form-field select,.form-field textarea{background:var(--color-white);border:var(--border-soft);border-radius:var(--form-control-radius-mobile);color:var(--text-primary);font-size:16px;min-height:var(--form-control-height-mobile);outline:none;padding:0 16px;transition:border-color .16s ease,box-shadow .16s ease;width:100%}.form-field textarea{line-height:1.45;min-height:var(--form-textarea-min-height-mobile);padding:14px 16px;resize:vertical}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #6c5ce71a}.app-select{position:relative;width:100%;z-index:3}.app-select--open{z-index:20}.app-select__trigger{align-items:center;background:var(--color-white);border:var(--border-soft);border-radius:var(--form-control-radius-mobile);color:var(--text-primary);display:flex;font-size:16px;font-weight:400;gap:12px;justify-content:space-between;min-height:var(--form-control-height-mobile);outline:none;padding:0 14px 0 16px;text-align:left;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease;width:100%}.app-select__trigger:focus-visible,.app-select--open .app-select__trigger{border-color:var(--color-primary);box-shadow:0 0 0 3px #6c5ce71a}.app-select__trigger--placeholder{color:var(--text-tertiary);font-weight:400}.app-select--disabled .app-select__trigger{cursor:not-allowed;opacity:.62}.app-select__value{align-items:center;display:inline-flex;gap:8px;min-width:0}.app-select__value span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-select__flag{flex:0 0 auto;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",Twemoji Mozilla,sans-serif;font-size:17px;letter-spacing:0;line-height:1;text-transform:none}.currency-flag{border-radius:4px;box-shadow:0 0 0 1px #11111114;display:inline-flex;flex:0 0 auto;height:16px;overflow:hidden;width:22px}.currency-flag svg{display:block;height:100%;width:100%}.app-select__option-icon{color:var(--color-primary);display:inline-flex;flex:0 0 auto}.app-select__chevron{color:var(--text-tertiary);flex:0 0 auto;font-size:18px;line-height:1;transform:translateY(-1px);transition:transform .16s ease,color .16s ease}.app-select--open .app-select__chevron{color:var(--color-primary);transform:rotate(180deg) translateY(1px)}.app-select__menu{background:var(--color-white);border:var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);display:grid;gap:4px;left:0;margin-top:8px;max-height:min(420px,calc(100vh - 180px));overflow-y:auto;padding:6px;position:absolute;right:0;scrollbar-width:none;top:100%}.app-select__menu::-webkit-scrollbar{display:none}.app-select__option{align-items:center;background:transparent;border:0;border-radius:var(--radius-md);color:var(--text-primary);display:flex;font-size:15px;font-weight:400;justify-content:flex-start;min-height:42px;padding:0 11px;text-align:left;transition:background-color .15s ease,color .15s ease;width:100%}.app-select__option:hover,.app-select__option:focus-visible{background:var(--color-bg);outline:none}.app-select__option--selected{background:var(--color-primary-soft);color:var(--color-primary);font-weight:500}.app-select__option:disabled{color:var(--text-tertiary);cursor:not-allowed;opacity:.62}.app-date-picker{position:relative;width:100%}.date-trigger{align-items:center;background:var(--color-white);border:var(--border-soft);border-radius:var(--form-control-radius-mobile);color:var(--text-primary);display:flex;font-size:16px;font-weight:400;justify-content:space-between;min-height:var(--form-control-height-mobile);padding:0 14px 0 16px;text-align:left;transition:border-color .16s ease,box-shadow .16s ease;width:100%}.date-trigger .app-icon{color:var(--text-tertiary);flex:0 0 auto}.date-trigger>span{font-weight:400}.date-trigger:focus-visible,.date-trigger[aria-expanded=true]{border-color:var(--color-primary);box-shadow:0 0 0 3px #6c5ce71a;outline:none}.date-picker-layer{top:0;right:0;bottom:0;left:0;position:fixed;z-index:70}.date-popover{background:var(--color-white);border:var(--border-soft);border-radius:var(--radius-xl);box-shadow:var(--shadow-modal);display:grid;gap:14px;left:var(--date-popover-left);padding:16px;position:fixed;top:var(--date-popover-top);width:var(--date-popover-width)}.date-popover__handle{display:none}.date-popover__header,.date-month-nav{align-items:center;display:flex;justify-content:space-between}.date-popover__header h3{font-size:16px;line-height:1.2;margin:0}.date-popover__close,.date-month-nav button{align-items:center;background:transparent;border-radius:var(--radius-md);color:var(--text-secondary);display:inline-flex;height:34px;justify-content:center;width:34px}.date-popover__close:hover,.date-month-nav button:hover{background:var(--color-bg);color:var(--text-primary)}.date-month-nav strong{color:var(--text-primary);font-size:15px;font-weight:750}.date-month-nav__next .app-icon{transform:rotate(180deg)}.date-quick-actions{display:flex;gap:8px}.date-quick-actions button{background:var(--color-primary-soft);border-radius:var(--radius-lg);color:var(--color-primary);flex:1;font-size:13px;font-weight:800;min-height:38px}.date-weekdays,.date-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.date-weekdays{color:var(--text-tertiary);font-size:12px;font-weight:800;text-align:center}.date-grid{gap:5px}.date-cell{align-items:center;background:transparent;border-radius:var(--radius-md);color:var(--text-primary);display:inline-flex;font-size:14px;font-weight:750;height:38px;justify-content:center;transition:background-color .16s ease,color .16s ease,transform .16s ease}.date-cell:hover{background:var(--color-primary-soft);color:var(--color-primary)}.date-cell:active{transform:scale(.96)}.date-cell--muted{color:var(--text-tertiary);opacity:.54}.date-cell--today{box-shadow:inset 0 0 0 1px #6c5ce747;color:var(--color-primary)}.date-cell--selected,.date-cell--selected:hover{background:var(--color-primary);color:var(--color-white);opacity:1}.date-cell:disabled{color:var(--text-tertiary);cursor:not-allowed;opacity:.36}.date-mobile-quick{display:grid;gap:12px}.date-mobile-quick__buttons{display:grid;gap:7px;grid-template-columns:repeat(4,minmax(0,1fr))}.date-mobile-quick__buttons button{background:var(--color-primary-soft);border-radius:var(--radius-lg);color:var(--color-primary);font-size:12px;font-weight:700;min-height:40px;padding:0 4px}.date-mobile-manual{display:grid;gap:6px}.date-mobile-manual__input{background:var(--color-white);border:var(--border-soft);border-radius:var(--form-control-radius-pc);color:var(--text-primary);font-size:16px;height:52px;padding:0 14px;width:100%}.date-mobile-manual__input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #6c5ce71a;outline:none}.date-mobile-manual__input--error,.date-mobile-manual__input--error:focus{border-color:var(--color-error);box-shadow:0 0 0 3px #e5484d1f}.date-mobile-manual span{color:var(--color-error);font-size:12px;font-weight:600}.date-mobile-confirm{background:var(--color-primary);border-radius:var(--radius-lg);color:var(--color-white);font-size:14px;font-weight:750;min-height:48px}.amount-input{font-size:var(--form-amount-font-mobile)!important;font-weight:700;height:var(--form-amount-height-mobile);min-height:var(--form-amount-height-mobile)!important}.form-grid{align-items:start;display:grid;gap:var(--form-field-gap)}.form-error{color:var(--color-error);font-size:13px;line-height:1.35}.file-picker{display:grid;gap:var(--form-label-gap)}.file-picker__dropzone{align-items:center;background:var(--color-primary-soft);border:1px dashed rgba(108,92,231,.45);border-radius:var(--radius-xl);color:var(--color-black);cursor:pointer;display:grid;gap:6px;justify-items:center;min-height:var(--form-upload-min-height-mobile);padding:16px;text-align:center;transition:background-color .16s ease,border-color .16s ease,transform .16s ease}.file-picker__dropzone:hover{background:#ebe7ff;border-color:var(--color-primary)}.file-picker__dropzone:active{transform:scale(.99)}.file-picker__dropzone input{display:none}.file-picker__icon{align-items:center;background:var(--color-white);border-radius:var(--radius-2xl);color:var(--color-primary);display:inline-flex;height:50px;justify-content:center;width:50px}.file-picker__dropzone small{color:var(--color-muted);font-size:13px}.attachment-list{display:grid;gap:10px}.attachment-item{align-items:center;background:var(--color-bg);border-radius:var(--radius-xl);display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto;min-height:64px;padding:10px 12px}.attachment-item strong,.attachment-item span{display:block}.attachment-item strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-item span{color:var(--color-muted);font-size:12px;margin-top:3px}.attachment-item button{align-items:center;background:var(--color-white);border-radius:var(--radius-pill);color:var(--text-tertiary);display:inline-flex;font-size:13px;font-weight:700;gap:5px;min-height:38px;padding:0 10px}.attachment-item button:hover{background:var(--color-bg);color:var(--text-secondary)}.action-card{display:grid;gap:16px}.action-card h3{font-size:20px;margin:4px 0 10px}.status-pill{align-items:center;border-radius:var(--radius-pill);display:inline-flex;font-size:12px;font-weight:800;min-height:28px;padding:0 10px}.status-pill--draft,.status-pill--idle{background:var(--color-primary-soft);color:var(--color-primary)}.status-pill--pending,.status-pill--returned{background:#f5a52429;color:#9a6100}.status-pill--rejected{background:#e5484d21;color:var(--color-error)}.submit-stack{display:grid;gap:10px}.submit-button{align-items:center;border-radius:var(--radius-lg);display:inline-flex;font-weight:800;gap:9px;justify-content:center;min-height:56px;padding:0 18px;transition:background-color .16s ease,color .16s ease,transform .16s ease;width:100%}.submit-button--draft{background:var(--color-primary);color:var(--color-white)}.submit-button--draft:hover{background:var(--color-primary-hover)}.submit-button--share,.submit-button--pending{background:var(--color-primary-soft);color:var(--color-primary)}.submit-button--pending{color:#8a5b00}.submit-button:active{transform:scale(.98)}.submit-button:disabled{transform:none}.loading-dot{animation:pulse-loading .78s ease-in-out infinite;background:currentColor;border-radius:var(--radius-pill);height:10px;width:10px}@keyframes pulse-loading{0%,to{opacity:.35;transform:scale(.82)}50%{opacity:1;transform:scale(1)}}.record-list-page{width:100%}.record-list-page__inner{margin:0 auto;max-width:480px;min-height:100vh;padding:22px 20px 106px}.list-summary-card,.filter-card,.expense-card,.empty-state{background:var(--color-white);border:var(--border-soft);border-radius:var(--radius-2xl);box-shadow:var(--shadow-card)}.list-summary-card{align-items:center;display:flex;justify-content:space-between;gap:16px;margin-bottom:16px;padding:18px}.list-summary-card strong{display:block;font-size:24px;line-height:1.15;margin-top:4px}.list-summary-card button,.empty-state button,.empty-state__icon-button,.clear-filter-button{align-items:center;border-radius:var(--radius-2xl);display:inline-flex;font-weight:800;justify-content:center;min-height:48px;padding:0 16px;transition:background-color .16s ease,color .16s ease,transform .16s ease}.list-summary-card button,.empty-state button{background:var(--color-primary);color:var(--color-white)}.empty-state__icon-button{width:50px}.clear-filter-button{align-self:end;background:var(--color-primary-soft);color:var(--color-primary);min-height:56px}.list-summary-card button:active,.empty-state button:active,.clear-filter-button:active{transform:scale(.98)}.filter-card{margin-bottom:16px;padding:14px}.filter-card--mobile{padding:14px}.filter-grid{display:grid;gap:14px}.filter-card--mobile .filter-grid{gap:0}.expense-list{display:grid;gap:14px;grid-template-columns:1fr}.expense-card{align-content:start;display:grid;gap:12px;padding:16px;grid-template-rows:auto auto 1fr auto}.expense-card__header{align-items:start;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto}.expense-card__category{font-size:17px;font-weight:800;line-height:1.25;margin:0;min-width:0;overflow-wrap:anywhere}.expense-card__meta,.expense-card__details{color:var(--color-muted);display:flex;flex-wrap:wrap;font-size:13px;gap:9px 14px}.expense-card__meta span,.expense-card__details span{align-items:center;display:inline-flex;gap:5px;min-width:0}.expense-card__details{align-items:start;display:grid;gap:7px}.expense-card__details span{justify-content:flex-start;overflow-wrap:anywhere}.expense-card__amount-status{align-items:center;border-top:1px solid rgba(232,232,239,.72);display:flex;gap:10px;justify-content:space-between;min-width:0;padding-top:12px}.expense-card__amount-status strong{color:var(--color-black);font-size:21px;line-height:1.1;min-width:0;overflow-wrap:anywhere}.status-badge{align-items:center;border-radius:var(--radius-pill);display:inline-flex;font-size:12px;font-weight:500;min-height:28px;padding:0 10px}.status-badge--draft,.status-badge--unknown{background:var(--color-primary-soft);color:var(--color-primary)}.status-badge--pending{background:#f5a52429;color:#9a6100}.status-badge--approved,.status-badge--confirmed,.status-badge--signed{background:#22a06b24;color:var(--color-success)}.status-badge--rejected{background:#e5484d21;color:var(--color-error)}.status-badge--returned{background:#f5a52429;color:#9a6100}.signer-select{position:relative}.signer-select__trigger{align-items:center;background:var(--color-white);border:var(--border-soft);border-radius:var(--radius-lg);color:var(--text-primary);display:flex;font-size:16px;font-weight:400;gap:10px;justify-content:space-between;min-height:54px;padding:0 14px;text-align:left;width:100%}.signer-select__trigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.signer-select__chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.signer-chip{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-pill);color:var(--color-primary);display:inline-flex;font-size:13px;font-weight:500;gap:6px;min-height:32px;padding:0 9px 0 12px}.signer-chip button{align-items:center;color:currentColor;display:inline-flex}.signer-select__menu{background:var(--color-white);border:var(--border-soft);border-radius:var(--radius-xl);box-shadow:var(--shadow-modal);display:grid;gap:4px;left:0;margin-top:8px;max-height:240px;overflow-y:auto;padding:8px;position:absolute;right:0;z-index:20}.signer-select__menu button{border-radius:var(--radius-lg);color:var(--text-primary);display:grid;font-weight:400;gap:2px;min-height:50px;padding:8px 10px;text-align:left}.signer-select__menu button:hover{background:var(--color-primary-soft)}.signer-select__menu span,.signer-select__empty{color:var(--text-tertiary);font-size:13px}.signer-select__empty{padding:12px}.detail-signature-card{display:grid;gap:12px}.signature-request-list{display:grid;gap:10px}.signature-request-row{background:transparent;border-radius:0;display:grid;gap:8px;padding:4px 0}.signature-stamp{background:transparent;border:0;border-radius:0;display:grid;gap:6px;min-width:0;padding:0}.signature-stamp--signed{background:transparent;box-shadow:none}.signature-stamp--rejected,.signature-stamp--returned{background:transparent}.signature-stamp strong,.signature-stamp span,.signature-request-row p{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.signature-stamp strong{color:var(--text-primary);font-size:15px;line-height:1.25}.signature-stamp__time,.detail-muted-text{color:var(--text-tertiary);font-size:13px}.signature-request-row p{color:var(--text-secondary);font-size:13px;line-height:1.35;margin:0;white-space:normal}.expense-card__actions{align-items:center;display:inline-flex;gap:8px;justify-self:end;min-width:0}.expense-card__delete,.expense-card__detail{align-items:center;background:transparent;border-radius:var(--radius-pill);color:var(--text-tertiary);display:inline-flex;flex:0 0 auto;height:36px;justify-content:center;padding:0;transition:background-color .16s ease,color .16s ease,transform .16s ease;width:36px}.expense-card__detail:hover{background:var(--color-primary-soft);color:var(--color-primary)}.expense-card__delete:hover{background:#e5484d14;color:var(--color-error)}.expense-card__delete:active,.expense-card__detail:active{transform:scale(.97)}.record-detail-page{width:100%}.record-detail-page__inner{margin:0 auto;max-width:480px;min-height:100vh;padding:22px 20px 106px}.approval-page{width:100%}.approval-page__inner{margin:0 auto;max-width:480px;min-height:100vh;padding:22px 20px 106px}.approval-summary-card,.approval-card{background:var(--color-white);border:var(--border-soft);border-radius:var(--radius-2xl);box-shadow:var(--shadow-card)}.approval-summary-card{align-items:center;color:var(--color-primary);display:flex;justify-content:space-between;margin-bottom:16px;min-height:96px;padding:18px}.approval-summary-card span{color:var(--text-secondary);display:block;font-size:13px;font-weight:800}.approval-summary-card strong{color:var(--text-primary);display:block;font-size:32px;font-variant-numeric:tabular-nums;line-height:1.1;margin-top:8px}.approval-list{display:grid;gap:12px}.approval-card{align-items:center;display:grid;gap:14px;grid-template-columns:minmax(0,1fr);padding:14px}.approval-card__info{min-width:0}.approval-card__category{font-size:17px;font-weight:800;line-height:1.25;margin:0 0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.approval-card__meta{color:var(--text-tertiary);display:flex;flex-wrap:wrap;font-size:13px;gap:8px 12px}.approval-card__meta span{align-items:center;display:inline-flex;gap:5px}.approval-card__side{align-items:end;display:grid;gap:10px}.approval-card__amount-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start}.approval-card__amount-row strong{font-size:21px;font-variant-numeric:tabular-nums;line-height:1.1;white-space:nowrap}.approval-card__actions{display:flex;flex-wrap:nowrap;gap:7px}.approval-card__actions button{align-items:center;background:var(--color-white);border:var(--border-soft);border-radius:var(--radius-md);color:var(--color-primary);display:inline-flex;height:36px;justify-content:center;padding:0;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease;width:36px}.approval-card__actions button:hover{background:var(--color-primary-soft);border-color:#6c5ce73d}.approval-card__actions button:active{transform:scale(.96)}.approval-card__actions .approval-card__approve{background:#22a06b17;border-color:#22a06b2e;color:var(--color-success)}.approval-card__actions .approval-card__reject{background:#e5484d14;border-color:#e5484d2e;color:var(--color-error)}.approval-card__actions .approval-card__return{background:var(--color-bg);border-color:#e8e8efe6;color:var(--text-secondary)}.advanced-page{width:100%}.advanced-page__inner{margin:0 auto;max-width:480px;min-height:100vh;padding:22px 20px 106px}.advanced-tabs{background:#ffffffdb;border:var(--border-soft);border-radius:var(--radius-2xl);display:flex;gap:6px;margin-bottom:14px;overflow-x:auto;padding:6px}.advanced-tabs__item{background:transparent;border-radius:var(--radius-lg);color:var(--text-secondary);flex:0 0 auto;font-size:13px;font-weight:800;min-height:40px;padding:0 13px}.advanced-tabs__item--active{background:var(--color-primary);color:var(--color-white)}.advanced-card{background:var(--color-white);border:var(--border-soft);border-radius:var(--radius-2xl);box-shadow:var(--shadow-card);display:grid;gap:14px;padding:18px}.advanced-card h3{font-size:18px;line-height:1.2;margin:0}.advanced-card h4{font-size:15px;margin:0}.advanced-card p,.advanced-note{color:var(--text-secondary);font-size:13px;line-height:1.45;margin:0}.advanced-summary-grid{display:grid;gap:10px;grid-template-columns:1fr}.advanced-summary-grid article,.advanced-deleted-list article{background:var(--color-bg);border-radius:var(--radius-xl);display:grid;gap:5px;padding:12px}.advanced-summary-grid span,.advanced-deleted-list span{color:var(--text-tertiary);font-size:13px;font-weight:700}.advanced-summary-grid strong,.advanced-deleted-list strong{color:var(--text-primary);font-size:18px;font-variant-numeric:tabular-nums;line-height:1.15}.advanced-backup-grid,.advanced-deleted-list{display:grid;gap:14px}.advanced-backup-grid>div{display:grid;gap:10px}.reports-page{width:100%}.reports-page__inner{margin:0 auto;max-width:480px;min-height:100vh;padding:22px 20px 106px}.report-range-card,.report-summary-card,.report-card{background:var(--color-white);border:var(--border-soft);border-radius:var(--radius-2xl);box-shadow:var(--shadow-card)}.report-range-card{display:grid;gap:12px;margin-bottom:14px;padding:14px}.report-range-card__controls{display:grid;gap:12px}.range-segmented{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.range-segmented__item{background:var(--color-primary-soft);border-radius:var(--radius-pill);color:var(--color-primary);flex:0 0 auto;font-weight:800;min-height:42px;padding:0 14px;transition:background-color .16s ease,color .16s ease,transform .16s ease}.range-segmented__item--active{background:var(--color-primary);color:var(--color-white)}.range-segmented__item:active{transform:scale(.97)}.report-summary-grid,.reports-main-grid,.reports-secondary-grid{display:grid;gap:14px}.report-summary-grid{margin-bottom:14px}.report-summary-card{display:grid;gap:10px;min-height:118px;padding:18px}.report-summary-card span{color:var(--color-text);font-size:13px;font-weight:800}.report-summary-card strong{color:var(--color-black);font-size:24px;line-height:1.15}.report-summary-card--dark{background:linear-gradient(135deg,#fffffffc,#f3f1ffa3),var(--color-white);color:var(--text-primary)}.report-summary-card--dark span,.report-summary-card--dark strong{color:var(--text-primary)}.report-card{margin-bottom:14px;padding:18px}.report-card h3{font-size:18px;line-height:1.2;margin:0 0 14px}.report-group-list,.report-status-list,.report-audit-grid{display:grid;gap:12px}.report-group-row{background:var(--color-bg);border-radius:var(--radius-2xl);display:grid;gap:8px;padding:12px}.report-group-row__top{align-items:center;display:flex;gap:12px;justify-content:space-between}.report-group-row__top strong{color:var(--color-black);font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-group-row__top span,.report-group-row small{color:var(--color-muted);font-size:13px}.report-progress{background:var(--color-primary-soft);border-radius:var(--radius-pill);height:9px;overflow:hidden}.report-progress span{background:var(--color-primary);border-radius:inherit;display:block;height:100%}.report-status-list article{align-items:center;background:var(--color-bg);border-radius:var(--radius-2xl);display:grid;gap:8px;grid-template-columns:auto minmax(0,1fr) auto;padding:12px}.report-status-list strong{color:var(--color-black);font-size:14px}.report-status-list span:last-child{color:var(--color-muted);font-size:13px;white-space:nowrap}.report-audit-grid{grid-template-columns:1fr}.report-audit-grid article{align-items:center;background:var(--color-bg);border-radius:var(--radius-2xl);display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr) auto;min-height:52px;padding:10px 12px}.report-audit-grid svg{color:var(--color-primary)}.report-audit-grid span{color:var(--color-text);font-size:13px;font-weight:700}.report-audit-grid strong{color:var(--color-black);font-size:18px}.report-audit-card p{background:var(--color-primary-soft);border-radius:var(--radius-xl);color:var(--color-primary);font-size:13px;font-weight:800;line-height:1.4;margin:14px 0 0;padding:12px}.report-empty-inline{align-items:center;background:var(--color-bg);border-radius:var(--radius-2xl);color:var(--color-muted);display:flex;font-weight:700;min-height:72px;padding:0 14px}.reports-empty-state{margin-bottom:16px}.settings-page{height:100dvh;overflow:hidden;width:100%}.settings-page__inner{display:grid;grid-template-rows:auto auto minmax(0,1fr);height:100dvh;margin:0 auto;max-width:480px;overflow:hidden;padding:16px 18px 0}.settings-layout{display:grid;gap:12px;min-height:0}.settings-card{background:var(--color-white);border:var(--border-soft);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:grid;gap:10px;min-height:0;padding:14px}.settings-card h3,.settings-card h4{margin:0}.settings-card h3{font-size:17px}.settings-card h4{color:var(--color-text);font-size:14px}.settings-card p{color:var(--color-muted);font-size:13px;line-height:1.45;margin:0}.settings-segmented{background:var(--color-bg);border-radius:var(--radius-2xl);display:flex;gap:8px;padding:5px}.settings-segmented button{align-items:center;border-radius:var(--radius-md);color:var(--color-text);display:inline-flex;flex:1;font-size:13px;font-weight:400;gap:7px;justify-content:center;min-height:36px;padding:0 10px}.settings-segmented button.is-active{background:var(--color-primary);color:var(--color-white);font-weight:500}.settings-user-card{align-items:center;background:var(--color-bg);border-radius:var(--radius-lg);display:flex;gap:12px;justify-content:space-between;margin-top:2px;padding:12px}.settings-user-card div{display:grid;gap:3px;min-width:0}.settings-user-card strong,.settings-user-card span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-user-card strong{color:var(--text-primary);font-size:13px}.settings-user-card span{color:var(--text-secondary);font-size:12px}.settings-user-card button{background:var(--color-white);border:var(--border-soft);border-radius:var(--radius-md);color:var(--text-secondary);flex:0 0 auto;font-size:12px;font-weight:850;min-height:34px;padding:0 10px}.settings-user-card button:hover{background:var(--color-primary-soft);color:var(--color-primary)}.settings-general-stack{display:grid;gap:12px}.user-settings-card{gap:12px}.settings-logout-button{background:var(--color-bg)!important;border:var(--border-soft);border-radius:var(--radius-md)!important;color:var(--text-secondary)!important;font-size:12px;font-weight:500!important;min-height:34px!important;padding:0 11px!important;white-space:nowrap;word-break:keep-all}.settings-logout-button:hover{background:var(--color-primary-soft)!important;color:var(--color-primary)!important}.user-profile-row{align-items:center;display:flex;gap:12px;min-width:0}.user-avatar-button,.sidebar-user__avatar{align-items:center;background:linear-gradient(135deg,#6c5ce724,#f3f1ffdb);border:1px solid rgba(108,92,231,.16);border-radius:var(--radius-pill);color:var(--color-primary);display:inline-flex;flex:0 0 auto;font-weight:750;justify-content:center;line-height:1;overflow:hidden;padding:0}.user-avatar-button{height:58px;width:58px}.user-avatar-button img,.sidebar-user__avatar img{border-radius:var(--radius-pill);display:block;height:100%;object-fit:cover;object-position:center;width:100%}.user-profile-copy{display:grid;gap:4px;min-width:0}.user-profile-copy strong,.user-profile-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-profile-copy strong{color:var(--text-primary);font-size:14px}.user-profile-copy span{color:var(--text-secondary);font-size:12px}.user-settings-actions{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.user-settings-actions button,.settings-modal-actions button{align-items:center;background:var(--color-bg);border:var(--border-soft);border-radius:var(--radius-lg);color:var(--text-secondary);display:inline-flex;font-size:12px;font-weight:500;justify-content:center;min-height:38px;padding:0 10px;white-space:nowrap;word-break:keep-all}.user-settings-actions button:hover,.settings-modal-actions button:hover{background:var(--color-primary-soft);color:var(--color-primary)}.settings-inline-error{color:var(--color-error)!important;font-size:12px!important;font-weight:600}.user-role-manager{display:grid;gap:7px}.user-role-manager__heading{align-items:center;display:flex;gap:10px;justify-content:space-between}.user-role-manager__heading h4,.user-role-manager__heading em{color:var(--text-tertiary);font-size:12px;font-style:normal;font-weight:500;margin:0}.user-role-actions{background:var(--color-bg);border:1px solid rgba(232,232,239,.9);border-radius:var(--radius-pill);display:grid;gap:4px;grid-template-columns:repeat(2,minmax(0,1fr));padding:4px}.user-role-actions button{background:transparent;border:0;border-radius:var(--radius-pill);color:var(--text-secondary);font-size:12px;font-weight:500;min-height:32px;padding:0 10px;white-space:nowrap}.user-role-actions button.is-active{background:var(--color-white);box-shadow:var(--shadow-subtle);color:var(--color-primary)}.user-role-actions button:disabled:not(.is-active){color:var(--text-tertiary);cursor:not-allowed;opacity:.58}.profile-password-field{position:relative}.profile-password-field input{padding-right:48px}.profile-password-field button{align-items:center;background:transparent;border:0;border-radius:var(--radius-sm);color:var(--text-tertiary);display:inline-flex;height:34px;justify-content:center;padding:0;position:absolute;right:9px;top:50%;transform:translateY(-50%);width:34px}.profile-password-field button:hover{background:#e8e8ef9e;color:var(--text-secondary)}.settings-modal-actions{display:grid;gap:10px;grid-template-columns:1fr 1fr}.settings-modal-actions .settings-primary-button{background:var(--color-primary);border-color:transparent;color:var(--color-white)}.visually-hidden{height:1px;margin:-1px;overflow:hidden;position:absolute;width:1px;clip:rect(0 0 0 0)}.currency-option strong{font-size:13px;font-weight:500;line-height:1}.currency-option span{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",Twemoji Mozilla,sans-serif;font-size:15px;line-height:1}.currency-option .currency-flag{height:16px;width:22px}.settings-card__heading{align-items:center;display:flex;gap:12px;justify-content:space-between;min-height:38px}.settings-card__heading button:not(.settings-modal__close),.settings-primary-button,.import-controls button{align-items:center;background:var(--color-primary);border-radius:var(--radius-lg);color:var(--color-white);display:inline-flex;font-weight:800;gap:8px;justify-content:center;min-height:40px;padding:0 12px}.settings-card__heading .option-add-button{border-radius:var(--radius-lg);flex:0 0 auto;gap:0;height:36px;min-height:36px;min-width:36px;padding:0;width:36px}.option-editor{display:grid;gap:12px}.managed-option-list{display:grid;gap:7px;min-height:0}.managed-option-item{align-items:center;background:#ffffffb8;border-radius:var(--radius-lg);display:grid;gap:12px;grid-template-columns:minmax(0,1fr) max-content;min-height:48px;padding:7px 12px;position:relative}.managed-option-item--active{background:#ffffffb8}.managed-option-item--inactive{background:#f7f7fa94}.managed-option-info{align-items:center;display:flex;gap:9px;min-width:0}.managed-option-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary);display:inline-flex;flex:0 0 auto;height:30px;justify-content:center;width:30px}.managed-option-item--inactive .managed-option-icon{background:#8a8f981a;color:var(--text-tertiary)}.managed-option-item strong{color:var(--color-black);font-size:13px;line-height:1.2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.managed-option-item--active strong{color:var(--color-primary)}.managed-option-item--inactive strong{color:var(--text-tertiary)}.managed-option-actions{display:flex;gap:8px;justify-content:flex-end;min-width:max-content;padding-right:0;width:max-content}.managed-option-actions button{align-items:center;background:var(--color-white);border:1px solid rgba(232,232,239,.92);border-radius:var(--radius-pill);color:var(--text-secondary);display:inline-flex;font-size:12px;font-weight:500;justify-content:center;min-height:32px;padding:0 10px;white-space:nowrap;word-break:keep-all;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.managed-option-actions button:hover{background:var(--color-primary-soft);border-color:#6c5ce738;color:var(--text-primary)}.managed-option-actions button:active{transform:scale(.97)}.managed-option-actions .managed-option-icon-button{background:transparent;border-color:transparent;color:var(--text-tertiary);height:34px;min-height:34px;padding:0;width:34px}.managed-option-actions .managed-option-icon-button--danger{color:var(--text-tertiary)}.managed-option-actions .managed-option-icon-button:hover{background:#8a8f981a;border-color:transparent;color:var(--text-secondary)}.option-icon-picker{display:grid;gap:8px}.option-icon-picker>span{color:var(--text-secondary);font-size:12px;font-weight:400}.option-icon-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(38px,1fr))}.option-icon-choice{align-items:center;background:var(--color-bg);border:1px solid rgba(232,232,239,.94);border-radius:var(--radius-lg);color:var(--text-tertiary);display:inline-flex;height:38px;justify-content:center;min-height:38px;padding:0}.option-icon-choice--active{background:var(--color-primary-soft);border-color:#6c5ce738;color:var(--color-primary)}.settings-summary-grid{display:grid;gap:6px 10px;grid-template-columns:minmax(0,1fr) auto}.settings-summary-grid span{color:var(--color-muted);font-size:12px}.settings-summary-grid strong{color:var(--color-black);font-size:12px;overflow-wrap:anywhere;text-align:right}.import-controls{display:grid;gap:7px}.import-controls input{display:none}.import-controls span{color:var(--color-muted);font-size:13px}.settings-desktop-heading{align-items:center;display:flex;justify-content:space-between;gap:10px;margin-bottom:18px}.settings-desktop-heading h2{font-size:32px;font-weight:650;line-height:1.12;margin:2px 0 0}.settings-desktop-heading p{color:var(--color-muted);font-size:13px;line-height:1.4;margin:0;max-width:520px}.settings-mobile-heading{margin-bottom:10px}.settings-tabs{background:#ffffffe6;border:var(--border-soft);border-radius:var(--radius-2xl);display:grid;gap:5px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:10px;padding:5px}.settings-tabs__item{border-radius:var(--radius-md);color:var(--color-text);font-size:12px;font-weight:800;height:36px}.settings-tabs__item--active{background:var(--color-primary);color:var(--color-white)}.settings-mobile-panel{min-height:0;overflow:visible;padding-bottom:0}.settings-page--mobile{height:auto;min-height:100dvh;overflow:visible}.settings-page--mobile .settings-page__inner{height:auto;min-height:100dvh;overflow:visible;padding:22px 20px calc(var(--mobile-nav-height, 76px) + 32px + env(safe-area-inset-bottom))}.settings-page--mobile .settings-mobile-panel{height:auto;max-height:none;overflow:visible}.settings-page--mobile .settings-card,.settings-page--mobile .option-manager-card,.settings-page--mobile .managed-option-list{height:auto;max-height:none;min-height:auto;overflow:visible}.settings-column{display:grid;gap:12px;min-height:0}.backup-grid{display:grid;gap:12px}.backup-grid>div,.import-summary{display:grid;gap:9px}.settings-modal{align-items:center;background:#11111147;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:18px;position:fixed;z-index:40}.settings-modal__panel{background:var(--color-white);border:var(--border-soft);border-radius:var(--radius-2xl);box-shadow:var(--shadow-modal);display:grid;gap:14px;max-width:520px;padding:18px;width:min(520px,100%)}.settings-modal__close{align-items:center;background:transparent;border:0;border-radius:var(--radius-md);color:var(--text-tertiary);display:inline-flex;height:34px;justify-content:center;min-height:34px;padding:0;width:34px}.settings-modal__close:hover{background:var(--color-bg);color:var(--text-primary)}.settings-page--mobile .option-manager-card .settings-card__heading{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:2px}.settings-page--mobile .option-manager-card .settings-card__heading h3{line-height:1.2}.settings-page--mobile .option-manager-card .option-add-button{border-radius:13px;height:36px;min-height:36px;min-width:36px;width:36px}.settings-page--mobile .settings-modal{padding:0 18px}.settings-page--mobile .settings-modal__panel{max-width:444px;padding:16px;width:min(100%,444px)}.detail-layout{display:grid;gap:16px}.detail-main-column,.detail-side-column{display:grid;gap:16px;min-width:0}.detail-amount-card{align-items:center;background:linear-gradient(135deg,#fffffffc,#f3f1ff94),var(--color-white);border:var(--border-soft);border-radius:var(--radius-2xl);box-shadow:var(--shadow-soft);color:var(--text-primary);display:block;padding:20px}.detail-amount-card__content{display:grid;gap:13px}.detail-amount-card__heading{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}.detail-amount-card p{color:var(--text-secondary);font-weight:700;margin:0}.detail-amount-card strong{display:block;font-size:var(--type-amount-large);line-height:1}.detail-amount-card__content>span{align-items:center;color:var(--text-tertiary);display:inline-flex;font-size:13px;font-weight:750;gap:6px}.detail-card{background:var(--color-white);border:var(--border-soft);border-radius:var(--radius-2xl);box-shadow:var(--shadow-card);padding:18px}.detail-card h3{font-size:18px;line-height:1.25;margin:0 0 14px}.detail-grid{display:grid;gap:0}.detail-row{align-items:start;border-bottom:1px solid rgba(232,232,239,.78);display:grid;gap:12px;grid-template-columns:minmax(110px,.7fr) minmax(0,1.1fr);padding:10px 0}.detail-row:first-child{padding-top:0}.detail-row:last-child{border-bottom:0;padding-bottom:0}.detail-row span,.detail-muted,.detail-help{color:var(--color-muted);font-size:13px;line-height:1.4}.detail-row strong{font-size:15px;line-height:1.35;min-width:0;overflow-wrap:anywhere;text-align:right}.detail-section{display:grid;gap:8px}.detail-section+.detail-section{border-top:1px solid rgba(232,232,239,.78);padding-top:14px}.detail-notes-card p{background:var(--color-bg);border-radius:var(--radius-xl);color:var(--color-text);line-height:1.5;margin:0;min-height:46px;padding:13px}.detail-card__heading{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:14px}.detail-card__heading h3{margin:0}.detail-card__heading span{color:var(--text-tertiary);font-size:12px;font-weight:800}.detail-attachment-list{display:grid;gap:10px}.detail-help{margin:0}.detail-attachment{background:var(--color-bg);border-radius:var(--radius-xl);overflow:hidden}.detail-attachment__icon{align-items:center;background:var(--color-white);border-radius:var(--radius-lg);color:var(--color-primary);display:inline-flex;height:44px;justify-content:center;width:44px}.detail-attachment__file-link{align-items:center;color:inherit;display:grid;gap:12px;grid-template-columns:44px minmax(0,1fr) auto;min-height:68px;padding:12px;text-decoration:none}.detail-attachment__file-link em{color:var(--color-primary);font-size:11px;font-style:normal;font-weight:650;white-space:nowrap}.detail-attachment__image-button{background:var(--color-bg);border:0;border-radius:var(--radius-xl);display:block;height:168px;overflow:hidden;padding:0;width:100%}.detail-attachment__image-button img{display:block;height:100%;object-fit:cover;object-position:center;width:100%}.detail-attachment strong,.detail-attachment span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-attachment span{color:var(--color-muted);font-size:13px;margin-top:4px}.detail-actions-card{display:grid;gap:10px}.detail-primary-actions{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.detail-primary-actions .submit-button{min-height:48px;padding-inline:12px}.detail-primary-actions .submit-button:only-child{grid-column:1 / -1}.detail-secondary-actions,.detail-approval-actions{display:grid;gap:8px}.detail-secondary-actions{border-top:1px solid rgba(232,232,239,.78);padding-top:10px}.detail-secondary-actions .submit-button{font-weight:500}.detail-approval-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-approval-action{align-items:center;background:var(--color-bg);border:var(--border-soft);border-radius:var(--radius-lg);color:var(--text-secondary);display:inline-flex;font-size:13px;font-weight:850;gap:7px;justify-content:center;min-height:44px;padding:0 10px;transition:background-color .16s ease,transform .16s ease}.detail-approval-action--approve{background:#22a06b17;border-color:#22a06b2e;color:var(--color-success)}.detail-approval-action--reject{background:#e5484d14;border-color:#e5484d2e;color:var(--color-error)}.detail-approval-action:hover{background:var(--color-primary-soft)}.detail-approval-action:active{transform:scale(.98)}.detail-readonly-status{align-items:center;background:#22a06b1a;border-radius:var(--radius-lg);display:flex;justify-content:center;min-height:46px;padding:0 14px}.detail-readonly-status .status-badge{background:transparent;border-radius:0;color:var(--color-success);font-weight:500;justify-content:center;min-height:0;padding:0;width:100%}.signature-start-modal{align-items:center;background:#1d1d1f61;box-sizing:border-box;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;overflow:hidden;padding:max(18px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));position:fixed;z-index:90}.signature-start-modal__panel{background:var(--color-white);border:var(--border-soft);border-radius:var(--radius-2xl);box-shadow:var(--shadow-modal);display:grid;gap:16px;max-width:440px;padding:18px;width:min(440px,100%)}.signature-start-modal__heading{align-items:center;display:flex;gap:12px;justify-content:space-between}.signature-start-modal__heading h3{margin:0}.signature-start-modal__heading button{align-items:center;border-radius:var(--radius-md);color:var(--text-tertiary);display:inline-flex;height:34px;justify-content:center;width:34px}.signature-start-modal__body{display:grid;gap:10px}.signature-start-modal__actions{display:grid;gap:10px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.detail-delete-button{align-items:center;background:var(--color-bg);border-radius:var(--radius-2xl);color:var(--text-tertiary);display:inline-flex;font-weight:800;gap:9px;justify-content:center;min-height:54px;padding:0 18px;transition:background-color .16s ease,transform .16s ease}.detail-delete-button:hover{background:#e8e8efb8;color:var(--text-secondary)}.detail-delete-button:active{transform:scale(.98)}.image-preview-modal{align-items:center;background:#1d1d1fb8;box-sizing:border-box;display:flex;height:100dvh;top:0;right:0;bottom:0;left:0;justify-content:center;min-height:100vh;overflow:hidden;padding:max(18px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));position:fixed;touch-action:manipulation;z-index:120}.image-preview-modal__panel{align-items:center;box-sizing:border-box;display:flex;height:100%;justify-content:center;max-height:100%;max-width:min(940px,100%);pointer-events:none;position:relative;width:100%}.image-preview-modal__close,.image-preview-modal__nav{align-items:center;background:#ffffffe6;border:0;border-radius:var(--radius-pill);color:var(--text-primary);display:inline-flex;height:42px;justify-content:center;position:absolute;pointer-events:auto;width:42px;z-index:2}.image-preview-modal__close{right:10px;top:10px}.image-preview-modal__nav{color:var(--text-primary);top:50%;transform:translateY(-50%)}.image-preview-modal__nav--previous{left:12px}.image-preview-modal__nav--next{right:12px}.image-preview-modal__count{background:#ffffffe6;border-radius:var(--radius-pill);bottom:12px;color:var(--text-secondary);font-size:12px;font-weight:500;left:50%;line-height:1;padding:7px 10px;position:absolute;transform:translate(-50%);z-index:2}.image-preview-modal__panel img{background:#ffffff14;border-radius:var(--radius-xl);box-shadow:var(--shadow-modal);display:block;max-height:calc(100dvh - 72px);max-width:100%;object-fit:contain;pointer-events:auto;width:auto}.empty-state{align-items:center;display:grid;justify-items:center;min-height:220px;padding:28px;text-align:center}.empty-state strong{font-size:21px}.empty-state span{color:var(--color-muted);margin:8px 0 18px}.confirm-dialog{align-items:center;background:#11111161;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:20px;position:fixed;z-index:50}.confirm-dialog__panel{background:var(--color-white);border-radius:var(--radius-2xl);box-shadow:var(--shadow-modal);max-width:420px;padding:22px;width:100%}.confirm-dialog__panel h2{font-size:21px;margin:0 0 10px}.confirm-dialog__panel p{color:var(--color-text);line-height:1.5;margin:0}.confirm-dialog__actions{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}.dialog-button{border-radius:var(--radius-lg);font-weight:800;min-height:50px}.dialog-button--secondary{background:var(--color-bg);color:var(--color-black)}.dialog-button--danger{background:var(--color-error);color:var(--color-white)}.floating-add{align-items:center;background:var(--color-primary);border:5px solid var(--color-white);border-radius:var(--radius-pill);bottom:35px;box-shadow:0 10px 24px #6c5ce73d;color:var(--color-white);display:inline-flex;height:64px;justify-content:center;left:50%;position:fixed;transform:translate(-50%);transition:background-color .16s ease,transform .16s ease;width:64px;z-index:5}.floating-add:hover{background:var(--color-primary-hover)}.bottom-nav{align-items:center;background:#fffffff5;border:var(--border-soft);border-radius:var(--radius-2xl);bottom:14px;box-shadow:var(--shadow-soft);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));height:76px;left:50%;max-width:444px;padding:8px 10px;position:fixed;transform:translate(-50%);width:calc(100% - 28px);z-index:4}.bottom-nav__item{align-items:center;background:transparent;border-radius:var(--radius-xl);color:var(--color-muted);display:flex;flex-direction:column;font-size:12px;font-weight:700;gap:4px;height:58px;justify-content:center;transition:background-color .16s ease,color .16s ease,transform .16s ease}.bottom-nav__item--active{background:var(--color-primary-soft);color:var(--color-primary)}.toast{background:#111111eb;border-radius:var(--radius-pill);bottom:104px;color:var(--color-white);font-size:14px;left:50%;max-width:calc(100% - 42px);opacity:0;padding:11px 16px;pointer-events:none;position:fixed;transform:translate(-50%,10px);transition:opacity .18s ease,transform .18s ease;white-space:nowrap;z-index:20}.toast--visible{opacity:1;transform:translate(-50%)}@media (min-width: 768px) and (max-width: 1023px){.home-page__inner{max-width:760px;padding:30px 24px 104px}.desktop-secondary{display:grid;gap:16px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.desktop-secondary .section-block{margin-top:0}.new-record-page__inner,.edit-record-page__inner,.record-list-page__inner,.record-detail-page__inner,.reports-page__inner{max-width:760px;padding:30px 24px 112px}.settings-page__inner{max-width:760px;padding:18px 22px 96px}.form-grid,.filter-grid,.report-summary-grid,.reports-main-grid,.reports-secondary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-summary-card--dark{grid-column:1 / -1}.settings-modal .option-editor{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-modal .option-editor .settings-primary-button{grid-column:1 / -1}}@media (min-width: 1024px){html,body,#root{height:100%;overflow:hidden}.app-root{display:grid;grid-template-columns:240px minmax(0,1fr);height:100dvh;min-height:100dvh;overflow:hidden}.desktop-workspace,.sidebar-nav{display:block}.mobile-workspace{display:none}.sidebar-nav{background:#ffffffc7;border-right:1px solid rgba(232,232,239,.9);display:flex;flex-direction:column;height:100dvh;min-height:100dvh;overflow:hidden;padding:28px 18px}.sidebar-nav__brand{align-items:center;display:flex;font-size:29px;font-weight:800;height:48px;padding:0 10px}.sidebar-nav__items{align-content:start;display:grid;flex:1;gap:8px;margin-top:34px;min-height:0}.sidebar-nav__item{align-items:center;background:transparent;border-radius:var(--radius-xl);color:var(--color-text);display:flex;gap:12px;height:48px;padding:0 14px;text-align:left;transition:background-color .16s ease,color .16s ease,transform .16s ease;width:100%}.sidebar-nav__item:hover{background:var(--color-primary-soft);color:var(--color-primary)}.sidebar-nav__item--active{background:var(--color-primary);color:var(--color-white)}.sidebar-nav__item--quiet{color:var(--text-tertiary);font-size:13px;height:42px;margin-top:10px}.sidebar-nav__item--quiet.sidebar-nav__item--active{background:var(--color-primary-soft);color:var(--color-primary)}.sidebar-tools{border-top:1px solid rgba(232,232,239,.9);display:grid;gap:10px;margin-top:auto;padding-top:14px}.sidebar-user{align-items:center;background:transparent;border:0;border-radius:0;display:flex;gap:10px;min-height:54px;min-width:0;padding:6px 4px}.sidebar-user__avatar{height:36px;width:36px}.sidebar-user__text{min-width:0}.sidebar-user strong{color:var(--text-primary);display:block;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-tool-grid{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr));min-width:0}.sidebar-tool-button{align-items:center;background:transparent;border:0;border-radius:var(--radius-lg);color:var(--text-tertiary);display:inline-flex;height:40px;justify-content:center;min-height:40px;padding:0;position:relative;transition:background-color .16s ease,color .16s ease,transform .16s ease;width:100%}.sidebar-tool-button:hover,.sidebar-tool-button:focus-visible{background:transparent;color:var(--color-primary)}.sidebar-tool-button:focus-visible{box-shadow:0 0 0 3px #6c5ce71f;outline:none}.sidebar-tool-button:after{background:var(--color-white);border:var(--border-soft);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);color:var(--text-primary);content:attr(data-tooltip);font-size:12px;font-weight:500;left:50%;line-height:1;opacity:0;padding:8px 10px;pointer-events:none;position:absolute;top:-10px;transform:translate(-50%,-100%);transition:opacity .14s ease,transform .14s ease;white-space:nowrap;z-index:4}.sidebar-tool-button:hover:after,.sidebar-tool-button:focus-visible:after{opacity:1;transform:translate(-50%,calc(-100% - 3px))}.desktop-workspace{height:100dvh;min-height:0;overflow-x:hidden;overflow-y:auto;padding:0;scrollbar-color:#d6d6de transparent;scrollbar-gutter:stable;scrollbar-width:thin;width:100%}.desktop-workspace::-webkit-scrollbar{width:8px}.desktop-workspace::-webkit-scrollbar-track{background:transparent}.desktop-workspace::-webkit-scrollbar-thumb{background:#d6d6de;border:2px solid transparent;border-radius:var(--radius-pill);background-clip:content-box}.desktop-workspace::-webkit-scrollbar-thumb:hover{background:#c4c4ce;background-clip:content-box}.desktop-workspace__inner{margin:0 auto;max-width:1280px;min-height:100%;padding:28px 34px 40px;width:100%}.desktop-toolbar{align-items:center;display:flex;justify-content:space-between;gap:24px;margin-bottom:24px}.desktop-toolbar h1{font-size:var(--type-page-title);font-weight:700;line-height:1.05;margin:3px 0 0}.home-page--desktop .home-page__inner{max-width:none;min-height:auto;padding:0}.home-page--desktop .desktop-summary{display:grid;gap:18px;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr)}.home-page--desktop .amount-card{background:linear-gradient(135deg,#fffffffa,#f3f1ff94),var(--color-white);border:var(--border-soft);border-radius:var(--radius-2xl);box-shadow:var(--shadow-soft);color:var(--text-primary);min-height:238px;overflow:hidden;padding:30px;position:relative}.home-page--desktop .amount-card__header,.home-page--desktop .amount-card__footer{color:var(--text-secondary)}.home-page--desktop .amount-card strong{color:var(--text-primary);font-size:var(--type-amount-large-desktop);margin:36px 0}.home-page--desktop .metric-grid article,.home-page--desktop .section-block,.record-list-page--desktop .list-summary-card,.record-list-page--desktop .filter-card,.new-record-page--desktop .record-card,.edit-record-page--desktop .record-card,.record-detail-page--desktop .detail-card,.approval-page--desktop .approval-summary-card,.approval-page--desktop .approval-card,.reports-page--desktop .report-range-card,.reports-page--desktop .report-summary-card,.reports-page--desktop .report-card,.settings-page--desktop .settings-card{border-radius:var(--radius-xl);box-shadow:var(--shadow-card)}.home-page--desktop .metric-grid{grid-template-columns:1fr;margin:0}.home-page--desktop .metric-grid article{min-height:110px}.home-page--desktop .desktop-secondary{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(260px,.88fr) minmax(0,1.12fr);margin-top:18px}.home-page--desktop .section-block{border-radius:var(--radius-xl);margin-top:0;padding:22px}.home-page--desktop .quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-page--desktop .quick-grid button{align-items:center;border-radius:var(--radius-xl);flex-direction:column;justify-content:center;min-height:94px;padding:14px 10px}.home-page--desktop .quick-grid__icon,.record-list-page--desktop .record-item__icon,.record-detail-page--desktop .detail-attachment__icon,.desktop-workspace .back-button,.desktop-workspace .language-toggle,.desktop-workspace .icon-button,.desktop-workspace .preview-toggle,.desktop-workspace .submit-button,.desktop-workspace .settings-primary-button,.desktop-workspace .import-controls button,.desktop-workspace .clear-filter-button,.desktop-workspace .list-summary-card button,.desktop-workspace .empty-state button,.desktop-workspace .detail-delete-button{border-radius:var(--radius-lg)}.desktop-workspace .back-button{background:var(--color-white);border:var(--border-soft);box-shadow:var(--shadow-subtle);color:var(--color-black);font-weight:700;gap:8px;min-height:44px;padding:0 14px}.desktop-workspace .back-button--icon{border-radius:var(--radius-lg);height:40px;min-height:40px;min-width:40px;padding:0;width:40px}.desktop-workspace .back-button--icon .app-icon{height:19px!important;width:19px!important}.desktop-workspace .status-pill,.desktop-workspace .status-badge,.desktop-workspace .expense-card__delete,.desktop-workspace .expense-card__detail,.desktop-workspace .range-segmented__item,.desktop-workspace .managed-option-actions button{border-radius:var(--radius-pill)}.home-page--desktop .record-item{border-radius:var(--radius-xl);min-height:78px}.new-record-page--desktop .new-record-page__inner,.edit-record-page--desktop .edit-record-page__inner{max-width:none;min-height:auto;padding:0}.new-record-page--desktop .record-topbar,.edit-record-page--desktop .record-topbar{gap:10px;margin-bottom:18px}.desktop-workspace .record-topbar h2,.new-record-page--desktop .record-topbar h2,.edit-record-page--desktop .record-topbar h2{font-size:32px;font-weight:650;line-height:1.12;margin:2px 0 0}.new-record-page--desktop .record-layout,.edit-record-page--desktop .record-layout{align-items:start;grid-template-columns:minmax(0,1.05fr) minmax(0,1.1fr) 300px}.new-record-page--desktop .record-card,.edit-record-page--desktop .record-card{border-radius:var(--radius-xl);padding:var(--form-section-gap)}.new-record-page--desktop .amount-entry-card,.edit-record-page--desktop .amount-entry-card{min-height:100%}.new-record-page--desktop .amount-input,.edit-record-page--desktop .amount-input{font-size:var(--form-amount-font-pc)!important;height:var(--form-amount-height-pc);min-height:var(--form-amount-height-pc)!important}.desktop-workspace .form-field input,.desktop-workspace .form-field select,.desktop-workspace .form-field textarea,.desktop-workspace .date-trigger{border-radius:var(--form-control-radius-pc);min-height:var(--form-control-height-pc)}.desktop-workspace .form-field textarea{min-height:var(--form-textarea-min-height-pc)}.desktop-workspace .file-picker__dropzone{min-height:var(--form-upload-min-height-pc)}.new-record-page--desktop .form-grid,.edit-record-page--desktop .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--form-grid-gap)}.new-record-page--desktop .form-grid--compact,.edit-record-page--desktop .form-grid--compact{grid-template-columns:1fr}.new-record-page--desktop .action-card,.edit-record-page--desktop .action-card{position:sticky;top:28px}.record-list-page--desktop .record-list-page__inner{max-width:none;min-height:auto;padding:0}.record-list-page--desktop .list-summary-card{padding:22px}.record-list-page--desktop .list-summary-card strong{font-size:30px}.record-list-page--desktop .filter-card{padding:18px}.record-list-page--desktop .filter-grid{grid-template-columns:minmax(260px,1.2fr) minmax(180px,.8fr) minmax(170px,.7fr) minmax(170px,.7fr) minmax(180px,.8fr) auto}.record-list-page--desktop .expense-list{gap:16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.record-list-page--desktop .expense-card{border-radius:var(--radius-xl);min-height:210px;padding:18px}.record-detail-page--desktop .record-detail-page__inner,.approval-page--desktop .approval-page__inner,.advanced-page--desktop .advanced-page__inner{max-width:none;min-height:auto;padding:0}.approval-page--desktop .approval-topbar h2,.advanced-page--desktop .advanced-heading h2{font-size:32px}.advanced-page--desktop .advanced-tabs{position:sticky;top:-28px;z-index:2}.advanced-page--desktop .advanced-card{border-radius:var(--radius-xl);padding:22px}.advanced-page--desktop .advanced-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.advanced-page--desktop .advanced-backup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.approval-page--desktop .approval-summary-card{border-radius:var(--radius-xl);min-height:118px;padding:22px}.approval-page--desktop .approval-list{gap:14px}.approval-page--desktop .approval-card{align-items:center;border-radius:var(--radius-2xl);grid-template-columns:minmax(0,1fr) minmax(280px,auto);min-height:92px;padding:16px 18px}.approval-page--desktop .approval-card__side{justify-items:end}.approval-page--desktop .approval-card__amount-row,.approval-page--desktop .approval-card__actions{justify-content:flex-end}.record-detail-page--desktop .detail-layout{align-items:start;grid-template-columns:minmax(0,1fr) minmax(320px,.45fr);gap:18px}.record-detail-page--desktop .detail-amount-card{background:linear-gradient(135deg,#fffffffa,#f3f1ff9e),var(--color-white);border:var(--border-soft);border-radius:var(--radius-2xl);box-shadow:var(--shadow-soft);color:var(--text-primary);min-height:148px;padding:24px}.record-detail-page--desktop .detail-amount-card p{color:var(--text-secondary)}.record-detail-page--desktop .detail-amount-card strong{font-size:var(--type-amount-large-desktop)}.record-detail-page--desktop .detail-card{padding:20px}.record-detail-page--desktop .detail-side-column{position:sticky;top:28px}.reports-page--desktop .reports-page__inner{max-width:none;min-height:auto;padding:0}.reports-page--desktop .reports-topbar h2{font-size:32px}.reports-page--desktop .report-range-card{padding:16px}.reports-page--desktop .report-range-card__controls{align-items:start;grid-template-columns:minmax(0,1fr)}.reports-page--desktop .range-segmented{overflow:visible}.reports-page--desktop .range-segmented__item{min-width:96px}.reports-page--desktop .report-summary-grid{grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr) minmax(220px,.65fr)}.reports-page--desktop .report-summary-card{border-radius:var(--radius-xl);min-height:148px;padding:24px}.reports-page--desktop .report-summary-card strong{font-size:26px}.reports-page--desktop .report-summary-card--dark strong{font-size:var(--type-amount-large-desktop)}.reports-page--desktop .reports-main-grid,.reports-page--desktop .reports-secondary-grid{align-items:start;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.reports-page--desktop .report-card{border-radius:var(--radius-xl);cursor:default;margin-bottom:16px;padding:22px}.reports-page--desktop .report-summary-card{cursor:default}.reports-page--desktop .report-audit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-page--desktop .settings-page__inner{grid-template-rows:auto auto;height:auto;max-width:none;min-height:0;overflow:visible;padding:0}.settings-page--desktop .settings-layout{align-items:start;grid-template-columns:minmax(230px,.7fr) minmax(320px,1fr) minmax(320px,1fr);height:auto;overflow:visible}.settings-page--desktop .settings-card{border-radius:var(--radius-xl);padding:12px}.settings-page--desktop .settings-card__heading{min-height:34px}.settings-page--desktop .settings-card__heading .option-add-button{border-radius:var(--radius-md);height:34px;min-height:34px;min-width:34px;width:34px}.settings-page--desktop .settings-preferences-card{gap:8px}.settings-page--desktop .option-manager-card{height:100%;grid-template-rows:auto minmax(0,1fr)}.settings-page--desktop .managed-option-list{align-content:start;overflow:visible}.settings-page--desktop .managed-option-item{grid-template-columns:minmax(0,1fr) max-content}.settings-page--desktop .managed-option-actions{flex-wrap:nowrap}.mobile-preview-panel{display:grid;justify-items:center;padding:0 0 18px}.mobile-preview-frame{background:#ffffffb8;border:1px solid rgba(17,17,17,.14);border-radius:var(--radius-preview-frame);box-shadow:var(--shadow-modal);height:min(780px,calc(100vh - 138px));min-height:620px;padding:5px;width:390px}.mobile-preview-screen{background:var(--color-bg);border:1px solid rgba(232,232,239,.86);border-radius:var(--radius-preview-screen);cursor:grab;height:100%;overflow-x:hidden;overflow-y:auto;position:relative;scrollbar-width:thin}.mobile-preview-screen--dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.mobile-preview-screen .home-page,.mobile-preview-screen .home-page__inner{min-height:100%}.mobile-preview-screen .home-page--empty{height:100%;max-height:100%;overflow:hidden}.mobile-preview-screen .home-page--empty .home-page__inner{height:100%;min-height:100%;max-height:100%;overflow:hidden}.mobile-preview-screen .bottom-nav{bottom:14px;left:14px;position:absolute;transform:none;width:calc(100% - 28px)}.mobile-preview-screen .floating-add{bottom:35px;position:absolute}.app-root--preview .toast{bottom:30px}}@media (max-width: 520px){.auth-page{align-items:stretch;padding:18px}.auth-shell{background:transparent;border:0;box-shadow:none;display:flex;height:auto;min-height:auto;overflow:visible;width:100%}.auth-card{align-content:start;align-self:center;border-radius:var(--radius-xl);box-shadow:var(--shadow-card);gap:14px;height:auto;min-height:0;padding:18px}.auth-left{min-height:0}.auth-card--register{gap:12px;padding-block:18px}.auth-form input,.auth-submit{min-height:var(--form-control-height-mobile)}.auth-actions-row{flex-wrap:wrap;gap:8px}.auth-switch{flex:1 1 auto;text-align:left}.auth-hero-panel{display:none}.auth-card__heading h1{font-size:25px}.date-picker-layer{align-items:end;background:#11111142;display:flex;justify-content:center;padding-top:0}.date-popover{border:0;border-radius:18px;bottom:calc(12px + env(safe-area-inset-bottom));box-shadow:0 -14px 34px #11111124;gap:12px;left:50%;max-height:280px;max-width:420px;overflow:visible;padding:16px;scrollbar-width:none;top:auto;transform:translate(-50%);width:calc(100% - 32px)}.date-popover::-webkit-scrollbar{display:none}.date-popover__handle{display:none}.date-popover__header,.date-month-nav{min-height:32px}.date-popover__header h3{font-size:15px;line-height:1.1}.date-popover__close,.date-month-nav button{border-radius:10px;height:32px;width:32px}.date-month-nav{margin:0}.date-month-nav strong{font-size:14px;font-weight:650}.date-quick-actions{gap:8px;justify-content:flex-start}.date-quick-actions button{border-radius:var(--radius-pill);flex:0 0 auto;font-size:12px;font-weight:650;min-height:30px;padding:0 12px}.date-weekdays{font-size:10px;font-weight:650;line-height:1;padding-top:2px}.date-grid{gap:1px}.date-cell{border-radius:9px;font-size:13px;font-weight:650;height:30px}.managed-option-item{gap:8px;grid-template-columns:minmax(0,1fr) max-content;min-height:52px;padding:7px 10px 7px 14px}.managed-option-actions{flex-wrap:nowrap;gap:5px;justify-content:flex-end;min-width:max-content;width:max-content}.managed-option-actions button{min-height:30px;padding:0 8px}.managed-option-actions .managed-option-icon-button{height:30px;min-height:30px;width:30px}.detail-approval-actions{grid-template-columns:1fr}.detail-row{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr)}}@media (max-width: 360px){.home-page__inner{padding-left:16px;padding-right:16px}.amount-card{border-radius:var(--radius-2xl);padding:21px}.amount-card strong{font-size:35px}.quick-grid{gap:8px}.quick-grid button{font-size:12px}}:root{--export-font-sans: var(--font-export, "Noto Sans SC", "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif);--export-text-primary: #1D1D1F;--export-text-secondary: #5F6368;--export-border: #E8E8EF}.clara-export,.clara-print{color:var(--export-text-primary);font-family:var(--export-font-sans);font-size:12px;line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.clara-export *,.clara-print *{box-sizing:border-box;font-family:inherit}.clara-export h1,.clara-print h1{font-size:24px;font-weight:700;line-height:1.15;margin:0 0 14px}.clara-export h2,.clara-print h2{font-size:18px;font-weight:700;line-height:1.18;margin:0 0 10px}.clara-export p,.clara-print p,.clara-export td,.clara-print td,.clara-export th,.clara-print th{font-size:11px;line-height:1.5}.clara-export small,.clara-print small{color:var(--export-text-secondary);font-size:10px;line-height:1.45}.clara-export .export-amount,.clara-print .export-amount,.clara-export .export-number,.clara-print .export-number{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"lnum" 1}.clara-export .export-amount,.clara-print .export-amount{font-size:24px;font-weight:700;line-height:1.1}.clara-export table,.clara-print table{border-collapse:collapse;width:100%}.clara-export th,.clara-print th{color:var(--export-text-secondary);font-weight:700;text-align:left}.clara-export th,.clara-print th,.clara-export td,.clara-print td{border-bottom:1px solid var(--export-border);padding:8px 6px}@media print{html,body{background:#fff;color:var(--export-text-primary);font-family:var(--export-font-sans);font-size:12px;line-height:1.5}button,input,select,textarea{font-family:var(--export-font-sans)}.no-print{display:none!important}}
