:root{--mono: ui-monospace, "SF Mono", "Cascadia Mono", "Roboto Mono", Menlo, Consolas, "Liberation Mono", monospace}html,body{margin:0;overflow-x:clip;background:#faf6f0;-webkit-text-size-adjust:100%}#root{min-height:100vh}.page{max-width:760px;margin:0 auto;padding:16px 16px calc(96px + env(safe-area-inset-bottom))}.page-head{display:flex;align-items:center;gap:10px;margin-bottom:16px}.page-title{margin:0!important;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.greeting{margin:4px 0 24px}.greeting-title{margin:0!important;font-size:26px!important;line-height:1.2!important;letter-spacing:-.01em}.greeting-sub{margin-top:4px;color:#7a6a5e;font-size:15px}.section{margin-bottom:28px}.section-title{display:flex;align-items:baseline;gap:10px;margin:0 0 12px;font-size:20px;font-weight:700;letter-spacing:-.01em}.section-title .count{font-size:15px;font-weight:500;color:#7a6a5e}.section-empty{padding:14px 16px;border:1px dashed #eadfd3;border-radius:14px;color:#7a6a5e;font-size:15px}.rec-list{display:flex;flex-direction:column;gap:10px}.rec-card{display:flex;align-items:center;gap:14px;min-height:72px;padding:12px 14px;background:#fff;border:1px solid #eadfd3;border-radius:16px;text-decoration:none;color:inherit;transition:box-shadow .15s ease,transform .15s ease}.rec-card:hover{box-shadow:0 6px 18px #2a211b14;color:inherit}.rec-card:active{transform:scale(.99)}.rec-icon{flex:none;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;font-size:20px;color:#8f4227}.rec-body{flex:1;min-width:0;display:flex;flex-direction:column}.rec-title{display:block;font-size:16px;font-weight:600;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rec-meta{display:block;margin-top:3px;font-size:14px;color:#7a6a5e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rec-side{display:block;flex:none;max-width:40%;text-align:right;line-height:1.25}.rec-amount{font-size:16px;font-weight:700;white-space:nowrap}.rec-days{font-size:13px;color:#7a6a5e;white-space:nowrap}.rec-days.soon{color:#b7791f}.rec-days.urgent{color:#b3261e;font-weight:600}.add-btn{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:20;height:54px!important;padding-inline:26px!important;border-radius:27px!important;font-size:17px!important;box-shadow:0 10px 24px #b85c3859}.filters{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-bottom:16px}.fields{display:grid;grid-template-columns:1fr;gap:14px}.field-label{font-size:13px;color:#7a6a5e;margin-bottom:2px}.field-value{font-size:17px;font-weight:500;overflow-wrap:anywhere}.user-chip-text{line-height:1.2}@media(min-width:640px){.page{padding:24px 24px 112px}.filters{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr)}.archive-toggle{grid-column:1 / -1}.fields{grid-template-columns:1fr 1fr}}@media(max-width:480px){.brand-sub{display:none}.ant-card .ant-card-body{padding:16px}}.back-btn{flex:none;width:44px!important;height:44px!important}.tap-link{min-height:44px}@media(hover:hover)and (pointer:fine){.only-touch{display:none!important}}.brand-link{flex:none;display:flex;flex-direction:column;justify-content:center;min-height:44px;text-decoration:none}.see-all{display:inline-flex;align-items:center;min-height:44px;margin:-10px -8px -10px auto;padding:0 8px;font-weight:600}.owner-seg .ant-segmented-item-label{padding-inline:4px}.ant-image-preview-mask{background-color:#140f0ce0!important}.rec-num{display:block;margin-top:2px;font-family:var(--mono);font-size:13px;letter-spacing:.02em;color:#5f5248;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rec-num-sign{font-family:Golos Text,Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;letter-spacing:0}.rec-card.archived{background:#fbf8f4}.rec-card.archived .rec-icon,.rec-card.archived .rec-title{opacity:.7}.rec-archived{font-weight:600;color:#8a7a6d}.archive-toggle{display:flex;align-items:center;gap:10px;min-height:44px;font-size:15px;cursor:pointer;-webkit-user-select:none;user-select:none}.archive-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:8px;font-size:15px;color:#7a6a5e;text-decoration:none}.archive-link:hover{color:#8f4227}.rec-head{display:flex;align-items:flex-start;gap:10px}.rec-head .back-btn{margin-left:-8px;margin-top:2px}.rec-head-icon{width:48px;height:48px;font-size:22px}.rec-head-text{flex:1;min-width:0}.rec-head-title{margin:0;font-size:22px;font-weight:700;line-height:1.25;letter-spacing:-.01em;color:#2a211b;overflow-wrap:anywhere}.rec-head-sub{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:4px;font-size:15px;color:#7a6a5e}.archived-badge{margin:0!important;font-weight:600;color:#5f5248!important;background:#efeae4!important;border-color:#ddd3c8!important}.block-title{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#7a6a5e}.block-count{padding:0 8px;font-size:12px;line-height:20px;letter-spacing:0;background:#f3ede6;border-radius:10px}.field-wide{grid-column:1 / -1}.doc-number-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.doc-number{margin-top:2px;font-family:var(--mono);font-size:26px;font-weight:600;line-height:1.25;letter-spacing:.03em;overflow-wrap:anywhere;cursor:copy}.copy-btn{flex:none;padding-inline:14px!important}.countdown{display:inline-block;margin-top:4px;padding:2px 10px;font-size:13px;font-weight:600;line-height:1.5;border-radius:999px}.countdown.urgent{color:#b3261e;background:#f9e3e1}.countdown.soon{color:#8a5a12;background:#f8ecd6}.countdown.calm{color:#3f6947;background:#e4eee5}.countdown.muted{color:#7a6a5e;background:#efeae4}.kv-list{display:flex;flex-direction:column;margin:0 -8px}.kv-row{display:grid;grid-template-columns:minmax(0,1fr) 24px;grid-template-areas:"label copy" "value copy";align-items:center;column-gap:8px;min-height:44px;padding:10px 8px;border-radius:10px;cursor:pointer;-webkit-tap-highlight-color:transparent}.kv-row+.kv-row{border-top:1px solid #f1e9df}.kv-row:hover{background:#fbf7f2}.kv-row:active{background:#f5ede3}.kv-row:focus-visible{outline:2px solid #b85c38;outline-offset:-2px}.kv-label{grid-area:label;font-size:13px;color:#7a6a5e;overflow-wrap:anywhere}.kv-value{grid-area:value;min-width:0;font-size:16px;font-weight:500;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere}.kv-value.mono{font-family:var(--mono);letter-spacing:.02em}.kv-value.mrz{font-family:var(--mono);font-size:13px;line-height:1.55;letter-spacing:0;word-break:break-all}.kv-copy{grid-area:copy;justify-self:end;font-size:16px;color:#c4b5a7}.thumb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.thumb{position:relative;aspect-ratio:4 / 3;overflow:hidden;background:#f3ece4;border:1px solid #eadfd3;border-radius:12px}.thumb .ant-image,.thumb .thumb-img{display:block;width:100%;height:100%}.thumb .ant-image-img{width:100%;height:100%;object-fit:cover}.preview-bar{display:flex;flex-direction:column;align-items:center;gap:10px;max-width:calc(100vw - 32px)}.preview-actions{display:flex;gap:10px}.preview-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;font:inherit;font-size:15px;font-weight:600;color:#fff!important;text-decoration:none;background:#00000080;border:0;border-radius:22px;cursor:pointer}.preview-btn.danger{background:#b3261ed9}.file-list{display:flex;flex-direction:column;gap:10px}.thumb-grid+.file-list,.files .upload-list{margin-top:12px}.file-row{display:grid;grid-template-columns:40px minmax(0,1fr);grid-template-areas:"icon info" "actions actions";gap:10px 12px;padding:12px;background:#fffdfb;border:1px solid #eadfd3;border-radius:14px}.file-icon{grid-area:icon;display:flex;align-items:center;justify-content:center;font-size:28px}.file-info{grid-area:info;min-width:0}.file-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-weight:600;line-height:1.3;overflow-wrap:anywhere}.file-meta{margin-top:2px;font-size:13px;color:#7a6a5e}.file-actions{grid-area:actions;display:flex;gap:8px;min-width:0}.file-actions .ant-btn{padding-inline:10px!important}.file-actions .ant-btn:not(.ant-btn-icon-only){flex:1;min-width:0}.file-actions .ant-btn-icon-only{flex:none;width:44px}.upload-list{display:flex;flex-direction:column;gap:8px}.upload-row{padding:10px 12px;border:1px dashed #eadfd3;border-radius:12px}.upload-row.error{background:#fdf4f3;border-style:solid;border-color:#f0c9c5}.upload-row .ant-progress{margin:4px 0 0}.upload-head{display:flex;align-items:baseline;gap:8px}.upload-name{flex:1;min-width:0;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-size,.upload-note{flex:none;font-size:13px;color:#7a6a5e}.upload-error{margin-top:4px;font-size:14px;color:#b3261e;overflow-wrap:anywhere}.upload-actions{display:flex;gap:8px;margin-top:8px}.note-text{margin:0;font-size:16px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.chips{display:flex;flex-wrap:wrap;column-gap:8px}.chip-link{display:inline-flex;align-items:center;max-width:100%;min-height:44px;text-decoration:none}.chip{display:inline-block;max-width:100%;padding:5px 12px;font-size:15px;font-weight:500;line-height:1.4;color:#8f4227;background:#f3e4d2;border-radius:16px;overflow-wrap:anywhere}.chip-link:hover .chip{background:#ecd6bd}.rec-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.rec-actions .ant-btn{height:48px}.form-row-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:12px}.form-group-title{margin:4px 0 2px;font-size:16px;font-weight:600}.form-group-hint{margin-bottom:10px;font-size:13px;color:#7a6a5e}.field-edit-list{display:flex;flex-direction:column;gap:10px}.field-edit{display:flex;flex-direction:column;gap:8px;padding:10px;background:#fffdfb;border:1px solid #eadfd3;border-radius:14px}.field-edit-head{display:flex;align-items:flex-start;gap:6px}.field-edit-del{flex:none;width:44px!important}.mono-input,.mono-input input{font-family:var(--mono);letter-spacing:.02em}.switch-row{display:flex;align-items:center;gap:12px;min-height:56px;margin-bottom:16px;cursor:pointer}.switch-row-text{flex:1;min-width:0;display:flex;flex-direction:column}.switch-row-title{font-weight:600}.switch-row-hint{font-size:13px;color:#7a6a5e}.form-actions{position:sticky;bottom:0;z-index:5;padding:12px 0 calc(12px + env(safe-area-inset-bottom));background:linear-gradient(to top,#fff 80%,#fff0)}.code-input{height:56px;font-family:var(--mono);font-size:26px!important;letter-spacing:.3em;text-align:center}.code-input::placeholder{color:#d6cabd}.sec-head{display:flex;align-items:center;gap:12px}.sec-title{font-size:17px;font-weight:700;line-height:1.3}.sec-sub{font-size:13px;color:#7a6a5e}.step-title{font-size:16px;font-weight:700}.qr-box{display:flex;justify-content:center;padding:12px;background:#fff;border:1px solid #eadfd3;border-radius:16px}.qr-box img{width:100%;max-width:240px;height:auto;image-rendering:pixelated}.secret-row{display:flex;align-items:center;gap:8px}.secret,.recovery-code{font-family:var(--mono);font-size:17px;letter-spacing:.04em;background:#f7f1ea;border-radius:10px;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.secret{flex:1;min-width:0;padding:10px 12px}.recovery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.recovery-code{padding:10px 6px;text-align:center}@media(min-width:640px){.kv-row{grid-template-columns:200px minmax(0,1fr) 24px;grid-template-areas:"label value copy"}.file-row{grid-template-columns:40px minmax(0,1fr) auto;grid-template-areas:"icon info actions";align-items:center}.file-actions .ant-btn:not(.ant-btn-icon-only){flex:none}}.app-header{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"brand nav user";align-items:center;column-gap:16px;min-height:64px;padding:0 16px;background:#faf6f0;border-bottom:1px solid #eadfd3}.app-header .brand-link{grid-area:brand}.section-nav{grid-area:nav;min-width:0}.user-chip{grid-area:user;display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:44px;min-height:44px;margin:0;padding:0;font:inherit;color:inherit;background:none;border:0;border-radius:22px;cursor:pointer}.user-chip:focus-visible{outline:2px solid #b85c38;outline-offset:2px}.section-nav-strip{position:relative;display:flex;gap:2px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}.section-nav-strip::-webkit-scrollbar{display:none}.section-nav-strip.fade-right{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 36px),transparent)}.section-nav-strip.fade-left{-webkit-mask-image:linear-gradient(to left,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(to left,#000 calc(100% - 36px),transparent)}.section-nav-strip.fade-left.fade-right{-webkit-mask-image:linear-gradient(to right,transparent,#000 36px,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(to right,transparent,#000 36px,#000 calc(100% - 36px),transparent)}.section-nav-item{flex:none;display:inline-flex;align-items:center;min-height:44px;text-decoration:none;-webkit-tap-highlight-color:transparent}.section-nav-pill{display:inline-flex;flex-direction:column;align-items:center;padding:7px 11px;font-size:15px;font-weight:500;line-height:1.4;color:#5f5248;white-space:nowrap;border-radius:18px;transition:background-color .15s ease,color .15s ease}.section-nav-pill:after{content:attr(data-label);height:0;overflow:hidden;visibility:hidden;font-weight:700;pointer-events:none;-webkit-user-select:none;user-select:none}.section-nav-item.active .section-nav-pill{font-weight:700;color:#8f4227;background:#f3e4d2}.section-nav-item:focus-visible{outline:none}.section-nav-item:focus-visible .section-nav-pill{outline:2px solid #b85c38;outline-offset:-2px}@media(hover:hover){.section-nav-item:not(.active):hover .section-nav-pill{color:#2a211b;background:#f1e9df}}@media(max-width:1279px){.user-chip-text{display:none}}@media(min-width:769px)and (max-width:1100px){.brand-sub{display:none}}@media(max-width:768px){.app-header{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand user" "nav nav";column-gap:12px;min-height:0;padding:0}.app-header .brand-link{min-height:56px;padding-left:16px}.user-chip{margin-right:16px}.section-nav{padding-bottom:4px}.section-nav-strip{gap:6px;padding-left:16px;scroll-padding-inline:16px}.section-nav-strip:after{content:"";flex:none;width:10px}.section-nav-pill{padding:7px 14px;background:#fff;box-shadow:inset 0 0 0 1px #eadfd3}.section-nav-item.active .section-nav-pill{box-shadow:inset 0 0 0 1px #e6cdb0}}.stat-hero{margin-bottom:28px;padding:20px 20px 18px;color:#fff7ef;background:radial-gradient(120% 90% at 100% 0%,rgba(255,255,255,.1),transparent 60%),#8f4227;border-radius:22px}.stat-hero.skeleton{color:inherit;background:#fff;border:1px solid #eadfd3}.stat-hero-label{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff7efc7}.stat-hero-value{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:10px;margin-top:8px}.stat-hero-num{font-size:60px;font-weight:700;line-height:1;letter-spacing:-.03em}.stat-hero-unit{font-size:20px;font-weight:600;color:#fff7efd9}.stat-hero-sub{margin-top:10px;font-size:17px;font-weight:500}.stat-hero-next{margin-top:18px;padding-top:14px;border-top:1px solid rgba(255,247,239,.2)}.stat-hero-next-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:15px}.stat-hero-next-row strong{flex:none;font-size:18px;font-weight:700;white-space:nowrap}.stat-hero-ord,.stat-hero-date{color:#fff7efc7}.stat-hero-date{margin-top:8px;font-size:13px}.stat-meter{height:6px;margin-top:10px;overflow:hidden;background:#fff7ef38;border-radius:3px}.stat-meter-fill{height:100%;background:#f6d9b8;border-radius:3px}.stat-hero-today{display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:8px 16px;font-size:16px;font-weight:700;color:#8f4227;background:#fff7ef;border-radius:999px}.stat-note{margin-bottom:28px;padding:20px;background:#fff;border:1px dashed #d9c7b5;border-radius:18px}.stat-note-title{font-size:17px;font-weight:700}.stat-note-text{margin-top:4px;font-size:15px;color:#7a6a5e}.bday-list{display:flex;flex-direction:column;gap:10px}.bday-card{display:flex;align-items:center;gap:14px;min-height:76px;padding:12px 16px 12px 12px;background:#fff;border:1px solid #eadfd3;border-radius:18px}.bday-avatar{flex:none;display:flex;align-items:center;justify-content:center;width:48px;height:48px;font-size:20px;font-weight:700;color:#5f4a3c;border-radius:50%}.bday-body{flex:1;min-width:0;display:flex;flex-direction:column}.bday-name,.bday-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bday-name{font-size:17px;font-weight:700;line-height:1.3}.bday-meta{margin-top:2px;font-size:14px;color:#7a6a5e}.bday-count{flex:none;display:flex;flex-direction:column;align-items:flex-end;line-height:1}.bday-num{font-size:32px;font-weight:700;letter-spacing:-.02em}.bday-unit{margin-top:4px;font-size:13px;color:#7a6a5e}.bday-card.celebrate{background:#f3e4d2;border-color:#e3c3a3}.bday-card.celebrate .bday-avatar{font-size:22px;color:#fff;background:#b85c38}.bday-today{margin-top:2px;font-size:15px;font-weight:700;line-height:1.35;color:#8f4227}.dl-list{overflow:hidden;background:#fff;border:1px solid #eadfd3;border-radius:18px}.dl-row{display:flex;align-items:center;gap:12px;min-height:60px;padding:10px 14px;color:inherit;text-decoration:none}.dl-row+.dl-row{border-top:1px solid #f1e9df}a.dl-row:hover{color:inherit;background:#fbf7f2}a.dl-row:active{background:#f5ede3}.dl-icon{flex:none;display:flex;align-items:center;justify-content:center;width:36px;height:36px;font-size:17px;color:#8f4227;border-radius:10px}.dl-body{flex:1;min-width:0;display:flex;flex-direction:column}.dl-title,.dl-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-title{font-size:15px;font-weight:600;line-height:1.3}.dl-meta{margin-top:1px;font-size:13px;color:#7a6a5e}.dl-days{flex:none;font-size:13px;font-weight:600;color:#7a6a5e;white-space:nowrap}.dl-days.soon{color:#8a5a12}.dl-days.urgent{color:#b3261e}.dl-error{display:flex;align-items:center;justify-content:space-between;gap:8px}
