@charset "UTF-8";
:root{--forest:#153e35;--green:#26735b;--green-dark:#1d5e49;--mint:#e8f0e8;--lime:#e1edbc;--paper:#f4f6f2;--white:#fff;--ink:#21372f;--muted:#738079;--line:#e2e8e0;--danger:#a23835;--radius:16px;--shadow:0 18px 60px #153e3514;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible{outline:3px solid #91bbaa;outline-offset:4px}input:focus,select:focus,textarea:focus{outline:3px solid #a9c7b745;border-color:var(--green)}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--forest);line-height:1.2;font-weight:600;letter-spacing:-.035em}h1{font-size:32px}h2{font-size:20px}h3{font-size:18px}p{margin-bottom:0}svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.muted{color:var(--muted)}.eyebrow{display:block;font-size:10px;font-weight:700;letter-spacing:.17em;line-height:1.7}.optional{font-size:12px;font-weight:400;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.brand{display:flex;align-items:center;gap:11px;color:var(--forest);font-size:20px;line-height:1.15;white-space:nowrap;letter-spacing:-.6px}.brand:hover{text-decoration:none}.brand strong{font-weight:700}.brand small{display:block;font-size:8px;font-weight:600;letter-spacing:1.5px;margin-top:8px;color:var(--muted)}.brand-cross{display:block;position:relative;flex-shrink:0;width:38px;height:38px}.brand-cross:before,.brand-cross:after{content:"";position:absolute;background:var(--green);border-radius:3px}.brand-cross:before{width:14px;height:38px;left:12px;top:0}.brand-cross:after{width:38px;height:14px;left:0;top:12px}.brand-light{color:white}.brand-light small{color:#abc5b9}.brand-light .brand-cross:before,.brand-light .brand-cross:after{background:var(--lime)}.boot-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:20px;color:var(--muted)}.noscript{position:fixed;z-index:200;inset:0;background:var(--paper);display:grid;place-items:center;padding:30px;text-align:center}
.button{border:1px solid transparent;border-radius:8px;padding:12px 18px;display:inline-flex;align-items:center;justify-content:center;gap:12px;line-height:1.4;font-size:13px;font-weight:600;transition:background .15s,color .15s,border-color .15s;min-height:44px;white-space:nowrap}.button:hover{text-decoration:none}.button.primary{background:var(--green);color:white}.button.primary:hover:not(:disabled){background:var(--green-dark)}.button.secondary{color:var(--forest);border-color:#d5dfd6;background:white}.button.secondary:hover:not(:disabled){background:var(--paper)}.button.subtle{background:var(--paper);color:var(--forest)}.button.subtle:hover:not(:disabled){background:var(--mint)}.button.cream{background:var(--lime);color:var(--forest)}.button.cream:hover{background:#d7e6a7}.button.danger{background:var(--danger);color:#fff}.button.small{font-size:12px;min-height:36px;padding:8px 12px;gap:8px}.button.wide{width:100%;justify-content:space-between}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:none;color:var(--muted);border:0;border-radius:8px;font-size:27px;line-height:1;flex-shrink:0}.icon-button:hover{background:var(--mint);color:var(--forest)}.text-button{border:0;background:none;padding:0;color:var(--green);font-weight:600;font-size:12px}.text-button:hover{text-decoration:underline}.text-button.danger{color:var(--danger)}
label{display:block;color:var(--ink);font-size:12px;font-weight:600;margin:20px 0 7px}input:not([type=checkbox]),select,textarea{display:block;width:100%;border:1px solid #d9e1d8;background:#fff;color:var(--ink);border-radius:8px;padding:12px 13px;min-height:45px;transition:border-color .15s}input::placeholder,textarea::placeholder{color:#9aa69c}input[type=file]{padding:8px!important;font-size:11px;min-height:42px}input[type=file]::file-selector-button{border:0;border-radius:5px;background:var(--mint);color:var(--forest);padding:8px 10px;margin-right:10px;cursor:pointer}input[type=checkbox]{accent-color:var(--green);width:17px;height:17px;flex-shrink:0;margin:0}textarea{resize:vertical;min-height:90px}.checkbox-field{display:flex;align-items:center;gap:10px;font-size:12px;cursor:pointer}.field-help{margin-top:9px;color:var(--muted);font-size:11px;line-height:1.7}.form-error{color:var(--danger);background:#fcf0ed;padding:11px 13px;border-radius:8px;font-size:12px;margin:15px 0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-row>*{min-width:0}.input-prefix{position:relative}.input-prefix>span{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:16px}.input-prefix input{padding-left:34px!important}.form-divider{border:0;border-top:1px solid var(--line);margin:27px 0 22px}
.login-screen{display:grid;grid-template-columns:1.05fr 1fr;min-height:100vh}.login-story{position:relative;overflow:hidden;padding:54px 64px;background:var(--forest);color:#bdd1c5;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}.login-story:after{content:"+";position:absolute;right:-100px;bottom:20px;font-size:640px;color:#ffffff05;line-height:1;font-weight:500;pointer-events:none}.login-story-copy{position:relative;z-index:1;padding:90px 0;max-width:530px}.login-story-copy>.eyebrow{color:#b9d291;margin-bottom:25px}.login-story h1{color:#f6f9ef;font-size:clamp(34px,3.5vw,56px);font-weight:500;line-height:1.13;letter-spacing:-2px;margin-bottom:28px}.login-story-copy>p{max-width:330px;line-height:1.8;font-size:14px}.story-badge{display:flex;align-items:center;gap:12px;font-size:11px;color:#d9e5d7;margin-top:45px}.tiny-cross{font-size:23px;border-radius:100%;width:35px;height:35px;background:#ffffff0c;display:grid;place-items:center;color:#d4e6b0}.login-footnote{font-size:10px;color:#90ae9d;letter-spacing:.04em}.login-side{padding:45px 60px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fcfdf9;position:relative}.back-link{position:absolute;top:38px;right:42px;font-size:11px;color:var(--muted);display:flex;gap:10px}.login-card{width:100%;max-width:350px;padding:60px 0}.login-card>.eyebrow{color:var(--green);margin-bottom:17px}.login-card h2{font-size:29px;margin-bottom:15px}.login-card>.muted{font-size:13px;line-height:1.8;margin-bottom:35px}.login-card input{background:#fff;padding:14px}.login-card form .button{margin-top:26px}.login-hint{font-size:10px;line-height:1.7;color:#95a094;text-align:center;margin-top:26px}.notice{background:#f4eed7;border:1px solid #e8ddab;padding:14px;border-radius:8px;font-size:12px;margin:20px 0}.notice a{display:block;margin-top:8px;font-weight:600}
.app-shell{display:grid;grid-template-columns:246px minmax(0,1fr);min-height:100vh}.sidebar{position:fixed;top:0;bottom:0;left:0;width:246px;background:#fff;border-right:1px solid var(--line);padding:36px 23px 24px;display:flex;flex-direction:column;z-index:20}.sidebar .brand{font-size:19px;gap:8px}.sidebar .brand-cross{transform:scale(.84);margin-left:-2px}.nav-caption{font-size:9px;letter-spacing:.16em;font-weight:600;color:#96a194;margin:54px 13px 17px}nav{display:flex;flex-direction:column;gap:7px}.nav-item{display:flex;align-items:center;gap:13px;border:0;background:transparent;color:var(--muted);padding:13px 15px;border-radius:9px;text-align:left;font-size:12px;font-weight:500;min-height:46px}.nav-item:hover{background:#f6f8f4;color:var(--forest)}.nav-item.active{background:var(--mint);color:var(--forest);font-weight:600}.nav-item svg{width:19px;height:19px}.sidebar-bottom{margin-top:auto;padding-top:38px}.catalog-link{display:flex;justify-content:space-between;align-items:center;font-size:11px;padding:12px;color:var(--muted)}.operator{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:24px;margin-top:14px}.avatar{width:34px;height:34px;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;border-radius:50%;background:#e9eee2;color:var(--green);font-size:12px;font-weight:600}.operator>span:nth-child(2){min-width:0;flex:1}.operator strong{display:block;font-size:11px;font-weight:600;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.operator small{display:block;font-size:8px;color:#93a08f;margin-top:4px}.operator .icon-button{width:26px}.operator svg{width:17px}.workspace{grid-column:2;padding:40px 48px 0;min-width:0;display:flex;flex-direction:column;max-width:1700px;width:100%;margin:auto}.workspace-header{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:35px}.workspace-header .eyebrow{color:#80917f;margin-bottom:10px;font-size:9px}.workspace-header h1{font-size:29px;margin:0 0 10px}.workspace-header .muted{font-size:12px}.date-label{display:block;font-size:14px;color:var(--muted);white-space:nowrap;align-self:flex-start;padding-top:31px}.page{min-height:calc(100vh - 221px)}.workspace-footer{display:flex;justify-content:space-between;gap:20px;padding:26px 0 22px;margin-top:32px;border-top:1px solid var(--line);font-size:9px;color:#96a18e}.workspace-footer span:first-child{font-weight:600;color:#6d826f}
.dashboard-banner{position:relative;background:var(--forest);color:#b9cec0;padding:32px 34px;border-radius:var(--radius);display:flex;align-items:center;justify-content:space-between;gap:24px;overflow:hidden;margin-bottom:24px}.dashboard-banner:before{content:"+";position:absolute;right:190px;bottom:-100px;color:#ffffff05;font-size:290px;line-height:1;pointer-events:none}.dashboard-banner>div,.dashboard-banner>button{position:relative;z-index:1}.dashboard-banner .eyebrow{color:#b7cf94;font-size:8px;margin-bottom:11px}.dashboard-banner h2{color:white;font-weight:500;font-size:24px;margin-bottom:11px;letter-spacing:-.6px}.dashboard-banner p{font-size:11px;line-height:1.7;max-width:430px}.dashboard-banner .button{font-size:11px;padding:13px 16px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:29px}.metric{padding:23px 22px;background:white;border:1px solid var(--line);border-radius:12px;position:relative}.metric>span{display:block;font-size:10px;color:var(--muted);margin-bottom:15px}.metric>strong{display:block;font-size:30px;font-weight:500;letter-spacing:-1px;color:var(--forest);line-height:1.2;overflow-wrap:anywhere}.metric>small{display:block;color:#98a191;font-size:9px;margin-top:12px}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);min-width:0;overflow:hidden}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:25px 27px 23px;gap:15px;border-bottom:1px solid #edf0e9}.panel-header h2{font-size:16px;margin:0 0 7px;letter-spacing:-.25px}.panel-header p{font-size:10px;color:var(--muted)}.panel-body{padding:25px 27px 28px}.panel-body>label:first-child,.panel-body>form>label:first-child{margin-top:0}.table-container{overflow-x:auto;scrollbar-width:thin}table{border-collapse:collapse;width:100%;text-align:left;font-size:11px;white-space:nowrap}thead{background:#fbfcf9}th{padding:13px 24px;font-weight:500;text-transform:uppercase;letter-spacing:.07em;font-size:8px;color:#8c9a8d;border-bottom:1px solid #edf0e9}td{padding:17px 24px;border-bottom:1px solid #edf0e9;color:var(--muted)}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fcfdf9}td strong{font-size:11px;color:var(--ink);font-weight:600}td small{display:block;font-size:9px;margin-top:4px;color:#91a08f}.person-cell{display:flex;align-items:center;gap:11px}.person-cell .avatar{width:32px;height:32px;font-size:10px}.table-action{padding:4px 0}.positive{color:var(--green);font-weight:600}.negative{color:#a57440;font-weight:600}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:100px;padding:4px 8px;background:var(--mint);color:#4f7962;font-size:9px;font-weight:500}.badge.redeem{background:#f6eddd;color:#9a783a}.badge.inactive{color:#899082;background:#eef0eb}.mini-label{color:#91a08d;font-size:8px;letter-spacing:.1em;white-space:nowrap}.empty-state{padding:54px 25px;text-align:center;color:var(--muted)}.empty-state .empty-icon{margin:0 auto 16px;width:48px;height:48px;border-radius:50%;background:var(--paper);color:#93ab91;display:grid;place-items:center;font-size:25px}.empty-state h3{font-size:16px;font-weight:500;margin-bottom:9px;letter-spacing:-.25px}.empty-state p{font-size:12px;max-width:410px;line-height:1.7;margin:0 auto}.empty-state .button{margin-top:20px}.loading-state{padding:48px;text-align:center;color:var(--muted);font-size:12px}.loading-state:before{content:"";display:block;margin:0 auto 14px;width:22px;height:22px;border:2px solid var(--line);border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.section-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.search-form{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:6px 8px 6px 15px;flex:1;max-width:490px}.search-form svg{width:17px;color:#9eaa98}.search-form input{border:0;min-height:32px;padding:7px 4px;font-size:12px;background:transparent;min-width:0}.search-form input:focus{outline:none}.search-form:focus-within{outline:3px solid #a9c7b745;border-color:var(--green)}.search-form .button{min-height:32px}.points-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(240px,1fr);gap:27px;align-items:start}.tabs{display:flex;border-bottom:1px solid var(--line);padding:0 27px;gap:28px}.tab{border:0;border-bottom:2px solid transparent;background:transparent;padding:20px 0 18px;font-size:12px;color:var(--muted);font-weight:500}.tab.active{color:var(--green);border-bottom-color:var(--green);font-weight:600}.step-heading{display:flex;gap:13px;align-items:center;margin-bottom:22px}.step-heading>span{border-radius:50%;width:29px;height:29px;flex-shrink:0;background:var(--mint);color:var(--green);display:grid;place-items:center;font-size:10px;font-weight:600}.step-heading h2{font-size:15px;margin:0 0 6px}.step-heading p{font-size:10px;color:var(--muted)}.step-heading.second{border-top:1px solid var(--line);padding-top:28px;margin-top:27px}.lookup-form{display:flex;gap:10px}.lookup-form input{min-width:0;flex:1;font-size:12px}.lookup-form .button{font-size:11px}.selected-customer{background:#f1f5ec;border:1px solid #e4eadf;display:flex;align-items:center;gap:13px;border-radius:10px;padding:16px;margin-top:17px}.avatar.large{width:39px;height:39px}.selected-customer>div{min-width:0;flex:1}.selected-customer>div strong{font-size:12px;display:block;overflow-wrap:anywhere}.selected-customer>div small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.customer-balance{text-align:right;white-space:nowrap;font-size:9px;color:#7e9377}.customer-balance strong{display:block;font-size:22px;font-weight:500;line-height:1.2;color:var(--forest)}.points-preview{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#f6f8f0;border:1px solid #e5ebdb;padding:20px;border-radius:10px;margin:23px 0}.points-preview>div>span{display:block;font-size:11px;font-weight:600;color:var(--forest)}.points-preview>div>small{display:block;margin-top:6px;font-size:9px;color:#81917b;max-width:265px}.points-preview>strong{font-size:31px;font-weight:500;letter-spacing:-1px;color:var(--green);white-space:nowrap}.points-preview>strong>small{font-size:12px;font-weight:400;letter-spacing:0}.points-main label{font-size:11px}.helper-card{background:#eaf0e2;border:1px solid #e2e9d8;border-radius:var(--radius);padding:29px}.helper-icon{width:40px;height:40px;background:#dbe6cc;display:grid;place-items:center;font-size:27px;color:#75915b;border-radius:50%;margin-bottom:24px}.helper-card>.eyebrow{font-size:8px;color:#7f9468;margin-bottom:12px}.helper-card h3{font-size:23px;font-weight:500;line-height:1.25;margin-bottom:15px;letter-spacing:-.6px}.helper-card>p{font-size:11px;line-height:1.85;color:#819177}.helper-card hr{border:0;border-top:1px solid #d5dfc8;margin:25px 0}.ratio-display>span,.ratio-display>small{display:block;font-size:9px;color:#819177}.ratio-display>strong{display:block;font-size:21px;font-weight:500;color:var(--forest);margin:9px 0}.helper-card .text-button{font-size:10px;margin-top:22px}.aside-note{font-size:10px;line-height:1.8;color:#8e9d87;padding:17px 15px}.inline-help{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0 0}.inline-help p{font-size:10px;color:var(--muted)}
.count-pill{font-size:12px;font-weight:600;color:var(--forest)}.toolbar-note{font-size:10px;margin-top:5px}.products-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.products-grid>.empty-state,.products-grid>.loading-state{grid-column:1/-1;border:1px solid var(--line);border-radius:var(--radius);background:white}.product-card{background:white;border:1px solid var(--line);border-radius:13px;overflow:hidden;display:flex;flex-direction:column;min-width:0}.product-photo{height:205px;background:#edf0e9;position:relative;display:flex;align-items:center;justify-content:center}.product-photo img{width:100%;height:100%;object-fit:contain;padding:14px;background:#f4f6f0}.product-photo>.badge{position:absolute;top:13px;left:13px;background:#fffefa;border:1px solid #ffffffb0;box-shadow:0 2px 8px #17382007}.product-photo>.badge.inactive{background:#eeeee8;color:#8d9788}.product-copy{padding:20px;flex:1;display:flex;flex-direction:column}.product-category{display:block;font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:#91a082;margin-bottom:7px}.product-copy h3{font-size:16px;line-height:1.4;margin-bottom:7px;letter-spacing:-.2px;overflow-wrap:anywhere}.product-copy>p{font-size:10px;color:var(--muted);line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:34px;overflow-wrap:anywhere}.product-value{display:flex;align-items:center;gap:5px;margin-top:19px;padding-top:17px;border-top:1px solid var(--line);color:var(--green);font-size:11px}.product-value strong{font-size:22px;font-weight:500;letter-spacing:-.5px}.product-actions{display:flex;gap:15px;align-items:center;justify-content:space-between;margin-top:16px}.product-actions .button{flex:1}.product-actions .text-button{font-size:10px}.settings-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(270px,1fr);gap:26px;align-items:start}.settings-layout .panel-body>.button{margin-top:23px}.settings-layout .panel-body>.form-error+.button{margin-top:0}.example-box{background:#f2f6ec;border:1px solid #e6eddb;border-radius:8px;padding:13px 15px;margin-top:16px;color:#6e855f;font-size:11px;line-height:1.7}.cover-preview{display:flex;align-items:center;justify-content:center;min-height:160px;aspect-ratio:2.4;border:1px dashed #ccd7c3;background:#f6f8f1;border-radius:10px;overflow:hidden;color:#97a28c;text-align:center;margin:15px 0;font-size:11px;padding:0}.cover-preview>span{padding:15px}.cover-preview img{width:100%;height:100%;max-height:240px;object-fit:cover}.security-panel input{font-size:13px}
.modal{position:fixed;padding:0;border:1px solid #dde5d9;border-radius:17px;width:calc(100% - 32px);max-width:520px;max-height:calc(100dvh - 50px);color:var(--ink);background:#fff;box-shadow:0 30px 110px #0c231e38;overflow:auto;overscroll-behavior:contain}.modal::backdrop{background:#13382e65;backdrop-filter:blur(3px)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:26px 28px 23px;border-bottom:1px solid var(--line);gap:15px}.modal-header .eyebrow{font-size:8px;color:#91a083;margin-bottom:8px}.modal-header h2{font-size:23px;margin:0}.modal-body{padding:23px 28px}.modal-body>.muted{font-size:11px;line-height:1.7}.modal-body>label:first-child{margin-top:0}.modal-footer{padding:18px 28px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:11px;background:#fafbf8}.modal-footer>.button{font-size:12px}.detail-modal{max-width:740px}.detail-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.detail-top p{font-size:11px;margin-bottom:6px}.detail-balance{text-align:right;color:var(--green)}.detail-balance strong{display:block;font-size:35px;font-weight:500;line-height:1.2}.detail-balance span{font-size:10px;color:var(--muted)}.detail-actions{display:flex;gap:10px;flex-wrap:wrap}.history-heading{font-size:14px;margin:30px 0 16px;letter-spacing:-.2px}.detail-modal .table-container{margin:0 -28px -23px}.detail-modal th,.detail-modal td{padding-left:28px;padding-right:28px}.product-upload{display:flex;align-items:center;gap:17px;margin-top:10px}.product-upload>div:last-child{min-width:0;flex:1}.product-image-preview{width:91px;height:91px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px dashed #cfdac5;border-radius:9px;overflow:hidden;background:#f5f8f0;color:#a5b39b;font-size:27px}.product-image-preview img{width:100%;height:100%;object-fit:contain}.product-upload input[type=file]{border:0;background:none;padding-left:0!important;min-height:0}.product-upload .field-help{font-size:10px;margin-top:2px}.confirm-modal{max-width:420px}.confirm-modal .modal-header h2{font-size:20px}.confirm-modal .modal-body{padding-bottom:28px;font-size:13px;line-height:1.8;color:var(--muted)}.toast-region{position:fixed;bottom:26px;right:26px;z-index:100;max-width:420px;width:calc(100% - 40px);display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;gap:12px;background:var(--forest);color:#fff;padding:15px 19px;border-radius:11px;box-shadow:0 8px 28px #153e352a;font-size:12px;animation:toast-in .2s ease-out}.toast.error{background:#8c3c35}.toast>span:first-child{font-size:18px;color:#bfd89d}.toast.error>span:first-child{color:#ffe0cc}.toast button{margin-left:auto;border:0;background:transparent;color:#fff;font-size:21px;padding:0 3px}@keyframes toast-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.workspace{padding-right:65px;padding-left:65px}.product-photo{height:240px}}
@media(max-width:1200px){.app-shell{grid-template-columns:220px minmax(0,1fr)}.sidebar{width:220px;padding:30px 18px 23px}.sidebar .brand{font-size:17px}.workspace{padding:34px 28px 0}.workspace-header h1{font-size:26px}.metrics{gap:12px}.metric{padding:19px 16px}.metric>strong{font-size:26px}.metric>span{font-size:9px}.metric>small{font-size:8px}.points-layout{gap:20px;grid-template-columns:minmax(0,1.65fr) minmax(220px,1fr)}.helper-card{padding:23px}.dashboard-banner{padding:28px}.dashboard-banner h2{font-size:22px}.dashboard-banner .button{font-size:10px;padding:11px 12px}.products-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-layout{grid-template-columns:minmax(0,1.25fr) minmax(250px,1fr);gap:20px}.panel-header,.panel-body{padding:23px}.date-label{font-size:14px}.login-story{padding:45px}.login-side{padding:40px}.login-story h1{letter-spacing:-1.5px}}
@media(max-width:950px){.date-label{display:none}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric>span{font-size:10px}.metric>small{font-size:9px}.dashboard-banner{align-items:flex-start;flex-direction:column;gap:19px}.dashboard-banner .button{font-size:11px}.dashboard-banner:before{right:-10px}.points-layout{grid-template-columns:1fr}.points-aside{display:none}.settings-layout{grid-template-columns:1fr}.workspace-header{margin-bottom:27px}.security-panel{max-width:none}.login-story{padding:35px}.login-story h1{font-size:39px}.login-story-copy>p{font-size:12px}.story-badge{font-size:10px}.back-link{right:30px}.login-side{padding:35px}.login-card h2{font-size:26px}}
@media(max-width:720px){.app-shell{display:block}.sidebar{position:sticky;top:0;bottom:auto;width:100%;padding:15px 18px 0;border-right:0;border-bottom:1px solid var(--line);gap:14px}.sidebar .brand{font-size:17px;align-self:flex-start;gap:6px}.sidebar .brand-cross{transform:scale(.66);margin:-6px -5px -6px -6px}.sidebar .brand small{font-size:6px;margin-top:4px;letter-spacing:1.2px}.sidebar-bottom{position:absolute;right:14px;top:11px;padding:0;margin:0}.catalog-link{display:none}.operator{border:0;padding:0;margin:0;gap:8px}.operator>span:nth-child(2){display:none}.operator>.avatar{width:29px;height:29px;font-size:10px}.operator .icon-button{width:30px;height:32px}.nav-caption{display:none}nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.nav-item{border-radius:8px 8px 0 0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:10px 2px;min-height:51px;font-size:9px}.nav-item svg{width:18px;height:18px}.workspace{padding:28px 18px 0;display:flex;min-height:calc(100vh - 115px)}.workspace-header{margin-bottom:24px}.workspace-header h1{font-size:26px;letter-spacing:-.9px}.workspace-header .eyebrow{font-size:8px}.workspace-header .muted{font-size:11px;line-height:1.7}.page{min-height:0;flex:1}.dashboard-banner{padding:26px;border-radius:13px;margin-bottom:18px}.dashboard-banner h2{font-size:23px;max-width:260px;line-height:1.25}.dashboard-banner p{font-size:11px;max-width:330px}.dashboard-banner .eyebrow{font-size:7px}.metrics{gap:10px;margin-bottom:20px}.metric{padding:18px 16px;border-radius:10px}.metric>span{font-size:9px;margin-bottom:11px}.metric>strong{font-size:27px}.metric>small{font-size:8px;margin-top:9px}.panel-header{padding:20px}.panel-header h2{font-size:15px}.panel-header p{font-size:9px;line-height:1.6}.panel-header .button{font-size:10px;padding:7px 10px}.panel-header .mini-label{display:none}.panel-body{padding:22px 20px}.workspace-footer{padding:22px 0 18px;font-size:8px;margin-top:27px;gap:12px}.section-toolbar{align-items:stretch;gap:14px;flex-wrap:wrap;margin-bottom:20px}.section-toolbar>.search-form{max-width:none;flex-basis:100%;order:2}.section-toolbar>.button{font-size:11px;min-height:41px;padding:10px 14px}.section-toolbar:has(.search-form)>.button{margin-left:auto}.products-grid{gap:12px}.product-photo{height:160px}.product-copy{padding:15px}.product-copy h3{font-size:14px}.product-copy>p{font-size:9px;min-height:31px}.product-value{margin-top:13px;padding-top:13px}.product-value strong{font-size:20px}.product-actions{gap:10px;flex-wrap:wrap}.product-actions .button{font-size:10px;min-height:31px;padding:7px 9px}.product-actions .text-button{font-size:9px}.product-photo>.badge{left:10px;top:10px;font-size:8px}.tabs{padding:0 20px;gap:22px}.tab{font-size:11px;padding:18px 0 16px}.lookup-form{gap:8px}.lookup-form .button{padding:10px 12px;font-size:10px}.selected-customer{padding:13px;gap:10px}.selected-customer>div strong{font-size:11px}.customer-balance strong{font-size:21px}.points-preview{padding:17px}.points-preview>strong{font-size:28px}.points-preview>div>small{font-size:8px}.points-main .button.wide{font-size:11px}.empty-state{padding:40px 22px}.empty-state h3{font-size:16px}.empty-state p{font-size:11px}.settings-layout{gap:20px}.settings-layout .panel-body>.button{font-size:12px}.cover-preview{aspect-ratio:1.8}.login-screen{grid-template-columns:1fr}.login-story{min-height:auto;padding:26px 28px 33px}.login-story .brand{font-size:18px}.login-story .brand-cross{transform:scale(.8);margin:-3px}.login-story .brand small{font-size:6px;letter-spacing:1.3px;margin-top:6px}.login-story-copy{padding:39px 0 0}.login-story-copy>.eyebrow{font-size:8px;margin-bottom:13px}.login-story h1{font-size:34px;letter-spacing:-1px;margin-bottom:17px}.login-story-copy>p{font-size:11px;max-width:310px;line-height:1.8}.login-story:after{font-size:340px;right:-30px;bottom:-130px}.story-badge,.login-footnote{display:none}.login-side{padding:28px;align-items:stretch}.back-link{position:static;align-self:flex-end;margin-bottom:20px;font-size:10px}.login-card{max-width:440px;margin:0 auto;padding:15px 0 12px}.login-card>.eyebrow{font-size:8px;margin-bottom:10px}.login-card h2{font-size:25px}.login-card>.muted{font-size:12px;margin-bottom:23px}.login-card input{font-size:16px}.login-card .button{font-size:13px}.modal{max-height:calc(100dvh - 28px);width:calc(100% - 24px);border-radius:13px}.modal-header{padding:23px 20px 20px}.modal-header h2{font-size:21px}.modal-body{padding:20px}.modal-footer{padding:16px 20px;gap:9px}.modal-footer>.button{font-size:11px;padding:11px 14px}.modal-body input:not([type=checkbox]),.modal-body select,.modal-body textarea{font-size:16px}.form-row{gap:12px}.form-row label{font-size:11px}.detail-modal .table-container{margin:0 -20px -20px}.detail-modal th,.detail-modal td{padding-left:20px;padding-right:20px}.detail-balance strong{font-size:29px}.detail-actions{gap:8px}.detail-actions .button{font-size:10px}.product-upload{gap:12px}.product-image-preview{width:72px;height:80px}.product-upload input[type=file]{font-size:9px!important}.product-upload input[type=file]::file-selector-button{font-size:9px;padding:7px}.toast-region{right:15px;bottom:18px;width:calc(100% - 30px)}.toast{font-size:11px;padding:13px 16px}}
@media(max-width:390px){.workspace{padding-right:14px;padding-left:14px}.workspace-header h1{font-size:23px}.dashboard-banner{padding:23px}.nav-item{font-size:8px}.product-copy{padding:12px}.product-photo{height:137px}.product-category{font-size:7px}.product-copy h3{font-size:13px}.product-actions .text-button{font-size:8px}.form-row{grid-template-columns:1fr;gap:0}.form-row label{font-size:12px}.selected-customer{flex-wrap:wrap}.customer-balance{margin-left:auto}.points-preview{padding:14px;gap:10px}.tabs{gap:18px}.tab{font-size:10px}.workspace-footer span:last-child{max-width:170px;text-align:right}.login-story h1{font-size:30px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Acceso: solamente el formulario, centrado en todos los tamaños. */
#login-screen {
  min-height: 100vh;
  min-height: 100svh;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  place-items: center;
  padding: 24px;
  background: var(--paper);
}
#login-screen .login-card {
  width: 100%;
  max-width: 360px;
  margin: 0;
  padding: 30px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 14px;
}
#login-screen label:first-child { margin-top: 0; }
#login-screen input { font-size: 16px; }
#login-screen .button { margin-top: 24px; justify-content: center; }
.settings-tabs{display:flex;gap:5px;padding:5px;margin-bottom:22px;border:1px solid var(--line);border-radius:10px;background:white;overflow-x:auto}.settings-tabs button{border:0;background:transparent;color:var(--muted);border-radius:7px;padding:12px 20px;font-weight:600;white-space:nowrap}.settings-tabs button[aria-selected=true]{background:var(--green);color:white}#page-settings .settings-panel{margin-top:0;max-width:1000px}.printing-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}@media(max-width:480px){.settings-tabs button{padding:10px;font-size:12px}.settings-tabs{gap:2px}.settings-panel .form-row{grid-template-columns:1fr}}
.contact-panel{margin-top:24px}.contact-phone{display:flex;align-items:center;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#f5f7f2}.contact-phone>span{padding:0 12px;font-size:13px;white-space:nowrap}.contact-phone input{min-width:0;border:0;border-left:1px solid var(--line);border-radius:0}.contact-panel textarea{width:100%}.contact-panel h3{font-size:16px;margin:0 0 16px}.contact-panel button[type=submit]{margin-top:20px}
@media (max-width: 420px) {
  #login-screen { padding: 20px; }
  #login-screen .login-card { padding: 24px; }
}

/* =========================================================
   Ajuste tipográfico: lectura principal en 14px
   Se conserva una jerarquía menor para metadatos y rótulos.
   ========================================================= */
.button,
label,
.checkbox-field,
.form-error,
.notice,
.nav-item,
.catalog-link,
.operator strong,
.workspace-header .muted,
.dashboard-banner p,
.dashboard-banner .button,
.panel-header p,
table,
td strong,
.empty-state p,
.loading-state,
.search-form input,
.tab,
.lookup-form input,
.lookup-form .button,
.selected-customer>div strong,
.points-preview>div>span,
.points-main label,
.helper-card>p,
.example-box,
.security-panel input,
.modal-body>.muted,
.confirm-modal .modal-body,
.toast,
.contact-phone>span,
.settings-tabs button {
  font-size: 14px;
}

/* Controles y ayudas que siguen siendo secundarios, pero más legibles. */
.button.small,
.text-button,
.optional,
.field-help,
.story-badge,
.back-link,
.login-card>.muted,
.workspace-header .eyebrow,
.metric>span,
.metric>small,
.panel-header .mini-label,
th,
td small,
.badge,
.mini-label,
.toolbar-note,
.step-heading p,
.selected-customer>div small,
.customer-balance,
.points-preview>div>small,
.helper-card>.eyebrow,
.ratio-display>span,
.ratio-display>small,
.helper-card .text-button,
.aside-note,
.inline-help p,
.product-category,
.product-actions .text-button,
.cover-preview,
.modal-header .eyebrow,
.detail-top p,
.detail-balance span,
.product-upload .field-help,
.workspace-footer {
  font-size: 12px;
}

/* Campos principales. En móvil se mantienen en 16px para evitar zoom automático en iOS. */
input:not([type=checkbox]),
select,
textarea {
  font-size: 14px;
}

/* Títulos y subtítulos: se conserva una escala clara. */
.panel-header h2,
.step-heading h2,
.empty-state h3,
.product-copy h3,
.contact-panel h3 {
  font-size: 16px;
}

.history-heading {
  font-size: 16px;
}

@media (max-width: 720px) {
  .nav-item { font-size: 11px; }
  .workspace-header .muted,
  .dashboard-banner p,
  .panel-header p,
  .empty-state p,
  .product-copy>p,
  .toast { font-size: 14px; }

  .modal-body input:not([type=checkbox]),
  .modal-body select,
  .modal-body textarea,
  .login-card input {
    font-size: 16px;
  }
}


/* =========================================================
   AJUSTE TIPOGRÁFICO +1
   Un poco más grande que la versión anterior, conservando
   jerarquía entre texto, subtítulos y títulos.
   ========================================================= */

/* Texto general */
body{
  font-size:15px;
}

/* Texto principal de interfaz */
.button,
label,
.checkbox-field,
.form-error,
.notice,
.nav-item,
.catalog-link,
.operator strong,
.workspace-header .muted,
.dashboard-banner p,
.dashboard-banner .button,
.panel-header p,
table,
td strong,
.empty-state p,
.loading-state,
.search-form input,
.tab,
.lookup-form input,
.lookup-form .button,
.selected-customer>div strong,
.points-preview>div>span,
.points-main label,
.helper-card>p,
.example-box,
.security-panel input,
.modal-body>.muted,
.confirm-modal .modal-body,
.toast,
.contact-phone>span,
.settings-tabs button {
  font-size:15px;
}

/* Texto secundario: visible, pero por debajo del contenido principal */
.button.small,
.text-button,
.optional,
.field-help,
.story-badge,
.back-link,
.login-card>.muted,
.workspace-header .eyebrow,
.metric>span,
.metric>small,
.panel-header .mini-label,
th,
td small,
.badge,
.mini-label,
.toolbar-note,
.step-heading p,
.selected-customer>div small,
.customer-balance,
.points-preview>div>small,
.helper-card>.eyebrow,
.ratio-display>span,
.ratio-display>small,
.helper-card .text-button,
.aside-note,
.inline-help p,
.product-category,
.product-actions .text-button,
.cover-preview,
.modal-header .eyebrow,
.detail-top p,
.detail-balance span,
.product-upload .field-help,
.workspace-footer {
  font-size:13px;
}

/* Rótulos especialmente pequeños */
.eyebrow,
.nav-caption,
.brand small,
.operator small,
.login-hint,
.login-footnote {
  font-size:12px;
}

/* Campos */
input:not([type=checkbox]),
select,
textarea {
  font-size:15px;
}

/* Jerarquía general de títulos */
h1{font-size:34px}
h2{font-size:22px}
h3{font-size:19px}

/* Títulos principales de página */
.workspace-header h1{
  font-size:31px;
}

/* Subtítulos / encabezados de bloque */
.panel-header h2{
  font-size:18px;
}

.step-heading h2{
  font-size:17px;
}

.empty-state h3,
.product-copy h3,
.contact-panel h3,
.history-heading{
  font-size:18px;
}

/* Tarjetas, métricas y auxiliares */
.metric>strong{
  font-size:31px;
}

.helper-card h3{
  font-size:24px;
}

.product-value{
  font-size:13px;
}

.product-value strong{
  font-size:23px;
}

.customer-balance strong{
  font-size:23px;
}

.points-preview>strong{
  font-size:32px;
}

/* Modales */
.modal-header h2{
  font-size:24px;
}

.confirm-modal .modal-header h2{
  font-size:21px;
}

/* Dashboard */
.dashboard-banner h2{
  font-size:25px;
}

/* Responsive: que móvil no vuelva a quedar demasiado chico */
@media(max-width:720px){
  body{font-size:15px}

  .nav-item{
    font-size:12px;
  }

  .workspace-header h1{
    font-size:28px;
  }

  .workspace-header .eyebrow,
  .dashboard-banner .eyebrow{
    font-size:11px;
  }

  .workspace-header .muted,
  .dashboard-banner p,
  .panel-header p,
  .empty-state p,
  .product-copy>p,
  .toast{
    font-size:14px;
  }

  .panel-header h2{
    font-size:17px;
  }

  .product-copy h3{
    font-size:16px;
  }

  .product-category,
  .product-actions .text-button,
  .product-photo>.badge,
  .points-preview>div>small,
  .metric>span,
  .metric>small{
    font-size:11px;
  }

  .modal-body input:not([type=checkbox]),
  .modal-body select,
  .modal-body textarea,
  .login-card input{
    font-size:16px;
  }
}

@media(max-width:390px){
  .nav-item{font-size:11px}
  .workspace-header h1{font-size:26px}
  .product-copy h3{font-size:15px}
  .product-category{font-size:10px}
  .tab{font-size:12px}
}

