/* PARISANI V5 | Mercería exclusiva · tema futurista azul y cian.
   Capa visual sobre V4; datos, PIN y flujos funcionales no se alteran. */
:root{
 color-scheme:dark;
 --bg:#06142c;--panel:#0c2144;--text:#e9f5ff;--muted:#a7bdd8;
 --line:rgba(87,163,255,.28);--navy:#071329;--blue:#148aff;--mint:#04dfed;
 --wash:#0c2549;--shadow:0 14px 42px rgba(0,5,32,.27);
 --cyan:#03dff7;--royal:#0769fb;
}
body{background:#06142c;color:var(--text)}
::selection{background:#0e84df;color:#fff}
a{color:#70caff}
h1,h2,h3{color:#f5faff}
.muted,small,.small{color:var(--muted)}
button,input,select,textarea{font-family:inherit}
input,select,textarea{background:#102a51;color:#eef7ff;border:1px solid rgba(106,173,251,.4);border-radius:11px}
input::placeholder,textarea::placeholder{color:#829cbd}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(0,220,255,.6);outline-offset:1px;border-color:#00c8f3}
button:focus-visible,a:focus-visible{outline:2px solid #44dfff;outline-offset:3px}
.btn{border-radius:11px;transition:transform .14s,box-shadow .14s,background .14s}
.btn:not(:disabled):hover{transform:translateY(-1px)}
.btn.primary{background:linear-gradient(106deg,#0763fb,#07ceef);box-shadow:0 5px 23px rgba(0,117,255,.25);border-color:rgba(37,204,255,.36);color:#fff}
.btn.primary:hover{box-shadow:0 9px 28px #0079ff55}
.btn.green{background:linear-gradient(115deg,#067a9e,#00b7be);color:#fff;border-color:#008fae}
.btn.outline,.btn.ghost{background:#102951;border:1px solid rgba(93,165,254,.4);color:#d5edff}
.btn.outline:hover,.btn.ghost:hover{background:#173867}
.panel,.stat,.request-card,.group-card,.batch-row,.report-card{background:linear-gradient(150deg,rgba(22,50,96,.98),rgba(8,25,56,.99));border:1px solid var(--line);color:var(--text);box-shadow:var(--shadow)}
.panel{border-radius:19px}
.subtle-panel,.info-strip,.supplier-hint,.report-comments,.vendor-send,.price-note{background:#102e58;color:#b8d8f9;border-color:rgba(77,145,237,.28)}
.price-note>p,.report-comment small,.report-card .section-head p{color:#a4c4e9}
.price-offer,.report-comment{border-color:var(--line)}
.price-offer.selected,.price-status.better{background:#083d52;color:#a6f9db}
.price-status.higher{background:#543d1c;color:#ffdda0}
.price-status.same{background:#15386a;color:#b8d5ff}
.supplier-prices,.catalog-price{background:#0b3559;color:#bad6ed}
.quick-prices{color:#a9d0ef;border-color:var(--line)}
.catalog-price>b{color:#67c8ff}
.history-row,.catalog-row,.supplier-choice{border-color:var(--line)}
.history-row small,.catalog-row small,.catalog-row p,.request-name p,.group-head p,.supplier-hint{color:var(--muted)}
.request-icon,.vendor-icon,.history-check{background:#0b3969;color:#57d6ff}
.group-head{background:#133460}
.group-items,.group-product,.group-product small{color:#d8e9ff}
.pill.info{background:#103d70;color:#91d9ff}.pill.warning{background:#574320;color:#f7d58c}.pill.neutral{background:#1f3552;color:#bfd3e6}
.bar-track,.bar-progress,.bar-progress::-webkit-progress-bar{background:#0c3159}
.bar-fill,.bar-progress::-webkit-progress-value,.bar-progress::-moz-progress-bar{background:linear-gradient(90deg,#0762ff,#08d8fc)}
.bar-fill.mint,.bar-progress.mint::-webkit-progress-value,.bar-progress.mint::-moz-progress-bar{background:linear-gradient(90deg,#00a6b5,#00e5d6)}
.sidebar{background:linear-gradient(180deg,#06152e,#081d3d 60%,#061328);border-right:1px solid #184372;color:#e8f4ff}
.brand-symbol,.login-icon{background:linear-gradient(140deg,#00d8ff,#0051ff);box-shadow:0 0 22px #037aff55;border:1px solid #4accff55}
.brand small,.business-label,.profile small{color:#93b3db}
.nav-link{color:#b2cce9}
.nav-link:hover{background:#123564;color:#fff}
.nav-link.active{background:linear-gradient(96deg,#0a58c9,#076eaf 90%);color:#fff;box-shadow:inset 3px 0 0 #1af4ff,0 8px 25px #0653de33}
.side-bottom{border-color:#173f6a}
.avatar{background:#1264b9}
.topbar{background:linear-gradient(108deg,#091c3e,#122f5b);border-color:rgba(82,164,244,.27)}
.topbar .eyebrow{color:#6dc9ff}.topbar h1{color:#fff}
.main{background:radial-gradient(ellipse at 80% 0,#123769 0,transparent 42%),#06142c}
.content{position:relative}
.online-dot{background:#05e7d6;box-shadow:0 0 12px #07edc8}
.footer{color:#8eafd0}
.modal{background:linear-gradient(140deg,#14315b,#0c2044);border:1px solid #2878b9;color:#eff8ff}
.modal-head p{color:#a6c1da}.icon-btn{background:#1d4672;color:#c7e7ff}
.overlay{background:rgba(1,8,25,.82);backdrop-filter:blur(8px)}
.toast{background:#075685;color:#fff}
.mobile-nav,.mobile-menu{background:#0b2146;border-color:#245481;color:#dceeff}
.mobile-nav button,.mobile-menu-links button{color:#c0d9f4}.mobile-menu-links button{background:#113260}
.mobile-nav button.active{color:#00e1ff}
/* Acceso futurista: misma estructura que el diseño aprobado. */
.login-shell{
 background:radial-gradient(ellipse at 81% 10%,rgba(45,131,255,.38),transparent 39%),
             linear-gradient(160deg,rgba(3,12,33,.1),rgba(2,14,42,.22)),
             url('/static/parisani-bg.svg') center/cover no-repeat;
 position:relative;min-height:100vh;padding:clamp(26px,5vw,65px) 18px;
 overflow:hidden;isolation:isolate;
}
.login-card{
 position:relative;width:min(565px,100%);padding:clamp(27px,5vw,55px);
 border-radius:28px;border:1px solid rgba(75,186,255,.84);
 background:linear-gradient(145deg,rgba(29,67,125,.77),rgba(4,23,57,.94) 55%,rgba(20,65,132,.79));
 box-shadow:0 0 0 1px rgba(3,226,255,.10),0 20px 65px rgba(0,5,30,.65),25px 15px 95px rgba(0,116,255,.26),inset 0 1px 25px rgba(126,203,255,.11);
 backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);color:#f4faff;
}
.login-card::before{content:'';position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;background:radial-gradient(ellipse at 91% 1%,rgba(74,218,255,.42),transparent 45%);opacity:.5}
.login-card>*{position:relative}
.login-icon{width:58px;height:58px;border-radius:16px;font-size:34px;margin-bottom:23px}
.login-card .eyebrow{font-size:11px;font-weight:700;letter-spacing:2.6px;color:#afc8eb;margin:0 0 9px}
.login-card h1{font-weight:800;font-size:clamp(34px,5vw,46px);line-height:1.10;letter-spacing:-1.25px;margin:0 0 16px;color:#fff}
.login-card h1 span{color:#00d4f5;font-size:clamp(30px,4.5vw,40px);margin-top:4px;text-shadow:0 0 16px #008dff44}
.login-card>.muted{color:#afc6e7;font-size:clamp(14px,1.5vw,17px);line-height:1.48;margin-bottom:27px}
.login-card form.stack{gap:19px}
.login-card label,.login-card .field-caption{font-size:13px;font-weight:700;color:#d4e7fc}
.login-card .business-only{display:grid;gap:8px}
.login-card .business-fixed,.login-card .login-input{
 min-height:57px;display:flex;align-items:center;gap:14px;width:100%;
 background:linear-gradient(100deg,rgba(5,25,58,.78),rgba(19,58,112,.69));
 border:1px solid rgba(100,175,254,.63);border-radius:12px;padding:0 17px;color:#e9f5ff;
 box-shadow:inset 0 1px 9px rgba(52,117,200,.11);
}
.login-card .business-icon,.login-card .login-input-icon{font-size:23px;line-height:1;width:24px;text-align:center;color:#46d4ff}
.login-card .business-fixed strong{font-size:15px;flex:1}
.login-card .business-lock{font-size:14px;color:#4de1ef}
.login-card .login-label{display:grid;gap:8px}
.login-card .login-input{padding-right:0}
.login-card .login-input input{border:0;background:transparent;border-radius:0;color:#fff;outline:none;flex:1;min-width:0;height:55px;font-size:15px;padding:0 15px 0 0}
.login-card .login-input input:focus{outline:none}
.login-card .login-input:focus-within{border-color:#1be1ff;box-shadow:0 0 0 3px #00d5ff18}
.login-card .btn{min-height:55px;font-size:14px;font-weight:750}
.login-card .btn.primary{background:linear-gradient(107deg,#0463fa 6%,#07d0e9 97%);border:1px solid #0cd5ff;box-shadow:0 7px 27px #0086ff44}
.login-card .login-submit{display:flex;justify-content:center;align-items:center;position:relative}
.login-card .login-submit span{position:absolute;right:17px;font-size:26px;font-weight:400}
.login-card .btn.outline{background:linear-gradient(100deg,rgba(25,58,109,.65),rgba(21,73,138,.58));border-color:#5598dc;color:#d3e7fc}
.login-card .login-foot{color:#89a8ca;margin-top:20px;font-size:11px}
.login-card p,.login-card h1,.login-card label{word-break:normal}
/* Dentro del panel, sin fondo blanco: todo coherente con Finance Center. */
@media(max-width:760px){
 .login-shell{padding:24px 14px;min-height:100svh;background-position:center center}
 .login-card{border-radius:23px;padding:28px 22px;width:min(510px,100%)}
 .login-card .eyebrow{font-size:10px;letter-spacing:1.8px}
 .login-card>.muted{margin-bottom:20px}
 .login-card .business-fixed,.login-card .login-input{min-height:54px}
 .login-card .login-input input{height:52px}
 .sidebar{display:none}
 .stat{background:#102954}
 .topbar{background:#0c234a}
}
@media(prefers-reduced-motion:reduce){.btn{transition:none}}
/* PARISANI 5.2 | Login compacto, exclusivamente Merceria PARISANI.
   Solo se aplica al acceso habitual; formularios de alta y panel interior intactos. */
@media (min-width: 761px) and (max-height: 1000px) {
 .login-shell:has(#login) { min-height: 100dvh; padding: 12px 16px; overflow-x: hidden; overflow-y: auto; }
 .login-card:has(#login) { width: min(520px, 100%); padding: 22px 30px; border-radius: 22px; }
 .login-card:has(#login) .login-icon { width: 42px; height: 42px; border-radius: 12px; font-size: 24px; margin-bottom: 9px; }
 .login-card:has(#login) .eyebrow { font-size: 10px; letter-spacing: 1.7px; margin-bottom: 4px; }
 .login-card:has(#login) h1 { font-size: 32px; line-height: 1.04; margin-bottom: 9px; }
 .login-card:has(#login) h1 span { font-size: 28px; margin-top: 2px; }
 .login-card:has(#login) > .muted { font-size: 13px; line-height: 1.32; margin-bottom: 13px; }
 .login-card:has(#login) form.stack { gap: 10px; }
 .login-card:has(#login) .business-only,
 .login-card:has(#login) .login-label { gap: 5px; }
 .login-card:has(#login) label,
 .login-card:has(#login) .field-caption { font-size: 12px; }
 .login-card:has(#login) .business-fixed,
 .login-card:has(#login) .login-input { min-height: 43px; padding-left: 12px; padding-right: 12px; }
 .login-card:has(#login) .login-input { padding-right: 0; }
 .login-card:has(#login) .login-input input { height: 42px; font-size: 13px; }
 .login-card:has(#login) .business-fixed strong { font-size: 13px; }
 .login-card:has(#login) .business-icon,
 .login-card:has(#login) .login-input-icon { font-size: 19px; width: 22px; }
 .login-card:has(#login) .btn { min-height: 43px; padding: 9px 13px; font-size: 13px; }
 .login-card:has(#login) .login-submit span { right: 15px; font-size: 21px; }
 .login-card:has(#login) .login-foot { margin-top: 10px; font-size: 10px; }
}
@media (max-width: 760px) and (max-height: 850px) {
 .login-shell:has(#login) { min-height: 100dvh; padding: 10px 12px; overflow-x: hidden; overflow-y: auto; }
 .login-card:has(#login) { padding: 18px 20px; border-radius: 20px; }
 .login-card:has(#login) .login-icon { width: 40px; height: 40px; font-size: 23px; margin-bottom: 9px; }
 .login-card:has(#login) .eyebrow { font-size: 9px; letter-spacing: 1.5px; margin-bottom: 5px; }
 .login-card:has(#login) h1 { font-size: 30px; margin-bottom: 8px; line-height: 1.06; }
 .login-card:has(#login) h1 span { font-size: 25px; }
 .login-card:has(#login) > .muted { font-size: 12px; line-height: 1.33; margin-bottom: 12px; }
 .login-card:has(#login) form.stack { gap: 9px; }
 .login-card:has(#login) .business-only,
 .login-card:has(#login) .login-label { gap: 5px; }
 .login-card:has(#login) .business-fixed,
 .login-card:has(#login) .login-input { min-height: 44px; padding-left: 12px; }
 .login-card:has(#login) .login-input input { height: 43px; font-size: 13px; }
 .login-card:has(#login) .btn { min-height: 43px; font-size: 12px; padding: 8px 12px; }
 .login-card:has(#login) .login-foot { margin-top: 9px; font-size: 10px; }
}

/* PARISANI V5.3: primera carga de compras y listas por proveedor */
.first-purchase{display:flex;align-items:center;justify-content:space-between;gap:20px;border-color:#13d8f4;background:linear-gradient(110deg,#07365e,#0d2753)}
.first-purchase p{margin:4px 0 0;color:#bbd6f4}
.initial-import{max-width:1240px;margin-inline:auto}
.initial-groups{display:grid;gap:20px}
.initial-group{padding:20px;border:1px solid #2675bf;border-radius:16px;background:#0a244b}
.initial-group>.section-head{margin-bottom:10px}
.initial-items{display:grid;gap:10px;margin:15px 0}
.initial-row{display:grid;grid-template-columns:minmax(200px,2.3fr) minmax(100px,.75fr) minmax(110px,1fr) minmax(140px,1fr) minmax(160px,1.4fr) 45px;align-items:end;gap:10px;border:1px solid #235282;padding:12px;border-radius:12px;background:#102e58}
.initial-row label{min-width:0;font-size:11px}
.initial-row input,.initial-row select{width:100%;min-height:42px}
.initial-remove{height:42px;min-height:42px;padding:6px}
.vendor-item{padding:14px 12px;border:1px solid #235582;border-radius:12px;background:#0b2a52;display:grid;gap:9px;margin-bottom:12px}
.vendor-check{display:flex;align-items:center;gap:10px;color:#e2f7ff}
.vendor-check input{width:20px;height:20px;min-height:20px;flex:0 0 auto}
.vendor-check b{font-size:14px}
.vendor-check small{margin-left:auto;text-align:right}
.vendor-edit{display:flex;align-items:center;gap:12px}
.vendor-edit label{max-width:190px}
.vendor-edit input{max-width:140px;min-height:40px}
.vendor-group>.btn{margin:2px 0 16px 13px}
.vendor-group .vendor-send{margin-top:12px}
.vendor-group .vendor-actions .btn{min-width:145px}
.logout-top{display:inline-flex;align-items:center;white-space:nowrap}
@media(max-width:1200px){.initial-row{grid-template-columns:repeat(3,minmax(0,1fr))}.initial-name,.initial-note{grid-column:span 2}}
@media(max-width:760px){.first-purchase{flex-direction:column;align-items:stretch}.initial-group{padding:13px}.initial-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.initial-name,.initial-note{grid-column:1/-1}.initial-row .initial-remove{grid-column:2;justify-self:end}.vendor-check{flex-wrap:wrap}.vendor-check small{width:100%;margin-left:32px;text-align:left}.vendor-group .vendor-actions .btn{min-width:0;flex:1 1 100%}.top-actions{gap:5px}.logout-top{font-size:11px;padding:7px 9px!important}}

/* V5.4.1 - personal accesible y menu largo con scroll independiente */
.sidebar{min-height:0;overflow:hidden}
.sidebar .side-nav{min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding-right:4px;scrollbar-width:thin;scrollbar-color:#397bb5 transparent}
.sidebar .brand,.sidebar .business-label,.sidebar .side-bottom{flex-shrink:0}
.staff-shortcut{border:1px solid #2ac6e9!important;background:rgba(5,180,225,.12)!important;color:#dffaff!important;font-weight:800}
.staff-shortcut:hover{background:rgba(5,180,225,.28)!important}
@media(max-width:760px){.staff-shortcut{font-size:10px;padding:7px 8px!important;min-height:34px}.topbar .top-actions{flex-wrap:wrap;justify-content:flex-end}}
