:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#233c37;background:#f4f6f2;font-size:15px}*{box-sizing:border-box}body{margin:0}main{max-width:1250px;margin:auto;padding:28px}header,.intro,.toolbar,.cardtop{display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{display:flex;gap:10px;align-items:center;font-size:28px;color:#225b47;text-decoration:none;font-weight:800;letter-spacing:2px}.brand span{font-size:20px}.brand small{display:block;font-size:9px;letter-spacing:2px;margin-top:4px}.local{font-size:11px;letter-spacing:1px;color:#65766d;border:1px solid #d9e0d7;padding:8px 12px;border-radius:20px}.intro{margin:40px 0 24px}h1{font-size:36px;letter-spacing:-1.4px;margin:9px 0 10px}h2{font-size:21px}h3{font-size:18px;margin:22px 0 8px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:#56816b}.muted{color:#6b7b72;line-height:1.6}.banner{background:#fff6df;border:1px solid #e8d7ad;padding:16px 20px;border-radius:12px;font-size:13px;line-height:1.7}.banner strong{display:block}.notice{padding:15px;background:#e2efdf;border-radius:10px;margin-top:16px}nav{display:flex;border-bottom:1px solid #dae2d8;margin:26px 0;gap:28px}nav a{padding:14px 4px;text-decoration:none;color:#778279;font-weight:600}.selected{border-bottom:3px solid #28634d;color:#22543f!important}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:30px}.stats section,.panel{background:white;border:1px solid #dfe6dc;border-radius:15px;padding:23px}.stats span,.stats small{display:block;color:#728074;font-size:12px}.stats strong{display:block;font-size:36px;font-weight:600;margin:12px 0}.toolbar{margin:22px 0}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.badge{display:inline-block;padding:6px 10px;border-radius:7px;background:#e5f0e7;color:#316d48;font-size:11px;font-weight:600}.inactive,.expired{background:#f1eee8;color:#8b795b}.used{background:#e7edf7;color:#4c648d}.device{font-family:monospace;color:#7f8981;font-size:11px;overflow-wrap:anywhere}.paper{display:flex;align-items:center;gap:12px;margin:24px 0}.paper strong{font-size:36px;font-weight:600}.paper span{max-width:90px;font-size:12px;color:#7c887f;line-height:1.4}.cardfooter{border-top:1px solid #edf0e9;margin-top:20px;padding-top:10px}button{background:#285d47;color:white;border:0;padding:12px 18px;border-radius:8px;font:inherit;font-weight:600;cursor:pointer}button:disabled{background:#e0e5dc;color:#77816f;cursor:not-allowed}.textbutton{background:transparent;color:#496d54;padding:5px 0;font-size:12px}label{color:#627368;font-size:13px}input:not([type=checkbox]),select{border:1px solid #d5dfd2;border-radius:8px;background:white;padding:12px;font:inherit;max-width:100%;color:#314739}input[type=checkbox]{accent-color:#285d47}.filters{display:flex;gap:12px;flex-wrap:wrap}.filters input{flex:1;min-width:180px}.filters select{max-width:260px}.tablewrap{padding:0;overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px;text-align:left;min-width:850px}th{padding:18px;color:#788478;font-weight:500;background:#fafbf8}td{padding:18px;border-top:1px solid #edf0e9}td small{display:block;color:#7c857d;line-height:1.8}.code{font-family:monospace;font-size:15px}.empty{text-align:center;padding:45px}.import{max-width:720px}.import form{display:grid;gap:20px;margin-top:25px}.import label{display:grid;gap:8px}.import code{display:block;font-size:12px;background:#f4f6f2;padding:14px;overflow:auto}footer{font-size:11px;color:#859083;text-align:center;margin:40px 0 10px}@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}.intro{align-items:flex-start;flex-direction:column}.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){main{padding:18px}.grid{grid-template-columns:1fr}h1{font-size:30px}.stats{gap:10px}.stats section{padding:18px}.toolbar{align-items:flex-start;flex-direction:column;gap:0}.filters{flex-direction:column}.filters select{max-width:none}.intro{margin-top:30px}.local{font-size:9px}}

