:root{font-family:Inter,system-ui,-apple-system,sans-serif;color:#17202a;background:#f3f6f8}*{box-sizing:border-box}body{margin:0;min-height:100vh;overflow:hidden}header{height:86px;background:#123c52;color:#fff;display:flex;justify-content:space-between;align-items:center;padding:12px 28px}.brand h1{margin:0;font-size:25px}.brand span{color:#a8d9ee;font-size:13px}.header-right{display:flex;align-items:center;gap:12px}#clock{font-size:15px}.header-button{border:1px solid #6f9bad;background:#214f64;color:#fff;padding:8px 12px}.header-button:hover{background:#2d637b}main{display:grid;grid-template-columns:350px 1fr;gap:16px;padding:16px;height:calc(100vh - 86px);min-height:0}aside,.sale{background:#fff;border:1px solid #dbe3e8;border-radius:10px;padding:16px;box-shadow:0 3px 12px #123c5210;min-height:0}.actions{overflow:auto}.panel-heading,.sale-title{display:flex;align-items:center;justify-content:space-between}.panel-heading{font-weight:700;color:#123c52;border-bottom:1px solid #e4ebee;padding-bottom:12px;margin-bottom:16px}.status{font-size:11px;color:#6b7e86;font-weight:400}.status.ready{color:#168451}.status.warning{color:#b56a00}label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#57717d;margin:4px 0 7px}.selector{display:flex;gap:7px;margin-bottom:18px}input,select,button{font:inherit;border:1px solid #b8c8d0;border-radius:6px;padding:10px;background:#fff}input,select{width:100%}button{cursor:pointer;background:#edf4f7}button:hover{filter:brightness(.97)}.primary{background:#168451;color:#fff;border-color:#168451}.buttons{display:grid;gap:9px;margin-top:24px}.search-hint{color:#6b7e86;font-size:11px;line-height:1.45;margin-top:-10px}.sale{display:flex;flex-direction:column;overflow:hidden}.sale-title{border-bottom:1px solid #e4ebee;padding-bottom:14px;margin-bottom:12px;flex:0 0 auto}.sale-title strong{font-size:20px}.sale-title small{display:block;color:#6b7e86;margin-top:4px}.sale-actions{display:flex;gap:8px}.cart-scroll{overflow:auto;min-height:0;flex:1;position:relative}table{width:100%;border-collapse:collapse}th,td{text-align:left;border-bottom:1px solid #e8eef0;padding:13px 9px}th{font-size:12px;text-transform:uppercase;color:#66808b;position:sticky;top:0;background:#fff;z-index:1}td:nth-child(1),td:nth-child(3),td:nth-child(4){text-align:center}td:nth-child(4){font-weight:700}.qty{width:80px}.remove{font-size:22px;padding:3px 10px}.muted{color:#6b7e86}.empty-cart{text-align:center;color:#70858f;padding:60px 20px}.totals{margin-top:12px;padding:15px 4px 4px;display:flex;justify-content:space-between;align-items:end;border-top:2px solid #123c52;flex:0 0 auto}.totals small{display:block;color:#6b7e86;text-align:right}.totals strong{font-size:28px}.recent{margin-top:18px;overflow:auto;max-height:230px}.recent table{font-size:13px}.shortcut-help{color:#6b7e86;font-size:11px;line-height:1.5;margin-top:18px}kbd{border:1px solid #b8c8d0;border-radius:4px;padding:1px 4px;font-size:10px;background:#fff;color:#57717d}.toast{position:fixed;right:24px;bottom:24px;opacity:0;transform:translateY(14px);pointer-events:none;padding:14px 18px;border-radius:8px;color:#fff;transition:.22s;box-shadow:0 8px 20px #123c5230}.toast.show{opacity:1;transform:translateY(0)}.toast.success{background:#168451}.toast.error{background:#bd3b38}.toast.info{background:#123c52}dialog{border:0;border-radius:12px;width:min(600px,calc(100vw - 30px));padding:0;box-shadow:0 18px 50px #123c5250}dialog::backdrop{background:#123c5266}.dialog-body{padding:16px 18px 18px}.dialog-heading{display:flex;justify-content:space-between;align-items:center;padding:18px;border-bottom:1px solid #e4ebee;font-size:18px}.dialog-heading small{display:block;font-size:12px;font-weight:400;color:#6b7e86;margin-top:4px}.dialog-heading button{font-size:22px;padding:2px 10px}.lookup-results,.price-results{max-height:55vh;overflow:auto;margin-top:12px}.lookup-row{display:flex;width:100%;justify-content:space-between;align-items:center;gap:14px;text-align:left;background:#fff;border:0;border-bottom:1px solid #e8eef0;border-radius:0;padding:13px 4px}.lookup-row:hover{background:#f2f7f9}.lookup-row span{min-width:0}.lookup-row b,.lookup-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lookup-row small{color:#6b7e86;margin-top:4px}.lookup-row strong{color:#12628a;white-space:nowrap;font-size:13px}.price-result{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid #e8eef0}.price-result small{display:block;color:#6b7e86;margin-top:4px}@media(max-width:900px){body{overflow:auto}header{height:auto;min-height:76px;padding:12px 16px}.header-right #clock{display:none}main{grid-template-columns:1fr;height:auto;min-height:calc(100vh - 76px);padding:10px}.actions{order:2;max-height:none}.sale{min-height:600px}.sale-actions button:first-child{display:none}}@media(max-width:560px){.sale-title{align-items:flex-start;gap:8px;flex-direction:column}.sale-actions{width:100%}.sale-actions button{flex:1}.totals strong{font-size:23px}}

/* Ambientación de papelería y microinteracciones */
header{position:relative;overflow:visible;background:linear-gradient(115deg,#123c52 0%,#164d64 58%,#245e72 100%)}
header::after{content:'✦  ✎  ✿  ✂  ✦';position:absolute;right:190px;top:8px;color:#a8d9ee22;font-size:32px;letter-spacing:18px;transform:rotate(-7deg);animation:paper-float 8s ease-in-out infinite}
.brand,.header-right{position:relative;z-index:1}.header-right{z-index:40}.brand img{transition:transform .25s ease}.brand img:hover{transform:rotate(-2deg) scale(1.03)}
main{background:radial-gradient(circle at 90% 10%,#e4f4ee 0,transparent 28%),#f3f6f8}
.actions{position:relative;isolation:isolate}.actions::before{content:'✏️  Tu papelería, más fácil';display:block;margin:-4px -2px 18px;padding:12px 14px;border-radius:8px;background:linear-gradient(110deg,#fff6cf,#e5f4ed);color:#315b6d;font-size:13px;font-weight:700;box-shadow:inset 0 0 0 1px #f0dfaa;animation:soft-pulse 4s ease-in-out infinite}
.actions .buttons .primary{box-shadow:0 7px 14px #1684512b;transition:transform .2s ease,box-shadow .2s ease}.actions .buttons .primary:hover{transform:translateY(-2px);box-shadow:0 10px 18px #1684513b}
.sale{border-top:4px solid #f2bd4b;box-shadow:0 8px 24px #123c5214}.sale-title strong{color:#123c52}.sale-title::before{content:'🛒';font-size:24px;margin-right:10px}.sale-title>div:first-child{display:flex;align-items:center}.empty-cart{margin:30px auto;max-width:380px;border:1px dashed #b9d1d8;border-radius:12px;background:#f8fcfc;padding:42px 20px;animation:empty-breathe 4s ease-in-out infinite}.totals strong{color:#123c52}
.help-center{background:linear-gradient(135deg,#fff 0%,#f8fbfc 100%);border:1px solid #dbe3e8;border-radius:14px;overflow:hidden;box-shadow:0 8px 24px #123c5214}.help-title{padding:28px 32px!important;background:linear-gradient(110deg,#123c52,#1c566a);color:#fff}.help-title h2{color:#fff!important;margin:0!important;font-size:30px!important}.help-title p{color:#c8e3eb!important;margin:7px 0 0!important}.help-title::after{content:'📚  Guía rápida';margin-left:auto;padding:10px 14px;border:1px solid #a8d9ee66;border-radius:20px;color:#e7f7fa;font-size:13px;font-weight:700}.help-layout{display:grid;grid-template-columns:245px minmax(0,1fr);min-height:calc(100vh - 245px)}.help-layout aside{padding:18px 12px;background:#f0f6f7;border-right:1px solid #dbe3e8;overflow:auto}.help-layout aside button{display:block;width:100%;margin:6px 0;text-align:left;border:1px solid transparent;background:transparent;color:#315b6d;padding:12px 13px;transition:all .2s ease}.help-layout aside button:hover{background:#fff;border-color:#c9dce2;transform:translateX(3px)}.help-layout aside button.active{background:#fff;border-color:#e8c7df;color:#704f68;box-shadow:0 4px 12px #704f6812;font-weight:700}.help-manual-content{background:#fff!important;padding:44px 56px!important}.help-manual-content small{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border-radius:20px;background:#f6eaf3;color:#704f68!important;letter-spacing:.04em}.help-manual-content h2{font-size:34px!important;margin:18px 0 22px!important}.help-chapter-body{font-size:18px!important;line-height:1.7!important;max-width:850px}.help-navigation{margin-top:44px!important}.help-navigation button{background:#fff!important;transition:transform .2s ease,background .2s ease}.help-navigation button:not(:disabled):hover{transform:translateY(-2px);background:#f8f1f7!important}
@keyframes paper-float{0%,100%{transform:translateY(0) rotate(-7deg)}50%{transform:translateY(8px) rotate(-3deg)}}@keyframes soft-pulse{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes empty-breathe{0%,100%{box-shadow:0 0 0 0 #a8d9ee00}50%{box-shadow:0 0 0 8px #a8d9ee22}}
@media(max-width:760px){header::after{display:none}.help-title::after{display:none}.help-layout{grid-template-columns:1fr}.help-layout aside{border-right:0;border-bottom:1px solid #dbe3e8;display:flex;gap:6px;overflow:auto}.help-layout aside button{min-width:180px}.help-manual-content{padding:28px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

.shortcut-help-dialog{width:min(650px,calc(100vw - 30px));border:1px solid #dbe3e8;border-radius:18px;overflow:hidden;background:#fff}.shortcut-help-heading{display:flex;align-items:center;gap:14px;padding:24px 26px;background:linear-gradient(115deg,#123c52,#1d5b6c);color:#fff}.shortcut-help-heading h2{margin:0;font-size:23px}.shortcut-help-heading p{margin:4px 0 0;color:#c6e4eb;font-size:13px}.shortcut-help-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#f2bd4b;color:#123c52;font-size:28px;font-weight:800}.shortcut-help-close{margin-left:auto;border:1px solid #ffffff66;background:transparent;color:#fff;font-size:27px;padding:2px 11px}.shortcut-help-close:hover{background:#ffffff18}.shortcut-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px;padding:24px 26px 12px}.shortcut-card{display:flex;align-items:center;gap:12px;min-height:58px;padding:11px 13px;border:1px solid #dbe7ea;border-radius:10px;background:#f8fbfb;transition:transform .2s,box-shadow .2s}.shortcut-card:hover{transform:translateY(-2px);box-shadow:0 7px 15px #123c5214}.shortcut-card kbd{flex:0 0 auto;min-width:52px;text-align:center;padding:6px 7px;border:1px solid #d2b0cb;border-radius:7px;background:#f7edf5;color:#704f68;font-size:11px;font-weight:800}.shortcut-card span{color:#405b65;font-size:13px;line-height:1.3}.shortcut-help-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 26px 22px;color:#6b7e86;font-size:11px}.shortcut-help-ok{padding:10px 18px;white-space:nowrap}@media(max-width:560px){.shortcut-grid{grid-template-columns:1fr;padding:18px 18px 8px}.shortcut-help-heading{padding:20px}.shortcut-help-footer{align-items:flex-start;flex-direction:column;padding:14px 20px 20px}.shortcut-help-ok{width:100%}}

/* Inicio de sesión: identidad visual de papelería */
.login-screen{background:radial-gradient(circle at 12% 18%,#f2bd4b22 0 90px,transparent 91px),radial-gradient(circle at 88% 78%,#16845125 0 140px,transparent 141px),linear-gradient(135deg,#0d3348 0%,#123c52 52%,#1e596a 100%)!important;overflow:hidden}
.login-screen::before{content:'✎   ✂   ✦   📚   ✦   ✏';position:absolute;inset:12% -4% auto;color:#d9f0f333;font-size:42px;letter-spacing:18px;transform:rotate(-6deg);animation:login-doodle 14s ease-in-out infinite;white-space:nowrap}
.login-screen::after{content:'PAPELERÍA  •  PUNTO DE VENTA  •  FACTURACIÓN';position:absolute;bottom:34px;left:0;right:0;text-align:center;color:#c7e6ed70;font-size:11px;font-weight:700;letter-spacing:.22em}
.login-card{position:relative;width:min(430px,calc(100vw - 32px))!important;padding:38px 38px 34px!important;border:1px solid #ffffffaa!important;border-radius:22px!important;box-shadow:0 28px 80px #071e2a70,0 0 0 8px #ffffff0d!important;animation:login-card-in .65s cubic-bezier(.2,.8,.2,1) both}
.login-card::before{content:'PAPERTECH  /  CAJA';display:inline-block;margin-bottom:16px;padding:6px 11px;border-radius:99px;background:#f6e9a9;color:#725b24;font-size:10px;font-weight:800;letter-spacing:.12em}
.login-card::after{content:'';position:absolute;left:12%;right:12%;bottom:-7px;height:7px;border-radius:0 0 14px 14px;background:#f2bd4b;z-index:-1;opacity:.8}
.login-card img{width:260px!important;margin:0 auto 22px!important;filter:drop-shadow(0 8px 12px #123c5230)}
.login-card h2{font-size:30px!important;letter-spacing:-.02em;margin:3px 0 8px!important;color:#17202a}.login-card p{font-size:15px;margin:0 0 24px!important;color:#6b7e86}
.login-card form{gap:12px!important}.login-card input,.login-card select{min-height:52px!important;border:1px solid #b8cbd2!important;border-radius:10px!important;padding:13px 15px!important;background:#fbfdfd!important;transition:border-color .2s,box-shadow .2s,transform .2s}.login-card input:focus,.login-card select:focus{border-color:#168451!important;box-shadow:0 0 0 4px #1684511c!important;outline:0;transform:translateY(-1px)}
.login-card form button{min-height:54px!important;border-radius:10px!important;font-size:17px!important;font-weight:800!important;box-shadow:0 9px 18px #16845130;transition:transform .2s,box-shadow .2s}.login-card form button:hover{transform:translateY(-2px);box-shadow:0 12px 22px #16845140}.login-error{margin-top:14px!important}
@keyframes login-card-in{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes login-doodle{0%,100%{transform:translateX(-2%) rotate(-6deg)}50%{transform:translateX(5%) rotate(-2deg)}}
@media(max-width:560px){.login-card{padding:30px 22px 28px!important}.login-card img{width:220px!important}.login-screen::before{font-size:25px;letter-spacing:8px}.login-screen::after{font-size:8px;letter-spacing:.12em;bottom:18px}}

/* Leyenda institucional del sistema */
.login-card{padding-bottom:66px!important}
.login-card::before{content:'Software desarrollado por iTech4you.mx · Todos los derechos reservados · 2026';position:absolute;left:20px;right:20px;bottom:18px;margin:0;padding:0;background:transparent;color:#71838a;font-size:10px;font-weight:600;letter-spacing:.01em;text-align:center}
.login-card::before{content:none}
.pos-credit{display:none!important}
.module-menu button[onclick*="showModule('ayuda'"]{display:none!important}
.login-credit{position:absolute;left:22px;right:22px;bottom:16px;display:flex;align-items:center;justify-content:center;gap:7px;color:#71838a;font-size:10px;font-weight:600;text-align:left}.login-credit img{width:25px!important;height:25px!important;margin:0!important;opacity:.8;filter:none!important}.login-credit a{color:#71838a;text-decoration:none;transition:color .2s}.login-credit a:hover{color:#168451;text-decoration:underline}
