@import "https://fonts.googleapis.com/css2?family=Figtree:wght@400;500;600;700&family=Noto+Sans:wght@400;500;600;700&display=swap";.directory-row{border:0;border-bottom:1px solid var(--border);width:100%;min-height:58px;color:var(--ink);text-align:left;background:#fff;grid-template-columns:minmax(0,1fr) auto 22px;align-items:center;gap:12px;padding:12px 16px;display:grid}.directory-row:last-child{border-bottom:0}.directory-row:hover{background:#f5fafb}.directory-row span{min-width:0;display:grid}.directory-row b,.directory-row small{text-overflow:ellipsis;overflow:hidden}.directory-row em{color:var(--muted);font-style:normal}.directory-row svg{width:20px;color:var(--muted)}.editor-head{position:static}.data-headings{z-index:4;border-top:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--ink);background:#e8f1f6;grid-template-columns:1fr repeat(3,90px);gap:14px;padding:10px 18px;font-size:.78rem;font-weight:700;display:grid;position:sticky;top:64px}.data-headings span:not(:first-child){text-align:right}@media (width<=640px){.data-headings{top:calc(56px + env(safe-area-inset-top));grid-template-columns:1fr repeat(3,48px);gap:8px;padding:9px 12px;font-size:.64rem}}:root{color:#134e4a;--primary:#087c98;--primary-dark:#075f72;--accent:#15803d;--ink:#134e4a;--muted:#536b70;--surface:#fff;--soft:#e8f1f6;--border:#cce8e5;--danger:#b42318;background:#fff;font-family:Figtree,Noto Sans,system-ui,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{background:#fff;min-width:320px;margin:0}button,a,input,select{font:inherit}button,a{cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #22d3ee}@media (hover:none) and (pointer:coarse){button,a{transition:opacity .1s,transform .1s}button:active:not(:disabled):not([aria-disabled=true]),a:active:not([aria-disabled=true]){opacity:.82;transform:scale(.98)}}@media (prefers-reduced-motion:reduce){button,a{transition:none}button:active:not(:disabled):not([aria-disabled=true]),a:active:not([aria-disabled=true]){transform:none}}.app-shell{background:#f0fdfa;min-height:100vh}.page-header{border-bottom:1px solid var(--border);z-index:10;background:#fff;justify-content:space-between;align-items:center;gap:16px;min-height:64px;margin:-28px -20px 22px;padding:0 20px;display:flex;position:sticky;top:0}.page-header-title,.page-header-actions{align-items:center;gap:8px;display:flex}.page-header h1{margin:0;font-size:1.08rem}.page-back,.icon-action{width:44px;height:44px;color:var(--primary-dark);background:0 0;border:0;border-radius:10px;flex:none;place-items:center;display:grid}.page-back svg,.icon-action svg{width:22px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.overflow-menu{position:relative}.context-menu{z-index:30;border:1px solid var(--border);background:#fff;border-radius:12px;min-width:190px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 16px 40px #062d2926}.context-menu button{width:100%;min-height:44px;color:var(--danger);text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;padding:0 10px;font-weight:700;display:flex}.context-menu button:hover{background:#fff0ed}.brand{align-items:center;gap:12px;display:flex}.brand-mark{background:var(--primary);color:#fff;border-radius:11px;place-items:center;width:38px;height:38px;font-size:26px;font-weight:700;display:grid}.brand-mark svg{stroke-width:3px;width:22px;height:22px}.brand-mark.large{border-radius:14px;width:48px;height:48px}.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.09em;color:#587177;font-size:.7rem;font-weight:700}.brand h1{margin:0;font-size:1.2rem}.center{place-items:center;min-height:100vh;display:grid}main{max-width:1060px;margin:auto;padding:28px 20px 100px}.page-intro{margin-bottom:20px}.page-intro-actions{justify-content:space-between;align-items:end;gap:20px;display:flex}.page-intro-actions h2{margin:3px 0}.page-intro h2,.editor-head h2,.summary h2{margin:3px 0;font-size:1.8rem}.page-intro p:not(.kicker),.summary p,.editor-head>span,.form-card>p{color:var(--muted);margin:4px 0}.month-list{gap:12px;display:grid}.month-row{text-align:left;border:1px solid var(--border);width:100%;min-height:84px;color:var(--ink);background:#fff;border-radius:16px;grid-template-columns:48px 1fr 24px;align-items:center;gap:14px;padding:14px 18px;transition:box-shadow .18s,transform .18s;display:grid}.month-row:hover{transform:translateY(-1px);box-shadow:0 8px 25px #134e4a14}.month-row span:nth-child(2){display:grid}.month-row b{font-size:1.08rem}.month-row small,.data-row small,.quantity-row small,.directory small,.settings-card small{color:var(--muted)}.opening-value{color:inherit;font-weight:800}.month-icon,.action-icon{width:46px;height:46px;color:var(--primary);background:#e4f5f5;border-radius:13px;place-items:center;display:grid}.state{color:#12642f;background:#e7f6ec;border-radius:999px;padding:5px 9px;font-size:.75rem;font-weight:700;display:inline-flex}.state.closed{color:#53656a;background:#edf1f2}.fab{z-index:8;background:var(--accent);color:#fff;border:0;border-radius:15px;align-items:center;gap:9px;min-height:52px;padding:0 20px;font-weight:700;display:flex;position:fixed;bottom:28px;right:max(20px,50vw - 530px);box-shadow:0 12px 28px #15803d42}.back{color:var(--primary-dark);background:0 0;border:0;align-items:center;gap:7px;min-height:44px;margin-bottom:12px;padding:0;font-weight:700;display:flex}.summary{background:var(--primary-dark);color:#fff;border-radius:18px;margin-bottom:16px;padding:24px}.summary p{color:#d3eeee}.action-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.action-grid button{text-align:left;border:1px solid var(--border);min-height:84px;color:var(--ink);background:#fff;border-radius:16px;grid-template-columns:48px 1fr 24px;align-items:center;gap:12px;padding:15px;display:grid}.action-grid button span:nth-child(2){display:grid}.action-grid small{color:var(--muted)}.downloads,.data-card,.form-card,.settings-card,.import-preview{border:1px solid var(--border);background:#fff;border-radius:16px;margin-top:16px;padding:20px}.downloads h3,.data-head h3,.form-card h3{margin:0 0 12px}.downloads>div{gap:10px;display:flex}.downloads button,.secondary{border:1px solid var(--border);min-height:44px;color:var(--primary-dark);background:#fff;border-radius:11px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:700;text-decoration:none;display:flex}.downloads button:disabled{opacity:.65;cursor:wait}.danger-zone{background:#fff;border:1px solid #efc4bf;border-radius:16px;justify-content:space-between;align-items:center;gap:18px;margin-top:16px;padding:18px 20px;display:flex}.danger-zone h3,.danger-zone p{margin:0}.danger-zone p{color:var(--muted)}.danger-outline{border:1px solid var(--danger);min-height:44px;color:var(--danger);background:#fff;border-radius:11px;align-items:center;gap:8px;padding:0 14px;font-weight:700;display:inline-flex}.data-card{padding:0;overflow:visible}.data-head{justify-content:space-between;align-items:center;padding:18px;display:flex}.data-head h3{margin:0}.data-head span{background:var(--soft);border-radius:99px;padding:3px 9px}.data-row{border-top:1px solid var(--border);grid-template-columns:1fr repeat(3,90px);align-items:center;gap:14px;padding:12px 18px;display:grid}.data-row>span:first-child{display:grid}.data-row>span:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.data-row>span:not(:first-child) small{display:block}.stripe{background:#f5fafb}.editor-head{border:1px solid var(--border);background:#fff;border-radius:16px;padding:20px;position:static}.editor-head p{color:var(--primary);margin:0;font-weight:700}.search{border:1px solid var(--border);background:#fff;border-radius:11px;align-items:center;gap:9px;min-height:48px;margin-top:16px;padding:0 12px;display:flex}.search svg{width:20px;color:var(--muted)}.search input{background:0 0;border:0;outline:0;width:100%}.search.standalone{margin:16px 0}.date-field{justify-content:space-between;align-items:center;gap:12px;margin-top:15px;font-weight:600;display:flex}.date-field input{border:1px solid var(--border);border-radius:9px;padding:10px}.editor-list{border:1px solid var(--border);background:#fff;border-radius:16px;margin-top:12px;overflow:hidden}.quantity-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.quantity-row:last-child{border-bottom:0}.quantity-row>span{display:grid}.quantity-row input{text-align:right;border:1px solid #9ccbc7;border-radius:10px;width:96px;min-height:46px;padding:0 12px;font-size:1.05rem;font-weight:700}.quantity-row input::placeholder{color:#91a3a6;opacity:1;font-weight:600}.save-dock{z-index:7;background:linear-gradient(#0000,#f0fdfa 18%);padding:14px 0 0;position:sticky;bottom:0}.save-dock button,.primary{background:var(--accent);color:#fff;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:50px;padding:0 18px;font-weight:700;display:flex}.save-dock button{width:100%}.save-dock button:disabled{cursor:not-allowed;background:#94aaa2}.desktop-editor-save,.mobile-top-save,.bottom-nav{display:none}.desktop-nav{z-index:8;border-right:1px solid var(--border);background:#fff;align-content:start;gap:6px;width:256px;padding:0 16px 24px;display:grid;position:fixed;top:0;bottom:0;left:0}.desktop-brand{border-bottom:1px solid var(--border);align-items:center;gap:12px;min-height:88px;margin-bottom:18px;padding:0 8px;display:flex}.desktop-brand>span:last-child{display:grid}.desktop-brand small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:700}.desktop-brand b{font-size:1.05rem}.desktop-nav button{min-height:48px;color:var(--muted);text-align:left;background:0 0;border:0;border-radius:11px;align-items:center;gap:11px;padding:0 14px;font-weight:600;display:flex}.desktop-nav button:hover,.desktop-nav button.active{background:var(--soft);color:var(--primary-dark)}.desktop-nav svg{width:21px}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0b2f2dcc;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.confirm-dialog{background:#fff;border-radius:18px;width:min(430px,100%);padding:24px;box-shadow:0 24px 70px #062d2940}.confirm-dialog h2{margin:0;font-size:1.3rem}.confirm-dialog p{color:var(--muted);margin:8px 0 22px}.confirm-word{gap:6px;margin-bottom:18px;font-weight:700;display:grid}.confirm-word input{border:1px solid var(--border);border-radius:10px;min-height:46px;padding:0 12px}.dialog-actions{justify-content:flex-end;gap:10px;display:flex}.danger-action{background:var(--danger);color:#fff;border:0;border-radius:11px;min-height:44px;padding:0 16px;font-weight:700}.danger-action:disabled{opacity:.48;cursor:not-allowed}@media (width>=641px){main{max-width:none;min-height:100vh;margin-left:256px;padding:42px clamp(32px,4vw,64px) 80px}main>*{max-width:1200px}.fab{display:none}.data-headings{top:64px}.save-dock{display:none}.desktop-editor-save{width:240px;margin:16px 0 0 auto;display:flex}.page-header{max-width:none;margin:-42px calc(-1*clamp(32px,4vw,64px)) 28px;padding:0 clamp(32px,4vw,64px)}}.toast{color:#fff;z-index:20;background:#103e38;border-radius:10px;padding:10px 16px;position:fixed;top:88px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0002}.form-card form,.login form{gap:13px;display:grid}.form-card label,.login label{gap:5px;font-weight:600;display:grid}.form-card input,.form-card select,.login input{border:1px solid var(--border);border-radius:10px;min-height:46px;padding:0 12px}.form-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.form-card.compact{max-width:520px;margin:0}.directory{border:1px solid var(--border);background:#fff;border-radius:16px;overflow:hidden}.directory>div{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:13px 17px;display:flex}.directory>div:last-child{border:0}.directory span{display:grid}.directory em{color:var(--muted);font-style:normal}.settings-card{align-items:center;gap:14px;display:flex}.user-avatar{width:48px;height:48px;color:var(--accent);background:#dff3ee;border-radius:50%;place-items:center;font-weight:700;display:grid}.settings-card>span:not(.user-avatar){display:grid}.import-card{grid-template-columns:32px 1fr auto;display:grid}.import-card label input{display:none}.import-preview p{margin:5px 0}.logout{min-height:48px;color:var(--danger);background:#fff;border:1px solid #efc4bf;border-radius:12px;align-items:center;gap:8px;margin-top:20px;padding:0 16px;font-weight:700;display:flex}.login{place-items:center;min-height:100vh;padding:18px;display:grid}.login form{border:1px solid var(--border);background:#fff;border-radius:20px;width:min(410px,100%);padding:28px;box-shadow:0 22px 60px #134e4a14}.login h1{margin:4px 0}.login p{color:var(--muted);margin:0 0 10px}.alert{color:var(--danger);background:#fff0ed;border-radius:9px;padding:10px}.with-fab{padding-bottom:100px}@media (width<=640px){html,body,.app-shell{scrollbar-width:none}html::-webkit-scrollbar{display:none}body::-webkit-scrollbar{display:none}.app-shell::-webkit-scrollbar{display:none}.desktop-nav,.desktop-action{display:none}.page-intro-actions{display:block}main{padding:18px 14px calc(92px + env(safe-area-inset-bottom))}.page-header{min-height:calc(56px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 14px 7px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);align-items:end;margin:-18px -14px 16px}.mobile-top-save{background:var(--accent);color:#fff;border:0;border-radius:10px;align-items:center;gap:7px;min-height:44px;padding:0 14px;font-weight:700;display:inline-flex}.mobile-top-save:disabled{cursor:not-allowed;background:#94aaa2}.page-intro h2,.editor-head h2,.summary h2{font-size:1.5rem}.month-row{grid-template-columns:44px 1fr 20px;padding:12px}.month-row .state{display:none}.month-icon{width:42px;height:42px}.fab{left:14px;right:14px;bottom:calc(72px + env(safe-area-inset-bottom));justify-content:center}.action-grid{grid-template-columns:1fr}.downloads>div{grid-template-columns:1fr 1fr;display:grid}.danger-zone{flex-direction:column;align-items:stretch}.danger-outline{justify-content:center}.data-row{grid-template-columns:1fr repeat(3,48px);gap:8px;padding:11px 12px;font-size:.82rem}.data-row>span:not(:first-child) small{font-size:.62rem}.data-row b{font-weight:600}.editor-head{padding:16px;top:76px}.quantity-row{padding:11px 12px}.quantity-row b{font-size:.88rem}.quantity-row small{font-size:.75rem}.quantity-row input{width:82px}.bottom-nav{height:calc(68px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--border);z-index:9;background:#fff;grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{color:#65797b;background:#fff;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:56px;font-size:.69rem;display:flex}.bottom-nav svg{width:21px}.bottom-nav .active{color:var(--primary);font-weight:700}.form-grid{grid-template-columns:1fr}.import-card{grid-template-columns:32px 1fr}.import-card label{grid-column:1/-1}.toast{text-align:center;width:calc(100% - 28px);top:75px}.dialog-actions{display:grid}.dialog-actions button{width:100%}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