.set-card{background:#e5f0e7;border-color:#c9ddce;display:block;text-decoration:none;color:inherit;transition:border-color .15s}.set-card:hover,.set-card:focus-visible{border-color:#285d47;outline:2px solid #285d47}.set-card h3{margin-top:0}.set-card dl{margin:0}.set-card dt{font-size:12px;color:#6b7b72;margin-top:16px}.set-card dd{margin:5px 0 0;font-weight:600}.coupon-list{display:grid;gap:12px}.coupon-row{display:flex;justify-content:space-between;align-items:center;gap:18px}.coupon-row small{display:block;margin:8px 0}.coupon-actions,.coupon-actions form{display:flex;gap:8px;flex-wrap:wrap}.coupon-actions button{font-size:12px;padding:10px}.assigned{background:#fff1d7;color:#8a650b}@media(max-width:700px){.coupon-row{align-items:flex-start;flex-direction:column}}

dialog{border:1px solid #dfe6dc;border-radius:16px;padding:26px;max-width:480px;width:calc(100% - 32px);color:#233c37}dialog::backdrop{background:#10261b88}dialog label{display:grid;gap:10px}dialog input{width:100%}dialog h2{overflow-wrap:anywhere}

.sales-layout{display:grid;grid-template-columns:320px 1fr;gap:24px;align-items:start}.sales-form{display:grid;gap:16px;margin-top:20px}.sales-form label{display:grid;gap:8px}.sales-stats{grid-template-columns:repeat(2,1fr)}.sales-stats strong{font-size:26px}.sales-trend{margin-top:20px}.trend-row{display:grid;grid-template-columns:66px 1fr 115px;gap:12px;align-items:center;margin:16px 0;font-size:12px}.trend-row small{grid-column:3;color:#6b7b72}.trend-track{height:10px;background:#edf0e9;border-radius:6px;overflow:hidden}.trend-bar{height:100%;background:#34775a}nav{flex-wrap:wrap}@media(max-width:900px){.sales-layout{grid-template-columns:1fr}}

.trend-navigation{display:flex;justify-content:space-between;gap:12px;margin-top:24px;padding-top:18px;border-top:1px solid #edf0e9;flex-wrap:wrap}.trend-arrow{color:#285d47;font-weight:600;font-size:13px;text-decoration:none;padding:10px 0}.trend-arrow:hover{text-decoration:underline}#sales-trend{scroll-margin-top:20px}

.sales-graph-dialog{max-width:1000px;max-height:92vh;overflow:auto}.graph-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.graph-controls label{display:flex;align-items:center;gap:10px}.graph-controls button[aria-pressed=false]{background:#e5ede3;color:#285d47}#sales-line-chart svg{width:100%;height:auto;display:block;min-height:200px}#sales-line-chart circle{cursor:pointer}#sales-line-chart circle:focus{stroke:#d68c1b;stroke-width:4;outline:none}.sales-graph-dialog details{margin-top:16px}

#sales-line-chart{overflow-x:auto}#sales-line-chart svg{min-width:760px}.sales-graph-dialog .tablewrap table{min-width:440px}

.graph-mobile-hint{display:none}@media(max-width:600px){.graph-mobile-hint{display:block;font-size:12px}}

.report-selector{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:18px}.report-selector label{display:grid;gap:8px;flex:1;min-width:170px}.report-selector select{width:100%}

.month-breakdown-trigger{cursor:pointer;border-radius:6px;padding:8px 4px;margin:8px 0}.month-breakdown-trigger:hover,.month-breakdown-trigger:focus-visible{background:#edf3eb;outline:2px solid #8aad96}tfoot th{background:#edf3eb}

#month-breakdown-dialog table{min-width:0!important}#month-breakdown-dialog td,#month-breakdown-dialog th{padding:12px 10px}#month-breakdown-dialog td:last-child,#month-breakdown-dialog th:last-child{white-space:nowrap}#month-breakdown-dialog td:first-child{overflow-wrap:anywhere}

.trend-navigation button:disabled{background:transparent;color:#929a91;padding:10px 0;cursor:not-allowed}

.button-link{display:inline-block;background:#285d47;color:white;padding:12px 18px;border-radius:8px;font-weight:600;text-decoration:none}.back-link{display:inline-block;color:#285d47;font-weight:600;text-decoration:none;margin:4px 0 16px}.button-link:focus-visible,.back-link:focus-visible{outline:2px solid #285d47;outline-offset:4px}

.store-accordion{border:1px solid #dfe6dc;border-radius:14px;background:#fff;margin:16px 0}.store-accordion summary{cursor:pointer;padding:20px;font-size:18px;color:#233c37}.store-accordion summary span{font-size:12px;color:#6b7b72;margin-left:12px}.store-accordion .grid{padding:0 20px 20px}.store-accordion summary:focus-visible{outline:2px solid #285d47;outline-offset:3px;border-radius:14px}

.booth-card.booth-online{background:#e5f0e7;border-color:#c9ddce}.booth-card.booth-offline{background:#eceeed;border-color:#d7dcd9}.booth-card .badge:not(.inactive){background:#285d47;color:#fff}.booth-card .cardfooter{border-top-color:#ced9d1}

.login-page{max-width:480px;padding-top:70px}.user-form{display:grid;gap:16px;margin-top:22px;max-width:600px}.user-form label:not(.check-label){display:grid;gap:7px}.check-label{display:flex;align-items:center;gap:10px;padding:7px 0}.user-panels{display:grid;gap:14px}.session-controls{display:flex;align-items:center;gap:14px}nav{flex-wrap:wrap}.user-form fieldset{border:1px solid #c9ddce;border-radius:8px;padding:15px}
