
:root{
  --ink:#947a60; --ink-strong:#826950; --muted:#ae987e;
  --paper:#fffdfa; --base:#fdfaf8; --line:#eadfd3;
  --blue:#eff7f9; --pink:#fbf0f1; --gold:#f8f1e4;
  --shadow:0 12px 38px rgba(188,163,144,.10);
  font-family:"Songti TC","Noto Serif TC","STSong","Yu Mincho",Georgia,serif;
  color:var(--ink); background:var(--base);
  font-synthesis:none; text-rendering:optimizeLegibility;
}
*{box-sizing:border-box}
html{font-size:18px;-webkit-text-size-adjust:100%}
body{margin:0;min-height:100dvh;background:radial-gradient(ellipse at 7% 0%,#f4f9fa 0,transparent 38%),radial-gradient(ellipse at 97% 20%,#fdf0f3 0,transparent 40%),var(--base)}
button,input,textarea,select{font:inherit;letter-spacing:.01em;color:var(--ink-strong)}
button{cursor:pointer;-webkit-tap-highlight-color:transparent}
button:disabled{opacity:.46;cursor:not-allowed}
input,textarea,select{width:100%;background:#fffefa;border:1px solid var(--line);border-radius:13px;padding:14px 15px;outline:0;min-height:54px;font-size:18px}
input:focus,textarea:focus,select:focus{border-color:#ceb99a;box-shadow:0 0 0 3px #eadfcd88}
textarea{min-height:132px;resize:vertical;line-height:1.7}
input[type=number]{font-variant-numeric:tabular-nums}
label{display:block;margin:3px 0 8px;font-size:18px}
h1,h2,h3,p{margin:0}
h1,h2{font-weight:500;letter-spacing:.09em}
h1{font-size:28px}h2{font-size:25px}h3{font-size:20px;font-weight:500}
p,.note,.hint{font-size:18px;line-height:1.65}
strong{font-weight:600}
a{color:var(--ink);text-underline-offset:5px}
.container{max-width:560px;margin:auto;min-height:100dvh;padding:calc(env(safe-area-inset-top) + 26px) 20px calc(120px + env(safe-area-inset-bottom))}
.brand{text-align:center;letter-spacing:.31em;font-family:Georgia,"Times New Roman",serif;font-size:28px;font-weight:400;color:#b49a75;white-space:nowrap;margin:6px 0 10px}
.brandline{width:74px;height:1px;background:#d9c4a6;margin:0 auto 20px}
.topline{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:26px 0 18px}
.version{font-size:18px;color:#b9a790;white-space:nowrap}
.card{border:1px solid var(--line);background:rgba(255,254,251,.88);border-radius:21px;padding:20px;margin:14px 0;box-shadow:var(--shadow)}
.card.gold{background:var(--gold);border-color:transparent}
.card.pink{background:var(--pink);border-color:transparent}
.card.blue{background:var(--blue);border-color:transparent}
.gap{display:grid;gap:13px}.stack{display:grid;gap:19px}
.row{display:flex;align-items:center;justify-content:space-between;gap:13px}
.wrap{flex-wrap:wrap}
.flow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sub{color:var(--muted)}.tone{color:var(--ink-strong)}
.btn{min-height:56px;background:var(--gold);border:1px solid transparent;border-radius:15px;padding:12px 18px;text-align:center;font-size:18px;color:var(--ink-strong);transition:filter .15s}
.btn:active{filter:brightness(.96)}
.btn.primary{background:#e6d6bd;color:#796148}
.btn.blue{background:var(--blue)}
.btn.pink{background:var(--pink)}
.btn.outline{background:#fffdfa;border-color:#decfba}
.btn.full{width:100%}
.btn.small{min-height:49px;padding:9px 15px}
.btn.ghost{border:0;background:transparent;padding:8px 6px;min-height:42px;text-decoration:underline;text-underline-offset:5px}
.pill{border-radius:20px;padding:7px 15px;background:var(--gold);font-size:18px;display:inline-flex;align-items:center;gap:5px}
.pill.blue{background:var(--blue)}.pill.pink{background:var(--pink)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.stat{text-align:center;padding:18px 8px;border-radius:18px;background:var(--blue)}
.stat:nth-child(2){background:var(--pink)}.stat:nth-child(3){background:var(--gold)}
.stat b{font-size:27px;font-weight:400;display:block;margin-bottom:6px}
.stat span{font-size:18px}
.action{background:#fffefa;border:1px solid var(--line);border-radius:18px;padding:19px;display:flex;gap:13px;text-align:left;align-items:center;min-height:79px}
.action i{font-size:26px;font-style:normal;min-width:30px;text-align:center;color:#baa17c}
.action span{font-size:18px}
.nav{position:fixed;left:0;right:0;bottom:0;z-index:12;background:#fffdfaf2;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-top:1px solid var(--line);padding:9px max(10px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));display:flex;justify-content:center;gap:3px}
.nav button{width:20%;max-width:110px;border:0;background:transparent;border-radius:14px;min-height:65px;color:#b2a08b;font-size:18px}
.nav button.on{background:var(--gold);color:var(--ink-strong)}
.nav button .navicon{display:block;font-size:22px;margin-bottom:2px;font-family:Arial,sans-serif}
hr{border:0;border-top:1px solid var(--line);margin:17px 0}
.money{font-size:30px;letter-spacing:.035em;font-variant-numeric:tabular-nums;white-space:nowrap}
.itemline{padding:12px 0;border-bottom:1px solid var(--line)}
.itemline:last-child{border-bottom:0}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.editgrid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.filebtn{display:flex;align-items:center;justify-content:center;text-align:center;cursor:pointer}
.text-btn{border:0;background:none;text-decoration:underline;text-underline-offset:5px;padding:5px;font-size:18px}
.toast{position:fixed;bottom:calc(104px + env(safe-area-inset-bottom));left:18px;right:18px;z-index:99;background:#e9e0d1;color:#796149;padding:15px;text-align:center;border-radius:14px;box-shadow:var(--shadow);font-size:18px;max-width:540px;margin:auto}
.empty{padding:40px 15px;text-align:center;color:#b29d86}
.badge{background:var(--blue);border-radius:22px;padding:8px 13px;font-size:18px;white-space:nowrap}
.warning{background:var(--pink);border-radius:13px;padding:15px;font-size:18px;line-height:1.6}
.product-list{max-height:285px;overflow-y:auto;border-radius:14px;border:1px solid var(--line);background:#fffefa}
.product-choice{display:block;text-align:left;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:15px;color:var(--ink-strong)}
.product-choice:last-child{border-bottom:0}
.preview{max-width:100%;border-radius:15px;max-height:230px;object-fit:contain;border:1px solid var(--line);background:white;padding:8px}
.sheet-overview{border:1px solid var(--line);background:#fff;padding:10px;border-radius:14px}
.sheet-overview .paper-half{min-height:120px;border:1px solid #e8dbc9;padding:15px;background:white}
.sheet-overview .paper-half+.paper-half{border-top:1px dashed #c9b496}
.sheet-overview h3{font-size:20px}.sheet-overview p{font-size:18px}
#file-input,#proof-input,#qr-input,#restore-input{display:none}
#paper{display:none}
@media (max-width:380px){.container{padding-left:14px;padding-right:14px}.brand{font-size:24px;letter-spacing:.24em}.btn{padding:10px}.nav button{font-size:18px}.grid3{gap:7px}}
@page{size:A4 portrait;margin:0}
@media print{
 body{background:white!important;color:#4d4033!important}
 body>*:not(#paper){display:none!important}
 #paper{display:block!important}
 .sheet{display:flex;flex-direction:column;width:210mm;height:297mm;padding:7mm 9mm;page-break-after:always;break-after:page;overflow:hidden;background:white}
 .sheet:last-child{page-break-after:auto;break-after:auto}
 .ticket{height:141.5mm;min-height:141.5mm;max-height:141.5mm;border:1px solid #c4b296;padding:6mm;position:relative;overflow:hidden;display:flex;flex-direction:column}
 .ticket+.ticket{border-top:1px dashed #bda785}
 .ticket .pbrand{font-family:Georgia,serif;font-size:16pt;letter-spacing:.29em;text-align:center;color:#8e785b;margin:0 0 4mm}
 .ticket .thead{display:flex;justify-content:space-between;gap:3mm;font-size:12pt;line-height:1.3}
 .ticket .customer{font-size:13pt;margin:3mm 0}
 .ticket table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:11pt;color:#574938}
 .ticket th,.ticket td{border-bottom:.3pt solid #d8c8b5;padding:2.2mm 1mm;text-align:left;overflow-wrap:anywhere}
 .ticket th:nth-child(1),.ticket td:nth-child(1){width:58%}
 .ticket th:nth-child(2),.ticket td:nth-child(2){width:11%;text-align:center}
 .ticket th:nth-child(3),.ticket td:nth-child(3){width:31%;text-align:right}
 .ticket .total{margin-top:auto;display:flex;justify-content:space-between;font-size:14pt;padding-top:2mm}
 .ticket .remark{font-size:11pt;line-height:1.35;min-height:11mm;max-height:23mm;overflow-wrap:anywhere;margin:2mm 0 0;white-space:pre-wrap}
 .ticket .footer{font-size:10pt;margin-top:2mm;color:#8e785b}
 .ticket.empty-ticket{justify-content:center;align-items:center}
}


/* v0.2.0 · native-feel visual system */
:root{
 --ink:#a38b74;--ink-strong:#92775e;--muted:#b8a594;
 --paper:#fffdfb;--base:#fdfaf8;--line:#ecdfd3;
 --blue:#f0f7f9;--pink:#fbf1f3;--gold:#f9f2e7;
 --shadow:none;
 font-family:"Songti TC","STSong","Noto Serif TC","Iowan Old Style",Georgia,serif;
 font-weight:300;font-synthesis:none;
}
html{font-size:18px;overflow-x:clip;scrollbar-gutter:stable;-webkit-text-size-adjust:100%}
body{width:100%;margin:0;overflow-x:clip;overscroll-behavior-x:none;background:
 linear-gradient(115deg,#eff8fa88 0%,transparent 45%),
 linear-gradient(310deg,#fff0f388 0%,transparent 40%),var(--base);
 color:var(--ink-strong)}
button,input,textarea,select{font-family:inherit;font-size:18px!important;font-weight:300;outline:none;max-width:100%;box-sizing:border-box}
button{-webkit-appearance:none;appearance:none;touch-action:manipulation}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #c5b29b;outline-offset:2px}
h1,h2,h3,strong,b{font-family:inherit;font-weight:400}
h1{font-size:27px;letter-spacing:.06em}h2{font-size:24px;letter-spacing:.035em}h3{font-size:21px}
p,.note,.hint,label,summary,span,.sub{font-size:18px}
label{line-height:1.4;color:var(--ink-strong)}
input,textarea,select{background:#fffefce9;border:1px solid #e6dacd;border-radius:13px;color:var(--ink-strong);line-height:1.45}
input:focus,textarea:focus,select:focus{box-shadow:0 0 0 2px #e9dccd70;border-color:#ccb99f}
input[type="date"]{min-width:0;width:100%;padding-inline:10px}
textarea{display:block}
.container{width:100%;max-width:560px;margin:0 auto;
 padding:calc(env(safe-area-inset-top,0px) + 25px) 20px calc(env(safe-area-inset-bottom,0px) + 118px);
 min-height:100dvh;overflow:clip}
.brand{font-family:"Iowan Old Style","Baskerville","Times New Roman",Georgia,serif;
 color:#b99d7b;letter-spacing:.29em;font-weight:400;font-size:27px;
 line-height:1.4;margin:4px auto 8px;max-width:100%;white-space:nowrap;text-align:center}
.brandline{width:74px;background:#d9c5ad;margin:0 auto 29px}
.topline{margin:23px 0 20px;min-height:44px;align-items:baseline}
.version{font-size:18px;color:#bba48b;font-family:"Iowan Old Style",Georgia,serif}
.card{border:1px solid #eaded2;box-shadow:none;background:#fffdfbde;border-radius:19px;padding:20px;margin:14px 0}
.card.gold{background:#f9f3e9;border-color:transparent}.card.pink{background:#fcf1f2;border-color:transparent}
.card.blue{background:#eff7f9;border-color:transparent}
.card h2{margin-bottom:4px}.gap{gap:12px}
.btn{min-height:54px;border-radius:12px;font-size:18px;letter-spacing:.02em;color:var(--ink-strong)}
.btn.primary{background:#e9d8c3;color:#846a50}.btn.blue{background:#eff7f9}.btn.pink{background:#fcf1f2}
.btn.outline{background:#fffdfbf0;border:1px solid #d8c5af}
.btn.ghost{text-decoration:none}
.btn.small{min-height:48px}
.stat{border-radius:16px;min-height:98px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:10px 4px}
.stat b{font-size:25px;font-weight:400;margin:0 0 4px;line-height:1.3}
.stat span{font-size:18px;line-height:1.1}
.grid3{gap:9px}.grid2{gap:10px}.row{min-width:0}
.row>*{min-width:0}.row button{flex-shrink:0}
.pill{font-weight:300;font-size:18px;padding:7px 13px;white-space:normal;overflow-wrap:anywhere;text-align:right;border-radius:18px}
.action{box-shadow:none;background:#fffdfb;border-color:#eaded3;border-radius:15px;padding:15px 17px;gap:12px;min-height:73px}
.action i{font-size:24px;font-family:"Songti TC",serif;color:#b8a081}
.action span{line-height:1.5}
.itemline{border-color:#eaddcf}.money{font-size:27px;color:#8e745b;font-weight:400}
.line-amount{font-size:20px;color:#947c62;padding-top:13px;min-height:50px}
.nav{
 position:fixed;bottom:0;left:0;right:0;z-index:30;
 border-top:1px solid #e9ded2;background:rgba(255,253,250,.96);
 -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
 padding:8px max(10px,env(safe-area-inset-right,0px)) calc(5px + env(safe-area-inset-bottom,0px)) max(10px,env(safe-area-inset-left,0px));
 display:flex;align-items:center;justify-content:center;gap:3px;
}
.nav button{
 width:20%;max-width:104px;min-height:64px;
 display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
 border:0;border-radius:13px;color:#ad967b;background:transparent;padding:4px 2px;line-height:1.2
}
.nav button span{font-size:18px;line-height:1.1}
.nav button.on{background:#f8efe3;color:#977a60}
.navsvg{display:block;width:22px;height:22px;flex-shrink:0}
.chip-row{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start}
.name-chip{background:#f7f0e7;border:1px solid #e8d9c9;border-radius:12px;padding:9px 13px;min-height:47px;font-size:18px;color:#957a60;max-width:100%;overflow-wrap:anywhere;text-align:left}
.name-chip.selected{background:#e8d6bf;border-color:#d4b99b}
.original summary{cursor:pointer;list-style:none;padding:12px 0;color:#9d8065;border-top:1px solid var(--line)}
.original summary::-webkit-details-marker{display:none}
.original summary::after{content:"⌄";float:right}
.original pre{font-family:"Songti TC","STSong",serif;font-size:18px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;max-height:300px;overflow-y:auto;background:white;border:1px solid var(--line);border-radius:12px;padding:14px}
.source-meta{color:var(--muted);font-size:18px}
.dates-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dates-row>div:first-child{grid-column:1/-1}
.short-textarea{min-height:90px;max-height:150px}
.toast{background:#e6d8c6;box-shadow:none;color:#795e46;border:1px solid #dfcfb9}
.product-list{max-height:265px;overscroll-behavior:contain;scrollbar-width:thin}
.editgrid{gap:12px}
.warning{border:1px solid #efd8dd;background:#fcf1f2;color:#997d69;font-size:18px}
@media(max-width:380px){
 .container{padding-inline:15px}.card{padding:16px}.brand{font-size:24px;letter-spacing:.24em}
 h1{font-size:26px}.stat span{font-size:18px}.nav button span{font-size:18px}
}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* v0.2.0 icon sizing */
.action-icon{display:block;width:25px;height:25px;min-width:25px;flex-shrink:0;color:#b69a79}


/* v0.3.0 · visual rhythm, catalog, integrated controls */
:root{--hairline:#e7d9ca;--deep:#8c725a}
html{scrollbar-gutter:auto;-webkit-tap-highlight-color:transparent}
body{overscroll-behavior-y:contain}
.container{padding-top:calc(env(safe-area-inset-top,0px) + 24px);padding-bottom:calc(112px + env(safe-area-inset-bottom,0px))}
.card{min-width:0}
.topline{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}
.brand{font-weight:300;letter-spacing:.265em}
.chat-heading{min-height:25px}
.chat-heading .text-btn{padding:0 6px;min-height:27px;align-self:center;text-decoration:none}
[hidden]{display:none!important}
#chat-text{min-height:180px;max-height:52vh;overflow-y:auto;resize:vertical}
.catalog-head{display:grid;gap:16px;padding-top:2px;margin-bottom:16px}
.catalog-head input{min-height:58px}
.catalog-head .row{min-height:35px}
.category-rail,.activity-rail{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:1px 0 5px;-webkit-overflow-scrolling:touch}
.category-rail::-webkit-scrollbar,.activity-rail::-webkit-scrollbar{display:none}
.category-tab,.activity-tab{flex:0 0 auto;white-space:nowrap;border:1px solid #e6d8c8;border-radius:999px;background:#fffdfb;color:#a28770;min-height:46px;padding:8px 18px;font-size:18px;scroll-snap-align:start}
.category-tab.active,.activity-tab.active{background:#eee0cb;border-color:#eee0cb;color:#82684f}
.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-bottom:22px}
.catalog-tile{display:flex;flex-direction:column;justify-content:space-between;gap:18px;padding:18px 15px;border:1px solid #ecdfd3;border-radius:17px;background:#fffdfb;min-height:163px;min-width:0}
.catalog-tile:nth-child(6n+2),.catalog-tile:nth-child(6n+5){background:#faf3f2}
.catalog-tile:nth-child(6n+3),.catalog-tile:nth-child(6n+6){background:#f2f8f9}
.catalog-title{font-size:19px;line-height:1.42;overflow-wrap:anywhere;letter-spacing:.015em;min-height:54px;font-weight:300;color:#91755e}
.catalog-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.catalog-price{font-size:19px;color:#a08164;font-family:"Iowan Old Style",Georgia,"Songti TC",serif;white-space:nowrap}
.catalog-edit{font-size:18px;padding:6px 9px;border:1px solid #e1d1be;border-radius:9px;background:#fffdfa99;color:#947a60;min-height:40px}
.catalog-add{margin-top:12px}
.catalog-add summary{cursor:pointer;font-size:20px;color:#9d8065;padding:3px 0;list-style:none}
.catalog-add summary::-webkit-details-marker{display:none}
.catalog-add summary:after{content:"＋";float:right}
.catalog-add[open] summary:after{content:"−"}
.catalog-add .gap{margin-top:20px}
.dates-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.date-trigger{display:block;width:100%;min-height:55px;border:1px solid #e3d6c8;border-radius:13px;background:#fffefa;color:#977c63;padding:10px 12px;white-space:nowrap;font-size:18px;text-align:center;font-weight:300}
.dates-row>div:first-child{grid-column:1/-1}
.dates-row label{white-space:nowrap}
.sheet-mask{position:fixed;inset:0;z-index:80;display:flex;align-items:flex-end;justify-content:center;padding-bottom:env(safe-area-inset-bottom,0px)}
.sheet-backdrop{position:absolute;inset:0;background:rgba(76,61,47,.30);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.sheet-panel{position:relative;z-index:1;width:min(100%,560px);max-height:min(89dvh,800px);overflow-y:auto;background:#fffdfb;border:1px solid #e9ddcf;border-radius:23px 23px 0 0;padding:19px 20px 30px;box-shadow:0 -10px 48px rgba(94,70,52,.12);overscroll-behavior:contain}
.sheet-panel h2{margin:0;font-size:24px}
.sheet-header{min-height:45px;margin-bottom:18px}
.sheet-close{height:42px;width:42px;display:flex;align-items:center;justify-content:center;background:#f8f0e6;color:#95785c;border:0;border-radius:50%;font-size:26px;line-height:1}
.sheet-body{display:grid;gap:15px}
.sheet-name{font-size:20px;line-height:1.45}
.sheet-body input{min-height:58px}
.sheet-nav{border:1px solid #eadfce;background:#fffefa;border-radius:12px;min-height:43px;width:46px;display:flex;align-items:center;justify-content:center;color:#94775c;font-size:25px}
.sheet-month{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;text-align:center}
.sheet-month h2{font-size:21px;white-space:nowrap}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;align-items:center;justify-items:stretch}
.weekdays span{text-align:center;color:#ad977d;font-size:18px;padding-block:10px}
.cal-day{min-height:45px;min-width:0;border:0;border-radius:12px;background:transparent;color:#8d7259;text-align:center;font-size:18px}
.cal-day.picked{background:#e6d4bd;color:#7e614a}
.cal-day:active{background:#f5ecde}
.calendar-blank{min-height:45px}
.sheet-body .grid2{margin-top:9px}
.source-meta,.catalog-count{line-height:1.5}
@media(max-width:380px){
 .catalog-tile{padding:15px 12px;min-height:165px}
 .catalog-title{font-size:18px}
 .catalog-price{font-size:18px}
 .catalog-edit{font-size:18px;padding:5px 8px}
 .sheet-panel{padding-inline:16px}
}

/* v0.3.0 · additional compact operations */
.draft-resume{width:100%;border:1px solid #e5d7c6;border-radius:16px;min-height:66px;background:#f8f1e8;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:9px;text-align:left;padding:14px 16px;margin:14px 0}
.draft-resume>*{min-width:0}.draft-resume span{font-size:18px;white-space:nowrap}.draft-resume strong{font-size:18px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8d745c}
.status-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:4px 0 10px}
.status-chip{border-radius:12px;min-height:51px;padding:7px 3px;background:#fffefa;border:1px solid #e4d7c7;font-size:18px;color:#93775e;white-space:nowrap}
.status-chip.active{background:#ead8c0;color:#81664c;border-color:#ead8c0}
.readonly-figure{display:flex;align-items:center;min-height:51px;padding:9px 10px;background:#faf5ee;border-radius:11px;color:#92785e;font-size:18px;overflow-wrap:anywhere}
.mini-toggle{display:grid;grid-template-columns:1fr 1fr;gap:5px;background:#f8f1e8;border-radius:11px;padding:4px;min-height:56px}
.mini-toggle button{border:0;border-radius:9px;background:transparent;color:#9c8266;font-size:18px;min-height:46px}
.mini-toggle button.active{background:white;box-shadow:0 1px 4px #bbac9c36;color:#856b50}
.sheet-question{font-size:20px;line-height:1.6;margin:2px 0 6px;color:#8b7055}
.picker-scroller{max-height:290px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;border:0;border-radius:12px}
.picker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.picker-tile{display:flex;min-width:0;flex-direction:column;justify-content:space-between;gap:11px;text-align:left;min-height:108px;border-radius:13px;border:1px solid #e9ddd0;background:#fffcf9;padding:11px;color:#92775f;font-size:18px;line-height:1.4}
.picker-tile:nth-child(4n+2){background:#f5f9f9}.picker-tile:nth-child(4n+3){background:#fcf4f4}
.picker-tile span{font-size:18px;overflow-wrap:anywhere}
.picker-price{display:flex;justify-content:space-between;align-items:center;color:#b19373;white-space:nowrap}
.picker-plus{font-size:20px!important}
.sheet-panel .grid2 button{width:100%}
.card .row .btn{white-space:normal;min-width:0}
.card .row{align-items:center}
@media(max-width:380px){.status-chip{font-size:18px}.draft-resume{padding:12px 11px}.picker-tile{padding:10px 9px}}

/* v0.4.0 · compact audit design */
.review-brand{font-family:"Iowan Old Style","Baskerville",Georgia,serif;font-size:19px;line-height:1.2;letter-spacing:.19em;color:#b39472;display:flex;justify-content:space-between;align-items:center;margin:0 0 18px;min-height:22px}
.review-brand span{font-size:16px;letter-spacing:0;color:#b5a18b}
.review-shell{display:grid;gap:11px;min-width:0}
.review-top,.review-items,.review-extra,.review-foot{border:1px solid #e9dcd0;border-radius:16px;background:#fffdfb}
.review-top{padding:15px 16px 13px;display:grid;gap:10px}
.review-heading{display:flex;justify-content:space-between;align-items:center;gap:9px}
.review-heading h1{font-size:23px;color:#91775d}
.review-state{border:1px solid #d9c6ae;border-radius:999px;background:#f6ede1;color:#8b735d;min-width:83px;min-height:37px;padding:6px 11px;font-size:17px;white-space:nowrap}
.review-name{display:grid;grid-template-columns:45px minmax(0,1fr);gap:10px;align-items:center}
.review-name label{margin:0;font-size:17px}
.review-name input{min-height:43px;padding:8px 12px;border-radius:11px;font-size:19px!important}
.review-total{display:flex;align-items:baseline;justify-content:space-between;gap:10px;border-top:1px solid #eddfd0;padding-top:9px}
.review-total span{font-size:17px}
.review-total strong{font-family:"Iowan Old Style",Georgia,"Songti TC",serif;white-space:nowrap;font-size:24px;letter-spacing:.015em;font-weight:400;color:#98785a}
.review-meta{display:flex;justify-content:space-between;gap:12px;min-width:0}
.review-meta span{font-size:16px;color:#a68c73;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.review-meta span:last-child{text-align:right;flex-shrink:0}
.review-items{padding:12px 16px}
.review-section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px}
.review-section-heading h2{font-size:19px}
.review-section-heading span{font-size:16px;color:#baa58d}
.review-item{border-bottom:1px solid #eee4d8}
.review-item:last-of-type{border-bottom:0}
.review-item summary{display:grid;grid-template-columns:minmax(0,1fr) 45px 77px 14px;gap:6px;align-items:center;min-height:57px;list-style:none;cursor:pointer}
.review-item summary::-webkit-details-marker{display:none}
.review-item-name{font-size:18px;line-height:1.32;overflow-wrap:anywhere;color:#89725c;font-weight:300}
.gift-tag{display:inline-flex;margin-left:6px;padding:2px 4px;background:#f3e9dc;border-radius:5px;color:#aa8b68;font-size:14px!important;vertical-align:middle}
.review-item-qty,.review-item-amount{font-size:18px;color:#927963;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.review-item-amount{font-family:"Iowan Old Style",Georgia,"Songti TC",serif}
.review-chevron{font-size:17px;color:#b7a18b;text-align:center;line-height:1}
.review-item[open] .review-chevron{transform:rotate(180deg)}
.review-item-fields{background:#fbf7f1;padding:11px;border-radius:10px;margin:0 0 11px;display:grid;gap:9px}
.review-edit-grid{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:8px;align-items:end}
.review-edit-grid>div{min-width:0}
.review-edit-grid label{font-size:15px;margin-bottom:4px}
.review-edit-grid input[type="number"]{min-height:42px;padding:7px;font-size:17px!important;text-align:center;border-radius:8px}
.review-gift{display:flex!important;flex-direction:column;align-items:center;justify-content:end;min-width:38px;gap:7px;font-size:15px!important;padding-bottom:3px}
.review-gift input{width:22px;height:22px;min-height:22px;accent-color:#b69b7c;margin:0}
.review-gift span{font-size:15px}
.review-remove{font-size:16px!important;padding:3px 2px;text-align:left;color:#ad8a78}
.review-add{display:block;margin-top:9px;min-height:47px;width:100%;border:1px dashed #d9c6b1;background:#fbf6ef;border-radius:11px;color:#94765e;font-size:17px}
.review-empty{text-align:center;padding:17px 4px;color:#b09d86;font-size:17px}
.review-foot{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:11px 16px;background:#f7f2eb}
.review-foot>div{display:flex;justify-content:space-between;align-items:center;gap:6px;min-width:0}
.review-foot span{font-size:16px}
.review-foot strong{font-size:18px;font-weight:400;white-space:nowrap;color:#917359;font-variant-numeric:tabular-nums}
.review-extra{overflow:hidden}
.review-extra>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;min-height:49px;padding:11px 16px;color:#997e64;font-size:18px;cursor:pointer}
.review-extra>summary::-webkit-details-marker{display:none}
.review-extra>summary span{font-size:16px;color:#baa48d}
.review-extra>summary:after{content:"⌄";font-size:18px;color:#b5a187;margin-left:10px}
.review-extra[open]>summary:after{transform:rotate(180deg)}
.review-extra-body{padding:0 16px 14px;display:grid;gap:9px}
.review-extra-body textarea{min-height:90px;max-height:200px}
.review-alert{background:#fcf4f3;border-radius:10px;padding:11px;display:grid;gap:7px}
.review-alert div{font-size:16px;line-height:1.4}
.review-evidence{font-size:16px;line-height:1.4}
.review-payment{display:grid;gap:10px;padding:0 16px 16px}
.review-pay-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.review-pay-grid .btn{min-height:46px;font-size:17px}
.review-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.review-actions .btn{min-height:52px}
.review-delete{justify-self:center;background:none;border:0;padding:9px 14px;color:#b8a38c;font-size:16px;min-height:33px}
.sheet-product-scroll{max-height:51dvh;overflow:auto;overscroll-behavior:contain;display:grid;gap:0;border:1px solid #eaded0;border-radius:12px;background:white}
.sheet-product-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;text-align:left;min-height:54px;padding:11px 13px;border:0;border-bottom:1px solid #eee6dc;background:transparent;color:#91755d}
.sheet-product-item:last-child{border-bottom:0}
.sheet-product-item span{font-size:17px;overflow-wrap:anywhere}
.sheet-product-item strong{font-size:17px;font-weight:400;white-space:nowrap;color:#a38b70}
.sheet-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.nav button.on{background:#e9d6bb;color:#7f5e3d;box-shadow:inset 0 0 0 1px #d9b993}
.nav button.on svg{stroke-width:2}
.catalog-grid{gap:8px}
.catalog-tile{padding:12px;min-height:123px;gap:7px;border-radius:13px}
.catalog-title{font-size:17px;line-height:1.32;min-height:44px}
.catalog-bottom{gap:5px}
.catalog-price{font-size:17px}
.catalog-edit{min-height:34px;font-size:16px!important;padding:4px 7px;border-radius:8px}
.category-tab{min-height:40px;padding:7px 13px;font-size:17px}
.catalog-head{gap:10px;margin-bottom:11px}
.catalog-head input{min-height:49px}
.picker-tile{min-height:91px;padding:9px}
.picker-tile span,.picker-price{font-size:17px}
@media(max-width:380px){
 .review-item summary{grid-template-columns:minmax(0,1fr) 31px 63px 12px;gap:3px}
 .review-item-name,.review-item-qty,.review-item-amount{font-size:16px}
 .review-edit-grid{gap:5px}
 .review-edit-grid input[type="number"]{font-size:16px!important}
 .review-top,.review-items{padding-inline:12px}
 .catalog-tile{padding:10px}
}

.review-note-preview{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:8px;margin:0 3px;background:#fbf5ee;border:1px solid #ecdfd2;padding:10px 13px;border-radius:12px;min-width:0}
.review-note-preview span{font-size:16px;color:#ae967e}
.review-note-preview strong{font-size:17px;font-weight:400;color:#94785f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* v0.5.0 | refined status, scalable replies, photo review */
.review-heading{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0}
.review-heading h1{font-size:23px;line-height:1.25;margin:0;white-space:nowrap}
.review-state{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:108px;max-width:160px;height:43px;padding:0 14px;border:1px solid #d9c6ae;border-radius:14px;background:#f5ebdd;color:#94765c;box-shadow:none;vertical-align:middle;font-size:17px!important;font-weight:300;line-height:1;white-space:nowrap}
.review-state span{font-size:17px;line-height:1}
.review-state svg{width:16px;height:16px;min-width:16px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.review-state:active,.reply-edit:active,.reply-copy:active{background:#eadac4}
.reply-library{display:grid;gap:12px;background:transparent;padding:13px 14px;border-color:#ecdfd2;border-radius:17px;margin-top:6px}
.reply-library-heading{min-height:45px;display:flex;justify-content:space-between;align-items:center}
.reply-library-heading h2{margin:0;font-size:22px}
.reply-library-heading .btn{min-height:41px;padding:7px 13px;font-size:17px!important}
.reply-library input[type="search"]{height:52px;width:100%;min-width:0;padding:10px 14px;font-size:18px!important}
.reply-categories{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;padding-bottom:3px}
.reply-categories::-webkit-scrollbar{display:none}
.reply-tab{flex:0 0 auto;min-height:40px;padding:7px 15px;border:1px solid #e7d7c6;background:#fffdfa;color:#a08a72;border-radius:999px;font-size:16px!important}
.reply-tab.active{color:#7f6149;border-color:#d7b996;background:#ead8be}
.reply-items{display:grid;gap:0;border-top:1px solid #e7d9cb}
.reply-entry{display:grid;grid-template-columns:minmax(0,1fr) 59px;gap:6px;align-items:stretch;min-height:62px;border-bottom:1px solid #ebe0d4;padding:5px 0}
.reply-entry:has(.reply-copy:only-child){grid-template-columns:minmax(0,1fr)}
.reply-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;padding:5px 4px;border:0;border-radius:9px;background:transparent;color:#9a7c60;text-align:left}
.reply-title{font-size:18px!important;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:400}
.reply-preview{font-size:16px!important;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#b4a18c}
.reply-edit{font-size:16px!important;min-height:42px;align-self:center;border:1px solid #e8d9cb;border-radius:10px;background:#fffefa;color:#a18a75;padding:6px}
.compact-settings{padding:10px 15px;border-radius:16px}
.compact-settings>summary{min-height:49px;display:flex;align-items:center;justify-content:space-between;list-style:none;font-size:19px;color:#94785f;cursor:pointer}
.compact-settings>summary::-webkit-details-marker{display:none}
.compact-settings>summary:after{content:"⌄";font-size:18px}
.compact-settings[open]>summary:after{transform:rotate(180deg)}
.compact-settings>.gap{margin-top:10px;display:grid;gap:10px}
.compact-settings h2{display:none}
.compact-settings textarea{min-height:85px}
.reply-star-check{display:flex;gap:11px;align-items:center;min-height:42px;font-size:18px}
.reply-star-check input{width:23px;height:23px;min-height:23px;accent-color:#bc9d79;margin:0}
.reply-delete{min-height:40px;border:0;background:transparent;color:#b59b85;text-align:center;font-size:16px}
.sheet-body textarea#sheet-reply-text{min-height:140px;max-height:35dvh;resize:vertical}
#sheet-reply-search{min-height:49px}
.photo-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.photo-actions>.btn{min-height:51px;max-width:100%;font-size:17px!important}
.photo-actions>.btn:only-child{grid-column:1/-1}
.ocr-result{border:1px solid #e9d9ce;border-radius:14px;background:#fffdfbe8;padding:12px;display:grid;gap:10px}
.ocr-result .row{display:flex;justify-content:space-between}
.ocr-result textarea{min-height:105px;max-height:28dvh;font-size:17px!important}
.sheet-panel:has(#sheet-reply-search) .reply-entry{grid-template-columns:1fr}
.review-state:focus-visible{outline:2px solid #c6a781;outline-offset:2px}
@media(max-width:380px){.review-state{min-width:96px;padding:0 9px;gap:5px;height:40px}.reply-library{padding:12px}}

.review-name-field{display:flex;align-items:center;gap:7px;min-width:0}
.review-name-field input{min-width:0;flex:1;width:100%}
.verify-name{flex-shrink:0;min-height:43px;padding:7px 10px;font-size:16px!important;color:#8b7156;background:#f0e1cd;border:1px solid #e4c9a9;border-radius:10px;white-space:nowrap}

/* v0.6.0 · compact complete taxonomy, optical geometry, native scrolling */
.category-scroller{position:relative;min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-snap-type:x proximity;touch-action:pan-x pan-y}
.category-scroller::-webkit-scrollbar{display:none}
.category-rail{display:grid!important;grid-template-rows:repeat(2,40px);grid-auto-columns:max-content;grid-auto-flow:column;align-items:stretch;gap:7px 8px!important;overflow:visible!important;scroll-snap-type:none!important;padding:2px 14px 6px 0!important;width:max-content;max-width:none}
.category-tab{display:inline-flex!important;align-items:center;justify-content:center;gap:9px;min-height:40px!important;height:40px;padding:5px 13px!important;border-radius:13px!important;font-size:16px!important;line-height:1;white-space:nowrap}
.category-tab span{font-size:16px!important;line-height:1.15}
.category-tab small{font-family:"Iowan Old Style",Georgia,serif;font-size:13px!important;line-height:1.15;color:#b5a18b;font-weight:400}
.category-tab.active{background:#e9d8c4!important;color:#826749!important;border-color:#d8bb9b!important}
.category-tab.active small{color:#957a59}
.catalog-head{gap:10px!important}
.catalog-head .row{margin:0;align-items:baseline}
.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important}
.catalog-tile{min-height:115px!important;padding:11px 12px!important;border-radius:13px!important}
.catalog-title{font-size:16px!important;line-height:1.34;min-height:43px;letter-spacing:.01em}
.catalog-price{font-size:16px!important}
.catalog-edit{font-size:15px!important;min-height:33px!important;padding:4px 7px!important}
.catalog-bottom{align-items:end!important}
.review-heading .review-state{display:inline-grid!important;grid-template-columns:minmax(0,1fr) 16px;align-items:center;justify-content:initial;gap:8px;padding:0 12px}
.review-state span{display:block;align-self:center;text-align:center;line-height:1.1!important}
.review-state svg{display:block;align-self:center;justify-self:center;width:16px;height:16px;transform:translateY(1px)}
.review-chevron{display:grid!important;place-items:center;width:20px;height:24px;line-height:1}
.review-chevron svg{display:block;width:16px;height:16px;fill:none;stroke:#b6a089;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7;transform:translateY(1px)}
.review-item[open] .review-chevron{transform:none!important}
.review-item[open] .review-chevron svg{transform:translateY(-1px) rotate(180deg)}
.review-item summary{grid-template-columns:minmax(0,1fr) 43px 75px 20px;align-items:center;gap:7px;min-height:54px}
.review-extra>summary{display:grid!important;grid-template-columns:minmax(0,1fr) auto 20px;align-items:center;gap:12px;min-height:49px;padding:10px 16px}
.review-extra>summary:after{content:none!important}
.review-extra>summary .review-extra-label{font-size:18px;color:#977b63;text-align:left}
.review-extra>summary .review-extra-meta{font-size:16px!important;color:#b6a189;text-align:right;min-width:0}
.review-extra[open]>summary:after{transform:none!important}
.review-extra[open]>summary .review-chevron svg{transform:translateY(-1px) rotate(180deg)}
@media(max-width:380px){
 .category-tab{padding:5px 11px!important}
 .catalog-tile{padding:10px!important}
 .review-item summary{grid-template-columns:minmax(0,1fr) 31px 64px 18px;gap:4px}
 .review-extra>summary{gap:7px}
}

/* v0.6.0 · one-tap saved PDF row */
.order-list-row{display:grid;grid-template-columns:minmax(0,1fr) 66px;align-items:stretch;gap:8px;min-height:69px;padding:5px 0;border-bottom:1px solid #ebe1d5}
.order-list-row:last-child{border-bottom:none}
.order-open{min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;text-align:left;border:0;background:transparent;color:#92765e;padding:7px 5px}
.order-open strong{display:block;max-width:100%;font-size:18px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.order-open span{max-width:100%;font-size:16px;color:#b19b84;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.order-pdf{align-self:center;min-height:43px;border:1px solid #e4d4c0;border-radius:11px;background:#faf3ea;color:#987a5c;font-family:"Iowan Old Style",Georgia,serif;font-size:16px;padding:7px;white-space:nowrap}
.order-pdf:active{background:#ead8c1}

.item-evidence{font-size:15px!important;line-height:1.45;color:#a99580;margin:2px 0 4px;white-space:pre-wrap;overflow-wrap:anywhere}

/* v0.7.0 · visible provenance for chat-reconciled payment */
.payment-source{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 13px;border-radius:12px;background:#f8f3e9;border:1px solid #eaddc9;color:#9d7e5f;font-size:16px;line-height:1.35}
.payment-source span{font-size:16px}.payment-source strong{font-size:17px;white-space:nowrap;font-weight:400}
