:root{--rust: #8b3b24;--rust-press: #732f1c;--ink: #1c1410;--muted: #6d564c;--paper: #f3ede7;--stage: #e5dbd3;--line: #e0d3c9;--white: #fffdfb;--danger: #8d2c24;--font: "Familjen Grotesk", "Segoe UI", sans-serif;color-scheme:light}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:17px;line-height:1.45}button,input,a{font:inherit}.boot{min-height:100dvh;display:grid;place-items:center;align-content:center;gap:16px;background:var(--paper)}.boot p{margin:0;color:var(--muted);font-size:.95rem}.boot-spinner{width:28px;height:28px;border-radius:50%;border:2.5px solid rgba(139,59,36,.18);border-top-color:var(--rust);animation:boot-spin .7s linear infinite}@keyframes boot-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.boot-spinner{animation:none}}.stage{min-height:100dvh}.screen{position:relative;min-height:100dvh;display:flex;flex-direction:column;background:var(--paper);overflow:hidden}.screen-body{flex:1;display:flex;flex-direction:column;justify-content:center;gap:18px;padding:calc(28px + env(safe-area-inset-top)) 28px 12px}.screen-action{padding:12px 28px calc(24px + env(safe-area-inset-bottom))}.logo{display:block;width:56px;height:auto;background:var(--rust)}.logo-corner{position:absolute;z-index:3;top:calc(14px + env(safe-area-inset-top));left:16px;width:56px;box-shadow:0 12px 28px #8b3b2433}.has-brand .screen-body{padding-top:calc(84px + env(safe-area-inset-top))}.has-brand h1{max-width:16ch}.kicker{margin:8px 0 0;color:var(--rust);font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}h1{margin:0;max-width:12ch;font-size:2.15rem;line-height:1.08;font-weight:600;letter-spacing:-.035em}.lead{margin:0;max-width:34ch;color:var(--muted);font-size:1.05rem}.button{width:100%;min-height:52px;border:0;background:var(--rust);color:#fff;font-weight:600;letter-spacing:-.01em;cursor:pointer}.button:hover{background:var(--rust-press)}.button:disabled{cursor:wait;opacity:.72}.button:focus-visible,.reveal-password:focus-visible,.back-link:focus-visible,.field input:focus-visible{outline:2px solid var(--rust);outline-offset:2px}.login-screen.has-brand .screen-body{justify-content:flex-start;padding-top:0;padding-bottom:calc(28px + env(safe-area-inset-bottom));gap:0}.login-photo{position:relative;flex:none;width:calc(100% + 56px);height:min(34vh,240px);margin:0 -28px;overflow:hidden}.login-photo img{width:100%;height:100%;object-fit:cover;object-position:62% 58%;display:block}.login-photo:after{content:"";position:absolute;left:0;right:0;bottom:0;height:52px;background:linear-gradient(to bottom,transparent,var(--paper))}.login-form{margin-top:22px}.login-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin-top:4px}.login-form{display:flex;flex-direction:column;gap:18px}.login-heading h1{max-width:none;font-size:1.65rem}.login-heading .kicker{margin-top:0}.login-heading .lead{margin-top:6px;font-size:.98rem}.login-fields{display:grid;gap:12px}.field{display:flex;flex-direction:column;gap:6px;color:var(--ink)}.field>span:first-child{color:var(--muted);font-size:.78rem;font-weight:600}.field input,.password-field{width:100%;min-height:44px;border:1px solid var(--line);background:var(--white);color:var(--ink)}.field input{padding:0 12px;font-size:1rem;font-weight:500}.login-screen .field input:focus-visible{outline:none;border-color:var(--rust)}.password-field{position:relative;display:flex;align-items:center}.password-field:focus-within{border-color:var(--rust)}.password-field input{min-height:42px;border:0;background:transparent;padding-right:40px}.password-field input:focus-visible{outline:none}.reveal-password{position:absolute;top:50%;right:2px;width:36px;height:36px;display:grid;place-items:center;transform:translateY(-50%);border:0;background:transparent;color:var(--muted);cursor:pointer}.reveal-password[aria-pressed=true]{color:var(--rust)}.login-actions .button{min-height:46px}@media(min-width:840px){body:has(.login-screen){height:100dvh;overflow:hidden;background:var(--paper)}.stage:has(.login-screen){display:block;min-height:100dvh;padding:0}.login-screen.screen{width:100%;height:100dvh;min-height:0;box-shadow:none}.login-screen.has-brand .screen-body{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(420px,.75fr);align-items:stretch;justify-content:stretch;height:100%;min-height:0;padding:0;gap:0}.login-screen .login-photo{width:auto;height:100%;min-height:0;margin:0}.login-screen .login-photo img{object-position:center 58%}.login-screen .login-photo:after{top:0;bottom:0;left:auto;width:72px;height:auto;background:linear-gradient(to right,transparent,var(--paper))}.login-screen .login-form{align-self:center;justify-self:center;width:min(400px,calc(100% - 80px));margin:0;padding:8px 0}.login-screen .logo-corner{top:28px;left:28px}}.reveal-password svg{width:18px;height:18px}.form-error{margin:0;color:var(--danger);font-size:.95rem;font-weight:600}.back-link{align-self:center;border:0;background:transparent;color:var(--muted);font-weight:600;text-decoration:none;cursor:pointer}.back-link:hover{color:var(--ink)}.install-skip{display:block;width:100%;margin-top:12px;border:0;background:transparent;cursor:pointer;text-align:center}.install-steps{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:12px}.install-steps li{display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:center;color:var(--muted)}.install-steps b{display:grid;place-items:center;width:28px;height:28px;background:var(--rust);color:#fff;font-size:.85rem}.ios-install-hint{margin:0;color:var(--ink);font-weight:600;line-height:1.35}.ios-install-pointer{display:grid;place-items:center;margin-top:14px;color:var(--rust);animation:ios-install-bob 1.2s ease-in-out infinite}.ios-install-pointer .share-icon{width:28px;height:28px}@keyframes ios-install-bob{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}.share-icon{display:inline-block;width:18px;height:18px;margin:0 2px;vertical-align:-3px;color:var(--rust)}.intro-screen{justify-content:center}.screen.is-leaving,.screen.is-leaving-back,.screen.is-arriving,.screen.is-returning{pointer-events:none}.screen.is-leaving>:not(.logo-corner){animation:handoff-out .38s cubic-bezier(.4,0,1,1) forwards}.screen.is-leaving-back>:not(.logo-corner){animation:handoff-out-back .34s cubic-bezier(.4,0,1,1) forwards}.screen.is-arriving>:not(.logo-corner){animation:handoff-in .52s cubic-bezier(.22,1,.36,1) both}.screen.is-returning>:not(.logo-corner){animation:handoff-back .52s cubic-bezier(.22,1,.36,1) both}.screen.is-arriving .logo-corner,.screen.is-returning .logo-corner{animation:none}@keyframes handoff-out{to{opacity:0;transform:translate3d(-72px,0,0)}}@keyframes handoff-out-back{to{opacity:0;transform:translate3d(72px,0,0)}}@keyframes handoff-in{0%{opacity:0;transform:translate3d(84px,0,0)}}@keyframes handoff-back{0%{opacity:0;transform:translate3d(-84px,0,0)}}.intro-pager{flex:none;height:min(540px,calc(100dvh - 168px));overflow:hidden;touch-action:pan-y;cursor:grab}.intro-pager:active{cursor:grabbing}.intro-track{display:flex;height:100%;transition:transform .52s cubic-bezier(.22,1,.36,1);will-change:transform}.intro-track.is-dragging{transition:none}.intro-slide{flex:none;display:flex;flex-direction:column;justify-content:center;gap:18px;height:100%;padding:calc(78px + env(safe-area-inset-top)) 28px 8px}.slide-copy h1{max-width:16ch;font-size:clamp(1.85rem,7vw,2.2rem)}.benefits{margin:4px 0 0;padding:0;list-style:none;display:grid;gap:12px}.benefits li{color:var(--muted);font-size:.98rem}.benefits strong{display:block;margin-bottom:2px;color:var(--ink);font-weight:600}.language-slide h1{font-size:1.7rem}.globe{position:relative;width:188px;height:188px;margin:0 auto 2px;border-radius:50%;overflow:hidden;box-shadow:0 18px 22px -10px #28181073}.globe canvas{width:100%;height:100%;display:block}.globe-pin{position:absolute;left:50%;top:50%;width:10px;height:10px;transform:translate(-50%,-50%);border-radius:50%;background:var(--rust);box-shadow:0 0 0 5px #8b3b2447;pointer-events:none}.language-menu{position:relative;margin-top:4px}.language-menu-button{width:100%;min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px;border:1px solid var(--line);background:var(--white);color:var(--ink);font-weight:600;cursor:pointer}.language-menu-list{position:fixed;z-index:40;margin:0;padding:6px;list-style:none;background:var(--white);border:1px solid var(--line);box-shadow:0 16px 40px #3c1c1024;max-height:min(320px,46vh);overflow:auto}.language-menu-list button{width:100%;min-height:42px;border:0;background:transparent;color:var(--ink);padding:0 12px;text-align:left;font-weight:600;cursor:pointer}.language-menu-list button[aria-selected=true]{background:var(--rust);color:#fff}.chevron{width:18px;height:18px;color:var(--rust);transition:transform .25s ease}.chevron.is-open{transform:rotate(180deg)}.language-menu-button:focus-visible,.language-menu-list button:focus-visible{outline:2px solid var(--rust);outline-offset:2px}.intro-slide.is-active .slide-copy{animation:rise .6s cubic-bezier(.22,1,.36,1) both}.intro-hint{min-height:1.1em;margin:0;text-align:center;color:var(--muted);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.intro-dots{display:flex;justify-content:center;align-items:center;gap:0;padding-top:2px}.dot{width:32px;height:28px;display:grid;place-items:center;border:0;padding:0;background:transparent;cursor:pointer}.dot span{display:block;width:7px;height:7px;border-radius:99px;background:#d8c7bc;transition:width .35s cubic-bezier(.22,1,.36,1),background .35s ease}.dot[aria-current=true] span{width:22px;background:var(--rust)}.visual{position:relative;height:248px;display:grid;place-items:center}.visual.is-compact{height:168px}.visual.is-compact .phone{animation:none;transform:scale(.82)}.visual:before{content:"";position:absolute;width:230px;height:230px;border-radius:50%;background:radial-gradient(circle,rgba(139,59,36,.16),transparent 68%)}.sheet{position:absolute;left:50%;top:50%;width:196px;padding:16px 16px 14px;background:var(--white);box-shadow:0 16px 36px #3c1c101f}.sheet-back{height:132px;background:#f7efe8;transform:translate(-68%,-42%) rotate(-10deg)}.sheet-mid{height:142px;transform:translate(-28%,-58%) rotate(7deg)}.sheet-front{width:210px;animation:floaty 5.6s ease-in-out infinite}.sheet-bar,.sheet-kicker{display:block;color:var(--rust);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.sheet-bar{height:8px;width:42%;background:var(--rust)}.sheet-front strong{display:block;margin-top:10px;font-size:1.15rem;letter-spacing:-.03em}.sheet-meta{display:block;margin-top:2px;color:var(--muted);font-size:.82rem}.sheet-line{display:block;height:7px;margin-top:10px;border-radius:99px;background:#eadfd6;transform-origin:left}.sheet-line.short{width:62%}.sheet-front .sheet-line{width:100%}.intro-slide.is-active .sheet-front .sheet-line{animation:grow .8s cubic-bezier(.22,1,.36,1) both}.intro-slide.is-active .sheet-front .sheet-line.short{animation-delay:.12s}.sheet-total{display:inline-block;margin-top:12px;padding:4px 8px;background:var(--rust);color:#fff;font-size:.78rem;font-weight:700}.phone{position:relative;width:168px;padding:16px 14px 14px;background:#2a211c;color:#fff;box-shadow:0 18px 40px #2a211c38;animation:bob 6s ease-in-out infinite}.phone-top{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:.82rem}.phone-top span{width:8px;height:8px;border-radius:50%;background:#e7b5a4}.phone-row{display:flex;justify-content:space-between;gap:12px;margin-top:8px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.12);color:#ffffff9e;font-size:.78rem}.phone-row b{color:#fff;font-weight:600}.phone-save{margin-top:12px;padding:8px 0;text-align:center;background:var(--rust);font-size:.78rem;font-weight:700;letter-spacing:.04em}.intro-slide.is-active .phone-row b{animation:rise .55s cubic-bezier(.22,1,.36,1) both}.intro-slide.is-active .phone-row:nth-child(2) b{animation-delay:.05s}.intro-slide.is-active .phone-row:nth-child(3) b{animation-delay:.14s}.intro-slide.is-active .phone-row:nth-child(4) b{animation-delay:.22s}.ledger{width:230px;padding:16px 16px 12px;background:var(--white);box-shadow:0 18px 40px #3c1c101f;animation:bob 6.2s ease-in-out infinite}.ledger-head,.ledger-row,.ledger-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}.ledger-head{margin-bottom:10px;color:var(--rust);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.ledger-row{margin-top:8px;font-size:.82rem}.ledger-row i{display:block;height:7px;border-radius:99px;background:var(--rust);transform-origin:left}.intro-slide.is-active .ledger-row i{animation:grow .7s cubic-bezier(.22,1,.36,1) both}.intro-slide.is-active .ledger-row:nth-child(3) i{animation-delay:.08s}.intro-slide.is-active .ledger-row:nth-child(4) i{animation-delay:.16s}.intro-slide.is-active .ledger-row:nth-child(5) i{animation-delay:.24s}.ledger-foot{justify-content:center;margin-top:12px;padding-top:8px;border-top:1px solid var(--line);color:var(--rust);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.pass{display:grid;gap:8px;width:min(240px,100%)}.pass span{display:block;padding:10px 14px;background:var(--white);color:var(--ink);font-weight:600;box-shadow:0 10px 24px #3c1c1014}.pass-direction{background:var(--rust)!important;color:#fff!important}.intro-slide.is-active .pass span{animation:rise .55s cubic-bezier(.22,1,.36,1) both}.intro-slide.is-active .pass span:nth-child(2){animation-delay:.06s}.intro-slide.is-active .pass span:nth-child(3){animation-delay:.12s}.intro-slide.is-active .pass span:nth-child(4){animation-delay:.18s}@keyframes logo-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes floaty{0%,to{transform:translate(-50%,-50%) rotate(-2deg)}50%{transform:translate(-50%,calc(-50% - 8px)) rotate(-1deg)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes grow{0%{transform:scaleX(.15)}to{transform:scaleX(1)}}@media(min-width:840px){.intro-hint{display:none}}@media(prefers-reduced-motion:reduce){.intro-track,.dot span,.logo-corner,.screen.is-leaving>:not(.logo-corner),.screen.is-leaving-back>:not(.logo-corner),.screen.is-arriving>:not(.logo-corner),.screen.is-returning>:not(.logo-corner),.sheet-front,.phone,.ledger,.intro-slide.is-active .slide-copy,.intro-slide.is-active .sheet-front .sheet-line,.intro-slide.is-active .phone-row b,.intro-slide.is-active .ledger-row i,.intro-slide.is-active .pass span{animation:none;transition:none}}@media(min-width:840px){body{background:var(--stage)}.stage{display:grid;place-items:center;padding:32px 20px}.screen{width:min(440px,100%);min-height:760px;box-shadow:0 28px 70px #371c1024}}.app-screen{height:100dvh;max-height:100dvh;min-height:0}body:has(.app-screen){height:100dvh;overflow:hidden}@media(min-width:840px){.app-screen{height:min(760px,calc(100dvh - 64px));max-height:calc(100dvh - 64px);min-height:0}}.app-screen .screen-body{justify-content:flex-start;min-height:0;overflow:auto;gap:16px}.app-screen h1{max-width:none;font-size:1.7rem}.app-heading{display:flex;flex-direction:column;gap:6px}.sheet-list,.rule-list,.saved-list{margin:0;padding:0;list-style:none;display:grid;gap:10px}.sheet-choice{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:72px;padding:12px 14px;background:var(--white);border:1px solid var(--line);color:inherit;text-decoration:none}.sheet-choice strong{display:block;color:var(--ink);font-weight:600}.sheet-choice span{display:block;color:var(--muted);font-size:.92rem}.sheet-choice strong+span,.sheet-choice span span{margin-top:2px}.sheet-choice svg,.app-nav svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.sheet-choice svg{width:18px;height:18px;flex:none;color:var(--rust)}.rule-list li,.saved-list li,.account-card{background:var(--white);border:1px solid var(--line)}.rule-list li,.saved-list li{padding:12px 14px;color:var(--muted);font-size:.95rem}.rule-list strong,.saved-list strong{display:block;margin-bottom:2px;color:var(--ink);font-weight:650}.saved-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.saved-filter-btn{display:inline-flex;align-items:center;gap:8px;flex:none;min-height:44px;margin-top:4px;padding:0 14px;border:1px solid var(--line);background:var(--white);color:var(--ink);font-weight:650}.saved-filter-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.saved-filter-btn.is-on{border-color:var(--rust);color:var(--rust)}.saved-filter-dialog{position:absolute;inset:0;z-index:6;display:flex;align-items:flex-end}.saved-filter-backdrop{position:absolute;inset:0;border:0;background:#1c141047}.saved-filter-sheet{position:relative;z-index:1;width:100%;display:grid;gap:14px;max-height:min(78dvh,640px);overflow:auto;padding:18px 16px calc(20px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line)}.saved-filter-sheet h2{margin:0;font-size:1.35rem}.saved-filters{display:grid;gap:8px}.saved-filter-row{display:flex;flex-wrap:wrap;gap:8px}.saved-chip{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:6px 12px;border:1px solid var(--line);background:var(--white);color:var(--ink);font-size:.92rem;font-weight:600}.saved-chip svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.saved-chip[aria-pressed=true]{border-color:var(--rust);background:var(--rust);color:#fff}.saved-period{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;min-height:44px;background:var(--white);border:1px solid var(--line)}.saved-period button{min-height:44px;border:0;background:transparent;color:var(--rust);font-size:1.4rem;line-height:1}.saved-period strong{text-align:center;font-size:.95rem;text-transform:capitalize}.saved-list li{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:2px 12px}.saved-list li:has(.saved-open){display:block;padding:0}.saved-open{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:2px 12px;padding:12px 14px;color:inherit;text-decoration:none}.saved-mark{grid-row:1 / span 2;display:grid;justify-items:center;gap:4px;min-width:52px}.saved-mark svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.saved-mark-text{font-size:.68rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.saved-mark.is-done{color:#2f6b45}.saved-mark.is-draft{color:var(--rust)}.saved-open strong,.saved-list li>strong{margin-bottom:0}.account-card{margin:0;display:grid}.account-card div{padding:12px 14px}.account-card div+div{border-top:1px solid var(--line)}.account-card dt{color:var(--muted);font-size:.78rem;font-weight:600}.account-card dd{margin:2px 0 0;font-weight:600}.app-nav{display:grid;grid-template-columns:repeat(3,1fr);position:relative;z-index:5;flex:none;border-top:1px solid var(--line);background:var(--white);padding:4px 2px calc(6px + env(safe-area-inset-bottom))}.app-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:52px;color:var(--muted);font-size:.68rem;font-weight:650;text-decoration:none}.app-nav a[aria-current=page]{color:var(--rust)}.app-nav svg{width:22px;height:22px}.app-nav a:focus-visible,.sheet-choice:focus-visible{outline:2px solid var(--rust);outline-offset:-2px}.app-panel{display:flex;flex-direction:column;gap:16px;min-height:0}.app-panel[hidden]{display:none}.profile{display:flex;flex-direction:column;gap:18px}.profile-head{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}.profile-head h1{font-size:1.45rem}.profile-avatar{display:grid;place-items:center;width:86px;height:86px;margin-bottom:8px;border-radius:50%;background:var(--rust);color:#fff;font-size:1.55rem;font-weight:650;letter-spacing:.02em}.profile-fields{background:var(--white);border:1px solid var(--line)}.profile-field{display:grid;gap:2px;padding:10px 14px 11px}.profile-field+.profile-field{border-top:1px solid var(--line)}.profile-field span{color:var(--muted);font-size:.74rem;font-weight:650}.profile-field input,.profile-field select{width:100%;min-height:26px;margin:0;padding:0;border:0;background:transparent;color:var(--ink);font:inherit;font-weight:600}.profile-field input:focus,.profile-field select:focus{outline:none}.profile-field input:read-only{color:var(--muted);font-weight:550}.profile-field select{cursor:pointer}.profile .button{min-height:46px}.report{display:flex;flex-direction:column;gap:12px;padding-bottom:20px}.report-back{align-self:flex-start}.report h2{margin:6px 0 0;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--rust)}.report-card{background:var(--white);border:1px solid var(--line)}.report-line-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid var(--line)}.report-line-head strong{font-size:.82rem;font-weight:700}.report-field{display:grid;gap:2px;padding:8px 12px 9px}.report-field+.report-field,.report-split{border-top:1px solid var(--line)}.report-field span{color:var(--muted);font-size:.72rem;font-weight:650}.report-field input,.report-field textarea{width:100%;margin:0;padding:0;border:0;background:transparent;color:var(--ink);font:inherit;font-weight:600}.report-field input{min-height:28px}.report-field textarea{min-height:44px;resize:vertical;font-weight:550}.report-field input:focus,.report-field textarea:focus{outline:none}.report-field input:read-only{color:var(--muted)}.report-field strong{display:block;min-height:28px;font-weight:700}.report-split{display:grid;grid-template-columns:1fr 1fr .85fr}.report-split-2{grid-template-columns:1fr 1fr}.report-split .report-field{border-top:0;min-width:0}.report-split .report-field+.report-field{border-left:1px solid var(--line)}.text-button{border:0;background:transparent;color:var(--muted);font:inherit;font-size:.82rem;font-weight:650;cursor:pointer;padding:0}.button-quiet{min-height:44px;background:transparent;color:var(--rust);border:1px solid var(--line)}.button-quiet:hover{background:var(--white)}.report-total{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:12px 14px;background:var(--white);border:1px solid var(--line)}.report-total span,.report-total em{color:var(--muted);font-size:.82rem;font-style:normal;font-weight:650}.report-total strong{font-size:1.35rem;font-weight:650;letter-spacing:-.03em}.meal-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.meal-option{display:flex;align-items:flex-start;gap:8px;min-height:58px;padding:10px 12px;background:var(--white);border:1px solid var(--line);cursor:pointer}.meal-option input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--rust)}.meal-option span{display:grid;gap:1px;color:var(--muted);font-size:.75rem}.meal-option strong{color:var(--ink);font-size:.92rem}.report .button{min-height:46px}.report-end{display:grid;gap:10px}.report-note{margin:0;color:var(--rust);font-size:.92rem;font-weight:650}.report-note.is-saved{color:var(--ink)}.report-field select{width:100%;min-height:32px;margin:0;padding:0;border:0;background:transparent;color:var(--ink);font:inherit;font-weight:600}.report-field input::placeholder{color:var(--muted);font-weight:500}.city-suggest{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.city-suggest button{display:block;width:100%;padding:11px 12px;border:0;border-bottom:1px solid var(--line);background:var(--paper);color:var(--ink);font:inherit;font-weight:600;text-align:left;cursor:pointer}.city-suggest li:last-child button{border-bottom:0}.task-list{margin:0;padding:0;list-style:none}.task-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-top:1px solid var(--line)}.task-list span{font-weight:600}.task-add{display:flex;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid var(--line)}.task-add input{flex:1;min-width:0;min-height:36px;border:0;background:transparent;color:var(--ink);font:inherit;font-weight:600}.task-add input:focus{outline:none}.task-add button{flex:none;border:0;background:transparent;color:var(--rust);font:inherit;font-weight:700;cursor:pointer}.crew-list{display:flex;flex-wrap:wrap;gap:8px}.crew-chip{border:1px solid var(--line);background:var(--white);color:var(--ink);padding:8px 12px;font:inherit;font-weight:600;cursor:pointer}.crew-chip.is-on{border-color:var(--rust);color:var(--rust)}.pause-total{margin:0;padding:0 12px 10px;color:var(--muted);font-size:.82rem;font-weight:650}.leave-dialog{position:absolute;inset:0;z-index:6;display:grid;place-items:center;padding:24px 20px calc(88px + env(safe-area-inset-bottom));background:#1c141047}.leave-card{width:100%;display:grid;gap:14px;padding:18px 16px 16px;background:var(--paper);border:1px solid var(--line)}.leave-card p{margin:0;font-size:1.15rem;font-weight:650;letter-spacing:-.02em;line-height:1.25}.leave-actions{display:grid;gap:8px}.sheet-view{display:flex;flex-direction:column;gap:12px;padding-bottom:20px}.sheet-actions{display:grid;gap:8px}.sheet-hint{margin:0;color:var(--muted);font-size:.85rem}.sheet-frame{overflow:auto;border:1px solid var(--line);background:var(--white)}.sheet-frame img{display:block;width:1120px;max-width:none;height:auto}body:has(.admin-app){height:100dvh;overflow:hidden;background:#e4e4e7}.admin-app{display:grid;height:100dvh;padding:16px;background:#e4e4e7;color:#1c1c1f;font-size:15px}.admin-app:has(.admin-wait){place-items:center}.admin-shell{display:flex;flex-direction:column;min-width:0;min-height:0;background:#fff;border-radius:28px;box-shadow:0 18px 50px #14141814;overflow:hidden}.admin-wait,.admin-note{margin:0;color:#6f6f76}.admin-top{display:grid;grid-template-columns:minmax(160px,1fr) auto minmax(160px,1fr);align-items:center;gap:16px;padding:18px 22px 6px}.admin-brand{display:flex;align-items:center;gap:10px;min-width:0}.admin-brand img{width:36px;height:36px;object-fit:cover;border-radius:10px;background:var(--rust)}.admin-brand strong{font-size:1.05rem;letter-spacing:-.03em}.admin-nav{display:flex;align-items:center;gap:6px}.admin-nav a{display:inline-flex;align-items:center;min-height:38px;padding:0 16px;border-radius:999px;color:#3c3c42;font-size:.92rem;font-weight:650;text-decoration:none}.admin-nav svg{display:none;width:22px;height:22px;flex:none}.admin-nav a:hover{background:#f3f3f5}.admin-nav a[aria-current=page]{background:#1c1c1f;color:#fff}.admin-nav a:focus-visible,.admin-table a:focus-visible,.admin-account button:focus-visible,.admin-search:focus-visible,.admin-back:focus-visible{outline:2px solid var(--rust);outline-offset:2px}.admin-account{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}.admin-avatar{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:999px;background:#f3e4dc;color:var(--rust);font-size:.78rem;font-weight:700}.admin-account-name{overflow:hidden;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.admin-account button{min-height:34px;padding:0 12px;border:0;border-radius:999px;background:#f3f3f5;color:#3c3c42;font-size:.82rem;font-weight:650;cursor:pointer}.admin-account button:hover{background:#e8e8ec}.admin-main{min-width:0;min-height:0;overflow:auto;padding:18px 28px 36px}.admin-stage{animation:admin-enter 1.05s cubic-bezier(.22,.61,.36,1) both}.admin-home>*{animation:admin-enter 1.25s cubic-bezier(.22,.61,.36,1) both}.admin-stage:has(.admin-home){animation:none}.admin-home>*:nth-child(2){animation-delay:.18s}.admin-home>*:nth-child(3){animation-delay:.36s}@keyframes admin-enter{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.admin-stage,.admin-home>*{animation:none}}.admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.admin-stat{display:flex;flex-direction:column;justify-content:space-between;gap:18px;min-height:124px;padding:18px 18px 16px;border:1px solid #ececef;border-radius:22px;background:#fff;box-shadow:0 8px 24px #1414180a;color:inherit;text-decoration:none}.admin-stat:hover{box-shadow:0 12px 28px #14141812}.admin-stat strong{font-size:2rem;font-weight:650;letter-spacing:-.045em;line-height:1}.admin-stat span{color:#6f6f76;font-size:.88rem}.admin-home-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.8fr);gap:14px}.admin-panel{min-width:0;padding:6px 8px 10px;border:1px solid #ececef;border-radius:22px;background:#fff;box-shadow:0 8px 24px #1414180a}.admin-panel h2{margin:12px 12px 4px;font-size:1.05rem;letter-spacing:-.03em}.admin-panel .admin-note{padding:8px 12px 12px}.admin-recent,.admin-missing{margin:0;padding:0;list-style:none}.admin-recent a,.admin-missing a{display:grid;align-items:center;gap:8px 16px;padding:12px;border-radius:14px;color:inherit;text-decoration:none}.admin-recent a{grid-template-columns:9.5rem minmax(0,1fr) minmax(0,1fr)}.admin-missing a{grid-template-columns:18px minmax(0,1fr)}.admin-recent a:hover,.admin-missing a:hover{background:#fafafa}.admin-recent strong{font-weight:650}.admin-recent span,.admin-recent em,.admin-missing span{overflow:hidden;color:#6f6f76;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.admin-missing span{color:#1c1c1f}@media(max-width:980px){.admin-stats,.admin-home-grid,.admin-recent a{grid-template-columns:1fr}}.admin-app .button{border-radius:12px}@media(max-width:980px){.admin-app{padding:8px}.admin-shell{border-radius:20px}.admin-top{grid-template-columns:minmax(0,1fr) auto;padding:14px 14px 4px}.admin-nav{grid-column:1 / -1;overflow:auto}.admin-account-name{display:none}.admin-main{padding:14px 14px 28px}}.admin-page{display:flex;flex-direction:column;gap:18px}.admin-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:16px 24px}.admin-head>div{flex:1 1 280px}.admin-head h1{margin:0;max-width:none;font-size:2.35rem;font-weight:650;letter-spacing:-.045em;line-height:1.05}.admin-head p{margin:6px 0 0;color:#6f6f76;font-size:.98rem}.admin-search{width:min(320px,100%);height:42px;flex:none;border:1px solid var(--line);border-radius:10px;padding:0 14px;background:var(--white);color:var(--ink)}.admin-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #ececef;border-radius:20px;box-shadow:0 8px 24px #1414180a;overflow:hidden}.admin-table th{padding:12px 16px;border-bottom:1px solid #f0f0f2;color:#8a8a92;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-align:left;text-transform:uppercase}.admin-table td{border-bottom:1px solid #f3f3f5;font-size:.95rem}.admin-table tr:last-child td{border-bottom:0}.admin-table a,.admin-table td>span{display:block;padding:14px 16px;color:inherit;text-decoration:none}.admin-table tr:hover a,.admin-table tr:hover td>span{background:#fafafa}.admin-table td:last-child a{color:var(--rust);font-weight:650}.admin-sheet-actions{display:flex;gap:10px}.admin-sheet-actions .button{width:auto;min-height:44px;padding:0 16px;white-space:nowrap}.admin-back{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 14px 0 12px;border:1px solid #ececef;border-radius:999px;background:#fff;box-shadow:0 4px 14px #1414180a;color:#1c1c1f;font:inherit;font-weight:650;cursor:pointer}.admin-back:hover{background:#f7f7f8}.admin-people{display:flex;flex-direction:column;gap:18px}.admin-person{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid #ececef;border-radius:22px;background:#fff;box-shadow:0 8px 24px #1414180a}.admin-person header{display:flex;align-items:center;gap:14px}.admin-person h2,.admin-person p{margin:0}.admin-person h2{font-size:1.05rem;letter-spacing:-.03em}.admin-person .admin-table{border:0;border-radius:14px;box-shadow:none}.admin-person p{color:#6f6f76;font-size:.82rem}.admin-person-empty{gap:0;padding:8px 12px;border-color:#efe6e0;background:transparent}.admin-person-empty header{gap:10px}.admin-person-empty h2{color:var(--muted);font-size:.92rem;font-weight:600}.admin-person-empty p{font-size:.78rem}.admin-warn-icon{width:18px;height:18px;flex:none;color:#a15c12}.admin-problems{display:flex;flex-direction:column;gap:14px}.admin-problem{display:flex;flex-direction:column;border:1px solid #ececef;border-radius:22px;background:#fff;box-shadow:0 8px 24px #1414180a;overflow:hidden}.admin-problem-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:56px;padding:16px 18px;border:0;background:transparent;color:inherit;font:inherit;font-weight:650;text-align:left;cursor:pointer}.admin-problem-summary span{min-width:0}.admin-problem-summary:after{content:"";width:8px;height:8px;flex:none;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg)}.admin-problem-summary[aria-expanded=true]:after{transform:translateY(2px) rotate(-135deg)}.admin-problem-summary:hover{background:#fafafa}.admin-problem-summary:focus-visible{outline:2px solid var(--rust);outline-offset:-2px}.admin-problem-body{display:flex;flex-direction:column;gap:14px;padding:0 18px 18px}.admin-problem h2,.admin-problem p{margin:0}.admin-problem h2{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:baseline;font-size:1.05rem;letter-spacing:-.03em}.admin-problem h2 span,.admin-problem header>p{color:#6f6f76;font-size:.92rem;font-weight:500}.admin-problem ul{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none}.admin-problem li{padding:12px 14px;border-radius:14px;background:#faf7f4}.admin-problem li strong{display:block;margin-bottom:4px}.admin-problem li p{color:#3c3c42;font-size:.92rem}.fuel-capture{display:flex;align-items:center;justify-content:center;min-height:52px;border-radius:14px;background:var(--rust);color:#fff;font-weight:650;cursor:pointer}.fuel-capture input{display:none}.fuel-preview{display:block;width:100%;max-height:280px;object-fit:cover;border-radius:16px;border:1px solid var(--line)}.fuel-fields{display:flex;flex-direction:column;gap:12px}.fuel-result{display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:16px;background:#f8efe8}.fuel-result p{display:flex;justify-content:space-between;gap:12px;margin:0}.fuel-result-ok{background:#eef6ef}.admin-fuel-photo{display:block;width:min(280px,100%);border-radius:14px}.admin-head .button,.admin-form-actions .button{width:auto;min-width:140px;min-height:44px;padding:0 18px;white-space:nowrap}.admin-block{display:flex;flex-direction:column;gap:12px}.admin-block h2,.admin-form h2{margin:0;font-size:1.15rem;letter-spacing:-.03em}.admin-block p,.admin-page .kicker{margin:0;color:#8a8a92}.admin-page .kicker{font-size:.72rem;letter-spacing:.12em}.admin-folders{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.admin-folder{display:flex;align-items:center;gap:14px;min-height:84px;padding:16px 18px;border:1px solid #ececef;border-radius:20px;background:#fff;box-shadow:0 8px 24px #1414180a;color:inherit;text-decoration:none}.admin-folder:hover{border-color:#e0e0e4;box-shadow:0 12px 28px #14141812}.admin-folder span{display:flex;flex-direction:column;gap:2px;min-width:0}.admin-folder strong{font-size:1rem}.admin-folder small{color:#6f6f76;font-size:.82rem}.admin-folder-icon{width:28px;height:28px;flex:none;color:var(--rust)}.admin-form{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;padding:20px;border:1px solid #ececef;border-radius:22px;background:#fff;box-shadow:0 8px 24px #1414180a}.admin-form h2,.admin-form .form-error,.admin-form-actions{grid-column:1 / -1}.admin-form select,.admin-form .field input,.admin-settings .profile-field input,.admin-settings .profile-field select{border-radius:12px}.admin-form select{width:100%;min-height:44px;border:1px solid #e6e6ea;background:#fff;color:#1c1c1f;padding:0 12px}.admin-form-actions{display:flex;gap:10px}.admin-row-actions{display:flex;gap:14px;padding:10px 16px}.admin-row-actions button{border:0;background:transparent;color:var(--rust);font-weight:650;cursor:pointer;padding:0}.admin-dialog{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:24px;background:#1c141047}.admin-dialog-card{width:min(440px,100%);display:flex;flex-direction:column;gap:12px;padding:22px;border-radius:22px;background:#fff;box-shadow:0 24px 60px #14141829}.admin-dialog-card p{margin:0}.admin-settings{display:flex;flex-direction:column;align-items:flex-start;gap:18px;width:min(460px,100%)}.admin-settings .profile-head{align-items:flex-start;text-align:left}.admin-settings .profile-head h2{margin:0;font-size:1.35rem}.admin-settings .profile-head p{margin:0;color:var(--muted)}.admin-settings .profile-fields{width:100%;overflow:hidden;border:1px solid #ececef;border-radius:22px;box-shadow:0 8px 24px #1414180a}.admin-settings .button{width:auto;min-width:180px;min-height:44px;padding:0 18px}.admin-sheet .sheet-frame{border:1px solid #ececef;border-radius:22px;box-shadow:0 8px 24px #1414180a}.admin-notify{display:flex;flex-direction:column;gap:14px;padding:18px;border:1px solid #ececef;border-radius:22px;background:#fff;box-shadow:0 8px 24px #1414180a}.admin-notify h2,.admin-notify p{margin:0}.admin-notify h2{font-size:1.15rem;letter-spacing:-.03em}.admin-notify>div>p,.admin-notify .admin-note{color:#6f6f76}.admin-notify-tools,.admin-notify-modes{display:flex;gap:8px}.admin-notify-tools button,.admin-notify-modes button{min-height:44px;padding:0 14px;border:1px solid #ececef;border-radius:999px;background:#fff;color:#1c1c1f;font:inherit;font-weight:650;cursor:pointer}.admin-notify-modes{display:grid;grid-template-columns:1fr 1fr}.admin-notify-modes button[aria-pressed=true]{border-color:#1c1c1f;background:#1c1c1f;color:#fff}.admin-notify-people{display:flex;flex-direction:column;gap:6px;max-height:280px;overflow:auto}.admin-notify-person{display:flex;align-items:center;gap:12px;min-height:48px;padding:8px 12px;border-radius:14px;background:#fafafa;cursor:pointer}.admin-notify-person input{width:22px;height:22px;flex:none}.admin-notify-fields{display:flex;flex-direction:column;gap:12px}.admin-notify-fields textarea{width:100%;min-height:88px;padding:12px;border:1px solid #e6e6ea;border-radius:12px;background:#fff;color:#1c1c1f;font:inherit;resize:vertical}.admin-notify .button{width:auto;min-height:44px;padding:0 18px}.push-banner{display:flex;flex-direction:column;gap:10px;margin-bottom:14px;padding:14px;border-radius:16px;background:#f8efe8}.push-banner p{margin:0}.push-banner .button{width:100%}@media(max-width:760px){body:has(.admin-app){background:#fff}.admin-app{padding:0;background:#fff}.admin-shell{border-radius:0;box-shadow:none}.admin-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(8px + env(safe-area-inset-top)) 14px 8px;border-bottom:1px solid #ececef}.admin-account button{min-height:44px;padding:0 14px}.admin-nav{position:fixed;z-index:6;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;overflow:visible;padding:4px 6px calc(4px + env(safe-area-inset-bottom));border-top:1px solid #ececef;background:#fff}.admin-nav a{flex-direction:column;justify-content:center;gap:2px;min-width:0;min-height:52px;padding:4px 2px;border-radius:12px;font-size:.68rem;line-height:1.15;text-align:center}.admin-nav a span{display:-webkit-box;max-width:100%;overflow:hidden;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.admin-nav svg{display:block}.admin-nav a[aria-current=page]{background:#1c1c1f;color:#fff}.admin-main{padding:16px 14px calc(96px + env(safe-area-inset-bottom))}.admin-head{align-items:stretch}.admin-head h1{font-size:1.7rem}.admin-head .button,.admin-settings .button,.admin-form-actions .button,.admin-sheet-actions .button,.admin-notify .button,.admin-search{width:100%}.admin-stats{grid-template-columns:1fr 1fr;gap:10px}.admin-stat{min-height:108px;padding:16px;gap:12px}.admin-stat strong{font-size:1.85rem}.admin-recent a,.admin-missing a,.admin-folder{min-height:56px}.admin-form{grid-template-columns:1fr;padding:16px}.admin-form-actions,.admin-sheet-actions,.admin-row-actions{flex-direction:column;align-items:stretch}.admin-row-actions{gap:4px;padding:6px 8px 10px}.admin-row-actions button{min-height:44px;text-align:left}.admin-table{position:relative;display:block;border:0;border-radius:0;background:transparent;box-shadow:none}.admin-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.admin-table tbody{display:flex;flex-direction:column;gap:10px}.admin-table tr{display:flex;flex-direction:column;overflow:hidden;border:1px solid #ececef;border-radius:16px;background:#fff}.admin-table td{border-bottom:1px solid #f3f3f5}.admin-table tr:last-child td,.admin-table td:last-child{border-bottom:0}.admin-table a,.admin-table td>span{display:flex;align-items:baseline;justify-content:space-between;gap:12px;min-height:44px;padding:12px 14px}.admin-table a[data-label]:before,.admin-table td>span[data-label]:before{content:attr(data-label);flex:none;color:#8a8a92;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.admin-table td:last-child a{color:inherit;font-weight:550}.admin-person .admin-table{margin:0 -4px}.admin-dialog{align-items:end;padding:0}.admin-dialog-card{width:100%;border-radius:22px 22px 0 0;padding:22px 18px calc(18px + env(safe-area-inset-bottom))}}
