:root{--bg: #f3efe6;--ink: #241c14;--muted: #6f675c;--card: #fffdf8;--line: #e4d9c6;--accent: #1e6b45;--planned: #2c5aa0;--progress: #a86212;--done: #1e6b45;--cancel: #8a8478;--danger: #8c2f22;--header: #2a241c;--nav-h: calc(62px + env(safe-area-inset-bottom)) ;color:var(--ink);background:var(--bg);font-family:Segoe UI,system-ui,sans-serif;font-size:14px;line-height:1.4}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,textarea,select{font:inherit;color:inherit}input,textarea,select{font-size:16px}button{cursor:pointer}h1,h2,p{margin:0}.screen{min-height:100dvh;overflow-x:clip}.screen.with-nav .screen-body{padding-bottom:calc(var(--nav-h) + 20px)}.day-panel{scroll-margin-bottom:calc(var(--nav-h) + 12px)}.topbar{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:44px 1fr auto;gap:8px;align-items:center;padding:calc(10px + env(safe-area-inset-top)) 12px 10px;background:var(--bg);color:var(--ink);border-bottom:1px solid var(--line)}.topbar h1{font-size:1.15rem;font-weight:650;letter-spacing:.01em}.mark,.icon-btn{width:36px;height:36px;display:grid;place-items:center;border-radius:10px}.mark{background:transparent}.mark svg{width:36px;height:36px;display:block}.icon-btn,.text-btn,.btn,.chip,.tab{border:0;background:transparent}.icon-btn{color:inherit}.icon-btn .ico{width:22px;height:22px}.top-action{min-width:36px;display:flex;justify-content:flex-end}.text-btn{color:var(--accent);font-weight:650;padding:8px}.screen-body{padding:14px 14px 24px;display:flex;flex-direction:column;gap:12px;min-width:0}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:10px}.card h2{font-size:1rem}.muted{color:var(--muted);font-size:.92rem}.row{display:flex;justify-content:space-between;gap:12px;align-items:center}.stack{display:flex;flex-direction:column;gap:8px}.field{display:flex;flex-direction:column;gap:6px;font-size:.92rem;color:var(--muted)}.field input,.field textarea,.field select,.bare-input{width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px;font-size:16px;color:var(--ink)}.field textarea{min-height:96px;resize:vertical}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.btn{border-radius:12px;padding:12px 14px;background:#efe7d8;min-height:44px}.btn.primary{background:var(--accent);color:#fff;font-weight:650}.btn.danger{background:#f6e4df;color:var(--danger)}.btn.wide{width:100%}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;min-height:40px}.chip.on{background:var(--accent);color:#fff;border-color:var(--accent)}.list-btn,.order-line{width:100%;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:4px}.order-line strong,.list-btn strong{font-size:1rem}.status{font-size:.78rem;font-weight:700;letter-spacing:.02em}.status.planned{color:var(--planned)}.status.in_progress{color:var(--progress)}.status.done{color:var(--done)}.status.cancelled{color:var(--cancel)}.balance.debt{color:var(--danger)}.balance.over,.balance.settled{color:var(--done)}.balance.empty{color:var(--muted);font-weight:600}.month-head{display:flex;align-items:center;justify-content:space-between}.month-head h2{font-size:1.2rem;text-transform:capitalize}.weekdays,.month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;width:100%;min-width:0}.weekdays span{text-align:center;color:var(--muted);font-size:.75rem}.day{min-width:0;min-height:62px;overflow:hidden;border:1px solid transparent;background:transparent;border-radius:12px;padding:4px;text-align:left;display:flex;flex-direction:column;gap:2px}.day.out{opacity:.4}.day.today{background:transparent}.day.selected{background:#fff}.day .num{width:26px;height:26px;display:grid;place-items:center;font-size:.85rem;font-weight:700;border-radius:50%}.day.today .num{border:1.5px solid var(--accent);color:var(--accent)}.day.picked.today .num{border-color:#fff;color:#fff}.tag{display:block;max-width:100%;border-radius:6px;padding:2px 4px;font-size:.72rem;line-height:1.25;color:#fff;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tag.planned{background:var(--planned)}.tag.in_progress{background:var(--progress)}.tag.done{background:var(--done)}.tag.cancelled{background:var(--cancel)}.more{font-size:.62rem;color:var(--muted)}.tabs{position:fixed;left:0;right:0;bottom:0;z-index:6;display:grid;grid-template-columns:repeat(4,1fr);background:#fffdf8;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.tab{min-height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--muted);font-size:.72rem}.tab-ico{width:40px;height:28px;display:grid;place-items:center;border-radius:999px;transition:background .2s ease}.tab svg,.ico{width:22px;height:22px}.tab.on{color:var(--accent);font-weight:700}.tab.on .tab-ico{background:#e7f3ec}.banner{background:#f6e4df;color:var(--danger);border-radius:12px;padding:10px 12px}.hint{background:#e7f3ec;color:#174d32;border-radius:12px;padding:10px 12px}.price-row,.extra-row{display:grid;grid-template-columns:1fr 92px;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.extra-row{grid-template-columns:1fr 88px}.line-sum{font-weight:700;text-align:right}.footer-total{position:sticky;bottom:0;background:var(--header);color:#fff;border-radius:16px;padding:14px;display:flex;justify-content:space-between;gap:12px}.quote-total{font-size:2rem;font-weight:750}.doc{width:100%;border-collapse:collapse;min-width:0}.table-wrap .doc{min-width:0}.doc th,.doc td{border:1px solid var(--line);padding:6px;vertical-align:top;text-align:left}.doc .num{text-align:right;white-space:nowrap}.cell-input{width:68px;max-width:100%;padding:8px;border-radius:8px;border:1px solid var(--line);font-size:16px}.paid{color:var(--done);font-weight:750;transition:color .2s ease}.pick{width:100%;text-align:left;border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px;display:grid;grid-template-columns:28px 1fr 18px;gap:10px;align-items:center}.pick .muted,.pick strong{display:block}.pick>.ico:first-child{color:var(--accent)}.pick>.ico:last-child{color:var(--muted)}.sheet-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#241c1473;display:flex;align-items:flex-end;animation:fade-in .18s ease}.sheet-back.closing{animation:fade-out .18s ease forwards}.sheet{width:100%;max-height:86dvh;overflow:auto;background:var(--card);border-radius:16px 16px 0 0;padding:8px 16px calc(16px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:10px;animation:sheet-in .2s ease}.sheet.closing{animation:sheet-out .18s ease forwards}.sheet-grab{width:36px;height:4px;border-radius:4px;background:var(--line);margin:4px auto 2px;touch-action:none;flex:none}.day.picked{background:var(--accent);color:#fff}.pick-month .day{min-height:44px}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#111;display:flex;flex-direction:column;align-items:center;justify-content:center}.lightbox img{max-width:100%;max-height:78dvh;touch-action:none}.lightbox-hint{color:#ddd;font-size:.82rem;text-align:center;padding:12px 16px}.file-line{display:flex;gap:8px;align-items:center}.photo-grid{display:flex;flex-wrap:wrap;gap:10px}.photo-tile{position:relative;width:144px}.thumb{width:144px;height:144px;border:0;padding:0;background:#efe7d8;border-radius:12px;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.thumb img{width:144px;height:144px;object-fit:cover;border-radius:12px;display:block;pointer-events:none}.photo-delete{position:absolute;left:8px;right:8px;bottom:8px;border:0;border-radius:10px;min-height:36px;background:var(--danger);color:#fff;font-weight:700}.cell-input.name-input{width:100%}.price-name{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}.price-name .text-btn{padding:0;white-space:nowrap}.segment.three{grid-template-columns:repeat(3,1fr)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}.table-wrap table{border-collapse:collapse;min-width:0;width:100%}.table-wrap td{border-bottom:1px solid var(--line);padding:6px 8px;font-size:.85rem;vertical-align:top}.preview-img{width:100%;border-radius:12px;background:#fff}.pdf-frame{width:100%;height:70dvh;border:0;background:#fff;border-radius:12px}.search{margin-bottom:4px}.empty{padding:12px 2px}.segment{display:grid;grid-template-columns:1fr 1fr;gap:6px}.segment.four{grid-template-columns:repeat(4,1fr)}.segment button{min-height:42px;border-radius:12px;border:1px solid var(--line);background:#fff}.segment button.on{background:var(--accent);color:#fff;border-color:var(--accent)}.ask{border:1px solid #e2c08a;background:#fff7e8;border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:8px}.stage{min-height:100dvh}.stage-forward{animation:in-right .2s ease}.stage-back{animation:in-left .2s ease}.stage-tab{animation:in-fade .18s ease}.fold{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s ease}.fold.open{grid-template-rows:1fr}.fold-inner{overflow:hidden;min-height:0}.fold-head{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;text-align:left;background:transparent;border:0;padding:0;color:inherit}.fold-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px}.fold-head .ico,.fold-toggle .ico{transition:transform .2s ease;color:var(--muted)}.fold-head.open .ico,.fold-toggle.open .ico{transform:rotate(180deg)}.money-line{display:grid;grid-template-columns:22px 1fr auto;gap:8px;align-items:center}.money-line .ico{color:var(--muted)}.money-line strong{font-variant-numeric:tabular-nums;transition:color .2s ease}.money-line.emphasis strong{font-size:1.35rem;font-weight:750}.sum-line{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.sum-line strong{font-size:1.45rem;font-weight:750;font-variant-numeric:tabular-nums}.settle-title{display:inline-flex;align-items:center;gap:6px}.settle-title .ico{color:var(--muted);transition:color .2s ease}.settle-title.on .ico{color:var(--done)}.icon-label{display:inline-flex;align-items:center;justify-content:center;gap:8px}.month.slide-next{animation:slide-next .2s ease}.month.slide-prev{animation:slide-prev .2s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes sheet-out{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes in-right{0%{transform:translate(28px);opacity:0}to{transform:none;opacity:1}}@keyframes in-left{0%{transform:translate(-20px);opacity:0}to{transform:none;opacity:1}}@keyframes in-fade{0%{opacity:0}to{opacity:1}}@keyframes slide-next{0%{transform:translate(28px);opacity:0}to{transform:none;opacity:1}}@keyframes slide-prev{0%{transform:translate(-28px);opacity:0}to{transform:none;opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
