:root{
  --bg:#f4f7f8;--panel:#fff;--ink:#12211f;--muted:#687773;--line:#dfe8e5;
  --brand:#0f766e;--brand-dark:#0b5f59;--brand-soft:#e8f5f3;--nav:#102421;--nav-soft:#18342f;
  --ok:#157347;--warn:#a86600;--danger:#b42318;--blue:#2457a6;
  --shadow:0 16px 42px rgba(21,45,40,.09);--shadow-sm:0 4px 16px rgba(21,45,40,.07);
  --radius:18px;--radius-sm:12px;
}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{touch-action:manipulation}.hidden{display:none!important}.grow{flex:1}.sub{color:var(--muted);margin:5px 0 0;font-size:13px}.helper{color:var(--muted);font-size:12px;line-height:1.5}.eyebrow,.modal-kicker{display:block;color:var(--brand);font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;margin-bottom:5px}.center{min-height:100vh;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 15% 10%,#dff4f0 0,transparent 34%),linear-gradient(145deg,#f8fbfa,#eef4f2)}
.auth-card{width:min(460px,100%);background:rgba(255,255,255,.96);border:1px solid #dce8e4;border-radius:28px;box-shadow:0 28px 70px rgba(14,47,42,.14);padding:30px}.logo{display:flex;align-items:center;gap:12px;font-weight:900;font-size:22px}.logo>div:last-child{display:grid;gap:1px}.logo strong{font-size:19px}.logo small{font-size:11px;color:#8ba29c;font-weight:700}.logo-mark{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,var(--brand),#134e4a);color:#fff;font-size:16px;box-shadow:0 8px 20px rgba(15,118,110,.25)}
.field{display:grid;gap:7px;margin:12px 0}.field label{font-size:12px;color:#344b46;font-weight:800}.field input,.field select,.field textarea,.toolbar input,.toolbar select,.catalog-toolbar input,.catalog-toolbar select,.store-select{width:100%;border:1px solid #cedbd7;border-radius:12px;padding:12px 13px;background:#fff;color:var(--ink);outline:none;transition:border .15s,box-shadow .15s}.field input:focus,.field select:focus,.field textarea:focus,.catalog-toolbar input:focus,.catalog-toolbar select:focus,.store-select:focus{border-color:#62bdb5;box-shadow:0 0 0 4px rgba(15,118,110,.09)}.field textarea{min-height:94px;resize:vertical}.field input:disabled{background:#f3f6f5;color:#72807d}.btn{border:0;border-radius:12px;padding:11px 15px;font-weight:850;cursor:pointer;background:#e8eeec;color:#17332e;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .12s,box-shadow .12s,background .12s}.btn:hover{transform:translateY(-1px)}.btn.primary{background:linear-gradient(145deg,var(--brand),var(--brand-dark));color:#fff;box-shadow:0 7px 16px rgba(15,118,110,.18)}.btn.secondary{background:var(--brand-soft);color:var(--brand-dark)}.btn.light{background:#f3f6f5;color:#38534d}.btn.danger{background:#fee4e2;color:var(--danger)}.btn.small{padding:8px 10px;font-size:13px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-icon{font-size:17px;line-height:1}.wide-btn{width:100%}.scan-primary{background:#0b3f3a;color:#fff;padding:12px 18px}.scan-square{min-width:46px;background:#0b3f3a;color:#fff;padding:10px}.text-btn{border:0;background:transparent;color:var(--brand);font-weight:850;cursor:pointer;padding:7px}.icon-action{width:40px;height:40px;border:1px solid #d7e1de;border-radius:12px;background:#fff;color:#29433e;display:grid;place-items:center;cursor:pointer;font-weight:900}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.input-action{display:flex;gap:8px;align-items:stretch}.input-action>input,.input-action>select{flex:1;min-width:0}.money-input{position:relative}.money-input input{padding-right:60px}.money-input span{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:11px;font-weight:900;color:#798986}
.error,.success{border-radius:12px;padding:11px 13px;margin:10px 0;font-size:13px}.error{background:#fff1f0;border:1px solid #fda29b;color:#912018}.success{background:#ecfdf3;border:1px solid #abefc6;color:#05603a}
.shell{display:grid;grid-template-columns:264px minmax(0,1fr);min-height:100vh}.sidebar{background:linear-gradient(180deg,#102421,#0d1d1a);color:#fff;padding:18px 12px 92px;position:sticky;top:0;height:100vh;overflow:auto;border-right:1px solid rgba(255,255,255,.03)}.brand-block{padding:3px 8px 18px}.sidebar .logo-mark{background:#e8f5f3;color:#0b5f59;box-shadow:none}.sidebar .logo strong{color:#fff}.store-badge{margin:0 6px 20px;padding:14px;border:1px solid rgba(255,255,255,.09);border-radius:15px;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.035));display:grid;gap:5px}.store-badge b{font-size:14px}.store-label{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#84aaa2;font-weight:900}.store-name{font-size:12px;color:#c8dbd6}.nav-section-title{padding:0 12px 7px;color:#66857e;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.nav{display:grid;gap:4px}.nav button{width:100%;text-align:left;border:0;background:transparent;color:#b9cdc8;border-radius:11px;padding:10px 11px;cursor:pointer;font-weight:720;display:flex;align-items:center;gap:11px}.nav button.active,.nav button:hover{background:#1a3933;color:#fff}.nav-icon{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;background:rgba(255,255,255,.055);font-size:15px}.nav button.active .nav-icon{background:#2a4b45}.sidebar-foot{position:absolute;left:12px;right:12px;bottom:16px;border-top:1px solid rgba(255,255,255,.08);padding-top:14px}.user-mini{display:flex;align-items:center;gap:10px;padding:0 6px;min-width:0}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#dff5f1;color:#0b5f59;font-weight:900;font-size:12px}.user-mini div{min-width:0;display:grid}.user-mini b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#ffffff}.user-mini small{color:#d8e7fb;font-size:10px}
.main{min-width:0}.topbar{height:76px;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;padding:0 24px;position:sticky;top:0;z-index:12}.title-stack{display:grid}.title-stack span{font-size:10px;color:#7d8c89;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.topbar h1{font-size:20px;margin:2px 0 0}.topbar .right{margin-left:auto;display:flex;gap:9px;align-items:center}.store-select{width:auto;min-width:160px;padding:9px 34px 9px 11px;font-size:12px;font-weight:750}.status-pill{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:8px 11px;font-size:11px;font-weight:850;border:1px solid}.status-pill i{width:7px;height:7px;border-radius:50%}.status-pill.open{background:#effaf5;color:#176341;border-color:#ccebdc}.status-pill.open i{background:#1f9d65;box-shadow:0 0 0 4px #dff5e9}.status-pill.closed{background:#fff8e8;color:#865600;border-color:#f4dfaa}.status-pill.closed i{background:#c98609}.content{padding:24px;max-width:1580px;margin:0 auto}.mobile-menu,.mobile-bottom{display:none}
.dashboard-hero,.page-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.dashboard-hero{background:linear-gradient(135deg,#0e3c37,#0f766e);color:#fff;border-radius:22px;padding:24px 26px;box-shadow:0 16px 36px rgba(15,118,110,.16);overflow:hidden;position:relative}.dashboard-hero:after{content:"";position:absolute;width:230px;height:230px;border-radius:50%;background:rgba(255,255,255,.06);right:-70px;top:-100px}.dashboard-hero .eyebrow{color:#9fe2da}.dashboard-hero h2,.page-intro h2{font-size:28px;margin:0 0 5px}.dashboard-hero p,.page-intro p{margin:0;color:inherit;opacity:.8}.hero-actions,.intro-actions{display:flex;gap:9px;flex-wrap:wrap;position:relative;z-index:2}.dashboard-hero .btn.primary{background:#fff;color:#0d554f;box-shadow:none}.dashboard-hero .btn.secondary{background:rgba(255,255,255,.13);color:#fff;border:1px solid rgba(255,255,255,.14)}.page-intro{background:transparent;padding:2px 0}.page-intro.compact h2{font-size:24px}.page-intro.compact{margin-bottom:14px}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.kpi{background:#fff;border:1px solid var(--line);border-radius:17px;padding:16px;display:flex;gap:12px;align-items:flex-start;box-shadow:0 1px 1px rgba(16,24,40,.02)}.kpi.accent{border-color:#b9ddd8;background:linear-gradient(145deg,#fff,#f2fbf9)}.kpi-icon{width:38px;height:38px;border-radius:12px;background:#edf5f3;color:#0f766e;display:grid;place-items:center;font-weight:900}.kpi .label{font-size:11px;color:var(--muted);font-weight:850;text-transform:uppercase;letter-spacing:.045em}.kpi .value{font-size:24px;font-weight:900;margin-top:4px;letter-spacing:-.03em}.kpi .value small{font-size:10px;color:#81908c}.kpi-foot{font-size:11px;color:#82918e;margin-top:3px}.grid2{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.panel{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 2px 8px rgba(16,24,40,.025);overflow:hidden}.panel-head{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid #edf2f0}.panel-head h2{font-size:16px;margin:0}.panel-body{padding:18px}.recent-list{display:grid}.recent-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #edf2f0}.recent-row:last-child{border-bottom:0}.recent-icon{width:34px;height:34px;border-radius:10px;background:#eef6f4;color:#0f766e;display:grid;place-items:center}.recent-row .grow{display:grid}.recent-row small{font-size:11px;color:var(--muted);margin-top:2px}.recent-row strong{font-size:13px}.status-card{display:flex;align-items:center;gap:12px;padding:14px;border-radius:14px;background:#fff8e8;border:1px solid #f3e0ae}.status-card.is-open{background:#eefaf4;border-color:#cfeadd}.status-orb{width:12px;height:12px;border-radius:50%;background:#c98609}.status-card.is-open .status-orb{background:#1f9d65}.status-card div{display:grid}.status-card small{color:var(--muted);margin-top:2px}.quick-links{display:grid;gap:8px;margin-top:13px}.quick-links button{border:1px solid var(--line);background:#fff;border-radius:11px;padding:10px 12px;text-align:left;font-weight:780;color:#29453f;cursor:pointer}
.toolbar,.catalog-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.catalog-toolbar{align-items:center}.catalog-toolbar>select{width:auto;min-width:175px}.searchbox{display:flex;align-items:center;gap:8px;border:1px solid #cedbd7;background:#fff;border-radius:13px;padding:0 12px;min-width:260px}.searchbox:focus-within{border-color:#62bdb5;box-shadow:0 0 0 4px rgba(15,118,110,.08)}.searchbox span{color:#83938f;font-size:18px}.searchbox input{border:0!important;box-shadow:none!important;padding-left:0!important}.category-strip{display:flex;gap:7px;overflow:auto;padding:1px 0 14px;scrollbar-width:none}.category-strip::-webkit-scrollbar{display:none}.category-chip{border:1px solid #dce6e3;background:#fff;border-radius:999px;padding:7px 11px;white-space:nowrap;font-size:11px;font-weight:800;color:#4a5d59;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.category-chip i{width:9px;height:9px;border-radius:50%}.category-chip.active{background:#123d38;border-color:#123d38;color:#fff}.category-chip.static{cursor:default}.catalog-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:15px}.catalog-summary>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:grid}.catalog-summary strong{font-size:20px}.catalog-summary span{font-size:10px;color:var(--muted);text-transform:uppercase;font-weight:850;letter-spacing:.05em}
.pos-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.55fr);gap:16px}.catalog-workspace{min-width:0}.items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:11px}.item-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:0;text-align:left;cursor:pointer;overflow:hidden;transition:transform .12s,border .12s,box-shadow .12s}.item-card:hover{transform:translateY(-2px);border-color:#b7cbc6;box-shadow:var(--shadow-sm)}.item-card:disabled{opacity:.55;cursor:not-allowed;transform:none}.item-media,.manage-media{aspect-ratio:1.35/1;position:relative;background:#eff4f2;overflow:hidden}.product-image{width:100%;height:100%;object-fit:cover;display:block}.item-placeholder{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(145deg,#edf5f3,#e2ece9);color:#6b8580;font-size:34px;font-weight:900}.stock-pill{position:absolute;left:8px;bottom:8px;background:rgba(18,46,42,.82);backdrop-filter:blur(6px);color:#fff;border-radius:999px;padding:5px 7px;font-size:9px;font-weight:850}.stock-pill.low{background:rgba(166,79,0,.88)}.item-card-body{padding:11px 12px 13px}.item-card .name{font-weight:900;font-size:13px;line-height:1.25;min-height:32px}.item-card .meta{font-size:10px;color:var(--muted);margin-top:5px;display:grid;gap:1px}.item-card .price{font-size:16px;font-weight:900;margin-top:9px;color:#123f39}.item-card .price small{font-size:9px;color:#80908c}.cart{position:sticky;top:92px;align-self:start;max-height:calc(100vh - 112px);display:flex;flex-direction:column}.cart .panel-body{overflow:auto}.cart-head{flex:0 0 auto}.cart-line{display:flex;justify-content:space-between;gap:8px;padding:11px 0;border-bottom:1px solid #edf2f0;align-items:center}.cart-product{display:flex;align-items:center;gap:9px;min-width:0}.cart-index{width:27px;height:27px;border-radius:9px;display:grid;place-items:center;background:#edf5f3;color:#0f766e;font-size:10px;font-weight:900}.cart-product b{font-size:12px}.qty{display:flex;gap:6px;align-items:center}.qty button{width:30px;height:30px;border:1px solid #d5e0dd;background:white;border-radius:9px;cursor:pointer;color:#28443e;font-weight:900}.total-box{padding-top:14px;display:grid;gap:8px}.total-row{display:flex;justify-content:space-between;font-size:12px;color:#526560}.total-row b{color:#1f342f}.total-row.grand{font-size:20px;font-weight:900;border-top:1px solid var(--line);padding-top:12px;margin-top:4px;color:#102a25}.total-row.grand small{font-size:9px;color:#80908c}.pay-button{width:100%;justify-content:space-between;margin-top:7px;padding:14px 15px}.pay-button strong{font-size:15px}.cart-empty{display:grid!important;gap:4px;place-items:center;padding:45px 12px!important}.cart-empty>span{font-size:28px;color:#9bb0aa}.cart-empty b{color:#52645f}.cart-empty small{font-size:11px;color:#93a19e}.state-card{background:#fff;border:1px dashed #cfdbd8;border-radius:16px;grid-column:1/-1}
.manage-items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.manage-item-card{border:1px solid var(--line);background:#fff;border-radius:17px;overflow:hidden;text-align:left;cursor:pointer;padding:0;transition:.14s}.manage-item-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:#b7cbc6}.manage-media{aspect-ratio:1.5/1}.manage-body{padding:13px}.manage-name{font-size:14px;font-weight:900;line-height:1.25}.manage-category{display:flex;align-items:center;gap:6px;font-size:10px;color:#60736e;margin-top:5px}.manage-category i{width:8px;height:8px;border-radius:50%}.manage-info{display:flex;justify-content:space-between;gap:10px;align-items:flex-end;margin-top:13px;font-size:10px;color:#87948f}.manage-info strong{font-size:13px;color:#173c36}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:13px}.table th,.table td{padding:11px 10px;border-bottom:1px solid #edf2f0;text-align:left;white-space:nowrap}.table th{font-size:10px;color:#72817e;text-transform:uppercase;letter-spacing:.05em;background:#fbfcfc}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:850;background:#eef2f1;color:#465b56}.badge.ok{background:#ecfdf3;color:#027a48}.badge.warn{background:#fffaeb;color:#b54708}.badge.danger{background:#fef3f2;color:#b42318}.clickable-row{cursor:pointer}.clickable-row:hover td{background:#f8fbfa}.table-product{display:flex;align-items:center;gap:9px}.table-product div:last-child{display:grid}.table-product small{color:#84938f;font-size:9px}.table-thumb{width:40px;height:40px;border-radius:10px;object-fit:cover;flex:0 0 auto}.table-thumb.item-placeholder{font-size:14px}
.modal-backdrop{position:fixed;inset:0;background:rgba(10,25,22,.58);display:grid;place-items:center;padding:18px;z-index:40;backdrop-filter:blur(4px)}.submodal{z-index:60;background:rgba(10,25,22,.36)}.modal{background:#fff;width:min(720px,100%);max-height:92vh;overflow:auto;border-radius:21px;box-shadow:0 30px 90px rgba(0,0,0,.25)}.wide-modal{width:min(1080px,100%)}.small-modal{width:min(460px,100%)}.modal-head{padding:16px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);z-index:4}.modal-head h3{margin:0;font-size:18px}.modal-body{padding:18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid .wide{grid-column:1/-1}.item-editor{display:grid}.editor-layout{display:grid;grid-template-columns:270px 1fr;gap:18px}.photo-card{position:sticky;top:83px;border:1px solid var(--line);border-radius:17px;padding:12px;background:#fbfcfc}.photo-preview{aspect-ratio:1/1;border-radius:13px;background:#edf4f2;overflow:hidden;display:grid;place-items:center}.photo-preview img{width:100%;height:100%;object-fit:cover}.photo-empty{display:grid;place-items:center;text-align:center;gap:5px;color:#71847f}.photo-empty span{font-size:34px}.photo-empty b{font-size:12px}.photo-empty small{font-size:10px}.photo-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}.photo-actions .btn{font-size:11px;padding:9px}.photo-card>.helper{display:block;margin-top:8px}.editor-fields{display:grid;gap:12px}.form-section{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fff}.section-title{display:flex;align-items:center;gap:9px;margin-bottom:8px}.section-title>span{width:29px;height:29px;border-radius:9px;display:grid;place-items:center;background:#eaf6f4;color:#0f766e;font-weight:900;font-size:11px}.section-title div{display:grid}.section-title b{font-size:12px}.section-title small{font-size:10px;color:#84928f}.toggle-field label{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #dce5e2;border-radius:12px;padding:11px 12px}.toggle-field label>span{display:grid}.toggle-field label small{font-weight:500;color:#82908d;margin-top:2px}.toggle-field input{width:20px;height:20px;accent-color:var(--brand)}.editor-footer{display:flex;justify-content:flex-end;gap:9px;border-top:1px solid var(--line);padding:14px 18px;background:#fbfcfc;position:sticky;bottom:0}.color-row{display:flex;gap:9px;flex-wrap:wrap}.color-choice input{display:none}.color-choice span{width:30px;height:30px;border-radius:50%;display:block;border:2px solid #fff;box-shadow:0 0 0 1px #cad6d2;cursor:pointer}.color-choice input:checked+span{box-shadow:0 0 0 3px #0f766e}
.scanner-backdrop{position:fixed;inset:0;background:#07120f;z-index:80;display:grid;place-items:center;padding:18px}.scanner-shell{width:min(620px,100%);background:#0e1d19;color:#fff;border:1px solid #29433d;border-radius:22px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.45)}.scanner-head{display:flex;justify-content:space-between;align-items:center;padding:15px 17px;border-bottom:1px solid #29433d}.scanner-head h3{margin:0}.scanner-head .icon-action{background:#1b312c;border-color:#2d4a43;color:#fff}.scanner-copy{padding:12px 17px;color:#aac2bc;font-size:12px}.scanner-shell #barcode-reader{background:#000;min-height:280px}.scanner-shell #barcode-reader video{object-fit:cover}.scanner-manual{padding:14px 17px}.scanner-manual>span{display:block;color:#8eaaa3;font-size:10px;margin-bottom:7px;text-transform:uppercase;font-weight:850;letter-spacing:.05em}.scanner-manual input{background:#f8fbfa}.scanner-error{padding:70px 18px;text-align:center;color:#ffcfb6}
.empty{padding:34px 16px;text-align:center;color:#74827f}.mobile-bottom{display:none}
@media(max-width:1100px){.shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-278px;width:264px;z-index:30;transition:.2s}.sidebar.open{left:0;box-shadow:25px 0 60px rgba(0,0,0,.25)}.mobile-menu{display:grid}.kpis{grid-template-columns:repeat(2,1fr)}.grid2,.pos-layout{grid-template-columns:1fr}.cart{position:static;max-height:none}.content{padding:16px}.topbar{padding:0 16px}.editor-layout{grid-template-columns:220px 1fr}}
@media(max-width:720px){body{padding-bottom:74px}.content{padding:13px}.topbar{height:64px}.topbar h1{font-size:17px}.status-pill{padding:7px 9px}.status-pill{font-size:0}.status-pill i{margin:0}.hide-mobile{display:none!important}.mobile-bottom{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:0;right:0;bottom:0;height:69px;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);border-top:1px solid var(--line);z-index:25;padding-bottom:env(safe-area-inset-bottom)}.mobile-bottom button{border:0;background:transparent;color:#73837f;display:grid;place-items:center;align-content:center;gap:2px;padding:5px 2px}.mobile-bottom button>span{font-size:18px}.mobile-bottom button small{font-size:9px;font-weight:750}.mobile-bottom button.active{color:#0f766e}.dashboard-hero,.page-intro{align-items:flex-start;flex-direction:column}.dashboard-hero{padding:20px}.dashboard-hero h2,.page-intro h2{font-size:23px}.hero-actions,.intro-actions{width:100%}.intro-actions .btn{flex:1;min-width:105px}.kpis{grid-template-columns:1fr 1fr;gap:9px}.kpi{padding:12px;display:block}.kpi-icon{width:31px;height:31px;margin-bottom:8px}.kpi .value{font-size:20px}.catalog-summary{grid-template-columns:repeat(2,1fr)}.catalog-toolbar{display:grid;grid-template-columns:1fr 1fr}.catalog-toolbar .searchbox{grid-column:1/-1;min-width:0}.catalog-toolbar>select{width:100%;min-width:0}.items-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.item-media{aspect-ratio:1/1}.item-card .name{font-size:12px;min-height:30px}.item-card-body{padding:9px}.manage-items-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.manage-body{padding:10px}.manage-name{font-size:12px}.manage-info{display:grid;gap:5px}.manage-media{aspect-ratio:1/1}.editor-layout{grid-template-columns:1fr}.photo-card{position:static}.photo-column{max-width:330px;width:100%;margin:auto}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.modal-backdrop{padding:0;align-items:end}.modal{width:100%;max-height:94vh;border-radius:22px 22px 0 0}.wide-modal{width:100%}.modal-body{padding:13px}.editor-footer{padding-bottom:calc(14px + env(safe-area-inset-bottom))}.scanner-backdrop{padding:0}.scanner-shell{width:100%;height:100%;border-radius:0;display:flex;flex-direction:column}.scanner-shell #barcode-reader{flex:1;min-height:300px}.scanner-manual{padding-bottom:calc(14px + env(safe-area-inset-bottom))}}
@media(max-width:420px){.kpis{grid-template-columns:1fr 1fr}.items-grid,.manage-items-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-intro p{font-size:12px}.btn{font-size:12px}.catalog-summary>div{padding:10px}.catalog-summary strong{font-size:18px}}
/* Operational UI v3 */
.nav-grouped{padding-top:0}.nav-group{margin-bottom:5px}.nav-group .nav-section-title{padding:10px 13px 5px;margin:0;font-size:9px;opacity:.58}.nav-group button{position:relative}.nav-dot{margin-left:auto;width:7px;height:7px;border-radius:50%;background:#647a73}.nav-dot.on{background:#4ade80;box-shadow:0 0 0 4px rgba(74,222,128,.10)}.sidebar-close{display:none;margin-left:auto}.sidebar-scrim{display:none}.op-intro{margin-bottom:14px}.op-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:11px;margin-bottom:14px}.op-stat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;display:flex;align-items:center;gap:11px;box-shadow:var(--shadow-xs)}.op-stat-icon{width:38px;height:38px;border-radius:12px;background:#eaf6f4;color:#0f766e;display:grid;place-items:center;font-weight:900}.op-stat div{display:grid;min-width:0}.op-stat small{font-size:10px;color:#7a8b87}.op-stat strong{font-size:18px;line-height:1.2;color:#153d36;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.op-stat em{font-style:normal;font-size:9px;color:#9aa6a3}.op-panel{overflow:hidden}.compact{max-width:300px}.td-sub{display:block;color:#8b9995;font-size:9px;margin-top:3px}.row-actions{display:flex;gap:6px;justify-content:flex-end}.op-empty{padding:48px 18px;text-align:center;display:grid;justify-items:center;gap:7px;color:#72847f}.op-empty-icon{font-size:30px;width:58px;height:58px;border-radius:18px;background:#edf6f4;display:grid;place-items:center;color:#0f766e}.op-empty b{font-size:15px;color:#334e48}.op-empty p{margin:0 0 5px;max-width:400px;font-size:11px}.po-builder{display:grid;gap:15px}.po-head{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:14px}.po-head>div{display:grid}.po-head small{font-size:10px;color:#86948f}.po-line{display:grid;grid-template-columns:minmax(220px,1fr) 120px 140px 40px;gap:9px;align-items:end;padding:10px 0;border-bottom:1px solid #edf2f0}.po-line .field{margin:0}.po-num{min-width:0}.po-total{display:flex;justify-content:flex-end;align-items:center;gap:22px;padding:14px 0;font-size:12px}.po-total strong{font-size:22px;color:#0f766e}.danger-lite{color:#b42318;background:#fff5f4;border-color:#ffd5d2}.receipt-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:16px}.receipt-summary>div,.payment-hero{padding:13px;border-radius:13px;background:#f7faf9;border:1px solid var(--line);display:grid;gap:3px}.receipt-summary small,.payment-hero small{font-size:9px;color:#84938f;text-transform:uppercase}.receipt-summary b{font-size:12px}.note-box,.close-shift-note{padding:13px;border-radius:13px;background:#f8fbfa;border:1px solid var(--line);margin-top:13px}.note-box p,.close-shift-note p{margin:4px 0 0;color:#6f817c;font-size:11px}.modal-lead{color:#71827e;font-size:12px;margin-top:0}.receive-list{display:grid}.receive-row{display:grid;grid-template-columns:1fr 170px;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid #edf2f0}.receive-row>div:first-child{display:grid}.receive-row small{font-size:10px;color:#87958f}.receive-row .field{margin:0}.payment-hero{margin-bottom:14px;background:linear-gradient(135deg,#edf8f5,#f8fbfa)}.payment-hero b{font-size:18px}.payment-hero span{font-size:11px;color:#73847f}.timeline{display:grid}.timeline-row{display:grid;grid-template-columns:14px 1fr auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid #edf2f0}.timeline-row>div{display:grid}.timeline-row small{font-size:9px;color:#8b9995}.timeline-dot{width:9px;height:9px;border-radius:50%}.timeline-dot.charge{background:#f79009}.timeline-dot.payment{background:#12b76a}.shift-live{background:linear-gradient(135deg,#0f3f36,#0b2924);color:#fff;border-radius:20px;padding:18px;margin-bottom:14px;box-shadow:0 18px 45px rgba(12,53,46,.17)}.shift-live-head{display:flex;justify-content:space-between;align-items:start;gap:10px}.shift-live-head>div{display:grid}.shift-live-head small{font-size:10px;color:#b9d3cc}.shift-live-head h3{margin:3px 0 0;font-size:15px}.shift-live-head>strong{font-size:22px}.live-dot{width:8px;height:8px;background:#4ade80;border-radius:50%;display:inline-block;box-shadow:0 0 0 5px rgba(74,222,128,.1)}.shift-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:14px}.shift-live .op-stat{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.10);box-shadow:none;color:#fff;padding:10px}.shift-live .op-stat-icon{background:rgba(255,255,255,.1);color:#fff}.shift-live .op-stat small,.shift-live .op-stat em{color:#9fc1b8}.shift-live .op-stat strong{font-size:13px;color:#fff}.cash-moves{margin-top:14px;border-top:1px solid rgba(255,255,255,.12);padding-top:12px}.cash-moves h4{font-size:10px;text-transform:uppercase;color:#a8c3bc}.cash-moves>div{display:flex;justify-content:space-between;padding:7px 0;font-size:11px;border-bottom:1px solid rgba(255,255,255,.07)}.text-danger{color:#d92d20!important}.danger-note{background:#fff6f5;border-color:#ffd6d2}.receipt-lines{display:grid;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.receipt-lines>div{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #eef2f1}.receipt-lines>div:last-child{border-bottom:0}.receipt-lines span{display:grid}.receipt-lines small{font-size:9px;color:#86948f}.receipt-totals{margin-left:auto;width:min(360px,100%);padding-top:13px}.receipt-totals>div{display:flex;justify-content:space-between;padding:5px 0;font-size:11px}.receipt-totals .grand{font-size:16px;border-top:1px solid var(--line);margin-top:4px;padding-top:9px}.status-pill{border:0;cursor:pointer}.status-pill:hover{filter:brightness(.98)}
@media(max-width:1100px){.sidebar-close{display:grid}.sidebar-scrim.show{display:block;position:fixed;inset:0;background:rgba(4,18,15,.45);z-index:29;backdrop-filter:blur(2px)}.shift-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.op-stats{grid-template-columns:1fr 1fr}.op-stat{padding:10px}.op-stat-icon{width:31px;height:31px}.op-stat strong{font-size:15px}.panel-head{align-items:flex-start;gap:9px}.compact{max-width:none;width:100%}.po-head{align-items:flex-start;flex-direction:column}.po-head .btn{width:100%}.po-line{grid-template-columns:1fr 1fr}.po-line>.grow{grid-column:1/-1}.po-line>.icon-action{align-self:end}.receipt-summary{grid-template-columns:1fr}.receive-row{grid-template-columns:1fr}.shift-grid{grid-template-columns:1fr 1fr}.row-actions{flex-wrap:wrap;justify-content:flex-start}.table td:last-child{padding-right:18px}.op-intro .intro-actions{display:grid;grid-template-columns:1fr 1fr}.op-intro .intro-actions .btn:only-child{grid-column:1/-1}.cash-moves>div{gap:8px}.shift-live-head{flex-direction:column}.shift-live-head>strong{font-size:18px}}
@media(max-width:430px){.op-stats{grid-template-columns:1fr 1fr}.op-stat em{display:none}.po-line{grid-template-columns:1fr}.po-line>.grow{grid-column:auto}.shift-grid{grid-template-columns:1fr 1fr}}
/* v4 — terminal, menu, rôles, clôture et hors ligne */
.sidebar{height:100dvh;overflow:hidden;padding-bottom:0}.brand-block,.store-badge,.sidebar-foot{flex:0 0 auto}.nav-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-bottom:10px}.sidebar-foot{position:static;margin-top:0;background:linear-gradient(180deg,rgba(4,39,33,.92),#072f29);z-index:2}.nav-group{margin-bottom:10px}.nav-group .nav-section-title{padding-top:13px}.nav-group button{min-height:43px}.network-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 9px;background:#edf8f4;color:#137055;font-size:10px;font-weight:800}.network-pill i{width:7px;height:7px;border-radius:50%;background:#16a36f}.network-pill.offline{background:#fff5e9;color:#a7630a}.network-pill.offline i{background:#e58b13}.terminal-auth,.pin-page{min-height:100dvh;background:linear-gradient(145deg,#073e34,#0c6656);display:grid;place-items:center;padding:24px}.terminal-auth{grid-template-columns:minmax(300px,540px) minmax(320px,460px);gap:50px}.terminal-brand{color:#fff;display:flex;gap:20px;align-items:flex-start}.terminal-brand h1{font-size:42px;line-height:1;margin:8px 0 13px}.terminal-brand p{color:#b9d6cf;max-width:500px;line-height:1.6}.terminal-logo{width:74px;height:74px;border-radius:23px;background:#fff;color:#0f766e;display:grid;place-items:center;font-size:25px;font-weight:950;box-shadow:0 18px 42px rgba(0,0,0,.2)}.terminal-logo.small{width:56px;height:56px;border-radius:17px;font-size:18px}.terminal-card,.pin-card{background:#fff;border-radius:24px;padding:28px;box-shadow:0 28px 75px rgba(0,0,0,.23);width:min(100%,470px)}.terminal-card h2,.pin-card h2{margin:5px 0 7px;font-size:25px}.terminal-card p,.pin-card p{color:#6f817c}.install-help{margin-top:16px;border-top:1px solid var(--line);padding-top:13px}.install-help summary{cursor:pointer;font-weight:800;color:#0f766e}.install-help form{margin-top:13px}.lock-top{display:flex;gap:14px;align-items:center}.offline-banner{margin:18px 0 14px;padding:10px 12px;border-radius:12px;background:#edf8f4;color:#176c55;font-size:10px;font-weight:800;display:flex;gap:8px;align-items:center}.offline-banner i{width:8px;height:8px;border-radius:50%;background:#19a974}.offline-banner.offline{background:#fff4e6;color:#a55e04}.offline-banner.offline i{background:#e58c15}.pin-entry{width:100%;height:66px;text-align:center;font-size:34px;letter-spacing:16px;font-weight:900;border-radius:16px}.pin-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:12px}.pin-pad button{height:58px;border:1px solid #dfe8e4;border-radius:15px;background:#f8fbfa;font-size:20px;font-weight:850;color:#24463e}.pin-pad button:active{transform:scale(.98);background:#eaf6f2}.pin-pad .pin-enter{background:#0f766e;color:#fff;border-color:#0f766e}.device-remove{margin:17px auto 0;display:block}.permission-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:16px}.permission-grid label{border:1px solid var(--line);border-radius:13px;padding:12px;display:flex;gap:10px;align-items:flex-start;cursor:pointer}.permission-grid label>span{display:grid}.permission-grid small{font-size:9px;color:#81908c}.permission-grid input{margin-top:3px}.roles-list{display:grid;gap:8px;margin-bottom:12px}.role-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:13px 14px;display:flex;justify-content:space-between;align-items:center;text-align:left;cursor:pointer}.role-card>span{display:grid}.role-card small{font-size:9px;color:#83918d}.role-card i{font-style:normal;font-size:20px;color:#82918d}.closing-summary{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:14px}.closing-summary>div{border:1px solid var(--line);border-radius:13px;padding:12px;display:grid;gap:3px;background:#f8fbfa}.closing-summary span{font-size:9px;color:#7c8e89;text-transform:uppercase}.closing-summary b{font-size:15px}.closing-summary .expected{grid-column:1/-1;background:#eaf7f3;border-color:#c9e8df}.closing-summary .expected strong{font-size:22px;color:#0f766e}.difference-preview{margin:10px 0;padding:11px;border-radius:12px;background:#f7faf9;text-align:center}.close-result{text-align:center}.result-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#e9f7f2;color:#0f766e;font-size:24px;font-weight:900;margin:0 auto 10px}.shift-grid.six{grid-template-columns:repeat(6,1fr)}
@media(max-width:1100px){.shift-grid.six{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.sidebar{width:min(86vw,340px);left:min(-86vw,-340px)}.sidebar.open{left:0}.nav-group button{font-size:14px;padding:10px 12px}.nav-icon{width:34px;height:34px}.sidebar-foot{padding-bottom:calc(12px + env(safe-area-inset-bottom))}.terminal-auth{grid-template-columns:1fr;padding:18px}.terminal-brand{display:none}.terminal-card,.pin-card{padding:21px;border-radius:21px}.permission-grid{grid-template-columns:1fr}.closing-summary{grid-template-columns:1fr}.closing-summary .expected{grid-column:auto}.shift-grid.six{grid-template-columns:1fr 1fr}.network-pill{font-size:0;padding:8px}.network-pill i{margin:0}.pin-entry{font-size:30px;height:62px}.pin-pad button{height:54px}}

/* v4.1 — correction du défilement du menu latéral sur mobile */
.sidebar{
  display:flex;
  flex-direction:column;
  height:100dvh;
  min-height:0;
  overflow:hidden;
  padding:18px 12px 0;
}
.sidebar .brand-block,
.sidebar .store-badge,
.sidebar .sidebar-foot{
  flex:0 0 auto;
}
.sidebar .nav-scroll{
  display:block;
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto !important;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-y:contain;
  touch-action:pan-y;
  padding:0 0 24px;
  scrollbar-width:thin;
  scrollbar-color:rgba(190,220,212,.28) transparent;
}
.sidebar .nav-scroll::-webkit-scrollbar{width:5px}
.sidebar .nav-scroll::-webkit-scrollbar-track{background:transparent}
.sidebar .nav-scroll::-webkit-scrollbar-thumb{background:rgba(190,220,212,.28);border-radius:999px}
.sidebar .sidebar-foot{
  position:static;
  margin:0 -12px;
  padding:12px 12px calc(12px + env(safe-area-inset-bottom));
  border-top:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg,rgba(7,40,35,.97),#082a25);
}
@media(max-width:1100px){
  .sidebar{
    position:fixed;
    top:0;
    bottom:0;
    height:100dvh;
    max-height:100dvh;
  }
}
@media(max-width:720px){
  .sidebar{padding-top:calc(14px + env(safe-area-inset-top));}
  .sidebar .nav-scroll{padding-bottom:32px;}
  .sidebar .nav-group:last-child{margin-bottom:24px;}
}

/* ===== GectiON v4.2 — interface caisse allégée ===== */
.content{max-width:1500px;width:100%;margin:0 auto}
.pos-actionbar{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:38px;margin-bottom:10px}
.pos-actionbar-context{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#82918d;font-weight:850}
.pos-actionbar-actions{display:flex;gap:7px;flex-wrap:wrap;margin-left:auto}
.pos-actionbar-actions:empty,.pos-actionbar:not(:has(.pos-actionbar-actions>*)){min-height:0;margin-bottom:2px}
.page-export-float{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:-2px 0 10px}
.page-export-float>span{font-size:10px;color:#83918d;font-weight:800;text-transform:uppercase}
.export-pair{display:inline-flex;gap:5px}.export-btn{height:34px;padding:0 11px;border-radius:9px;background:#fff;border:1px solid #d9e4e0;color:#31574f;box-shadow:none;font-size:10px;font-weight:900}.export-btn:hover{background:#eef7f4;border-color:#bed9d2;color:#0f766e}

.shift-terminal{max-width:560px;margin:18px auto 14px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 8px 26px rgba(11,55,46,.07)}
.shift-terminal-title{display:flex;align-items:center;gap:9px;margin-bottom:22px;font-size:15px}.shift-state-dot{width:10px;height:10px;border-radius:50%;background:#98a6a2}.shift-state-dot.on{background:#18a66f;box-shadow:0 0 0 4px rgba(24,166,111,.10)}
.shift-money-label{display:block;color:#596d67;font-size:11px;font-weight:800;margin-bottom:7px}.money-input{height:58px;border:1px solid #cfdcd8;border-radius:13px;display:flex;align-items:center;background:#fbfdfc;overflow:hidden}.money-input:focus-within{border-color:#0f766e;box-shadow:0 0 0 3px rgba(15,118,110,.09)}.money-input>span{padding:0 12px;font-size:11px;font-weight:850;color:#71827d;border-right:1px solid #dfe7e4}.money-input input{height:100%;min-width:0;width:100%;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;padding:0 14px;font-size:22px;font-weight:850;color:#173f37}
.shift-main-btn{width:100%;height:48px;margin-top:12px;font-size:13px}.shift-compact-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid #e6ecea}.shift-compact-top>div{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center}.shift-compact-top small{grid-column:2;font-size:9px;color:#82918d;margin-top:2px}.shift-compact-top>strong{font-size:22px;color:#0f766e}.shift-simple-lines{display:grid;margin:6px 0}.shift-simple-lines>div{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid #edf1f0;font-size:11px}.shift-simple-lines>div:last-child{border-bottom:0}.shift-simple-lines span{color:#667a74}.shift-simple-lines b{font-size:12px}.shift-quick-actions{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:7px;margin-top:12px}.shift-quick-actions .btn{height:42px;padding:0 8px;font-size:10px}
.pos-details{max-width:900px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.pos-details summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:13px 15px;font-size:11px;font-weight:850}.pos-details summary::-webkit-details-marker{display:none}.pos-details summary span:last-child{font-size:9px;color:#85938f;font-weight:700}.pos-details[open] summary{border-bottom:1px solid #e8eeec}.details-toolbar{display:flex;justify-content:flex-end;padding:9px 12px 0}.shift-history-list{padding:3px 12px 10px}.shift-history-row{display:flex;justify-content:space-between;align-items:center;padding:10px 3px;border-bottom:1px solid #eef2f1}.shift-history-row:last-child{border-bottom:0}.shift-history-row>div{display:grid}.shift-history-row>div:last-child{text-align:right}.shift-history-row b,.shift-history-row span{font-size:11px}.shift-history-row small{font-size:9px;color:#82918d;margin-top:2px}.compact-empty{padding:20px}
.shift-close-mini{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.shift-close-mini>div{padding:11px 12px;background:#f6faf8;border:1px solid #e0e9e6;border-radius:11px;display:grid;gap:3px}.shift-close-mini span{font-size:9px;color:#7e8f8a;text-transform:uppercase}.shift-close-mini b{font-size:15px}.modal-money{height:54px}.shift-diff-line{display:flex;justify-content:space-between;align-items:center;padding:11px 3px 14px;font-size:11px}.shift-diff-line b{font-size:16px;color:#0f766e}.offline-mini{max-width:560px;margin:8px auto;padding:8px 11px;border-radius:9px;background:#fff5e7;color:#9b5b09;font-size:9px;font-weight:800;text-align:center}
.report-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:12px}.report-strip>div{background:#fff;border:1px solid var(--line);border-radius:13px;padding:13px 14px;display:grid;gap:3px}.report-strip span{font-size:9px;color:#7c8c88;text-transform:uppercase}.report-strip b{font-size:19px;color:#173f37}.slim-panel{max-width:900px;margin:0 auto}.export-list{padding:0 14px 8px}.export-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #edf1f0}.export-row:last-child{border-bottom:0}.export-row>b{font-size:11px;color:#345149}

/* Réduire le caractère "site web" des anciens écrans sans supprimer leur fonctionnalité */
.op-intro p,.page-intro p{display:none!important}.op-intro .eyebrow{display:none}.op-intro h2{font-size:18px!important;margin:0}.op-stats{gap:7px}.op-stat{border-radius:12px;padding:10px;box-shadow:none}.op-stat-icon{width:31px;height:31px}.op-stat strong{font-size:15px}.panel{box-shadow:none;border-radius:14px}.panel-head{padding:12px 14px}.panel-head h2{font-size:13px}.panel-body{padding:12px 14px}.table td,.table th{padding-top:9px;padding-bottom:9px}.btn{box-shadow:none}

@media(max-width:720px){
  .content{padding:10px 10px 78px}.pos-actionbar{min-height:32px;margin-bottom:7px}.pos-actionbar-context{display:none}.pos-actionbar-actions{width:100%;display:grid;grid-template-columns:repeat(2,1fr)}.pos-actionbar-actions .btn:only-child{grid-column:1/-1}.page-export-float{margin:0 0 8px}.shift-terminal{margin:5px 0 10px;max-width:none;padding:17px 15px;border-radius:15px}.shift-terminal-title{margin-bottom:18px}.shift-quick-actions{grid-template-columns:1fr 1fr}.shift-quick-actions .btn:last-child{grid-column:1/-1}.shift-compact-top>strong{font-size:18px}.pos-details{border-radius:12px}.report-strip{grid-template-columns:1fr 1fr}.report-strip>div:last-child{grid-column:1/-1}.export-row{padding:10px 0}.export-btn{height:32px;padding:0 9px}.shift-close-mini{grid-template-columns:1fr}.panel-head{padding:10px 12px}.panel-body{padding:10px 12px}.op-stats{grid-template-columns:1fr 1fr}.op-stat{padding:8px}.op-stat em{display:none}
}
.page-intro:not(.dashboard-hero)>div:first-child{display:none!important}.page-intro:not(.dashboard-hero){justify-content:flex-end;min-height:36px;margin-bottom:8px}.page-intro:not(.dashboard-hero) .intro-actions{margin-left:auto}
.pos-home-actions{display:flex;gap:8px;justify-content:flex-end;margin-bottom:10px}.pos-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:10px}.pos-kpis>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px 12px;display:grid;gap:2px}.pos-kpis span{font-size:9px;text-transform:uppercase;color:#7f8f8b}.pos-kpis b{font-size:17px;color:#183f37}.pos-kpis small{font-size:9px;color:#91a09c}.home-receipts{margin:0 auto}.home-receipts .panel-body{padding-top:2px}
@media(max-width:720px){.pos-home-actions{display:grid;grid-template-columns:1fr 1fr}.pos-home-actions .btn{height:42px;padding:0 8px}.pos-kpis{grid-template-columns:1fr 1fr}.pos-kpis>div{padding:10px}.pos-kpis b{font-size:15px}.page-intro:not(.dashboard-hero){min-height:34px}.page-intro:not(.dashboard-hero) .intro-actions{display:grid;grid-template-columns:repeat(2,1fr);width:100%}.page-intro:not(.dashboard-hero) .intro-actions .btn:last-child:nth-child(odd){grid-column:1/-1}}

/* Installation multiplateforme GectiON */
.mp-install-floating{position:fixed;right:16px;bottom:18px;z-index:120;border:0;border-radius:999px;background:#0f766e;color:#fff;display:flex;align-items:center;gap:8px;padding:11px 15px;font-weight:850;font-size:12px;box-shadow:0 12px 32px rgba(15,118,110,.28);cursor:pointer;max-width:calc(100vw - 32px)}
.mp-install-floating svg{width:18px;height:18px;flex:0 0 auto}.mp-install-floating:active{transform:translateY(1px)}
.mp-install-backdrop{position:fixed;inset:0;z-index:160;background:rgba(5,24,20,.62);display:grid;place-items:center;padding:18px;backdrop-filter:blur(5px)}
.mp-install-sheet{width:min(500px,100%);background:#fff;border-radius:22px;box-shadow:0 30px 90px rgba(0,0,0,.28);overflow:hidden;color:#17332e}
.mp-install-sheet-head{padding:17px 18px;border-bottom:1px solid #e4ece9;display:flex;align-items:center;justify-content:space-between;gap:14px}
.mp-install-app{display:flex;align-items:center;gap:11px;min-width:0}.mp-install-app img{width:46px;height:46px;border-radius:13px}.mp-install-app small{display:block;color:#0f766e;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.mp-install-app h3{font-size:18px;line-height:1.15;margin:3px 0 0}.mp-install-close{width:38px;height:38px;border:0;border-radius:12px;background:#eff5f3;color:#36534d;font-size:25px;line-height:1;cursor:pointer}
.mp-install-sheet-body{padding:18px}.mp-install-copy{margin:0;color:#5f746f;font-size:13px;line-height:1.6}.mp-install-steps{list-style:none;padding:0;margin:0;display:grid;gap:13px}.mp-install-steps li{display:grid;grid-template-columns:32px 1fr;align-items:start;gap:10px;font-size:13px;line-height:1.45}.mp-install-steps li>span:first-child{width:32px;height:32px;border-radius:10px;background:#e8f5f2;color:#0f766e;display:grid;place-items:center;font-weight:900}.mp-share-icon{display:inline-grid;place-items:center;width:22px;height:22px;border:1px solid #cadbd6;border-radius:7px;font-weight:900;color:#0f766e}.mp-install-note{margin-top:15px;padding:12px 13px;border-radius:13px;background:#f2f8f6;color:#56706a;font-size:11px;line-height:1.5}.mp-install-sheet-foot{padding:0 18px 18px}.mp-install-primary{width:100%;border:0;border-radius:13px;background:#0f766e;color:#fff;padding:12px 15px;font-weight:850;cursor:pointer}
@media(max-width:720px){.mp-install-floating{bottom:calc(82px + env(safe-area-inset-bottom));right:12px;padding:10px 13px}.pin-page~.mp-install-floating{bottom:18px}.mp-install-backdrop{padding:0;align-items:end}.mp-install-sheet{width:100%;border-radius:22px 22px 0 0;padding-bottom:env(safe-area-inset-bottom)}}
@media(display-mode:standalone){.mp-install-floating{display:none!important}}

/* GectiON v4.5 — aperçu et impression ticket thermique */
.receipt-print-tools{display:flex;align-items:end;justify-content:flex-end;gap:8px;margin-bottom:12px}.receipt-print-tools>div{display:grid;gap:4px}.receipt-print-tools label{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#74847f;font-weight:850}.receipt-print-tools select{height:38px;min-width:100px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:0 9px;font-weight:800;color:#24463f}.thermal-preview-wrap{background:#edf2f0;border:1px solid #dfe8e5;border-radius:14px;padding:18px;overflow:auto;display:flex;justify-content:center}.thermal-preview{background:#fff;color:#111;font-family:"Courier New",ui-monospace,monospace;font-size:11px;line-height:1.28;padding:16px 13px;box-shadow:0 5px 18px rgba(12,45,38,.10);transition:width .18s ease}.thermal-preview.w58{width:280px;font-size:10px}.thermal-preview.w80{width:380px}.thermal-preview .ticket-head{text-align:center;word-break:break-word}.thermal-preview .business-name{font-family:Arial,sans-serif;font-size:16px;font-weight:900;line-height:1.1}.thermal-preview .custom-text{white-space:pre-wrap;margin:4px 0}.thermal-preview .dash{border-top:1px dashed #222;margin:8px 0}.thermal-preview .meta{display:grid;gap:2px}.thermal-preview .meta-line,.thermal-preview .total-line,.thermal-preview .item-math{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.thermal-preview .meta-line b,.thermal-preview .total-line b{text-align:right}.thermal-preview .ticket-items{display:grid;gap:8px}.thermal-preview .ticket-item{min-width:0}.thermal-preview .item-name{font-weight:800;overflow-wrap:anywhere}.thermal-preview .item-math{margin-top:2px}.thermal-preview .item-math b{white-space:nowrap}.thermal-preview .totals{display:grid;gap:3px}.thermal-preview .grand-total{font-family:Arial,sans-serif;font-size:15px;font-weight:900;border-top:2px solid #111;border-bottom:2px solid #111;padding:5px 0;margin:4px 0}.thermal-preview .due{font-weight:900}.thermal-preview .void-box{border:2px solid #111;padding:6px;text-align:center;font-family:Arial,sans-serif;font-weight:900;margin:8px 0}.thermal-preview .void-box small{display:block;font-family:"Courier New",monospace;font-weight:400;margin-top:3px}.thermal-preview .ticket-foot{text-align:center;white-space:pre-wrap;overflow-wrap:anywhere}.thermal-preview .footer-text,.thermal-preview .thanks{font-weight:700}.thermal-preview .receipt-ref{font-size:9px;margin-top:5px}.receipt-action-footer{padding-bottom:0}
@media(max-width:720px){.receipt-print-tools{display:grid;grid-template-columns:120px 1fr;align-items:end}.receipt-print-tools .btn{height:40px}.thermal-preview-wrap{padding:10px;margin:0 -2px}.thermal-preview.w80{width:340px;max-width:100%}.thermal-preview.w58{width:260px;max-width:100%}}

/* ===== GectiON v4.6 — mode terminal de caisse ===== */
body{overscroll-behavior:none}.shell{background:#f3f5f4}.topbar.pos-topbar{height:58px;min-height:58px;border-bottom:1px solid #dfe7e4;box-shadow:none}.topbar.pos-topbar .title-stack h1{font-size:17px}.topbar.pos-topbar .title-stack span{font-size:9px}.content{padding-top:14px}.nav-grouped .nav-group:first-child{padding-top:2px}.nav-grouped .nav-group:first-child button{min-height:44px;font-weight:800}.nav-grouped .nav-group:first-child button[data-view="pos"]{font-size:14px}.nav-section-title{font-size:9px;letter-spacing:.12em}.store-badge{padding:10px 12px}.store-badge .store-label{font-size:8px}.sidebar-foot{padding-top:8px}.user-mini{min-height:48px}.network-pill,.status-pill{min-height:34px}
.mp-pos-active .content{padding:10px}.mp-pos-active .page-intro.compact.mp46-pos-intro{padding:0;margin:0 0 9px;background:transparent;border:0;box-shadow:none}.mp-pos-active .page-intro.compact.mp46-pos-intro>div{display:none}.mp-pos-active .scan-primary{min-height:42px}.mp-pos-active .catalog-toolbar{margin-bottom:8px}.mp-pos-active .searchbox{min-height:44px}.mp-pos-active .category-strip{margin-bottom:8px}.mp-pos-active .category-chip{min-height:34px;padding:7px 11px}.mp-pos-active .items-grid{gap:8px}.mp-pos-active .item-card{border-radius:12px;box-shadow:none;border:1px solid #e0e8e5}.mp-pos-active .item-card:hover{transform:none}.mp-pos-active .cart{border-radius:12px}.mp-pos-active .cart .panel-head{padding:12px 14px}.mp-pos-active .cart .panel-body{padding:12px}.mp46-pay-main{min-height:52px;font-size:16px;font-weight:900;border-radius:12px;margin-top:10px}.mp46-cart-close{display:none}
.mp-install-floating.install-ready{background:#08765f;box-shadow:0 14px 34px rgba(8,118,95,.34);animation:mpInstallPulse 1.8s ease-in-out infinite}.mp-install-floating.install-ready span{font-size:13px}.mp-install-floating.install-working{opacity:.82}.mp-install-floating:disabled{cursor:wait}@keyframes mpInstallPulse{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
.mp46-cart-fab{display:none}
@media(max-width:720px){
  .topbar.pos-topbar{height:52px;min-height:52px;padding:0 10px}.topbar.pos-topbar .title-stack h1{font-size:15px}.topbar.pos-topbar .right .network-pill{display:none}.topbar.pos-topbar .right .status-pill{font-size:10px;padding:7px 9px}.content{padding:8px 8px calc(76px + env(safe-area-inset-bottom))}.mobile-bottom{height:64px;padding:4px 4px calc(4px + env(safe-area-inset-bottom));grid-template-columns:repeat(5,1fr);gap:0}.mobile-bottom button{min-width:0;padding:4px 2px}.mobile-bottom button span{font-size:18px}.mobile-bottom button small{font-size:9px}.mp-pos-active .pos-layout{display:block}.mp-pos-active .catalog-workspace{min-width:0}.mp-pos-active .items-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:76px}.mp-pos-active .item-card{min-height:126px}.mp-pos-active .catalog-toolbar{grid-template-columns:1fr}.mp-pos-active .catalog-toolbar select{display:none}.mp-pos-active .category-strip{overflow-x:auto;scrollbar-width:none}.mp-pos-active .category-strip::-webkit-scrollbar{display:none}
  .mp-pos-active .pos-layout .cart{position:fixed;z-index:150;left:0;right:0;bottom:0;max-height:78dvh;transform:translateY(105%);transition:transform .22s ease;border-radius:20px 20px 0 0;box-shadow:0 -20px 50px rgba(16,44,37,.24);overflow:auto;padding-bottom:calc(74px + env(safe-area-inset-bottom));background:#fff}.mp-pos-active .pos-layout .cart.mp46-cart-open{transform:translateY(0)}.mp46-cart-close{display:grid;position:sticky;top:8px;margin:8px 10px 0 auto;z-index:5;width:36px;height:36px;place-items:center;border:0;border-radius:50%;background:#eef4f2;font-size:25px;color:#294b43}.mp46-cart-fab{display:grid;position:fixed;z-index:135;left:10px;right:10px;bottom:calc(68px + env(safe-area-inset-bottom));grid-template-columns:28px 1fr auto;align-items:center;gap:9px;min-height:54px;border:0;border-radius:14px;background:#0f766e;color:#fff;padding:8px 13px;box-shadow:0 12px 30px rgba(15,118,110,.34);text-align:left}.mp46-cart-count{width:28px;height:28px;border-radius:9px;background:rgba(255,255,255,.18);display:grid;place-items:center;font-weight:900}.mp46-cart-fab b{font-size:14px}.mp46-cart-fab strong{font-size:15px}.mp-pos-active .mp-install-floating{bottom:calc(132px + env(safe-area-inset-bottom))}
}
@media(min-width:721px){.mp-pos-active .pos-layout{grid-template-columns:minmax(0,1fr) 350px}.mp-pos-active .cart{position:sticky;top:72px;max-height:calc(100vh - 86px);overflow:auto}.mp-pos-active .catalog-workspace{min-height:calc(100vh - 80px)}}
@media(display-mode:standalone){html,body{height:100%;overflow:hidden}.shell{height:100dvh}.main{height:100dvh}.content{overflow:auto;-webkit-overflow-scrolling:touch}}

/* v4.6.5 — interface encore plus POS + imprimantes */
/* Typographie légèrement agrandie pour une lecture rapide à la caisse. */
.nav button{font-size:14px}.nav-section-title{font-size:11px}.store-badge b{font-size:15px}.store-name{font-size:13px}
.topbar h1{font-size:21px}.title-stack span{font-size:11px}.field label{font-size:13px}.field input,.field select,.field textarea,.catalog-toolbar input,.catalog-toolbar select{font-size:14px}
.item-card .name{font-size:14px}.item-card .meta{font-size:11px}.item-card .price{font-size:17px}.cart-line b{font-size:14px}.cart-line .sub{font-size:12px}.total-row{font-size:13px}.total-row.grand{font-size:18px}.btn{font-size:14px}.text-btn{font-size:13px}
.printer-settings-panel{margin-top:14px}.printer-row,.printer-status-card{display:flex;align-items:center;gap:12px}.printer-row small,.printer-status-card small,.printer-status-card span{display:block;color:var(--muted);font-size:12px;margin-top:2px}.printer-icon{width:44px;height:44px;border-radius:13px;background:var(--brand-soft);color:var(--brand-dark);display:grid;place-items:center;font-size:20px;font-weight:900;flex:0 0 auto}.printer-status-card{padding:14px;border:1px solid var(--line);border-radius:15px;background:#f8fbfa;margin-bottom:12px}.printer-status-card>div{display:grid;gap:1px}.printer-status-card b{font-size:15px}.printer-form{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.printer-help{grid-column:1/-1;padding:11px 12px;border:1px solid #d8e8e4;border-radius:12px;background:#f3faf8;display:grid;gap:3px;color:#45645d;font-size:12px}.printer-help b{color:#173f37}.printer-help small{color:#7a8c87}.printer-actions{flex-wrap:wrap}.printer-note{font-size:12px}
.badge.ok{background:#eaf8f3;color:#147250}

@media(max-width:720px){
  /* Sur la vente, la barre de navigation générale ne doit plus recouvrir le catalogue. */
  .mp-pos-active .mobile-bottom{display:none!important}
  .mp-pos-active .content{padding-bottom:calc(82px + env(safe-area-inset-bottom))}
  .mp-pos-active .items-grid{padding-bottom:18px}
  .mp-pos-active .mp46-cart-fab{display:none!important}
  .mp47-sale-dock{position:fixed;z-index:140;left:0;right:0;bottom:0;display:grid;grid-template-columns:68px 1fr;gap:7px;padding:7px 8px calc(7px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid #dbe6e3;box-shadow:0 -10px 28px rgba(11,47,40,.10);backdrop-filter:blur(12px)}
  .mp47-sale-dock button{border:0;cursor:pointer}.mp47-menu{border-radius:12px!important;background:#eef5f3;color:#214b42;display:grid;place-items:center;align-content:center;gap:1px;min-height:54px}.mp47-menu span{font-size:20px;line-height:1}.mp47-menu small{font-size:10px;font-weight:800}.mp47-ticket{border-radius:12px!important;background:#0f766e;color:#fff;display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:10px;padding:7px 12px;text-align:left;min-height:54px;box-shadow:0 7px 18px rgba(15,118,110,.22)}.mp47-ticket-count{width:32px;height:32px;border-radius:9px;background:rgba(255,255,255,.17);display:grid;place-items:center;font-size:14px;font-weight:900}.mp47-ticket-label{display:grid}.mp47-ticket-label b{font-size:15px}.mp47-ticket-label small{font-size:10px;opacity:.78}.mp47-ticket strong{font-size:16px;white-space:nowrap}
  .mp-pos-active .pos-layout .cart{padding-bottom:calc(20px + env(safe-area-inset-bottom));z-index:160}
  .mp-pos-active .pos-layout .cart.mp46-cart-open{bottom:0}
  .mp-pos-active .item-card .name{font-size:14px}.mp-pos-active .item-card .meta{font-size:11px}.mp-pos-active .item-card .price{font-size:17px}
  .topbar.pos-topbar .title-stack h1{font-size:17px}.topbar.pos-topbar .right .status-pill{font-size:11px}
  .nav-group button{font-size:15px}.nav-section-title{font-size:10px}
  .printer-form{grid-template-columns:1fr}.printer-help{grid-column:auto}.printer-actions{display:grid;grid-template-columns:1fr}.printer-actions .btn{width:100%}
}

/* ===== GectiON v4.8 — multi-boutiques et correctifs ===== */
.settings-stack{display:grid;gap:12px}.store-assignment-list{display:grid;gap:9px}.store-assignment-row{border:1px solid var(--line);border-radius:13px;padding:11px 12px;display:grid;grid-template-columns:minmax(0,1fr) 150px;align-items:center;gap:12px;background:#fff}.store-check{display:flex;align-items:center;gap:10px}.store-check>span{display:grid;gap:2px}.store-check small,.store-stock small{font-size:9px;color:#7d8e89}.store-stock{display:grid;gap:4px}.store-stock input{min-width:0}.store-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.store-admin-card{min-width:0}.register-list{display:grid;gap:8px;margin-top:12px}.register-row{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:10px}.register-row>div{display:grid}.register-row small{font-size:9px;color:#7d8e89}.register-icon{width:34px;height:34px;border-radius:10px;background:#edf6f3;color:#0f766e;display:grid;place-items:center;font-weight:900}.compact-empty{padding:18px 8px}.mp-pos-active .sidebar.open~.sidebar-scrim{z-index:169}.mp-pos-active .sidebar.open{z-index:170}
@media(max-width:720px){.store-assignment-row{grid-template-columns:1fr}.store-stock{grid-template-columns:90px 1fr;align-items:center}.store-admin-grid{grid-template-columns:1fr}.settings-stack .slim-panel{max-width:none}.register-row{align-items:flex-start;flex-wrap:wrap}.register-row .btn{margin-left:auto}.modal-backdrop{overscroll-behavior:contain}.modal{max-height:92dvh}.modal-body{overflow:auto;-webkit-overflow-scrolling:touch}}

/* v4.9 — corrections ciblées */
.scope-banner,.scope-note{border:1px solid #dbe7e4;background:#f6faf9;color:#49645e;border-radius:12px;padding:10px 12px;font-size:12px;margin:0 0 12px}.scope-banner span{padding:0 5px;color:#9aa9a5}.scope-note{margin-top:10px}.mp49-settings{padding-bottom:18px}
@media(max-width:720px){
  .content{padding-bottom:calc(104px + env(safe-area-inset-bottom))}
  .mp49-settings{padding-bottom:calc(36px + env(safe-area-inset-bottom))}
  .mp-pos-active .mobile-bottom{display:none!important}
  .mp-pos-active #mp47SaleDock,.mp-pos-active #mp46CartFab{display:none!important}
  .mp-pos-active .content{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
  .mp49-ticket-fab{position:fixed;z-index:145;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));height:50px;max-width:calc(100vw - 24px);border:0;border-radius:15px;background:#0f766e;color:white;display:grid;grid-template-columns:27px auto auto;align-items:center;gap:8px;padding:7px 12px;box-shadow:0 10px 28px rgba(15,118,110,.3)}
  .mp49-ticket-fab span{width:27px;height:27px;border-radius:8px;background:rgba(255,255,255,.18);display:grid;place-items:center;font-weight:900}.mp49-ticket-fab b{font-size:14px}.mp49-ticket-fab strong{font-size:14px;white-space:nowrap}
  .mp49-settings .panel-head{align-items:flex-start}.mp49-settings .printer-settings-panel .panel-head{display:grid;grid-template-columns:1fr;gap:10px}.mp49-settings .printer-settings-panel .panel-head .btn{width:100%}
}

/* ===== GectiON v4.9.1 — correction drastique de la bande sur Vendre UNIQUEMENT ===== */
@media(max-width:720px){
  /* La vente n'utilise aucune navigation fixe en bas : tout l'écran reste au catalogue. */
  body.mp491-sale-clean{padding-bottom:0!important;min-height:100dvh;}
  body.mp491-sale-clean .mobile-bottom,
  body.mp491-sale-clean #mp46CartFab,
  body.mp491-sale-clean #mp47SaleDock,
  body.mp491-sale-clean #mp49TicketFab{display:none!important;visibility:hidden!important;pointer-events:none!important;}

  /* Supprime les réserves d'espace héritées des anciennes barres. */
  body.mp491-sale-clean .content{padding:8px 8px calc(10px + env(safe-area-inset-bottom))!important;}
  body.mp491-sale-clean .items-grid{padding-bottom:8px!important;}

  /* Contrôles POS en haut : Scanner + Ticket. Rien ne flotte sur le catalogue. */
  body.mp491-sale-clean .page-intro.compact.mp46-pos-intro{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1.35fr)!important;
    gap:8px!important;
    margin:0 0 8px!important;
    padding:0!important;
    align-items:stretch!important;
  }
  body.mp491-sale-clean .page-intro.compact.mp46-pos-intro>div{display:none!important;}
  body.mp491-sale-clean .page-intro.compact.mp46-pos-intro .scan-primary{
    width:100%;min-width:0;min-height:46px;margin:0!important;border-radius:12px;
  }
  .mp491-sale-ticket{
    width:100%;min-width:0;min-height:46px;border:0!important;border-radius:12px!important;
    background:#0f766e!important;color:#fff!important;box-shadow:none!important;
    display:grid!important;grid-template-columns:27px minmax(0,1fr) auto;gap:7px;align-items:center;
    padding:6px 9px!important;text-align:left!important;
  }
  .mp491-ticket-badge{width:27px;height:27px;border-radius:8px;background:rgba(255,255,255,.18);display:grid;place-items:center;font-size:12px;font-weight:900;}
  .mp491-ticket-copy{display:grid;min-width:0;line-height:1.05;}
  .mp491-ticket-copy b{font-size:13px;}
  .mp491-ticket-copy small{font-size:9px;opacity:.78;white-space:nowrap;}
  .mp491-sale-ticket strong{font-size:12px;white-space:nowrap;}

  /* Le ticket reste un panneau temporaire, pas une bande permanente. */
  body.mp491-sale-clean .pos-layout .cart{padding-bottom:calc(14px + env(safe-area-inset-bottom))!important;}
}

/* ===== GectiON v4.9.2 — Vente smartphone sans bande ===== */
@media(max-width:720px){
  /* Ancien bottom-sheet neutralisé : même si une ancienne couche ajoute sa classe, il reste invisible. */
  body.mp492-sale-fixed #content .pos-layout .cart,
  body.mp492-sale-fixed #content .pos-layout .cart.mp46-cart-open{
    display:none!important;
    transform:none!important;
    box-shadow:none!important;
  }
  body.mp492-sale-fixed #content .pos-layout .cart.mp492-ticket-screen{
    display:block!important;
    position:fixed!important;
    top:52px!important;right:0!important;bottom:0!important;left:0!important;
    width:100%!important;height:calc(100dvh - 52px)!important;max-height:none!important;
    transform:none!important;border-radius:0!important;box-shadow:none!important;
    overflow:auto!important;background:#fff!important;z-index:190!important;
  }
  body.mp492-sale-fixed .mobile-bottom,
  body.mp492-sale-fixed #mp46CartFab,
  body.mp492-sale-fixed #mp47SaleDock,
  body.mp492-sale-fixed #mp49TicketFab{display:none!important;visibility:hidden!important;pointer-events:none!important;}
  body.mp492-sale-fixed .content{padding-bottom:calc(8px + env(safe-area-inset-bottom))!important;}
  body.mp492-sale-fixed .items-grid{padding-bottom:8px!important;}
  .mp492-ticket-close{border:0;background:#eef6f4;color:#0c5d54;border-radius:10px;padding:8px 10px;font-weight:900;display:inline-flex;align-items:center;gap:6px;cursor:pointer}
  .mp492-ticket-close span{font-size:12px}
  body.mp492-sale-fixed .mp492-ticket-screen .panel-head{position:sticky;top:0;z-index:4;background:#fff;padding:10px 12px;border-bottom:1px solid #e4ece9}
  body.mp492-sale-fixed .mp492-ticket-screen .panel-body{padding:12px}
}

/* GectiON v4.9.3 — correction STRICTEMENT ciblée Ticket > Encaisser.
   Le ticket mobile v4.9.2 est volontairement au-dessus de l'interface (z-index 190).
   Les modales historiques étaient à 40 et s'ouvraient donc derrière lui.
   On élève uniquement les modales pendant l'écran Vente/Ticket. */
@media (max-width:720px){
  body.mp492-sale-fixed .modal-backdrop{
    z-index:300!important;
  }
  body.mp492-sale-fixed .modal-backdrop.submodal{
    z-index:320!important;
  }
  body.mp492-sale-fixed #payBtn{
    position:relative;
    z-index:1;
    pointer-events:auto!important;
    touch-action:manipulation;
  }
}

/* GectiON v4.9.4 — la fenêtre d'encaissement reste toujours au-dessus du ticket mobile. */
.modal-backdrop.mp494-pay-modal{z-index:500!important}
.modal-backdrop.mp494-pay-modal .modal{position:relative;z-index:1}

/* v4.9.5 — sélecteur de boutique accessible sur mobile */
.mp495-mobile-store-select{display:none;max-width:150px;font-weight:800}
@media(max-width:720px){
  .mp495-mobile-store-select{display:block!important;max-width:132px;height:38px;padding:0 28px 0 10px;border-radius:12px;font-size:12px;background:#fff}
  .topbar .right .network-pill{display:none}
}

/* v4.9.6 — caisse et stock mobile */
.mp496-shift .shift-terminal-title{display:flex;align-items:center;gap:12px}.mp496-shift .shift-terminal-title div{display:flex;flex-direction:column}.mp496-shift .shift-terminal-title small{margin-top:3px}.mp496-lines .expected{margin-top:6px;padding-top:14px;border-top:1px solid var(--line)}.mp496-actions{grid-template-columns:1fr 1fr}.cash-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.cash-choice .active{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 16%,transparent)}.stock-preview{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;margin:4px 0 18px;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft,#f7faf9)}.stock-preview b{font-size:1.15rem}.field small{display:block;margin-top:6px;color:var(--muted)}
@media(max-width:720px){.mp496-actions{grid-template-columns:1fr}.mp496-shift .shift-simple-lines>div{padding:12px 0}.cash-choice{grid-template-columns:1fr 1fr}.stock-preview{margin-bottom:14px}}


/* ===== GectiON — habillage visuel uniquement, sans impact sur les fonctions ===== */
.brand-logo{overflow:hidden;background:#fff!important;color:transparent!important;box-shadow:0 12px 30px rgba(23,87,191,.18)!important;border:1px solid rgba(255,255,255,.55)}
.brand-logo img{width:100%;height:100%;object-fit:contain;display:block}
.sidebar .brand-logo{background:rgba(255,255,255,.98)!important;border-color:rgba(255,255,255,.18)}
.mp-boot-logo.brand-logo{width:88px;height:88px;border-radius:24px;margin:0 auto 14px;background:#fff;padding:0;display:grid;place-items:center}
.mp-boot-logo.brand-logo img{width:100%;height:100%}
.terminal-logo.brand-logo{padding:0}
.terminal-logo.small.brand-logo{padding:0}
.mp-install-floating{gap:10px;padding:10px 14px 10px 10px;background:linear-gradient(135deg,#0f766e,#115f7b);box-shadow:0 16px 36px rgba(10,88,112,.28)}
.mp-install-badge{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;overflow:hidden;background:rgba(255,255,255,.96);box-shadow:0 8px 18px rgba(0,0,0,.16);flex:0 0 30px}
.mp-install-badge img{width:100%;height:100%;object-fit:contain;display:block}
.mp-install-floating.install-ready{background:linear-gradient(135deg,#066b8e,#0d6b5c)}
.mp-install-app img{background:#fff;box-shadow:0 8px 18px rgba(22,72,160,.14)}

/* ===== GectiON v4.9.7f — finition élégante, visuel uniquement ===== */
:root{
  --bk-ink:#102a43;
  --bk-navy:#123a78;
  --bk-blue:#1f6fe5;
  --bk-soft:#f5f8fd;
  --bk-line:#dfe7f2;
  --bk-gold:#d6a84b;
}
body{background:linear-gradient(180deg,#f8fafc 0%,#f4f7fb 100%);color:#18324a}
.shell{background:transparent}
.sidebar{
  background:linear-gradient(180deg,#0f4b91 0%,#155fb5 55%,#1f79d8 100%);
  border-right:1px solid rgba(255,255,255,.08);
  box-shadow:18px 0 44px rgba(17,42,76,.08);
}
.sidebar .brand-block{padding-top:8px}
.sidebar .logo{gap:13px}
.sidebar .logo strong{font-size:20px;letter-spacing:-.02em}
.sidebar .logo small{color:#9fb4cf;letter-spacing:.015em}
.sidebar .brand-logo{width:48px;height:48px;border-radius:15px!important;box-shadow:0 10px 24px rgba(0,0,0,.18)!important}
.store-badge{
  background:linear-gradient(145deg,rgba(255,255,255,.11),rgba(255,255,255,.055));
  border-color:rgba(255,255,255,.11);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.store-label{color:#87a8d1}
.store-name{color:#d5e0ef}
.nav button{color:#bac9dc;border:1px solid transparent;transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease}
.nav button:hover{transform:translateX(2px);background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.06)}
.nav button.active{background:linear-gradient(135deg,rgba(255,255,255,.22),rgba(255,255,255,.12));color:#fff;border-color:rgba(255,255,255,.24);box-shadow:0 8px 20px rgba(0,0,0,.09)}
.nav button.active .nav-icon{background:rgba(255,255,255,.13)}
.nav-section-title{color:#d7e9ff}
.sidebar-foot{background:linear-gradient(180deg,#0f4b91 0%,#155fb5 55%,#1f79d8 100%)!important;border-top:1px solid rgba(255,255,255,.12)!important;box-shadow:none!important}
.avatar{background:linear-gradient(145deg,#e9f2ff,#d8e9ff);color:#174d91;box-shadow:inset 0 0 0 1px rgba(29,95,176,.08)}

.topbar{
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(173,191,214,.42);
  box-shadow:0 7px 24px rgba(42,69,105,.055);
}
.topbar h1{color:#162f48;letter-spacing:-.025em}
.title-stack span{color:#7b8fa8}
.icon-action{transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
.icon-action:hover{transform:translateY(-1px);box-shadow:0 7px 16px rgba(33,64,98,.10)}
.status-pill.open{background:linear-gradient(145deg,#eaf8f2,#e0f5ed);color:#167052;border-color:#cceade}
.status-pill.closed{background:linear-gradient(145deg,#fff9eb,#fff3d7);color:#8a6411;border-color:#f1dfad}
.store-select{border-color:#d7e2ef;background:#fff;color:#1c3854;box-shadow:0 3px 10px rgba(24,52,82,.04)}

.content{background:transparent}
.panel,.kpi,.item-card,.modal,.auth-card,.terminal-card,.pin-card{
  border-color:var(--bk-line)!important;
  box-shadow:0 12px 34px rgba(31,59,93,.07)!important;
}
.panel,.kpi,.item-card{background:rgba(255,255,255,.96)}
.panel{border-radius:20px}
.panel-head{border-bottom-color:#edf2f7}
.panel-head h2{color:#173552;letter-spacing:-.018em}
.kpi{border-radius:18px}
.kpi .value{color:#173e78}
.kpi .label{color:#73859a}

.btn{border-radius:13px;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}
.btn:hover{transform:translateY(-1px)}
.btn.primary{
  background:linear-gradient(135deg,#155fb5,#1b79d8)!important;
  border-color:#155fb5!important;
  box-shadow:0 9px 20px rgba(24,104,190,.20)!important;
}
.btn.primary:hover{filter:brightness(1.03);box-shadow:0 12px 26px rgba(24,104,190,.26)!important}
.btn.secondary{background:#fff!important;border-color:#d6e2ef!important;color:#1a4777!important}
.text-btn{color:#1b65b4}

.field input,.field select,.field textarea,.catalog-toolbar input,.catalog-toolbar select{
  border-color:#d8e3ef!important;background:#fbfdff!important;border-radius:13px!important;
  box-shadow:inset 0 1px 2px rgba(18,43,73,.025);
}
.field input:focus,.field select:focus,.field textarea:focus,.catalog-toolbar input:focus,.catalog-toolbar select:focus{
  border-color:#77a9e9!important;box-shadow:0 0 0 3px rgba(55,125,212,.10)!important;outline:none
}

.item-card{border-radius:19px;overflow:hidden;transition:transform .16s ease,box-shadow .16s ease}
.item-card:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgba(31,59,93,.11)!important}
.item-card .price{color:#15508e}

.mobile-bottom{
  background:rgba(255,255,255,.96)!important;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-top:1px solid #dfe7f1!important;
  box-shadow:0 -10px 28px rgba(33,59,92,.08)!important;
}
.mobile-bottom button{color:#7d8ea2}
.mobile-bottom button.active{color:#155fb5}
.mobile-bottom button.active span{filter:drop-shadow(0 2px 5px rgba(30,103,180,.16))}

.mp-install-floating{
  background:linear-gradient(135deg,#123f7f,#1e74cf)!important;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 16px 34px rgba(23,76,143,.28)!important;
  letter-spacing:.005em;
}
.mp-install-floating.install-ready{background:linear-gradient(135deg,#0f4b91,#287ed3)!important}
.mp-install-badge{width:32px;height:32px;flex-basis:32px;border-radius:11px;box-shadow:0 8px 20px rgba(0,0,0,.18)}
.mp-install-sheet{border:1px solid #e0e7f1;box-shadow:0 32px 90px rgba(18,40,68,.30)}
.mp-install-app small{color:#1b5da4}
.mp-install-primary{background:linear-gradient(135deg,#155fb5,#1f79d8);box-shadow:0 10px 22px rgba(25,101,183,.20)}

.mp-boot{background:radial-gradient(circle at 50% 30%,#eef5ff 0,#f7faff 38%,#f1f5fb 100%)}
.mp-boot-card{background:rgba(255,255,255,.94)!important;border:1px solid #e1e8f2!important;box-shadow:0 30px 80px rgba(25,54,91,.13)!important}
.mp-boot-logo.brand-logo{box-shadow:0 18px 38px rgba(28,91,169,.18)!important}
.mp-boot-card h1{color:#14375f;letter-spacing:-.03em}
.mp-boot-line{background:linear-gradient(90deg,#d7e7fb,#1c6fc5,#d7e7fb)!important}

.auth-card{background:rgba(255,255,255,.97)}
.terminal-auth,.pin-page{background:radial-gradient(circle at 18% 12%,#1c5e9f 0,#123e72 32%,#0c294e 100%)}
.terminal-brand p{color:#c2d4e9}
.terminal-logo.brand-logo{box-shadow:0 20px 48px rgba(0,0,0,.24)!important}

@media(max-width:720px){
  body{background:#f6f8fb}
  .topbar{box-shadow:0 6px 20px rgba(37,63,93,.06)}
  .topbar.mp497-topbar{padding-left:14px!important;padding-right:14px!important}
  .topbar.mp497-topbar .mobile-menu{border-radius:15px!important;background:#fff!important;border:1px solid #dce5ef!important;box-shadow:0 6px 15px rgba(23,52,86,.06)}
  .topbar.mp497-topbar .right>.mp495-mobile-store-select{border-radius:14px!important;background:#fff!important;border-color:#d8e3ef!important}
  .content{padding-left:12px!important;padding-right:12px!important}
  .panel{border-radius:18px}
  .btn{min-height:46px}
  .item-card{border-radius:18px}
}


/* GectiON v4.9.7k — photos articles et reçus uniquement */
.photo-actions.has-remove{grid-template-columns:1fr 1fr}.photo-actions.has-remove .btn.danger{grid-column:1/-1}
.thermal-preview .ticket-head{display:grid;gap:9px}.thermal-preview .receipt-identity-line{display:flex;align-items:center;justify-content:center;gap:10px;text-align:left;min-width:0}.thermal-preview .receipt-identity-line.no-logo .receipt-identity-text{text-align:center}.thermal-preview .receipt-identity-text{min-width:0}.thermal-preview .receipt-logo{display:block;object-fit:contain;margin:0;filter:grayscale(1);flex:0 0 auto}.thermal-preview .receipt-logo-org{max-width:68px;max-height:58px}.thermal-preview .receipt-logo-store{max-width:56px;max-height:48px}.thermal-preview .store-name{font-family:Arial,sans-serif;font-weight:800;line-height:1.15}
.thermal-preview .items-title{display:flex;justify-content:space-between;font-size:9px;font-weight:900;margin-bottom:5px;letter-spacing:.05em}
.receipt-logo-setting-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;align-items:center}
.receipt-logo-setting-preview{height:110px;border:1px dashed #cbd9e8;border-radius:14px;background:#f8fbff;display:grid;place-items:center;overflow:hidden;color:#7c8da3;font-size:12px;font-weight:800;text-align:center;padding:8px}
.receipt-logo-setting-preview img{width:100%;height:100%;object-fit:contain;background:#fff;border-radius:8px}
.receipt-logo-setting-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.receipt-logo-setting-actions .sub{flex-basis:100%;margin:2px 0 0}
@media(max-width:720px){.receipt-logo-setting-row{grid-template-columns:1fr}.receipt-logo-setting-preview{height:120px}.receipt-logo-setting-actions{display:grid;grid-template-columns:1fr}.receipt-logo-setting-actions .btn{width:100%}}


/* GectiON v4.9.7l — identité des reçus + impression pleine largeur uniquement */
.receipt-identity-settings{border:1px solid #d7e4f2!important;box-shadow:0 12px 32px rgba(25,78,140,.08)!important}
.receipt-identity-settings>.panel-head{background:linear-gradient(135deg,#f7fbff,#eef5ff)}
.receipt-identity-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.receipt-identity-card{border:1px solid #d9e4ef;border-radius:16px;padding:14px;background:#fff;display:grid;gap:12px}
.receipt-identity-head h3{margin:2px 0 0;font-size:16px;color:#173e78}
.receipt-identity-card .receipt-logo-setting-preview{height:130px;background:#f8fbff}
.receipt-identity-card .receipt-logo-setting-actions{display:flex;gap:8px;flex-wrap:wrap}

@media(max-width:720px){.receipt-identity-grid{grid-template-columns:1fr}.receipt-identity-card .receipt-logo-setting-actions{display:grid;grid-template-columns:1fr}.receipt-identity-card .receipt-logo-setting-actions .btn{width:100%}}

/* v4.9.7q — rendu des icônes de navigation uniquement */
.nav-icon svg{width:19px;height:19px;display:block}
.mobile-bottom button>span svg{width:19px;height:19px;display:block;margin:auto}
#mp46More>span svg{width:19px;height:19px;display:block;margin:auto}

/* GectiON v4.9.7r — libellé de sortie uniquement */
.logout-session-btn{border:1px solid rgba(255,255,255,.20);background:rgba(255,255,255,.12);color:#fff;border-radius:12px;min-height:40px;padding:8px 11px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:800;font-size:11px;cursor:pointer;white-space:nowrap}
.logout-session-btn:hover{background:rgba(255,255,255,.18)}
.logout-session-icon{font-size:18px;line-height:1}
.sidebar-foot .logout-session-btn{margin-left:auto}
.topbar .logout-session-btn{color:#1a4777;background:#fff;border-color:#d6e2ef}
@media(max-width:720px){.sidebar-foot .logout-session-btn{font-size:10px;padding:8px 9px}.sidebar-foot .logout-session-icon{font-size:17px}}

/* GectiON v4.9.7s — typographie du corps légèrement agrandie uniquement.
   Les en-têtes de page / topbar ne sont volontairement pas modifiés. */
#content{font-size:15px}
#content .sub{font-size:14px}
#content .helper{font-size:13px}
#content .field label{font-size:14px}
#content .field input,
#content .field select,
#content .field textarea,
#content .toolbar input,
#content .toolbar select,
#content .catalog-toolbar input,
#content .catalog-toolbar select{font-size:15px}
#content .btn{font-size:15px}
#content .btn.small{font-size:14px}
#content .text-btn{font-size:14px}
#content .table{font-size:14px}
#content .table th{font-size:11px}
#content .badge{font-size:11px}
#content .table-product small{font-size:10px}
#content .kpi .label{font-size:12px}
#content .kpi .value small{font-size:11px}
#content .kpi-foot{font-size:12px}
#content .recent-row small{font-size:12px}
#content .recent-row strong{font-size:14px}
#content .category-chip{font-size:12px}
#content .catalog-summary span{font-size:11px}
#content .item-card .name{font-size:15px}
#content .item-card .meta{font-size:12px}
#content .item-card .price{font-size:18px}
#content .item-card .price small{font-size:10px}
#content .stock-pill{font-size:10px}
#content .manage-name{font-size:15px}
#content .manage-category{font-size:11px}
#content .manage-info{font-size:11px}
#content .manage-info strong{font-size:14px}
#content .cart-product b{font-size:14px}
#content .cart-empty small{font-size:12px}
#content .total-row{font-size:14px}
#content .total-row.grand{font-size:19px}
#content .section-title b{font-size:13px}
#content .section-title small{font-size:11px}
#content .printer-help,
#content .printer-note,
#content .printer-row small,
#content .printer-status-card small,
#content .printer-status-card span{font-size:13px}

@media(max-width:720px){
  #content{font-size:15px}
  #content .table{font-size:14px}
  #content .table th{font-size:11px}
  #content .panel-head h2{font-size:14px}
  #content .kpi .label{font-size:12px}
  #content .item-card .name{font-size:14px}
  #content .manage-name{font-size:13px}
}


/* ===== GectiON v4.9.7t — correction affichage profil/tablette ===== */
@media (max-width:1100px){
  .sidebar-foot .user-mini{
    display:grid;
    grid-template-columns:56px minmax(0,1fr);
    align-items:center;
    gap:12px;
  }
  .sidebar-foot .user-mini > div{
    min-width:0;
  }
  .sidebar-foot .logout-session-btn{
    grid-column:1 / -1;
    width:100%;
    margin-left:0;
    justify-content:center;
  }
}


/* GectiON v4.10.1 — transparence de l'écran d'autorisation */
.mp-auth-trust{margin:14px 0 4px;padding:12px 14px;border:1px solid rgba(21,95,181,.16);border-radius:12px;background:rgba(21,95,181,.04);display:flex;flex-direction:column;gap:6px;color:var(--muted,#64748b);font-size:12px}.mp-auth-trust a{color:#155fb5;text-decoration:none;font-weight:700}.mp-auth-trust a:hover{text-decoration:underline}


/* Historique des périodes compact : 3 récentes + page complète */
.shift-history-card{display:block}
.shift-history-head{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-bottom:1px solid #e8eeec}
.shift-history-head>div{display:flex;align-items:baseline;gap:8px;min-width:0}
.shift-history-head b{font-size:12px;color:#17344b}
.shift-history-head small{font-size:9px;color:#85938f;font-weight:700;white-space:nowrap}
.shift-history-link{border:0;background:transparent;color:var(--primary);font:inherit;font-size:10px;font-weight:850;padding:5px 2px;cursor:pointer}
.shift-history-list.compact-list{padding:1px 12px 6px}
.shift-history-list.compact-list .shift-history-row{padding:7px 3px}
.shift-history-page{max-width:900px;margin:0 auto}
.shift-history-page-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.shift-history-page-head h2{margin:0;font-size:18px;color:#17344b}
.shift-history-page-head p{margin:2px 0 0;color:#82918d;font-size:11px}
.history-back-btn{min-width:auto;padding-inline:12px}
.history-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:9px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:11px;margin-bottom:10px}
.history-filters .field{margin:0}
.history-full-list{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.full-history-list{padding:2px 12px 8px}
.full-row{padding:10px 3px}
.full-row>div:first-child small{display:block}
@media(max-width:700px){.history-filters{grid-template-columns:1fr 1fr}.history-filters .field:first-child{grid-column:1/-1}.shift-history-page-head{align-items:flex-start}.shift-history-page-head h2{font-size:16px}}

@media(max-width:720px){body.mp-install-offer-visible:not(.mp-pos-active) .content{padding-bottom:calc(148px + env(safe-area-inset-bottom))!important}body.mp-install-offer-visible .mp-install-floating{bottom:calc(74px + env(safe-area-inset-bottom));right:10px;padding:8px 11px 8px 8px;min-height:46px}.mp-install-floating .mp-install-label{font-size:11px!important}}

/* Payroll Haïti */
.payroll-tabs{display:flex;gap:8px;overflow:auto;margin:0 0 18px;padding:4px 0}.payroll-tabs button{border:1px solid #dce4ef;background:#fff;border-radius:999px;padding:9px 14px;font-weight:700;white-space:nowrap;cursor:pointer}.payroll-tabs button.active{background:#123b70;color:#fff;border-color:#123b70}.payroll-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.payroll-kpis .kpi .value{font-size:20px}.payroll-grid{align-items:start}.payroll-summary-row{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #edf1f5}.payroll-summary-row span{display:flex;flex-direction:column}.payroll-summary-row small,.table-sub{display:block;color:#6e7887;font-size:12px;margin-top:3px}.payroll-check{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #e1e7ef;border-radius:12px;margin-bottom:10px}.payroll-check>b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fff1cf}.payroll-check.ok>b{background:#dff5e7}.payroll-check span{display:flex;flex-direction:column}.payroll-check small{color:#667085}.legal-note{background:#f5f8fc;border:1px solid #dfe7f1;border-radius:12px;padding:13px;margin-top:14px;color:#445166;font-size:13px;line-height:1.45}.payroll-exempt{display:flex;gap:14px;flex-wrap:wrap;padding:14px 0}.payroll-exempt label,.payroll-confirm{display:flex;align-items:center;gap:7px}.payroll-period-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.payroll-warning{display:block;color:#a35c00;font-size:11px;margin-top:3px}.payroll-variable-list{display:grid;gap:14px}.payroll-variable-card{border:1px solid #e1e7ef;border-radius:14px;padding:14px}.payroll-variable-card h4{margin:0 0 10px}.form-grid.compact{grid-template-columns:repeat(4,minmax(120px,1fr))}.payroll-confirm{padding:8px 0;font-size:14px}@media(max-width:1000px){.payroll-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.payroll-kpis{grid-template-columns:1fr}.form-grid.compact{grid-template-columns:1fr}.payroll-period-actions .btn{width:100%}}

/* Payroll 5.5.1: détails explicites des retenues */
.payroll-deductions-table{overflow-x:auto;-webkit-overflow-scrolling:touch}.payroll-deductions-table table{min-width:1180px}.payroll-deductions-table th,.payroll-deductions-table td{white-space:nowrap}

/* Payroll 5.5.2 — mobile employee dossiers */
.payroll-employees-table{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.payroll-employees-table table{width:100%;min-width:840px}
.payroll-employees-table th:last-child,.payroll-employees-table td:last-child{text-align:right}
@media(max-width:700px){
  .payroll-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;overflow:visible;padding:0;margin-bottom:16px}
  .payroll-tabs button{width:100%;min-width:0;padding:10px 7px;font-size:13px;overflow:hidden;text-overflow:ellipsis}
  .payroll-tabs button:nth-child(4),.payroll-tabs button:nth-child(5){grid-column:auto}
  .payroll-employees-body{padding:10px!important}
  .payroll-employees-table{overflow:visible}
  .payroll-employees-table table,.payroll-employees-table tbody,.payroll-employees-table tr,.payroll-employees-table td{display:block;width:100%;min-width:0}
  .payroll-employees-table thead{display:none}
  .payroll-employees-table tbody{display:grid;gap:12px}
  .payroll-employees-table tr{box-sizing:border-box;border:1px solid #e3e9f1;border-radius:14px;padding:13px 14px;background:#fff;box-shadow:0 2px 8px rgba(15,42,70,.035)}
  .payroll-employees-table td{box-sizing:border-box;border:0!important;padding:8px 0!important;display:grid;grid-template-columns:minmax(90px,36%) minmax(0,1fr);gap:10px;align-items:start;text-align:left!important;white-space:normal!important;overflow-wrap:anywhere}
  .payroll-employees-table td::before{content:attr(data-label);font-size:11px;line-height:1.25;font-weight:800;letter-spacing:.045em;text-transform:uppercase;color:#7b8794}
  .payroll-employees-table td:first-child{padding-top:2px!important}
  .payroll-employees-table td:first-child b{font-size:16px;color:#16324f}
  .payroll-employees-table td:last-child{padding-top:10px!important;border-top:1px solid #edf1f5!important;margin-top:3px}
  .payroll-employee-action{width:100%;min-height:42px}
}
@media(max-width:420px){
  .payroll-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .payroll-tabs button{font-size:12.5px}
  .payroll-employees-table td{grid-template-columns:88px minmax(0,1fr);gap:8px}
}
/* Payroll 5.5.4 — barèmes modifiables */
.payroll-rules-panel{margin-top:18px}.payroll-rules-panel .panel-head{align-items:flex-start;gap:14px}.payroll-rules-panel .panel-head p{margin:5px 0 0;color:var(--muted,#6b7789);font-size:13px}.payroll-rule-list{display:grid;gap:12px;margin-top:14px}.payroll-rule-card{border:1px solid #dfe6ef;border-radius:16px;padding:16px;display:flex;justify-content:space-between;gap:18px;align-items:center;background:#fff}.payroll-rule-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.payroll-rule-card small{display:block;margin-top:4px;color:#758196}.payroll-rule-rates{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:11px;font-size:13px}.payroll-rule-rates span{white-space:nowrap}.payroll-rule-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.payroll-rule-form h3{margin:20px 0 10px;color:#163552}.payroll-rate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.payroll-rate-grid label,.payroll-bracket-row label{font-size:13px;font-weight:700;color:#41566a}.payroll-rate-grid input,.payroll-bracket-row input{display:block;width:100%;margin-top:6px}.payroll-brackets{display:grid;gap:8px}.payroll-bracket-row{display:grid;grid-template-columns:100px 1fr 1fr;gap:10px;align-items:end;border:1px solid #e5eaf1;border-radius:12px;padding:10px}.payroll-bracket-row>span{font-weight:800;color:#173652;padding-bottom:10px}
@media(max-width:720px){.payroll-rules-panel .panel-head{display:flex;flex-direction:column}.payroll-rules-panel .panel-head .btn{width:100%}.payroll-rule-card{display:block}.payroll-rule-actions{margin-top:14px;justify-content:stretch}.payroll-rule-actions .btn{flex:1}.payroll-rate-grid{grid-template-columns:1fr 1fr}.payroll-bracket-row{grid-template-columns:1fr 1fr}.payroll-bracket-row>span{grid-column:1/-1;padding-bottom:0}.payroll-rule-rates{display:grid;grid-template-columns:1fr 1fr}}
@media(max-width:430px){.payroll-rate-grid{grid-template-columns:1fr}.payroll-rule-rates{grid-template-columns:1fr}.payroll-bracket-row{grid-template-columns:1fr}}

/* Payroll 5.5.9 — taux sociaux simples */
.payroll-social-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 16px}.payroll-social-summary span{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--border,#dfe7ef);border-radius:12px;background:#f8fbff}.payroll-social-summary b{white-space:nowrap;color:#174a82}@media(max-width:700px){.payroll-social-summary{grid-template-columns:1fr}.payroll-rules-panel .panel-head,.op-panel .panel-head{align-items:flex-start}.op-panel .panel-head #editSocialRates{width:100%;margin-top:10px}}
/* Payroll 5.5.10 — social rates coherence */
.payroll-social-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:14px 0}
.payroll-social-card{border:1px solid var(--line,#dfe6ee);border-radius:18px;padding:16px;background:#fff}
.payroll-social-card h3{margin:0 0 6px}
.payroll-social-card .muted{margin:0 0 14px;color:var(--muted,#6b7a89);font-size:.92rem;line-height:1.45}
.payroll-rate-state{min-height:48px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px}
.payroll-rate-state small,.field-hint{display:block;color:var(--muted,#6b7a89);font-size:.78rem;line-height:1.35;margin-top:5px}
.payroll-social-summary span small{display:block;font-weight:400;color:var(--muted,#6b7a89);margin-top:2px}
@media(max-width:760px){.payroll-social-editor-grid{grid-template-columns:1fr}.payroll-social-card{padding:14px}.payroll-social-summary{grid-template-columns:1fr!important}}
/* Payroll 5.5.11 — simplified coherent social contributions */
.payroll-simple-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.payroll-simple-summary>div{border:1px solid var(--line,#dce5ef);border-radius:14px;padding:14px;background:#fff;display:flex;flex-direction:column;gap:4px}.payroll-simple-summary small{color:var(--muted,#718096);font-weight:700}.payroll-simple-summary strong{font-size:24px;color:var(--navy,#174a82)}.payroll-simple-summary span{font-size:12px;color:var(--muted,#718096)}.payroll-simple-intro{padding:12px 14px;border-radius:12px;background:#f4f8fc;color:#35516d;margin-bottom:14px}.payroll-simple-card{border:1px solid var(--line,#dce5ef);border-radius:16px;padding:16px;margin:12px 0}.payroll-simple-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.payroll-simple-title h3{margin:0 0 4px}.payroll-simple-title p{margin:0;color:var(--muted,#718096);font-size:13px}.payroll-simple-rate-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.payroll-simple-rate-row label,.payroll-ofatma-line>label{font-weight:700}.payroll-rate-input{display:flex;align-items:center;gap:8px;margin-top:6px}.payroll-rate-input input{width:100%;min-width:0}.payroll-rate-input b{font-size:18px}.payroll-ofatma-line{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:end;margin:12px 0}.payroll-advanced{margin-top:14px;border-top:1px solid var(--line,#dce5ef);padding-top:12px}.payroll-advanced summary,.payroll-advanced-panel>summary{cursor:pointer;font-weight:800;color:var(--navy,#174a82)}.payroll-advanced-panel>summary{list-style:none;padding:18px 20px;display:flex;flex-direction:column;gap:3px}.payroll-advanced-panel>summary::-webkit-details-marker{display:none}.payroll-advanced-panel>summary span{font-size:12px;font-weight:500;color:var(--muted,#718096)}.payroll-rule-toolbar{display:flex;justify-content:flex-end;margin-bottom:12px}
@media(max-width:640px){.payroll-simple-summary{grid-template-columns:1fr}.payroll-simple-summary>div{padding:12px}.payroll-simple-summary strong{font-size:21px}.payroll-simple-rate-row,.payroll-ofatma-line{grid-template-columns:1fr}.payroll-simple-card{padding:14px}.payroll-social-main .panel-head{align-items:center}.payroll-social-main .panel-head .btn{flex:0 0 auto}}


/* Payroll 5.5.12 — salaire minimum : alerte souple + justification contrôlée */
.payroll-minimum-panel{border-color:#f0d7a6}
.payroll-minimum-panel .panel-head{background:#fffaf0}
.payroll-minimum-list{display:grid;gap:10px}
.payroll-minimum-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 14px;border:1px solid #ead7b3;border-radius:12px;background:#fffdf8}
.payroll-minimum-row.approved{border-color:#cce5d5;background:#f8fdf9}
.payroll-minimum-main{display:flex;flex-direction:column;gap:3px;min-width:0}
.payroll-minimum-main small{color:#667085;line-height:1.35}
.payroll-minimum-pending{color:#9a5b00!important;font-weight:700}
.payroll-minimum-approved{color:#287a47!important;font-weight:700}
@media(max-width:620px){.payroll-minimum-row{align-items:flex-start;flex-direction:column}.payroll-minimum-row>div:last-child,.payroll-minimum-row .btn{width:100%}}

/* Payroll 5.5.14 — portée boutique et paies anticipées */
.payroll-period-type{display:flex;align-items:center;min-height:42px;padding:0 12px;border:1px solid #d7e2ef;border-radius:10px;background:#f7fafc;font-weight:800;color:#36546f}
.payroll-period-type.future{border-color:#e5c46b;background:#fff8df;color:#8a6100}
.payroll-anticipated-banner{display:flex;gap:10px;align-items:flex-start;margin:0 0 14px;padding:12px 14px;border:1px solid #e7cf82;border-radius:12px;background:#fff9e8;color:#765a08}
.payroll-anticipated-banner b{white-space:nowrap}
.payroll-anticipated-banner span{line-height:1.4}
@media(max-width:620px){.payroll-anticipated-banner{display:block}.payroll-anticipated-banner b{display:block;margin-bottom:4px}}

/* 5.5.18 — Payroll suit la boutique active de GectiON */
.payroll-scope-note{margin:0 0 14px;padding:10px 14px;border:1px solid var(--line,#dfe6ee);border-radius:14px;background:var(--panel,#fff);font-size:.92rem;color:var(--muted,#617083)}
.payroll-scope-note b{color:var(--text,#19324a)}
.payroll-scope-note span{padding:0 5px}


/* Payroll 5.5.21 — paramètres simples et lisibles sur mobile */
.payroll-employer-main,.payroll-social-main,.payroll-advanced-panel{margin-bottom:14px}
.payroll-field-help{display:block;margin-top:6px;color:var(--muted,#718096);font-size:12px;line-height:1.35}
.payroll-exemption-box{margin-top:14px;padding:12px 14px;border:1px solid #f2dfb3;background:#fffaf0;border-radius:12px}
.payroll-exemption-box .payroll-confirm{margin:0}
.payroll-exemption-box small{display:block;margin:6px 0 0 28px;color:#7b6a3e;line-height:1.35}
.payroll-social-main .panel-head>div{min-width:0;flex:1}
.payroll-social-main .panel-head p,.payroll-employer-main .panel-head p{margin:4px 0 0;color:var(--muted,#718096);font-size:13px;line-height:1.35}
.payroll-advanced-panel .payroll-rule-card{padding:13px 14px}
.payroll-advanced-panel .payroll-rule-actions .btn{min-height:38px}
@media(max-width:640px){
  .payroll-social-main .panel-head{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important}
  .payroll-social-main .panel-head .btn{width:100%!important;margin:0!important;flex:none!important}
  .payroll-social-main .panel-head p{max-width:none!important}
  .payroll-employer-main .form-grid{grid-template-columns:1fr!important}
  .payroll-employer-main .field.wide{grid-column:auto!important}
  .payroll-rule-card{padding:12px!important}
  .payroll-rule-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin-top:10px!important}
  .payroll-rule-actions .btn{width:100%!important}
  .payroll-advanced-panel>summary{padding:15px 16px!important}
  .payroll-advanced-panel .panel-body{padding:12px!important}
  .payroll-rule-toolbar .btn{width:100%!important}
  .payroll-simple-summary{gap:8px!important}
}

.payroll-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 10px}.payroll-section-head h3{margin:0}.payroll-bracket-row{grid-template-columns:100px minmax(0,1fr) minmax(0,1fr) auto}.payroll-bracket-remove{align-self:end;min-height:42px}.payroll-module-settings .panel-head p{margin:5px 0 0;color:var(--muted,#718096);font-size:13px;max-width:720px}.payroll-module-toggle-field .payroll-confirm{margin-top:7px}.payroll-module-toggle-field small{display:block;margin-top:6px;color:var(--muted,#718096)}
@media(max-width:720px){.payroll-section-head{align-items:stretch;flex-direction:column}.payroll-section-head .btn{width:100%}.payroll-bracket-row{grid-template-columns:1fr 1fr}.payroll-bracket-row>span,.payroll-bracket-remove{grid-column:1/-1}.payroll-bracket-remove{width:100%}}
@media(max-width:430px){.payroll-bracket-row{grid-template-columns:1fr}}

.purchase-detail-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.purchase-detail-actions{flex-wrap:wrap}.purchase-detail-actions .btn{min-width:0}
@media(max-width:720px){.purchase-detail-wrap{overflow:visible}.purchase-detail-table,.purchase-detail-table tbody,.purchase-detail-table tr,.purchase-detail-table td{display:block;width:100%}.purchase-detail-table thead{display:none}.purchase-detail-table tr{border:1px solid var(--line);border-radius:14px;padding:10px 12px;margin-bottom:10px;background:#fff}.purchase-detail-table td{border:0!important;padding:5px 0!important;white-space:normal!important;overflow-wrap:anywhere}.purchase-detail-table td:before{display:block;font-size:9px;font-weight:800;text-transform:uppercase;color:#84938f;margin-bottom:2px}.purchase-detail-table td:nth-child(1):before{content:"Article"}.purchase-detail-table td:nth-child(2):before{content:"Commandé"}.purchase-detail-table td:nth-child(3):before{content:"Reçu"}.purchase-detail-table td:nth-child(4):before{content:"Coût d’achat"}.purchase-detail-table td:nth-child(5):before{content:"Total"}.purchase-detail-actions{display:grid;grid-template-columns:1fr;position:static;padding:12px 0 0;background:transparent}.purchase-detail-actions .btn{width:100%;white-space:normal}.modal-body{overflow-x:hidden}}
.payroll-insurance-box{margin:16px 0;padding:16px;border:1px solid var(--line,#dce5ef);border-radius:16px;background:#f8fbfe}.payroll-insurance-box h3{margin:0 0 12px;color:var(--navy,#174a82)}.payroll-insurance-box .payroll-field-help{display:block;margin-top:8px;color:var(--muted,#718096)}
.payroll-ofatma-note{padding:12px 14px;border-radius:12px;background:#eef8f6;color:#285c55;font-weight:600}.payroll-insurance-other{min-width:0}

.payroll-wage-rows{display:grid;gap:12px;margin-bottom:12px}.payroll-wage-row{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(150px,1fr) auto;gap:10px;align-items:end;padding:12px;border:1px solid var(--line,#dfe6ec);border-radius:16px;background:#fff}.payroll-wage-row label{display:grid;gap:6px}.payroll-wage-row .btn{min-height:44px}@media(max-width:640px){.payroll-wage-row{grid-template-columns:1fr}.payroll-wage-row .btn{width:100%}}

.customer-store-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:6px}.customer-store-choice{display:flex;align-items:center;gap:10px;border:1px solid #d7e2ef;border-radius:12px;padding:10px 12px;background:#fbfdff;cursor:pointer}.customer-store-choice input{width:18px;height:18px;flex:0 0 auto}.customer-store-choice span{display:grid;gap:2px;min-width:0}.customer-store-choice b{color:#173552}.customer-store-choice small,.field-hint{color:#7c8d9b;font-size:11px}.customer-store-choice:has(input:checked){border-color:#8bbce8;background:#f1f8ff}@media(max-width:540px){.customer-store-picker{grid-template-columns:1fr}}

.license-top-pill{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;padding:7px 10px;background:#fff;font:inherit;cursor:pointer;white-space:nowrap}.license-top-pill span{font-size:12px;font-weight:800}.license-top-pill b{font-size:11px;padding:2px 6px;border-radius:999px;background:rgba(255,255,255,.72)}.license-top-pill.ok{color:#087a4b;background:#eafaf2;border-color:#bcebd4}.license-top-pill.trial{color:#125bbb;background:#edf5ff;border-color:#bed8ff}.license-top-pill.danger{color:#b42318;background:#fff1f0;border-color:#ffc9c5}
.license-hero,.platform-hero{align-items:stretch}.license-status{min-width:190px;border-radius:18px;padding:18px 20px;display:flex;flex-direction:column;justify-content:center}.license-status span{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.license-status b{font-size:30px;line-height:1.05;margin:6px 0}.license-status small{font-weight:650}.license-status.ok{background:#eafaf2;color:#087a4b}.license-status.trial{background:#edf5ff;color:#125bbb}.license-status.danger{background:#fff1f0;color:#b42318}.license-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}.license-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px}.license-facts>div{border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--soft,#f8fafc)}.license-facts span{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}.license-facts b{font-size:15px}.license-renew-box{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px}.license-renew-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#eafaf2;color:#087a4b;font-weight:900}.license-renew-box p{margin:5px 0 0;color:var(--muted);line-height:1.5}.license-stop{max-width:680px;margin:48px auto;padding:38px;border:1px solid var(--line);border-radius:24px;background:#fff;text-align:center;box-shadow:0 18px 55px rgba(15,23,42,.08)}.license-stop-icon{width:62px;height:62px;display:grid;place-items:center;margin:0 auto 16px;border-radius:18px;background:#edf5ff;color:#125bbb}.license-stop-icon svg{width:30px;height:30px}.license-stop h2{font-size:28px;margin:8px 0}.license-stop p{color:var(--muted);max-width:520px;margin:0 auto 22px;line-height:1.6}.license-stop-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.license-badge{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:12px;font-weight:800}.license-badge.ok{background:#eafaf2;color:#087a4b}.license-badge.trial{background:#edf5ff;color:#125bbb}.license-badge.danger{background:#fff1f0;color:#b42318}.platform-license-table .row-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.btn.danger{background:#fff1f0;color:#b42318;border:1px solid #ffc9c5}.form-span-2{grid-column:1/-1}.note-box.warn{background:#fff8e6;border-color:#f7d88b}
@media(max-width:760px){.license-grid{grid-template-columns:1fr}.license-facts{grid-template-columns:1fr}.license-status{min-width:0}.license-stop{margin:18px 0;padding:26px 18px}.platform-license-table .row-actions{justify-content:flex-start}.license-top-pill{padding:6px 8px}.license-top-pill span{display:none}.form-span-2{grid-column:auto}}
\n/* GectiON 5.5.38 — l'administration des abonnements est globale, sans contexte boutique/caisse. */
.platform-admin-context .store-badge,
.platform-admin-context #storeSelect,
.platform-admin-context .topbar .badge,
.platform-admin-context .store-context,
.platform-admin-context .store-switcher,
.platform-admin-context .mobile-store-select,
.platform-admin-context .shift-status,
.platform-admin-context .shift-pill { display:none !important; }
@media (max-width: 760px){
  .platform-admin-context .topbar{min-height:88px;align-items:center;}
  .platform-admin-context .topbar .right{margin-left:auto;}
  .platform-admin-context .topbar .license-top-pill{display:none!important;}
}
.platform-admin-context #viewEyebrow,
.platform-admin-context .mp495-mobile-store-select,
.platform-admin-context .status-pill[data-view="shifts"] { display:none !important; }
@media (max-width:760px){
  .platform-admin-context .topbar .title-stack{display:flex!important;min-width:0;}
  .platform-admin-context .topbar #viewTitle{display:block!important;}
}

.subscription-plans-section,.admin-plans,.admin-organizations{margin:22px 0}.section-title-row{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:0 0 14px}.section-title-row h2{margin:3px 0 4px}.section-title-row p{margin:0;color:var(--muted)}.plans-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.plan-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:0 10px 30px rgba(15,23,42,.05);display:flex;flex-direction:column;gap:14px}.plan-card.inactive{opacity:.68}.plan-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.plan-card h3{font-size:22px;margin:3px 0 0}.plan-code{font-size:11px;font-weight:850;letter-spacing:.08em;color:#0f766e}.plan-card>p{margin:0;color:var(--muted);line-height:1.45;min-height:42px}.plan-limits{font-size:13px;font-weight:750;color:#334155;padding:10px 12px;border-radius:12px;background:#f8fafc}.plan-prices{display:grid;grid-template-columns:1fr 1fr;gap:8px}.plan-prices>div{padding:10px;border:1px solid var(--line);border-radius:13px;background:#fbfdff}.plan-prices b,.plan-prices span{display:block}.plan-prices b{font-size:15px;color:#0b4f8a}.plan-prices span{font-size:11px;color:var(--muted);margin-top:2px}.plan-contact{text-align:center;font-size:12px;font-weight:750;color:#0f766e;background:#ecfdf5;padding:9px;border-radius:12px}.platform-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.platform-company-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 8px 26px rgba(15,23,42,.05)}.company-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.company-card-top small{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.08em}.company-card-top h3{margin:3px 0 0;font-size:20px}.company-meta{display:grid;gap:8px;margin:16px 0}.company-meta>div{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:8px}.company-meta span{color:var(--muted);font-size:12px}.company-meta b{text-align:right;font-size:13px}.platform-company-card .row-actions{display:flex;flex-wrap:wrap;gap:7px}
.platform-admin-context .topbar [class*="store"],.platform-admin-context .topbar [class*="shift"],.platform-admin-context .topbar [class*="caisse"],.platform-admin-context .topbar select,.platform-admin-context .topbar .license-top-pill{display:none!important}.platform-admin-context .topbar{min-height:76px!important}.platform-admin-context #viewTitle{display:block!important}
@media(max-width:980px){.plans-grid{grid-template-columns:1fr 1fr}.platform-cards{grid-template-columns:1fr}}
@media(max-width:640px){.plans-grid{grid-template-columns:1fr}.section-title-row{align-items:stretch;flex-direction:column}.section-title-row .btn{width:100%}.plan-card{padding:17px}.plan-card>p{min-height:0}.platform-company-card{padding:16px}.company-meta>div{display:block}.company-meta b{display:block;text-align:left;margin-top:3px}.platform-company-card .row-actions .btn{flex:1 1 100%}}


.subscription-renewal-box{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.subscription-renewal-box>div{min-width:0;flex:1 1 320px}
.subscription-contact-line{margin:.55rem 0 0;color:var(--ink,#17324d)}
.whatsapp-subscription-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;white-space:nowrap}
@media(max-width:640px){.subscription-renewal-box .whatsapp-subscription-btn{width:100%}.license-stop-actions .whatsapp-subscription-btn{width:100%}}

.license-top-pill{display:none!important}
.subscription-contact-line{display:none!important}
.whatsapp-subscription-btn{gap:9px;background:#25D366!important;border-color:#25D366!important;color:#fff!important;font-weight:800}
.whatsapp-subscription-btn:hover{filter:brightness(.96)}
.whatsapp-icon{width:23px;height:23px;display:block;flex:0 0 23px}
.platform-company-card .company-meta small{display:block;margin-top:5px;color:var(--muted,#6b7b8c);font-weight:600;line-height:1.35}
.platform-company-card .company-plan-line{display:block;margin-top:4px;color:var(--muted,#6b7b8c);font-size:.86rem;font-weight:700}

.form-save-feedback{min-height:20px;margin-top:10px;color:var(--muted);font-size:13px;font-weight:700}.form-save-feedback.error{color:#b42318}
.subscription-expiry-alert{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px;padding:14px 16px;border:1px solid #f4cf74;border-radius:16px;background:#fff9e9;color:#5d4300}.subscription-expiry-alert>div{min-width:0}.subscription-expiry-alert b,.subscription-expiry-alert span{display:block}.subscription-expiry-alert b{margin-bottom:3px}.subscription-expiry-alert span{font-size:13px;line-height:1.4}.subscription-expiry-alert.urgent{border-color:#f4a7a1;background:#fff1f0;color:#8b1e16}
@media(max-width:640px){.subscription-expiry-alert{align-items:stretch;flex-direction:column}.subscription-expiry-alert .btn,.subscription-expiry-alert .whatsapp-subscription-btn{width:100%}}

.trial-admin-card{border-style:dashed}
.trial-plan-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}
.trial-plan-stats>div{background:var(--surface-2,#f7f9fb);border:1px solid var(--border,#dde4ea);border-radius:14px;padding:12px;text-align:center}
.trial-plan-stats b{display:block;font-size:1.35rem;color:var(--ink,#17324a)}
.trial-plan-stats span{display:block;margin-top:3px;font-size:.82rem;color:var(--muted,#728091)}
@media(max-width:560px){.trial-plan-stats{grid-template-columns:1fr}.trial-plan-stats>div{text-align:left}.trial-plan-stats b,.trial-plan-stats span{display:inline}.trial-plan-stats span{margin-left:6px}}

html,body,#app{width:100%;height:100%;min-height:100%;}
body{overflow:hidden;padding-bottom:0!important;}
.shell{height:100dvh;min-height:0;overflow:hidden;}
.main{height:100dvh;min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden;}
.topbar{flex:0 0 auto;}
.content{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scrollbar-gutter:stable;padding-bottom:max(32px,env(safe-area-inset-bottom));}
.modal{max-height:min(94dvh,940px);display:flex;flex-direction:column;min-height:0;}
.modal-head{flex:0 0 auto;}
.modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;}
.sidebar-foot{padding-top:10px!important;}
.sidebar-account{display:grid;gap:10px;}
.sidebar-account-label{padding:0 6px;color:#7fa39b;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.09em;}
.sidebar-account .user-mini{align-items:flex-start;}
.sidebar-account .user-mini>div{gap:2px;}
.sidebar-account .user-mini b{font-size:12px;max-width:170px;}
.sidebar-account .user-mini small{color:#b9d0ca;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px;}
.sidebar-account .user-mini em{font-style:normal;color:#7fa39b;font-size:9px;font-weight:750;}
.sidebar-logout{width:100%;justify-content:flex-start!important;margin:0;padding:10px 11px!important;border-radius:11px!important;background:rgba(255,255,255,.065)!important;color:#e4f0ed!important;}
.sidebar-logout:hover{background:rgba(255,255,255,.11)!important;}
@media(max-width:1100px){.main{height:100dvh}.content{padding-bottom:max(28px,env(safe-area-inset-bottom));}}
@media(max-width:720px){.content{padding-bottom:calc(86px + env(safe-area-inset-bottom));scrollbar-gutter:auto}.modal{max-height:94dvh}.sidebar-account .user-mini b,.sidebar-account .user-mini small{max-width:230px;}}

.sidebar-foot .sidebar-logout{margin-left:0!important;}


.sales-history-filters{grid-template-columns:minmax(190px,1.25fr) minmax(150px,.8fr) minmax(150px,.8fr) minmax(220px,1.35fr);align-items:end}
.sales-history-filters .field{min-width:0;margin:0}
.sales-history-filters .field input,.sales-history-filters .field select{width:100%;min-width:0}
@media (max-width:980px){.sales-history-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.sales-history-filters{grid-template-columns:1fr}}

@media (min-width:1025px){
  .po-purchase-line{grid-template-columns:minmax(320px,1.8fr) 140px 195px minmax(230px,1fr) 40px;align-items:end;gap:12px}
  .po-purchase-line .purchase-line-summary{align-self:stretch;display:flex;flex-direction:column;justify-content:flex-end;gap:5px;padding:0 4px 3px;min-width:0}
  .po-purchase-line .purchase-impact{display:grid;gap:3px}
  .po-purchase-line .purchase-impact-row{display:flex;justify-content:space-between;gap:10px;font-size:10px}
  .po-purchase-line .purchase-impact-row strong{white-space:nowrap}
  .po-purchase-line .purchase-unit-cost{font-size:9px;color:#71827e}
  .po-purchase-line .po-num label{display:block;white-space:nowrap;overflow:visible;text-overflow:clip;font-size:11px;line-height:1.3;color:#405965;font-weight:750;margin-bottom:6px}
  .po-purchase-line .po-num .money-input,.po-purchase-line .po-num .money-input input{min-width:0;width:100%}
  .po-purchase-line [data-po-subtotal510]{font-size:12px;text-align:right;color:#153d36;white-space:nowrap}
  .po-remove-purchase{align-self:end;margin-bottom:3px}
  .wide-modal .po-builder{min-width:0}
  .wide-modal .editor-footer{z-index:5}
}
@media (min-width:721px) and (max-width:1024px){
  .po-purchase-line{grid-template-columns:minmax(0,1fr) 130px 160px 40px;align-items:end}
  .po-purchase-line .po-purchase-main{grid-column:1/-1}
  .po-purchase-line .purchase-line-summary{grid-column:1/4;display:grid;grid-template-columns:1fr auto;gap:6px 14px;align-items:end;padding:4px 0}
  .po-purchase-line .purchase-impact{display:grid;gap:3px}
  .po-purchase-line [data-po-subtotal510]{text-align:right;white-space:nowrap}
}
@media (max-width:720px){
  .po-head{align-items:stretch;flex-direction:column}
  .po-head .btn{width:100%}
  .po-purchase-line{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px 0}
  .po-purchase-line .po-purchase-main,.po-purchase-line .purchase-line-summary{grid-column:1/-1}
  .po-purchase-line .purchase-line-summary{display:grid;gap:5px;padding:9px 10px;background:#f7faf9;border:1px solid var(--line);border-radius:11px}
  .po-purchase-line .purchase-impact-row{display:flex;justify-content:space-between;gap:8px;font-size:10px}
  .po-purchase-line [data-po-subtotal510]{text-align:right;font-size:12px}
  .po-remove-purchase{grid-column:2;justify-self:end}
  .po-purchase-line .po-num label{white-space:normal}
  .po-total{justify-content:space-between;gap:12px}
}
