/* POSFIELD: blue light, open space, precise controls. Presentation only. */
.pf-public-home-open{overflow:hidden!important}
.pf-setup [hidden]{display:none!important}
#publicHomeFrame{position:fixed;inset:0;width:100%;height:100%;height:100dvh;border:0;z-index:2147483000;background:var(--pf-bg)}
.site-account{position:relative;margin-inline-start:auto;z-index:35;color:var(--pf-ink)}
.site-account>summary{display:flex;align-items:center;gap:8px;min-height:44px;padding:6px 12px;list-style:none;border:1px solid var(--pf-line);border-radius:12px;background:var(--pf-surface);cursor:pointer;font-weight:700;white-space:nowrap}
.site-account>summary::-webkit-details-marker{display:none}
.site-account-avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--pf-primary-50);color:var(--pf-primary)}
.site-account-options{position:absolute;top:calc(100% + 8px);inset-inline-end:0;min-width:215px;max-width:calc(100vw - 24px);padding:10px;border:1px solid var(--pf-line);border-radius:14px;background:var(--pf-surface);box-shadow:var(--pf-shadow);text-align:start}
.site-account-options strong{display:block;padding:8px;overflow-wrap:anywhere;font-size:13px}
.site-account-options button{display:block;width:100%;min-height:44px;padding:10px;background:transparent;color:var(--pf-ink);border:0;border-radius:8px;text-align:start;font:inherit;cursor:pointer}
.site-account-options button:hover{background:var(--pf-primary-50)}
@media(max-width:767px){.site-header>.site-account{grid-area:login;margin:0;direction:rtl;font-size:12px}.site-account>summary{padding:6px;gap:4px}.site-account-options{inset-inline-end:auto;right:0}}
:root,body.pf-app,.pf-app.ui-phase1 {
  --pf-navy:#092957;--pf-navy-deep:#061a38;--pf-blue:#168cf4;--pf-blue-strong:#0876df;
  --pf-ink:#0b2039;--pf-muted:#4d6076;--pf-bg:#eff4fa;--pf-paper:#fff;--pf-surface:#fff;--pf-surface-2:#e9f0f9;
  --pf-line:#ccd9e9;--pf-line-strong:#a3b8d2;--pf-soft:#e9f2ff;--pf-primary:#0876df;--pf-primary-50:#e2eefc;
  --pf-radius:18px;--pf-radius-lg:28px;--pf-shadow-sm:0 3px 14px #12355b06;--pf-shadow:0 16px 48px #0b326714;
  --pf-gradient:linear-gradient(125deg,#092957,#0876df 75%,#21a4ff);
}
:root,body.pf-app:not(.dark-mode) {
  --bg:var(--pf-bg);--bg-2:var(--pf-surface);--bg-3:var(--pf-surface-2);--text:var(--pf-ink);--text-dim:var(--pf-muted);--border:var(--pf-line);
}
body.dark-mode,body.pf-app.dark-mode {
  --pf-bg:#071326;--pf-paper:#0e213a;--pf-surface:#0e213a;--pf-surface-2:#152c48;--pf-soft:#152c48;
  --pf-ink:#edf5ff;--pf-muted:#a8bad1;--pf-line:#263e5c;--pf-line-strong:#536e8f;
  --pf-primary:#6fbcff;--pf-primary-50:#173653;
  --bg:var(--pf-bg);--bg-2:var(--pf-surface);--bg-3:var(--pf-surface-2);--text:var(--pf-ink);--text-dim:var(--pf-muted);--border:var(--pf-line);
}
.pf-icon {display:inline-block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;vertical-align:middle;flex-shrink:0}
.pf-brand-compact{display:none!important}.pf-brand-on-dark{display:none}
body.dark-mode .pf-brand-on-dark{display:block}body.dark-mode .pf-brand-on-light{display:none}
.pf-theme-control,.site-theme {display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;border:1px solid var(--pf-line);border-radius:14px;background:var(--pf-surface-2);color:var(--pf-ink);cursor:pointer}
.pf-theme-control:hover,.site-theme:hover{background:var(--pf-primary-50);color:var(--pf-primary)}
.pf-theme-control svg,.site-theme svg{width:21px;height:21px;transition:transform .25s}
.pf-theme-control:hover svg,.site-theme:hover svg{transform:rotate(-15deg)}
:is(a,button,input,select,summary):focus-visible{outline:3px solid #168cf4;outline-offset:3px}
/* Marketing: floating masthead above a luminous, dimensional product scene. */
body[data-page]{background:var(--pf-bg);color:var(--pf-ink)}
.site-header{position:relative;z-index:30;max-width:1380px;margin:18px auto 0;padding:16px 28px;border:1px solid var(--pf-line);border-radius:22px;background:var(--pf-surface);box-shadow:var(--pf-shadow-sm);gap:22px}
.site-logo-img{width:174px!important;height:auto!important}.site-logo{flex-shrink:0}
.site-header .site-langs{gap:2px}.site-header .site-lang{font-size:11px;padding:4px 7px;min-height:36px}
.site-header>.site-theme{order:2}.site-header>.site-login{order:4;margin-inline-start:0}
.site-nav{gap:8px 19px;flex:1;justify-content:center}.site-nav a{font-size:13px;white-space:nowrap}
.site-login{background:var(--pf-surface);color:var(--pf-ink);box-shadow:none;border-radius:14px}
.site-login:hover{background:var(--pf-soft)}
.site-menu{display:none}
.site-main{overflow:hidden}.site-shell{max-width:1240px}
body[data-page=home] .site-hero{position:relative;margin:18px auto 0;max-width:1440px;border-radius:32px;padding:100px 40px 90px;overflow:hidden;background:radial-gradient(ellipse at 76% 78%,#127ceb 0,transparent 52%),radial-gradient(ellipse at 12% 100%,#1354a6,transparent 50%),linear-gradient(125deg,#051b39,#092958 60%,#074084);color:#fff;border:1px solid #204c80}
body[data-page=home] .site-hero:before{content:'';position:absolute;width:650px;height:650px;inset-inline-end:-150px;top:-260px;border:1px solid #71bdff35;border-radius:50%;box-shadow:0 0 0 65px #5cbaff07,0 0 0 130px #5cbaff06;pointer-events:none}
.site-hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1.05fr;gap:60px;align-items:center}
.site-hero-copy{text-align:start;max-width:590px}
body[data-page=home] .site-hero h1{font-size:clamp(38px,4.4vw,65px);line-height:1.25;letter-spacing:-.035em;color:#fff;font-weight:800}
.site-hero .site-hl{color:#72c3ff;background:none;-webkit-text-fill-color:initial}
.site-hero .site-lead{font-size:17px;line-height:1.95;color:#c6dcf6;max-width:530px}
.site-hero .site-eyebrow{font-size:clamp(13.5px,1.5vw,17px);line-height:1.55;letter-spacing:.01em;text-transform:none;white-space:normal;background:#d7edff1f;border:1px solid #91caff4d;color:#f2f9ff;padding:9px 20px;font-weight:800}
.site-hero-points{justify-content:flex-start;gap:10px;margin-block:22px}.site-hero-points li{background:#8acbff0d;border:1px solid #aad7ff26;border-radius:8px;padding:5px 11px;font-size:12px}
.site-actions{justify-content:flex-start;gap:12px;flex-wrap:wrap}.site-btn{border-radius:14px;min-height:48px;padding:13px 24px;box-shadow:0 6px 20px #0876df22;transition:transform .2s,box-shadow .2s;font-size:14px}
.site-btn:hover{transform:translateY(-3px);box-shadow:0 12px 28px #0876df30}.site-hero .site-btn:not(.site-btn-ghost){background:#fff;color:#092957;border-color:#fff}
.site-hero .site-btn-ghost{background:#ffffff0a;color:#eaf5ff;border:1px solid #add6ff60}.site-hero .site-note{color:#abc9ec;font-size:12px;margin-top:16px}
.site-stage{position:relative;padding:40px 12px 55px;isolation:isolate;perspective:1200px;min-width:0}
.site-stage:before{content:'';position:absolute;inset:4% -8%;border:1px solid #a1d7ff33;border-radius:50%;transform:rotate(-25deg);z-index:-1}
.site-stage:after{content:'';position:absolute;inset:17% 3%;border:1px solid #a1d7ff35;border-radius:50%;transform:rotate(30deg);z-index:-1}
.pf-orb{position:absolute;width:45px;height:45px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#b6e5ff,#208ee9 45%,#063869);box-shadow:inset -6px -8px 12px #031a5655,0 18px 35px #00173360;animation:pf-orbit 8s ease-in-out infinite;z-index:-1}
.pf-orb--one{top:0;inset-inline-start:18%;width:26px;height:26px}.pf-orb--two{bottom:12px;inset-inline-end:16%;animation-delay:-4s}
.pf-terminal{position:relative;transform:rotateY(-9deg) rotateX(5deg) rotateZ(-3deg);animation:pf-terminal-float 7s ease-in-out infinite;transform-style:preserve-3d;padding:10px;border-radius:26px;background:linear-gradient(145deg,#648fb4,#122f52 17%,#071b34 78%,#477caf);border:1px solid #b2dfff80;box-shadow:10px 12px 0 #041831,12px 14px 0 #6896b766,0 42px 65px #00132985}
[dir=rtl] .pf-terminal{transform:rotateY(9deg) rotateX(5deg) rotateZ(3deg);animation-name:pf-terminal-float-rtl}
.site-stage .site-app{transform:none!important;opacity:1!important;border:1px solid #b1d6ff40;box-shadow:none;border-radius:17px;overflow:hidden;background:#f6f9ff;color:#122f52}
.site-stage .site-app-bar{padding:15px 18px;background:#102b50;color:#d8edff}.site-stage .site-app-bar img{width:112px;height:auto}
.site-stage .site-app-body{padding:20px}.site-stage .site-kpis{gap:8px;border:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.site-stage .site-kpi{padding:12px 8px;background:#fff;border:1px solid #e0e9f5;border-radius:10px;text-align:start;min-width:0}
.site-stage .site-kpi strong{font-size:23px;color:#0a346b}.site-stage .site-kpi small{font-size:10px;color:#64809e;white-space:normal}
.site-stage .site-chart{height:118px;border-bottom:1px solid #d6e4f5;background:repeating-linear-gradient(to top,transparent 0,transparent 28px,#e1eaf5 29px);gap:12px;margin-block:20px}
.site-chart i{background:linear-gradient(to top,#0572d6,#70c8ff);border-radius:5px 5px 0 0}.site-row{border-color:#e2eaf4!important;color:#344f70}.site-row span{font-size:10px}.site-row b{font-size:11px}
.pf-terminal-base{height:28px;width:68%;margin:-4px auto 0;border-radius:0 0 18px 18px;background:linear-gradient(110deg,#7393b1,#1c4269 30%,#0c2b4f 70%,#91bedf);transform:perspective(300px) rotateX(32deg);box-shadow:0 12px 16px #00132b60}
.site-float{display:flex!important;position:absolute;inset:auto;width:max-content;max-width:200px;align-items:center;z-index:3;padding:12px 16px;gap:10px;border-radius:15px;background:#edf7fff0;border:1px solid #fff;color:#133760;box-shadow:0 18px 35px #001d4835;backdrop-filter:blur(15px);animation:pf-orbit 6s ease-in-out infinite}
.site-float small{font-size:10px;color:#516f91}.site-float strong{font-size:16px;color:#0a396e}.site-float-ico{color:#0876df;background:#dceeff;border-radius:10px;padding:9px}
.site-float--a{top:3%;inset-inline-start:-26px}.site-float--b{bottom:9%;inset-inline-end:-22px;animation-delay:-2s}.site-float--c{top:35%;inset-inline-end:-42px;animation-delay:-4s}.site-float--d{bottom:1%;inset-inline-start:-10px;animation-delay:-1s}
.site-value{background:transparent;border:0;padding:25px 0}.site-value-grid{padding:18px 24px;border:1px solid var(--pf-line);border-radius:22px;background:var(--pf-surface);box-shadow:var(--pf-shadow-sm)}
.site-value-item{border:0;gap:12px}.site-value-item>svg{background:var(--pf-primary-50);box-sizing:content-box;padding:12px;border-radius:14px;color:var(--pf-primary)}
.site-value-item b{font-size:14px}.site-value-item span{font-size:11px;color:var(--pf-muted)}
.site-section{padding-block:76px}.site-section h2{font-size:clamp(26px,3.1vw,42px);font-weight:800;line-height:1.4;letter-spacing:-.02em}.site-lead{color:var(--pf-muted);line-height:1.9}
.site-split{gap:76px}.site-split-visual{position:relative;background:radial-gradient(ellipse,#168cf418,transparent 70%);padding:22px}
.site-panel{border:1px solid var(--pf-line);border-radius:22px;background:var(--pf-surface);box-shadow:0 24px 60px #0b326718;transform:rotate(-1deg)}
.site-panel-head{background:var(--pf-surface-2);padding:18px 22px;border-color:var(--pf-line)}.site-panel-body{padding:22px}.site-tile,.site-stock-row{background:var(--pf-surface);border-color:var(--pf-line);padding:15px;border-radius:12px}
.site-tile em,.site-stock-row var{color:var(--pf-primary)}.site-section--soft{background:var(--pf-surface-2)}
.site-section--navy{background:radial-gradient(ellipse at 80% 20%,#1264ac,#08264f 65%);color:#f3f8ff}.site-section--navy .site-lead{color:#b9d4f3}
.site-card{border:1px solid var(--pf-line);border-radius:22px;background:var(--pf-surface);box-shadow:var(--pf-shadow-sm);padding:28px;transition:transform .25s,box-shadow .25s}
.site-card:hover{transform:translateY(-5px);box-shadow:var(--pf-shadow)}.site-card h3{font-size:21px}.site-card[data-plan=TEAM]{border:2px solid #168cf4;background:var(--pf-surface)}
.site-faq{border:1px solid var(--pf-line);border-radius:16px;margin-block:12px;background:var(--pf-surface);padding:8px 20px}.site-faq summary{padding-block:13px}.site-faq p{color:var(--pf-muted)}
.site-cta{background:radial-gradient(at top right,#168cf4,#092957 65%);border:1px solid #3268a4;border-radius:30px;padding:55px 30px;color:#fff}.site-cta .site-lead{color:#d2e6ff}.site-footer{background:#061a38;color:#d5e6fc;border-top:1px solid #224168;padding-block:54px 30px}
.site-footer .site-logo-img{width:150px!important}.site-footer a{color:#b8cce6}
body.dark-mode .site-section:not(.site-section--navy) :is(.site-tile,.site-stock-row,.site-panel-head,.site-step,.site-role,.site-device,.site-example){background:var(--pf-surface);color:var(--pf-ink);border-color:var(--pf-line)}
body.dark-mode :is(.site-card,.site-faq,.site-toggle,.site-price,.site-example,.site-panel){color:var(--pf-ink)}
body.dark-mode :is(.site-price strong,.site-value-item b,.site-card h3){color:var(--pf-ink)}
/* Workspace: lightweight surfaces and consistent density in every existing screen. */
.pf-app{background:var(--pf-bg);color:var(--pf-ink)}
.pf-app :is(.card,.ui-card,.stat-card,.list-item,.ui-detail,.support-card,.sub-plan,.team-fieldset){background:var(--pf-surface);border:1px solid var(--pf-line);border-radius:18px;box-shadow:var(--pf-shadow-sm)}
.pf-app :is(.btn,.ui-button,.chip,.tab-btn,.qty-btn){border-radius:11px;min-height:40px;transition:background .18s,box-shadow .18s;color:var(--pf-ink)}
.pf-app :is(.btn-primary,.ui-button.primary){background:#0876df!important;color:#fff!important;border:1px solid #0876df;box-shadow:0 5px 12px #0876df20}
.pf-app :is(.btn-success){color:#fff}.pf-app :is(.btn-outline,.chip){background:var(--pf-surface);border-color:var(--pf-line)}
.pf-app :is(.chip.active,.tab-btn.active){background:var(--pf-primary-50);color:var(--pf-primary);border-color:transparent}
.pf-app :is(.input,.select,.search-input,.ui-field input,.ui-field select){min-height:46px;border-radius:12px;border-color:var(--pf-line-strong);background:var(--pf-surface);color:var(--pf-ink)}
.pf-app :is(.input,.select,.search-input):focus{border-color:#168cf4;box-shadow:0 0 0 4px #168cf418}
.pf-app .app-header{min-height:76px;border-bottom:1px solid var(--pf-line);background:var(--pf-surface)!important;padding-block:12px;gap:14px}
.pf-app .header-theme-toggle{border:1px solid var(--pf-line);border-radius:14px;width:44px;height:44px;color:var(--pf-ink);background:var(--pf-surface-2)}
.pf-app .header-avatar-btn{border:1px solid var(--pf-line);box-shadow:0 0 0 4px var(--pf-surface-2)}
.pf-app .app-logo .pf-brand-img{width:166px;height:auto}.pf-app .pf-header-store{font-size:11px;color:var(--pf-muted)}
.pf-app :is(.desktop-sidebar,.ui-sidebar){background:var(--pf-surface)!important;color:var(--pf-ink);border-inline-end:1px solid var(--pf-line)!important}
.pf-app .desktop-sidebar .ds-logo,.pf-app .ui-sidebar .ui-brand{background:transparent!important;border-bottom:1px solid var(--pf-line);border-radius:0!important;padding:8px 10px 24px!important;margin-bottom:20px}
.pf-app :is(.ds-nav-item,.ui-sidebar .ui-link){color:var(--pf-muted);border-radius:11px;font-weight:600;min-height:44px;padding:11px 14px;font-size:13px;margin-block:3px;gap:12px}
.pf-app :is(.ds-nav-item:hover,.ui-sidebar .ui-link:hover){background:var(--pf-surface-2);color:var(--pf-ink)}
.pf-app :is(.ds-nav-item.active,.ui-sidebar .ui-link[aria-current=page]){background:var(--pf-primary-50)!important;color:var(--pf-primary)!important;box-shadow:none!important;font-weight:800}
.pf-app :is(.ds-nav-item.active,.ui-sidebar .ui-link[aria-current=page]):after{content:'';width:5px;height:5px;border-radius:50%;background:currentColor;margin-inline-start:auto}
.pf-app :is(.ds-divider,.ui-nav-group){border-color:var(--pf-line)}.pf-app .ui-sidebar :is(summary,.ui-eyebrow){color:var(--pf-muted)}
.pf-app :is(.ds-profile-btn,.ui-sidebar .ui-store){background:var(--pf-surface-2);color:var(--pf-ink);border:1px solid var(--pf-line);border-radius:12px}
.pf-app .ui-top{background:var(--pf-surface);border-bottom:1px solid var(--pf-line);padding:20px 28px}.pf-app .ui-top h1{font-size:26px;font-weight:800}.pf-app .ui-workspace{max-width:1560px;padding:26px}
.pf-app .stat-card{padding:22px;border-top:1px solid var(--pf-line)}.pf-app .stat-label{color:var(--pf-muted);font-size:12px}.pf-app .stat-value{font-size:29px;letter-spacing:-.025em;font-weight:800}
.pf-app #netProfitCard{position:relative;overflow:hidden;background:linear-gradient(115deg,#092957,#0b559d)!important;border-color:#397cb6!important;padding:24px;color:#fff;box-shadow:0 12px 30px #0a438b26}
.pf-app #netProfitCard:before{content:'';position:absolute;width:170px;height:170px;border:1px solid #92cfff35;border-radius:50%;inset-inline-end:-55px;top:-65px;box-shadow:0 0 0 30px #97cdff08;pointer-events:none}
.pf-app #netProfitCard{--success:#b9f8e3;--danger:#ffb7c2}
.pf-app #netProfitCard :is(.stat-label,.text-dim){color:#d2e6fb!important}.pf-app #netProfitCard .stat-value.success{color:#b9f8e3!important}.pf-app #netProfitCard .stat-value.danger{color:#ffb7c2!important}
.pf-app .tabs{background:var(--pf-surface);border:1px solid var(--pf-line);border-radius:14px;padding:5px;margin-block:14px}.pf-app .tab-btn{border:0}
.pf-app .list-item{padding:18px;margin-bottom:10px}.pf-app .list-item-title{font-size:14px;line-height:1.6}.pf-app .list-item-subtitle{color:var(--pf-muted);font-size:12px}.pf-app :is(.badge,.ui-badge){border-radius:7px;padding:4px 9px}
.pf-app .ui-table{border-collapse:separate;border-spacing:0}.pf-app .ui-table th{background:var(--pf-surface-2);font-size:12px;padding:15px;color:var(--pf-muted)}.pf-app .ui-table td{padding:16px 15px;border-color:var(--pf-line)}.pf-app .ui-table tbody tr:hover{background:var(--pf-surface-2)}
.pf-app :is(.pos-product-card,.ui-pos-product){border-radius:17px;padding:16px;background:var(--pf-surface);border:1px solid var(--pf-line);box-shadow:var(--pf-shadow-sm)}
.pf-app :is(.pos-product-card,.ui-pos-product):hover{border-color:#168cf4;box-shadow:0 6px 18px #168cf414}.pf-app :is(.cart-summary,.ui-pos-summary){background:var(--pf-surface-2);border-radius:16px;padding:20px}
.pf-app :is(.modal,.support-sheet,.verification-dialog){border-radius:24px;border:1px solid var(--pf-line);background:var(--pf-surface);box-shadow:0 30px 100px #00163255}.pf-app .modal-header{padding-bottom:20px}.pf-app .modal-title{font-size:20px;font-weight:800}.pf-app .modal-close{border-radius:10px}
.pf-app .onboarding-card{border:1px solid var(--pf-line);border-radius:20px;background:var(--pf-surface);box-shadow:var(--pf-shadow-sm)}.pf-app .onboarding-step{border-radius:12px;background:var(--pf-surface-2)}
.pf-app .bottom-nav{background:var(--pf-surface)!important;border-top:1px solid var(--pf-line);box-shadow:0 -8px 26px #102d5710;padding:8px 5px max(8px,env(safe-area-inset-bottom))}
.pf-app .nav-btn{color:var(--pf-muted)}.pf-app .nav-btn.active{background:var(--pf-primary-50)!important;color:var(--pf-primary)!important;border-radius:13px}.pf-app .nav-btn.center .nav-icon-wrap{transform:none;border-radius:11px;background:transparent!important;color:inherit}
.pf-app .more-menu{border-radius:22px;border:1px solid var(--pf-line);background:var(--pf-surface);box-shadow:0 24px 70px #001b4040}.pf-app .more-menu-item{min-height:49px;border-radius:10px;color:var(--pf-ink)}.pf-app .more-menu-item:hover{background:var(--pf-primary-50);color:var(--pf-primary)}
.pf-app .pf-icon{stroke-width:1.8;color:inherit}.pf-app button>.pf-icon,.pf-app label>.pf-icon{margin-inline-end:6px}.pf-app .header-theme-toggle>.pf-icon{margin:0}
.pf-app .screen.active{animation:pf-screen-in .22s ease-out}.pf-app .ui-card:has(>strong[data-metric]){border-top:3px solid #168cf4}
.pf-app .welcome-scroll{background:radial-gradient(ellipse at 85% 10%,#168cf41f,transparent 50%),var(--pf-bg)}.pf-app .pf-auth-section{border-radius:26px;box-shadow:var(--pf-shadow);background:var(--pf-surface);border:1px solid var(--pf-line)}
.pf-app .welcome-tagline{font-size:clamp(30px,3vw,48px)}.pf-app .pf-setup-brand{background:radial-gradient(at top right,#168cf4,#092957 70%)}
.legal-header{background:linear-gradient(120deg,#061a38,#0d4d8e);padding-block:32px}body:has(.legal-header) .container{border-radius:24px;border:1px solid var(--pf-line);box-shadow:var(--pf-shadow-sm)}
@keyframes pf-orbit{0%,100%{translate:0 0}50%{translate:0 -12px}}
@keyframes pf-terminal-float{0%,100%{transform:rotateY(-9deg) rotateX(5deg) rotateZ(-3deg) translateY(0)}50%{transform:rotateY(-5deg) rotateX(3deg) rotateZ(-2deg) translateY(-8px)}}
@keyframes pf-terminal-float-rtl{0%,100%{transform:rotateY(9deg) rotateX(5deg) rotateZ(3deg) translateY(0)}50%{transform:rotateY(5deg) rotateX(3deg) rotateZ(2deg) translateY(-8px)}}
@keyframes pf-screen-in{from{opacity:.6;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(min-width:1024px){.pf-app .desktop-sidebar{width:232px;padding:24px 12px}.pf-app:not(.ui-phase1) .screen{padding:26px 32px 70px}.pf-app #tab-rapports>.stats-grid{gap:18px}.pf-app .app-logo{gap:16px}}
@media(max-width:1199px){.site-header{margin:12px 14px 0;padding:14px 20px;gap:14px}.site-header>.site-nav{order:5;flex-basis:100%}.site-header>.site-langs{flex-basis:auto;margin-inline-start:auto}.site-header>.site-login{order:4}.site-nav{justify-content:center}body[data-page=home] .site-hero{margin:14px;border-radius:26px;padding:60px 25px}.site-hero-inner{gap:35px}.site-float--c{inset-inline-end:-10px}.site-float--a{inset-inline-start:-8px}.site-float--b{inset-inline-end:-8px}}
@media(max-width:767px){
  .site-header{margin:10px 12px 0;padding:12px 14px;gap:10px;border-radius:18px}.site-header>.site-logo{margin-inline-end:auto}.site-header>.site-theme{order:1}.site-header>.site-login{order:2;font-size:12px;padding:8px 10px;min-height:42px}.site-header>.site-langs{order:3;flex-basis:100%;justify-content:center;margin:0}.site-header>.site-nav{gap:8px 14px;justify-content:center;flex-wrap:wrap}.site-nav a{font-size:11px}
  .site-header{column-gap:6px}.site-header>.site-theme,.site-menu{width:38px;height:42px;flex:0 0 38px}.site-menu{order:2;display:inline-flex;align-items:center;justify-content:center;background:var(--pf-surface-2);color:var(--pf-ink);border:1px solid var(--pf-line);border-radius:12px;cursor:pointer}.site-header>.site-nav{display:none}.site-header>.site-nav.is-open{display:flex}
  :is(.site-header .site-logo,.app-logo,.ui-brand) .pf-brand-compact{display:block!important;width:42px!important;height:42px!important;border-radius:11px;object-fit:contain;background:#fff;flex:0 0 42px}
  .site-header .site-logo>.site-logo-img,.pf-app .app-logo>.pf-brand-img,.pf-app .ui-brand>.pf-brand-img{display:none!important}.pf-app .app-logo{min-width:42px;flex:0 0 auto}.pf-app .pf-header-store{display:none}
  body[data-page=home] .site-hero{margin:12px;border-radius:24px;padding:38px 18px 42px}.site-hero-inner{grid-template-columns:1fr;gap:34px}.site-hero-copy{max-width:100%;text-align:center}.site-hero .site-lead{font-size:14px;line-height:1.95}.site-hero .site-eyebrow{font-size:13.5px;letter-spacing:.01em;padding:8px 16px;line-height:1.5}.site-hero h1{font-size:36px!important;line-height:1.4!important}.site-actions,.site-hero-points{justify-content:center}.site-hero-points{gap:5px}.site-hero-points li{font-size:10px;padding:4px 8px}
  .site-stage{max-width:480px;width:100%;margin:auto;padding:28px 8px 48px}.pf-terminal{padding:7px;border-radius:20px;box-shadow:5px 7px 0 #041831,6px 8px 0 #6896b766,0 20px 35px #00132970}.site-stage .site-app-body{padding:12px}.site-stage .site-kpi{padding:9px 6px}.site-stage .site-kpi strong{font-size:17px}.site-stage .site-chart{height:84px;gap:7px}.site-stage .site-app-bar{font-size:10px;padding:10px 12px}.site-stage .site-app-bar img{width:95px}
  .site-float{padding:8px 10px;border-radius:11px;gap:7px}.site-float small{font-size:8px}.site-float strong{font-size:12px}.site-float-ico{padding:6px}.site-float--a{top:0;inset-inline-start:-3px}.site-float--b{bottom:10px;inset-inline-end:-3px}.site-float--c,.site-float--d{display:none!important}
  .site-value{padding-block:12px}.site-value-grid{padding:12px;gap:12px}.site-value-item{padding:8px 2px}.site-value-item>svg{width:19px;height:19px;padding:9px}.site-value-item b{font-size:12px}.site-value-item span{font-size:10px}
  .site-section{padding-block:46px}.site-split{gap:24px}.site-split-visual{padding:6px}.site-panel{transform:none}.site-section h2{font-size:27px}.site-card{padding:22px}.site-cta{padding:36px 20px}.site-panel-body{padding:16px}
  .pf-app .app-header{min-height:66px;gap:10px;padding:10px 16px}.pf-app .header-theme-toggle{width:40px;height:40px;border-radius:12px}.pf-app .header-avatar-btn{width:40px;height:40px}.pf-app :is(.ui-top,.ui-workspace){padding:16px}.pf-app .ui-top h1{font-size:22px}
  .pf-app .stat-card{padding:16px;border-radius:15px}.pf-app .stat-value{font-size:24px}.pf-app .list-item{padding:15px;border-radius:15px}.pf-app .modal{border-radius:22px 22px 0 0}.pf-app .nav-btn{font-size:10px}.pf-app .onboarding-card{padding:16px}.pf-app #netProfitCard{padding:20px}
}
/* One compact language disclosure in every public/app language location. */
.pf-language-menu{position:relative;display:inline-block;flex-shrink:0;color:var(--pf-ink);text-align:start}
.pf-language-menu>summary{display:flex;align-items:center;justify-content:center;list-style:none;cursor:pointer;min-width:44px;height:44px;padding:0 8px;box-sizing:border-box;border:1px solid var(--pf-line);border-radius:12px;background:var(--pf-surface-2);font-size:15px;font-weight:800;color:var(--pf-ink);white-space:nowrap}
.pf-language-menu>summary::-webkit-details-marker{display:none}
.pf-language-menu[open]>summary{border-color:var(--pf-primary);background:var(--pf-primary-50)}
.pf-language-options{position:absolute;top:calc(100% + 8px);inset-inline-end:0;z-index:100;min-width:164px;padding:7px;border:1px solid var(--pf-line);border-radius:14px;background:var(--pf-surface);box-shadow:0 12px 35px #00163230;display:grid;gap:4px}
.pf-language-options>button{display:block!important;width:100%;min-height:44px!important;margin:0!important;padding:9px 12px!important;text-align:start;border:0!important;border-radius:8px!important;background:transparent!important;color:var(--pf-ink)!important;white-space:nowrap;font-size:14px!important;cursor:pointer}
.pf-language-options>button:hover,.pf-language-options>button[aria-pressed=true]{background:var(--pf-primary-50)!important;color:var(--pf-primary)!important}
.pf-app .pf-language-options{inset-inline-start:0;inset-inline-end:auto}
.site-header>.pf-language-menu{order:3}.site-footer .pf-language-options{top:auto;bottom:calc(100% + 8px)}
.ui-field:has(#uiLanguage){min-width:0}.ui-field #uiLanguage[hidden]{display:none!important}
body.dark-mode :is(.pf-brand-compact,.pf-brand-top,.pf-brand-mark,.welcome-logo img,.license-logo img){content:url('../site/brand/posfield-symbol-on-dark.png?v=53');background:transparent!important;border-radius:0!important}
/* These illustration surfaces previously retained white backgrounds while inheriting night text. */
body.dark-mode :is(.site-flow-step,.site-settle,.site-kpi,.site-chart,.site-row,.site-role,.site-device,.site-example){background:var(--pf-surface);border-color:var(--pf-line);color:var(--pf-ink)}
body.dark-mode :is(.site-settle-row--total,.site-kpi strong,.site-row b,.site-role b){color:var(--pf-ink)}
body.dark-mode .site-flow-step span{color:var(--pf-muted)}
body.dark-mode .site-stage :is(.site-app,.site-app-body){background:var(--pf-bg);color:var(--pf-ink)}
body.dark-mode :is(.site-kpi small,.site-row span){color:var(--pf-muted)}
body.dark-mode .site-float{background:#163653ed;border-color:#436987;color:var(--pf-ink)}
body.dark-mode .site-float small{color:#b9d4eb}body.dark-mode .site-float strong{color:#edf5ff}
body.dark-mode .site-float-ico{background:#21476c;color:#81caff}
body.dark-mode .site-section:not(.site-section--navy) .site-eyebrow{background:var(--pf-primary-50);color:var(--pf-primary)}
@media(max-width:767px){
  .site-header{display:grid;grid-template-columns:34px 36px minmax(0,1fr) 34px 38px auto;grid-template-areas:'menu logo space theme language login';direction:ltr;align-items:center;width:100%;max-width:none;margin:0;padding:10px 8px;gap:4px;box-sizing:border-box;border-radius:0;border-width:0 0 1px;box-shadow:none}
  .site-header>.site-menu{grid-area:menu;width:34px;height:44px;margin:0;min-width:0}
  .site-header>.site-logo{grid-area:logo;margin:0;min-width:0}
  .site-header .site-logo .pf-brand-compact{width:36px!important;height:40px!important;flex-basis:36px}
  .site-header>.site-theme{grid-area:theme;width:34px;height:44px;min-width:0;margin:0}
  .site-header>.pf-language-menu{grid-area:language;direction:ltr}
  .site-header>.pf-language-menu>summary{min-width:38px;width:38px;padding:0;font-size:14px}
  .site-header>.site-login{grid-area:login;margin:0;padding:8px;gap:6px;font-size:12px;min-height:44px;direction:rtl;border-radius:12px}
  .site-header>.site-login svg{width:18px;height:18px}
  .site-header>.site-nav{grid-column:1/-1;grid-row:2;margin:8px 0 0;padding:12px 6px;border-top:1px solid var(--pf-line);width:auto}
  html[dir=rtl] .site-header>.site-nav{direction:rtl}
}
/* Clear contrast on dark call-to-action buttons and compact day/night branding. */
body.dark-mode .site-btn-outline{color:#fff;background:var(--pf-surface);border-color:var(--pf-line-strong)}
body.dark-mode .site-btn-outline:hover{color:#fff;background:#1b456c}
.site-home-link>.pf-icon-slot{display:none}
[data-i18n="nav_deliveries"]::before,.team-entry-label::before,.ui-link[href^="#orders"]>span::before,.pf-paid-nav>span::before{content:'★';display:inline-block;margin-inline-end:5px;font-size:.8em;color:var(--pf-primary)}
#modalProfile [data-lang-btn]{min-height:44px}
.pf-setup-cancel{width:100%;margin-top:12px;padding:12px;background:transparent;color:var(--pf-ink);border:1px solid var(--pf-line-strong);border-radius:12px;cursor:pointer;font:inherit}
@media(max-width:767px){
 .site-home-link>.pf-icon-slot{display:block;width:22px;height:22px}.site-home-link>.site-nav-text{display:none}.site-home-link{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}[data-reveal]{opacity:1!important;transform:none!important}}

/* ---------- optional previous-month deficit carry-forward (Expenses) ---------- */
/* Its own block, so it never reads as one of the expenses; tokens only, no new colours. */
.pf-carry-card { margin-top: 12px; padding: 12px 14px; }
.pf-carry-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.pf-carry-text { min-width: 0; }
.pf-carry-title { display: flex; align-items: center; gap: 6px; font-weight: 800; font-size: 14px; color: var(--pf-ink); }
.pf-carry-status { margin-top: 2px; font-size: 12px; color: var(--pf-muted); line-height: 1.5; }
.pf-carry-card.is-on .pf-carry-status { color: var(--pf-primary); }
.pf-info-btn { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; min-width: 28px;
  padding: 0; border: 1px solid var(--pf-line); border-radius: 999px; background: transparent; color: var(--pf-primary); cursor: pointer; }
.pf-info-btn svg { width: 16px; height: 16px; }
.pf-info-btn[aria-expanded="true"] { background: var(--pf-primary-50); border-color: var(--pf-primary); }
.pf-carry-help { margin-top: 10px; padding: 10px 12px; border-radius: 10px; font-size: 12.5px; line-height: 1.7;
  background: var(--pf-primary-50); color: var(--pf-ink); border: 1px solid var(--pf-line); }

/* ===== The till, found without looking =====
   Point of sale is the entry a shopkeeper reaches for a hundred times a day. It carries a warm outline and a
   soft glow in every menu that lists the sections, so the eye lands on it before it reads anything. The glow
   breathes slowly, and stops entirely for a reader who asked for less motion. */
.pf-app :is(.ds-nav-item, .nav-btn, .more-menu-item)[data-screen="pos"] {
  position: relative;
  border: 1px solid rgba(217, 160, 12, .55);
  box-shadow: 0 0 0 1px rgba(217, 160, 12, .18), 0 0 14px rgba(240, 180, 20, .28);
  border-radius: 12px;
  animation: pf-till-glow 3.2s ease-in-out infinite;
}
.pf-app :is(.ds-nav-item, .nav-btn, .more-menu-item)[data-screen="pos"].active,
.pf-app :is(.ds-nav-item, .nav-btn, .more-menu-item)[data-screen="pos"]:hover {
  border-color: rgba(217, 160, 12, .85);
  box-shadow: 0 0 0 1px rgba(217, 160, 12, .3), 0 0 18px rgba(240, 180, 20, .4);
}
@keyframes pf-till-glow {
  0%, 100% { box-shadow: 0 0 0 1px rgba(217, 160, 12, .18), 0 0 10px rgba(240, 180, 20, .20); }
  50%      { box-shadow: 0 0 0 1px rgba(217, 160, 12, .28), 0 0 20px rgba(240, 180, 20, .40); }
}
@media (prefers-reduced-motion: reduce) {
  .pf-app :is(.ds-nav-item, .nav-btn, .more-menu-item)[data-screen="pos"] { animation: none; }
}

/* A sale made from courier cards puts them on the order-tracking screen. This says so on that entry — a small
   mark that appears at the moment it happens and fades away two seconds later, with nothing to dismiss. */
.pf-arrived-dot {
  position: absolute; inset-inline-end: 10px; inset-block-start: 10px;
  width: 9px; height: 9px; border-radius: 50%;
  background: #dc2626; box-shadow: 0 0 0 3px rgba(220, 38, 38, .22);
  pointer-events: none; animation: pf-arrived-in .28s ease-out both, pf-arrived-pulse 1.1s ease-in-out 2 .28s;
}
.pf-arrived-dot.is-fading { animation: none; opacity: 0; transform: scale(.6); transition: opacity 1.3s ease, transform 1.3s ease; }
@keyframes pf-arrived-in { from { opacity: 0; transform: scale(.4); } to { opacity: 1; transform: scale(1); } }
@keyframes pf-arrived-pulse { 0%, 100% { box-shadow: 0 0 0 3px rgba(220, 38, 38, .22); } 50% { box-shadow: 0 0 0 6px rgba(220, 38, 38, .10); } }
@media (prefers-reduced-motion: reduce) { .pf-arrived-dot { animation: none; } }

/* A sale made from courier cards puts them on the order-tracking screen. This says so on that entry — a small
   mark that appears at the moment it happens and fades away two seconds later, with nothing to dismiss. */
.pf-arrived-dot {
  position: absolute; inset-inline-end: 10px; inset-block-start: 10px;
  width: 9px; height: 9px; border-radius: 50%;
  background: #dc2626; box-shadow: 0 0 0 3px rgba(220, 38, 38, .22);
  pointer-events: none; animation: pf-arrived-in .28s ease-out both, pf-arrived-pulse 1.1s ease-in-out 2 .28s;
}
.pf-arrived-dot.is-fading { animation: none; opacity: 0; transform: scale(.6); transition: opacity 1.3s ease, transform 1.3s ease; }
@keyframes pf-arrived-in { from { opacity: 0; transform: scale(.4); } to { opacity: 1; transform: scale(1); } }
@keyframes pf-arrived-pulse { 0%, 100% { box-shadow: 0 0 0 3px rgba(220, 38, 38, .22); } 50% { box-shadow: 0 0 0 6px rgba(220, 38, 38, .10); } }
@media (prefers-reduced-motion: reduce) { .pf-arrived-dot { animation: none; } }

/* ===== Putting the sections in your own order =====
   A press and hold picks a section up; two arrows appear beside it and it moves. The surfaces themselves are
   untouched — only which item comes before which — so nothing about how a section looks or works changes. */
.pf-app :is(#desktopSidebar .ds-nav, .bottom-nav, #moreMenuOverlay .more-menu) > [data-screen] { touch-action: pan-y; }
  position: relative; z-index: 3; border-radius: 12px;
  box-shadow: 0 14px 30px rgba(10, 34, 64, .28), 0 0 0 2px var(--pf-primary, #0876df);
  background: var(--pf-surface, #fff);
  transition: box-shadow .18s ease;
  touch-action: none; user-select: none; cursor: grabbing;
}
/* The one-line notice that says the hold is there at all, and when it will stop saying so. */
  position: fixed; z-index: 1240; inset-inline: 16px; inset-block-end: calc(84px + env(safe-area-inset-bottom));
  margin-inline: auto; max-width: 420px; padding: 14px 16px;
  background: var(--pf-surface, #fff); border: 1px solid var(--pf-line, #ccd9e9); border-radius: 14px;
  box-shadow: 0 10px 30px rgba(10, 34, 64, .18);
}
/* The one line beside the mark, saying what just arrived. It leaves with the dot. */
.pf-arrived-note {
  position: absolute; inset-inline-start: calc(100% + 10px); inset-block-start: 50%;
  transform: translateY(-50%);
  max-width: min(240px, 58vw); padding: 6px 11px; border-radius: 10px;
  background: #dc2626; color: #fff; font-size: 11.5px; font-weight: 800; line-height: 1.5;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  pointer-events: none; box-shadow: 0 6px 18px rgba(220, 38, 38, .32);
  animation: pf-arrived-in .3s ease-out both;
}
/* on a phone the lists sit at the foot of the screen, so the words go above the button that opens them */
@media (max-width: 1099px) {
  .pf-arrived-note { inset-inline-start: 50%; inset-block-start: auto; inset-block-end: calc(100% + 10px); transform: translateX(-50%); }
}
.pf-arrived-note.is-fading { opacity: 0; transition: opacity 1.3s ease; }
@media (prefers-reduced-motion: reduce) { .pf-arrived-note { animation: none; } }

/* A sale left open shows the same red mark on a desk that a phone already shows — the glow says "unfinished",
   the dot says "here". */
.pf-app.pf-sale-pending :is(.ds-nav-item, .nav-btn, .more-menu-item)[data-screen="pos"]::after {
  content: ""; position: absolute; inset-inline-end: 10px; inset-block-start: 10px;
  width: 9px; height: 9px; border-radius: 50%; background: #dc2626;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, .22); pointer-events: none;
}

/* ---- the fixed order: families under a heading that opens and closes ----
   A heading reads like the entries around it, so the list keeps one rhythm; what marks it as a heading is the
   caret, which turns, and the screens beneath it, which are set in from the edge and carry a rule down their
   side so the eye sees at a glance where a family begins and ends. */
.pf-app .nav-group-head{cursor:pointer;color:var(--pf-muted);font-weight:800;letter-spacing:.01em}
.pf-app .nav-group-head .nav-group-label{flex:1;text-align:start}
.pf-app .nav-group-caret{margin-inline-start:auto;font-size:15px;line-height:1;opacity:.85;transition:transform .18s ease}
.pf-app .nav-group-head.is-open .nav-group-caret{transform:rotate(180deg)}
.pf-app .nav-group-head.is-open{color:var(--pf-ink)}
.pf-app .nav-child{display:none}
.pf-app .nav-child:not(.nav-collapsed){display:flex}
.pf-app .ds-nav-item.nav-child:not(.nav-collapsed){padding-inline-start:30px;position:relative;font-size:12.5px}
.pf-app .ds-nav-item.nav-child:not(.nav-collapsed):before{content:'';position:absolute;inset-block:5px;inset-inline-start:17px;width:1px;background:var(--pf-line)}
.pf-app .more-menu-item.nav-child:not(.nav-collapsed){padding-inline-start:38px;position:relative;font-size:14px}
.pf-app .more-menu-item.nav-child:not(.nav-collapsed):before{content:'';position:absolute;inset-block:7px;inset-inline-start:21px;width:1px;background:var(--pf-line)}
/* A tab name broken across two lines reads as two tabs. */
.pf-app #screen-ventes .tab-btn{white-space:nowrap}
