:root{color:#17221f;font-synthesis:none;text-rendering:optimizelegibility;--ink:#17221f;--muted:#66736e;--line:#dce2de;--panel:#fff;--panel-soft:#f7f9f7;--forest:#123e31;--forest-deep:#0f2d25;--mint:#dff2e8;--mint-strong:#9ed5bd;--gold:#c69a4a;--gold-soft:#f6ecd9;--danger:#b83b45;--warning:#9a6416;--shadow:0 8px 28px #1830270e;background:#f3f5f2;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Yu Gothic,Noto Sans JP,sans-serif}*{box-sizing:border-box}html{background:#f3f5f2;min-width:320px}body{background:radial-gradient(circle at 90% 0,#cfe5da6b,#0000 30rem),#f3f5f2;min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}.app-shell{min-height:100vh}.app-header{color:#fff;z-index:40;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0f241ef7;border-bottom:1px solid #ffffff12;align-items:center;gap:28px;height:70px;padding:0 max(24px,50vw - 640px);display:flex;position:sticky;top:0}.brand{color:#fff;text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:inline-flex}.brand__mark{width:36px;height:36px;color:var(--forest-deep);background:#d6c394;border-radius:12px 12px 12px 4px;place-items:center;display:grid}.brand strong,.brand small{display:block}.brand strong{letter-spacing:.02em;font:700 17px/1 ui-sans-serif,system-ui,sans-serif}.brand small{color:#91a39c;letter-spacing:.11em;text-transform:uppercase;margin-top:4px;font:500 9px/1 ui-sans-serif,system-ui,sans-serif}.desktop-nav{gap:3px;margin-left:auto;display:flex}.desktop-nav button{color:#afbeb8;background:0 0;border:0;border-radius:9px;align-items:center;gap:7px;padding:9px 13px;font-size:13px;font-weight:600;display:flex}.desktop-nav button:hover{color:#fff;background:#ffffff0f}.desktop-nav button.is-active{color:#fff;background:#ffffff1a}.header-status{color:#b9c7c2;align-items:center;gap:7px;margin-left:8px;font-size:11px;display:flex}.status-dot{background:#69d29e;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #69d29e1f}.header-logout{color:#b9c7c2;background:0 0;border:1px solid #ffffff21;border-radius:9px;align-items:center;gap:6px;padding:8px 10px;font-size:11px;font-weight:600;display:inline-flex}.header-logout:hover{color:#fff;background:#ffffff12}.demo-banner{color:#674510;background:#faefcf;border-bottom:1px solid #ebdcae;justify-content:center;gap:8px;padding:8px 20px;font-size:12px;display:flex}.app-main{width:min(1280px,100% - 40px);margin:0 auto;padding:40px 0 80px}.mobile-nav{display:none}.page-stack{gap:20px;display:grid}.page-heading,.daily-hero{justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:6px;display:flex}.page-heading h1,.daily-hero h1{color:var(--ink);letter-spacing:-.035em;margin:7px 0 8px;font-size:clamp(26px,3vw,38px);line-height:1.2}.page-heading p,.daily-hero p{color:var(--muted);margin:0;font-size:14px}.eyebrow{color:#477263;letter-spacing:.11em;text-transform:uppercase;align-items:center;gap:6px;font-size:11px;font-weight:700;display:inline-flex}.page-heading--with-control{align-items:center}.month-picker,.date-picker{color:var(--muted);gap:5px;font-size:11px;font-weight:600;display:grid}.month-picker input,.date-picker input{min-width:175px;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 12px;font-weight:600}.daily-hero{padding:2px 2px 6px}.daily-hero__controls{align-items:end;gap:12px;display:flex}.save-status{border:1px solid var(--line);height:41px;color:var(--muted);white-space:nowrap;background:#fff;border-radius:10px;align-items:center;gap:7px;padding:0 13px;font-size:12px;font-weight:700;display:flex}.save-status__dot{background:#aab4b0;border-radius:50%;width:7px;height:7px}.save-status--dirty{color:#805617;background:#fffaf0;border-color:#ead9bb}.save-status--dirty .save-status__dot{background:var(--gold)}.save-status--saving{color:#285a4a;background:#f0f8f4;border-color:#cbe5d9}.save-status--saved{color:#246647;background:#eff9f3;border-color:#c7e7d4}.save-status--conflict,.save-status--error{color:var(--danger);background:#fff3f3;border-color:#edcaca}.revision-strip{color:#68746f;background:#ffffff8c;border:1px solid #d2dcd6cc;border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px 24px;min-height:40px;padding:9px 14px;font-size:11px;display:flex}.revision-strip strong{color:var(--forest)}.revision-strip--new{background:#f5fbf7;border-color:#cfe4d7}.checksum{margin-left:auto;font-family:ui-monospace,monospace}.section-card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;overflow:hidden}.section-card--accent{border-color:#c9dbd3;box-shadow:0 8px 30px #123e3113}.section-card__header{border-bottom:1px solid #e8ece9;justify-content:space-between;align-items:center;gap:20px;min-height:76px;padding:18px 22px;display:flex}.section-card--accent .section-card__header{background:linear-gradient(90deg,#f2f9f5,#fff)}.section-card__heading{align-items:center;gap:12px;display:flex}.section-card__icon{width:36px;height:36px;color:var(--forest);background:#e7f2ec;border-radius:10px;flex:none;place-items:center;display:grid}.section-card__header h2{margin:0;font-size:16px;line-height:1.4}.section-card__header p{color:var(--muted);margin:3px 0 0;font-size:11px;line-height:1.5}.section-card__body{padding:22px}.line-list{gap:10px;display:grid}.line-card{background:var(--panel-soft);border:1px solid #e5eae7;border-radius:12px;align-items:end;gap:12px;padding:14px;display:flex}.line-number{color:#89948f;align-self:center;width:28px;font:600 11px ui-sans-serif,system-ui,sans-serif}.row-actions{align-items:center;gap:4px;padding-bottom:2px;display:flex}.icon-button{color:#66746f;background:0 0;border:0;border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.icon-button:hover{color:var(--forest);background:#e4ece8}.icon-button--danger:hover{color:var(--danger);background:#fbe7e7}.field{min-width:0;color:var(--ink);align-content:end;gap:6px;font-size:13px;display:grid}.field--grow{flex:180px}.field--wide{flex:2 320px}.field__label{color:#56635e;font-size:11px;font-weight:600}.field small{min-height:14px;color:var(--muted);font-size:9px}input,select,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #cfd7d2;border-radius:8px;outline:none}input,select{height:38px;padding:0 10px}textarea{resize:vertical;padding:11px 12px;line-height:1.7}input:focus,select:focus,textarea:focus{border-color:#5c957e;box-shadow:0 0 0 3px #47856c1f}input::placeholder,textarea::placeholder{color:#a8b1ad}input[type=number]{font-variant-numeric:tabular-nums}.money-input{background:#fff;border:1px solid #cfd7d2;border-radius:8px;align-items:center;min-width:130px;height:38px;padding-right:9px;display:flex}.money-input:focus-within{border-color:#5c957e;box-shadow:0 0 0 3px #47856c1f}.money-input input{text-align:right;min-width:85px;height:36px;box-shadow:none;border:0;padding-right:4px}.money-input span{color:#77827e;font-size:11px}.button{border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 15px;font-size:12px;font-weight:700;display:inline-flex}.button--small{min-height:34px;padding:0 11px}.button--primary{color:#fff;background:var(--forest);border-color:var(--forest);box-shadow:0 4px 12px #123e3129}.button--primary:hover:not(:disabled){background:#174f3e}.button--quiet{color:var(--forest);background:#f2f7f4;border-color:#d6e2dc}.button--quiet:hover:not(:disabled){background:#e5f0ea}.button--save{min-width:190px;min-height:46px}.section-total{color:var(--muted);justify-content:flex-end;align-items:baseline;gap:18px;padding:16px 4px 0;font-size:12px;display:flex}.section-total strong{min-width:150px;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums;font:700 22px ui-sans-serif,system-ui,sans-serif}.payment-grid,.register-grid{grid-template-columns:repeat(4,minmax(130px,1fr));gap:14px;display:grid}.payment-grid .calculated-field{grid-column:span 2}.calculated-field{background:#f5f8f6;border:1px solid #dce5e0;border-radius:10px;align-content:center;gap:3px;min-height:76px;padding:13px 15px;display:grid}.calculated-field span{color:var(--muted);font-size:11px;font-weight:600}.calculated-field strong{font-variant-numeric:tabular-nums;font:700 21px ui-sans-serif,system-ui,sans-serif}.calculated-field small{color:#89948f;font-size:9px}.calculated-field--strong{color:#fff;background:var(--forest);border-color:var(--forest)}.calculated-field--strong span,.calculated-field--strong small{color:#bfd1ca}.calculated-field--difference.has-difference{color:#8c5512;background:#fff7e7;border-color:#ead4ac}.shift-result{min-height:38px;color:var(--muted);background:#fff;border:1px solid #d9e0dc;border-radius:8px;flex-wrap:wrap;flex:260px;justify-content:flex-end;align-items:center;gap:6px 12px;padding:8px 10px;font-size:9px;display:flex}.shift-result strong{color:var(--forest);font-size:14px}.empty-inline{color:var(--muted);text-align:center;background:#f8faf8;border:1px dashed #d8e0db;border-radius:10px;margin:0;padding:17px;font-size:12px}.two-column-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.result-list,.breakdown-list,.settings-list{gap:0;margin:0;display:grid}.result-list>div,.breakdown-list>div,.settings-list>div{border-bottom:1px solid #edf0ee;justify-content:space-between;align-items:baseline;gap:16px;padding:10px 0;display:flex}.result-list>div:last-child,.breakdown-list>div:last-child,.settings-list>div:last-child{border-bottom:0}.result-list dt,.breakdown-list dt,.settings-list dt{color:var(--muted);font-size:12px}.result-list dd,.breakdown-list dd,.settings-list dd{font-variant-numeric:tabular-nums;margin:0;font-weight:700}.result-list__profit{border-top:2px solid #cbd7d1;margin-top:5px;padding-top:15px!important}.result-list__profit dt{color:var(--forest);font-weight:700}.result-list__profit dd{color:var(--forest);font-size:22px}.breakdown-list__emphasis{margin-top:8px;padding-top:17px!important}.save-panel{border-top:1px solid #e6ebe8;justify-content:flex-end;align-items:center;gap:12px;margin-top:18px;padding-top:18px;display:flex}.save-panel>div:first-child{gap:3px;margin-right:auto;display:grid}.save-panel strong{font-size:12px}.save-panel span{color:var(--muted);font-size:10px}.error-summary{color:#8e2e36;background:#fff3f3;border:1px solid #efcbd0;border-radius:10px;align-items:flex-start;gap:12px;margin-top:16px;padding:14px 16px;font-size:12px;display:flex}.error-summary strong{margin-bottom:5px;display:block}.error-summary ul{margin:0;padding-left:18px;line-height:1.7}.inline-alert{border-radius:10px;align-items:center;gap:8px;padding:12px 15px;font-size:12px;font-weight:600;display:flex}.inline-alert--error{color:#8f3038;background:#fff2f2;border:1px solid #edc9cc}.inline-alert--success{color:#276548;background:#eff9f3;border:1px solid #c9e7d5}.inline-alert--warning{color:#805617;background:#fff8ea;border:1px solid #ebd9b6}.is-negative{color:var(--danger)!important}.is-warning{color:var(--warning)!important}.muted{color:var(--muted);font-size:12px}.spin{animation:.85s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.filter-bar{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:14px;align-items:end;gap:10px;padding:16px 18px;display:flex}.filter-separator{color:var(--muted);padding-bottom:10px}.history-list{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:16px;overflow:hidden}.history-row{width:100%;color:var(--ink);text-align:left;background:#fff;border:0;border-bottom:1px solid #e7ebe8;grid-template-columns:230px 1fr 220px;align-items:center;gap:20px;padding:18px 22px;display:grid}.history-row:last-child{border-bottom:0}.history-row:hover{background:#f7faf8}.history-row__date{gap:5px;display:grid}.history-row__date strong{font:700 16px ui-sans-serif,system-ui,sans-serif}.history-row__date span,.history-row__editor span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.history-row__metrics{grid-template-columns:repeat(3,1fr);gap:16px;margin:0;display:grid}.history-row__metrics div{gap:4px;display:grid}.history-row__metrics dt{color:var(--muted);font-size:9px}.history-row__metrics dd{margin:0;font-size:13px;font-weight:700}.history-row__editor{justify-content:flex-end;align-items:center;gap:12px;min-width:0;display:flex}.empty-state,.fatal-panel,.loading-block{min-height:260px;color:var(--muted);border:1px solid var(--line);text-align:center;background:#fff;border-radius:16px;align-content:center;place-items:center;gap:10px;padding:40px;display:grid}.empty-state h2,.fatal-panel h1{color:var(--ink);margin:0;font-size:17px}.empty-state p,.fatal-panel p{margin:0 0 8px;font-size:12px}.loading-block{min-height:180px}.spinner{border:2px solid #d6e1dc;border-top-color:var(--forest);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}.login-page{background:radial-gradient(circle at 82% 12%,#c69a4a2e,#0000 24rem),linear-gradient(145deg,#0d2921,#173f33);place-items:center;min-height:100vh;padding:28px 18px;display:grid}.login-card{background:#fffffffa;border:1px solid #ffffff80;border-radius:20px;width:min(100%,430px);padding:34px;box-shadow:0 24px 70px #04161147}.login-brand{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding-bottom:25px;display:flex}.login-brand__mark{width:43px;height:43px;color:var(--forest-deep);background:#d6c394;border-radius:14px 14px 14px 5px;place-items:center;display:grid}.login-brand strong,.login-brand span{display:block}.login-brand strong{letter-spacing:.01em;font-size:18px}.login-brand div>span{color:#7b8983;letter-spacing:.12em;text-transform:uppercase;margin-top:4px;font-size:9px;font-weight:600}.login-intro{padding:27px 0 22px}.login-intro__icon{width:39px;height:39px;color:var(--forest);background:var(--mint);border-radius:11px;place-items:center;display:grid}.login-intro h1{color:var(--ink);letter-spacing:-.025em;margin:16px 0 8px;font-size:24px}.login-intro p{color:var(--muted);margin:0;font-size:12px;line-height:1.75}.login-form{gap:15px;display:grid}.password-input{color:#78857f;background:#fff;border:1px solid #cfd7d2;border-radius:9px;align-items:center;gap:9px;height:44px;padding:0 12px;display:flex}.password-input:focus-within{border-color:#5c957e;box-shadow:0 0 0 3px #47856c1f}.password-input input{height:42px;box-shadow:none;border:0;padding:0}.login-error{color:#8e2e36;background:#fff3f3;border:1px solid #efcbd0;border-radius:9px;padding:11px 13px;font-size:11px;line-height:1.5}.login-submit{min-height:45px;margin-top:2px}.login-note{color:#87938e;text-align:center;margin:22px 0 0;font-size:10px;line-height:1.6}.metric-hero-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.metric-hero{border:1px solid var(--line);min-width:0;box-shadow:var(--shadow);background:#fff;border-radius:14px;gap:7px;padding:20px;display:grid}.metric-hero span{color:var(--muted);font-size:11px;font-weight:600}.metric-hero strong{text-overflow:ellipsis;white-space:nowrap;font:700 clamp(19px,2.2vw,27px) ui-sans-serif,system-ui,sans-serif;overflow:hidden}.metric-hero small{color:#8a9591;font-size:9px}.metric-hero--primary{color:#fff;background:linear-gradient(135deg, var(--forest), #1a5643);border-color:var(--forest)}.metric-hero--primary span,.metric-hero--primary small{color:#bdd1c9}.table-scroll{overflow-x:auto}.data-table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:11px}.data-table th,.data-table td{text-align:right;border-bottom:1px solid #e7ece9;padding:12px 14px}.data-table thead th{color:var(--muted);background:#f6f8f7;font-size:9px}.data-table th:first-child{text-align:left}.data-table tbody tr:last-child th,.data-table tbody tr:last-child td{border-bottom:0}.staff-settings-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.staff-settings-card{background:#f7f9f7;border:1px solid #e0e6e2;border-radius:11px;gap:5px;padding:16px;display:grid;position:relative}.staff-settings-card strong{font-size:14px}.staff-settings-card small{color:var(--muted);font:10px ui-monospace,monospace}.staff-settings-card div{color:var(--forest);align-items:center;gap:6px;margin-top:7px;font-size:11px;font-weight:700;display:flex}.staff-status{color:var(--muted);background:#e7ebe9;border-radius:999px;padding:3px 6px;font-size:8px;font-weight:700;position:absolute;top:13px;right:13px}.staff-status.is-active{color:#286449;background:#dcefe4}code{color:#365249;background:#eef3f0;border-radius:4px;padding:2px 5px;font-size:11px}@media (max-width:1080px){.app-header{padding-inline:22px}.app-main{width:min(100% - 32px,1040px)}.header-status{display:none}.line-card{flex-wrap:wrap}.line-card .field{flex:160px}.row-actions{margin-left:auto}.history-row{grid-template-columns:180px 1fr 150px}}@media (max-width:760px){body{padding-bottom:72px}.app-header{height:58px;padding:0 16px;position:sticky}.brand__mark{width:32px;height:32px}.header-logout{margin-left:auto;padding:8px}.header-logout span,.desktop-nav{display:none}.demo-banner{justify-content:flex-start;padding-inline:14px;font-size:10px}.app-main{width:min(100% - 22px,720px);padding:25px 0 35px}.mobile-nav{z-index:50;height:calc(65px + env(safe-area-inset-bottom));padding:4px 8px env(safe-area-inset-bottom);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;border-top:1px solid #d8dfdb;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #142d2412}.mobile-nav button{color:#7e8a85;background:0 0;border:0;align-content:center;place-items:center;gap:2px;font-size:9px;font-weight:600;display:grid}.mobile-nav button.is-active{color:var(--forest)}.page-heading,.daily-hero{align-items:start;display:grid}.page-heading h1,.daily-hero h1{font-size:27px}.page-heading--with-control{grid-template-columns:1fr auto}.page-heading--with-control p{display:none}.daily-hero__controls{width:100%}.date-picker{flex:1}.date-picker input{min-width:0}.save-status{flex:none}.checksum{display:none}.section-card{border-radius:13px}.section-card__header{align-items:center;min-height:68px;padding:15px}.section-card__heading{gap:9px}.section-card__icon{width:32px;height:32px}.section-card__header h2{font-size:14px}.section-card__header p{display:none}.section-card__body{padding:14px}.line-card{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;display:grid}.line-number{display:none}.line-card .field,.line-card .field--grow,.line-card .field--wide{flex:none;width:auto}.customer-line .field--grow:first-of-type,.receivable-line .field--grow,.expense-line .field--grow:first-child,.collection-line .field--wide,.customer-line .field--grow:nth-of-type(3),.expense-line .field--grow:nth-of-type(4),.collection-line .field--grow{grid-column:1/-1}.shift-line{grid-template-columns:1fr 1fr}.shift-line .shift-result{grid-column:1/-1;justify-content:flex-start}.row-actions{grid-column:1/-1;justify-self:end;margin:-2px 0 0}.money-input{min-width:0}.payment-grid,.register-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.payment-grid .calculated-field{grid-column:span 1}.two-column-grid{grid-template-columns:1fr}.save-panel{flex-wrap:wrap;align-items:stretch}.save-panel>div:first-child{width:100%}.save-panel .button{flex:150px}.metric-hero-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.metric-hero{padding:15px}.history-row{grid-template-columns:1fr auto;gap:12px;padding:16px}.history-row__metrics{grid-area:2/1/auto/-1}.history-row__editor span{display:none}.filter-bar{grid-template-columns:1fr auto 1fr;display:grid}.filter-bar .button{grid-column:1/-1}.staff-settings-grid{grid-template-columns:1fr}}@media (max-width:420px){.login-card{border-radius:17px;padding:25px 21px}.login-intro h1{font-size:21px}.brand small{display:none}.app-main{width:calc(100% - 16px)}.page-stack{gap:14px}.page-heading--with-control{grid-template-columns:1fr}.month-picker{justify-self:start}.daily-hero__controls{align-items:stretch}.save-status{height:auto;min-height:41px;padding-inline:10px}.save-status span:last-child{white-space:normal;max-width:74px;line-height:1.3}.section-card__header{gap:8px}.button--small{padding-inline:9px;font-size:10px}.line-card{grid-template-columns:1fr}.line-card>*,.customer-line .field--grow:first-of-type,.receivable-line .field--grow,.expense-line .field--grow:first-child,.collection-line .field--wide,.customer-line .field--grow:nth-of-type(3),.expense-line .field--grow:nth-of-type(4),.collection-line .field--grow,.row-actions{grid-column:1}.payment-grid,.register-grid{grid-template-columns:1fr}.payment-grid .calculated-field{grid-column:1}.section-total{justify-content:space-between}.section-total strong{min-width:0;font-size:19px}.metric-hero-grid{grid-template-columns:1fr 1fr}.metric-hero strong{font-size:18px}}
