.page{background:#f8fafc;place-items:center;min-height:100vh;padding:24px;display:grid}.admin-shell{background:#dedede;height:100vh;display:flex;overflow:hidden}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html[dir=rtl] body{text-align:right}.sidebar{box-sizing:border-box;background:#fff;border-right:1px solid #eef2f7;flex-direction:column;width:272px;padding:18px 14px 14px;transition:transform .3s,margin-left .3s;display:flex}.brand{align-items:center;gap:12px;padding:6px 6px 14px;display:flex}.sidebar-close{color:#64748b;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;place-items:center;width:36px;height:36px;margin-left:auto;display:none}.sidebar-close:hover{background:#f8fafc}.brand-mark{border-radius:999px;place-items:center;width:36px;height:36px;display:grid}.brand-logo{width:36px;height:36px;display:block}.brand-title{color:#0f172a;font-weight:800;line-height:1.1}.brand-sub{color:#94a3b8;margin-top:2px;font-size:12px}.sidebar-nav{flex:auto;min-height:0;padding-right:6px;overflow:auto}.nav-section{padding:14px 6px 0}.nav-title{letter-spacing:.06em;color:#94a3b8;margin-bottom:10px;font-size:10px;font-weight:700}.nav-item{color:#0f172a;cursor:pointer;box-sizing:border-box;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:14px;font-weight:bolder;text-decoration:none;display:flex}.nav-icon{color:#64748b;flex:none}.nav-item:hover{color:red;background:#f8fafc}.nav-item:hover .nav-icon{color:#0f172a}.nav-item-active{color:#fff;background:#3b82f6;box-shadow:0 10px 25px #3b82f633}.nav-item-active .nav-icon{color:#fff}.sidebar-footer{border-top:1px solid #f1f5f9;padding:14px 6px 6px}.logout{color:#ef4444;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;justify-content:flex-start;width:100%;padding:10px 12px;font-weight:600;display:flex}.logout:hover{background:#ef444414}.admin-main{flex-direction:column;flex:1;display:flex;overflow:hidden}.topbar{background:#fff;border-bottom:1px solid #eef2f7;justify-content:space-between;align-items:center;gap:14px;padding:10px 28px;display:flex}.topbar-actions{align-items:center;gap:12px;display:flex}.language-selector{color:#64748b;background:#fff;border:1px solid #eef2f7;border-radius:12px;align-items:center;gap:8px;height:36px;padding:0 10px;display:inline-flex}.language-select{color:#0f172a;cursor:pointer;background:0 0;border:0;outline:none;font-weight:800}.account{position:relative}.account-menu{z-index:20;background:#fff;border:1px solid #eef2f7;border-radius:14px;width:220px;padding:8px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 18px 55px #00000029}.account-item{color:#0f172a;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;width:100%;padding:10px 3px;font-size:13px;font-weight:700;text-decoration:none;display:flex}.account-item:hover{background:#f8fafc}.account-item-danger{color:#ef4444}.banner{border:1px solid #0000;border-radius:12px;margin-top:14px;padding:10px 12px;font-size:13px;font-weight:700}.banner-ok{color:#15803d;background:#22c55e14;border-color:#22c55e40}.banner-err{color:#b91c1c;background:#ef444414;border-color:#ef444440}.toast-viewport{z-index:9999;pointer-events:none;gap:10px;width:min(360px,100vw - 32px);display:grid;position:fixed;top:16px;right:16px}.toast-item{pointer-events:auto;background:#fff;justify-content:space-between;align-items:flex-start;gap:10px;animation:.16s ease-out both toast-in;display:flex;box-shadow:0 18px 50px #02061729}.toast-text{line-height:1.35}.toast-x{cursor:pointer;color:#020617a6;background:#ffffffa6;border:1px solid #02061714;border-radius:10px;flex:none;place-items:center;width:28px;height:28px;font-size:16px;font-weight:900;display:grid}@keyframes toast-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.notif,.notif-btn{position:relative}.notif-dot{color:#fff;background:#e10a0a;border:2px solid #fff;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 6px;font-size:11px;font-weight:900;display:grid;position:absolute;top:-6px;right:-6px}.notif-menu{z-index:50;background:#fff;border:1px solid #eef2f7;border-radius:16px;width:min(380px,100vw - 32px);position:absolute;top:calc(100% + 10px);right:0;overflow:hidden;box-shadow:0 18px 60px #0206172e}.notif-head{border-bottom:1px solid #eef2f7;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.notif-title{color:#0f172a;font-weight:900}.notif-reload{color:#475569;cursor:pointer;background:#fff;border:1px solid #eef2f7;border-radius:12px;padding:6px 10px;font-size:12px;font-weight:800}.notif-empty{color:#64748b;padding:14px;font-weight:700}.notif-list{max-height:360px;overflow:auto}.notif-item{border-top:1px solid #f1f5f9;padding:12px 14px}.notif-item:first-child{border-top:0}.notif-item-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.notif-item-title{color:#0f172a;font-size:12px;font-weight:900}.notif-item-time{color:#94a3b8;white-space:nowrap;font-size:11px;font-weight:800}.notif-item-sub{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;margin-top:6px;font-size:11px;font-weight:700;overflow:hidden}.icon-btn{cursor:pointer;background:#fff;border:1px solid #eef2f7;border-radius:12px;place-items:center;width:36px;height:36px;display:grid}.icon-btn-menu{display:grid}.user-chip{background:#fff;border:0;border-left:1px solid #0000001c;align-items:center;gap:10px;padding:6px 10px;display:flex}.avatar{color:#ef4444;background:#fff;border:2px solid #ef4444;border-radius:999px;place-items:center;width:28px;height:28px;display:grid}.user-chip-text{line-height:1.15;display:grid}.user-chip-name{color:#0f172a;font-size:13px;font-weight:700}.user-chip-role{color:#94a3b8;font-size:11px}.content{padding:22px 22px 26px;overflow:auto}.page-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.page-title{color:#0f172a;font-size:26px;font-weight:800}.page-subtitle{color:#94a3b8;margin-top:4px;font-size:13px}.primary{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:10px;align-items:center;gap:10px;height:40px;padding:0 16px;font-weight:700;display:inline-flex}.primary-pill{border-radius:999px}.toolbar{background:#fff;border:1px solid #eef2f7;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding:12px;display:flex}.toolbar-left{flex:1;align-items:center;gap:12px;display:flex}.tools-bar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tool-search{background:#f8fafc;border:1px solid #eef2f7;border-radius:10px;align-items:center;gap:10px;width:280px;padding:10px 12px;display:flex}.tool-search-input{background:0 0;border:none;outline:none;width:100%;font-size:13px}.tool-select{background:#f8fafc;border:1px solid #eef2f7;border-radius:10px;outline:none;height:40px;padding:0 12px;font-size:13px}@media (width<=768px){.topbar{flex-wrap:wrap;padding:10px 14px}.icon-btn-menu{order:1}.topbar-actions{order:2}.topbar-search{flex:100%;order:3;max-width:100%;margin-top:8px}.user-chip-text{display:none}.user-chip{border-left:none;padding:6px}.tools-bar{flex-direction:column;align-items:stretch}.tool-search,.tool-select,.tool-btn{width:100%}}.toolbar-right{gap:8px;display:flex}.view-btn{cursor:pointer;color:#64748b;background:#fff;border:1px solid #eef2f7;border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.view-btn-active{color:#fff;background:#3b82f6;border-color:#3b82f6}.confirm-modal{width:min(520px,100%);padding:18px}.confirm-title{color:#0f172a;font-size:18px;font-weight:900}.confirm-desc{color:#94a3b8;margin-top:8px;font-size:13px;line-height:1.4}.confirm-actions{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.mini{cursor:pointer;background:#fff;border:1px solid #eef2f7;border-radius:10px;place-items:center;width:32px;height:32px;display:grid}.mini:hover{background:#f8fafc}.mini-danger{border-color:#ef444440}.placeholder{gap:12px;margin-top:18px;display:grid}.placeholder-card{color:#0f172a;background:#fff;border:1px solid #eef2f7;border-radius:14px;padding:18px;font-weight:700}.page-skeleton{gap:12px;display:grid}.skeleton-line,.skeleton-card{background:linear-gradient(90deg,#eef2f7 25%,#f8fafc 37%,#eef2f7 63%) 0 0/400% 100%;border-radius:10px;animation:1.2s ease-in-out infinite skeleton-loading}.skeleton-title{width:min(320px,70vw);height:28px}.skeleton-subtitle{width:min(460px,80vw);height:16px}.skeleton-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:10px;display:grid}.skeleton-card{min-height:160px}@keyframes skeleton-loading{0%{background-position:100%}to{background-position:0}}@media (width<=768px){.skeleton-grid{grid-template-columns:1fr}}@media (width<=900px){.admin-shell{height:auto;min-height:100vh}.icon-btn-menu{display:grid}.sidebar{z-index:30;border-right:none;height:100vh;transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-110%);box-shadow:0 18px 55px #0000002e}html[dir=rtl] .sidebar{left:auto;right:0;transform:translate(110%)}.sidebar-open{transform:translate(0)}.sidebar-close{display:grid}}@media (width>=901px){.sidebar:not(.sidebar-open){margin-left:-272px}}.sidebar-overlay{opacity:0;pointer-events:none;z-index:25;background:#00000059;transition:opacity .2s;position:fixed;inset:0}.sidebar-overlay-open{opacity:1;pointer-events:auto}@media (width>=901px){.sidebar-overlay{display:none}}.icon-pill{color:#64748b;cursor:pointer;background:#f8fafc;border:1px solid #eef2f7;border-radius:999px;place-items:center;width:36px;height:36px;display:grid}.icon-pill:hover{background:#fff}.icon-pill-danger{color:#ef4444;background:#ef444414;border-color:#ef444433}.modal-overlay{z-index:50;place-items:center;padding:10px;display:grid;position:fixed;inset:0}.modal{background:#fff;border:1px solid #0f172a14;border-radius:14px;width:min(620px,100%);overflow:hidden;box-shadow:0 18px 55px #00000040}.modals{background:#fff;border:1px solid #0f172a14;border-radius:14px;width:min(1020px,100%);padding:15px;overflow:hidden;box-shadow:0 18px 55px #00000040}.modal-head{justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.modal-title{color:#0f172a;font-weight:800}.modal-x{cursor:pointer;color:#64748b;background:0 0;border:1px solid #0000;border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.modal-x:hover{background:#f8fafc}.modal-body{gap:14px;padding:0 18px 18px;display:grid}.form-label{color:#0f172a;gap:8px;font-size:12px;font-weight:700;display:grid}.form-input{background:#fff;border:1px solid #e2e8f0;border-radius:10px;outline:none;height:48px;padding:0 12px}.form-input-muted{background:#f8fafc}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.select-wrap{position:relative}.form-select{background:#fff;border:1px solid #e2e8f0;border-radius:10px;outline:none;width:100%;height:42px;padding:0 38px 0 12px}.select-ico{color:#94a3b8;pointer-events:none;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.file-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:10px;height:42px;padding:0 10px;display:flex;overflow:hidden}.file-btn{cursor:pointer;color:#0f172a;white-space:nowrap;background:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-content:center;align-items:center;height:30px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.file-name{color:#64748b;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.modal-foot{justify-content:flex-end;gap:10px;padding-top:6px;display:flex}.btn-ghost{cursor:pointer;color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:10px;height:38px;padding:0 14px;font-weight:700}.btn-primary{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:10px;height:38px;padding:0 14px;font-weight:800}.btn-primary:disabled{opacity:.6;cursor:default}.status-badge{border-radius:4px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-block}.status-en-cours{color:#06c;background-color:#e6f0ff}.status-livre{color:#0c4;background-color:#e6ffed}.status-annule{color:#c00;background-color:#ffe6e6}.status-default{color:#666;background-color:#f0f0f0}.type-badge{color:#333;background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:20px;padding:4px 10px;font-size:12px;font-weight:500}.modal-red{border-radius:8px;overflow:hidden;color:#fff!important;background-color:#e60000!important}.modal-header-red{border-bottom:1px solid #fff3;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header-red h3{color:#fff;margin:0;font-size:18px;font-weight:600}.close-btn-white{color:#e60000;cursor:pointer;background:#fff;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:flex}.modal-body-red{padding:24px}.detail-label{opacity:.8;margin-bottom:4px;font-size:13px}.detail-value{font-size:16px}.detail-list{margin-top:8px}.detail-list-item{margin-bottom:4px;padding-left:12px;font-size:14px;position:relative}.detail-list-item:before{content:"•";color:#fff;position:absolute;left:0}.detail-total{border-top:1px solid #fff3;justify-content:space-between;align-items:center;margin-top:24px;padding-top:16px;font-size:16px;display:flex}.detail-strong{font-weight:800}.modal-x-invert{color:#fff;background:#ffffff1f;border-color:#fff3}.modal-x-invert:hover{background:#ffffff2e}.orders-card{background:#fff;border:1px solid #eef2f7;border-radius:14px;margin-top:16px;overflow:hidden}.orders-card-head{border-bottom:1px solid #eef2f7;padding:14px 16px}.orders-card-title{color:#0f172a;font-weight:800}.orders-table-wrap{width:100%;overflow:auto}.orders-table{border-collapse:collapse;width:100%;min-width:820px}.orders-table th,.orders-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:14px 16px;font-size:13px}.orders-table th{color:#64748b;background:#fff;font-size:12px;font-weight:800}.orders-actions{justify-content:flex-start;gap:10px;display:flex}.orders-empty{color:#94a3b8;padding:18px 16px;font-size:13px}.orders-empty-cell{text-align:center;color:#94a3b8;padding:18px 16px;font-size:13px}html[dir=rtl] .sidebar{border-left:1px solid #eef2f7;border-right:0}html[dir=rtl] .sidebar-close{margin-left:0;margin-right:auto}html[dir=rtl] .sidebar-nav{padding-left:6px;padding-right:0}html[dir=rtl] .account-menu,html[dir=rtl] .notif-menu{left:0;right:auto}html[dir=rtl] .toast-viewport{left:16px;right:auto}html[dir=rtl] .user-chip{border-left:0;border-right:1px solid #0000001c}html[dir=rtl] .form-select{padding:0 12px 0 38px}html[dir=rtl] .select-ico{left:12px;right:auto}html[dir=rtl] .orders-table th,html[dir=rtl] .orders-table td{text-align:right}html[dir=rtl] .detail-list-item{padding-left:0;padding-right:12px}html[dir=rtl] .detail-list-item:before{left:auto;right:0}.btn-danger{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:10px;height:38px;padding:0 14px;font-weight:800}.btn-danger:hover{background:#dc2626}.orders-confirm-text{color:#64748b;font-size:13px;line-height:1.5}.orders-confirm-strong{color:#0f172a;font-weight:800}@media (width<=900px){.form-grid{grid-template-columns:1fr}}@media print{body *{visibility:hidden!important}#printable-invoice,#printable-invoice *{visibility:visible!important}#printable-invoice{z-index:9999!important;background:#fff!important;width:100%!important;margin:0!important;padding:0!important;display:block!important;position:absolute!important;top:0!important;left:0!important}.modal,.modal-body,.pos-receipt-modal,.invoice-modal{box-shadow:none!important;background:#fff!important;border:none!important;border-radius:0!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;display:block!important}.no-print,.sidebar,.topbar,.modal-head,.modal-foot,.pos-receipt-actions,.modal-x,.btn-primary,.btn-ghost{display:none!important}#root,.admin-shell,.admin-main,.content,.modal-overlay{visibility:visible!important;background:0 0!important;display:block!important;position:static!important}@page{margin:10mm;size:auto}}.auth-layout{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.auth-visual{background:#000;overflow:hidden}.auth-image{object-fit:cover;width:100%;height:100%}.auth-panel{background:#fff;place-items:center;padding:32px;display:grid}.auth-card{width:100%;max-width:420px}.auth-title{color:#0f172a;margin:0 0 8px;font-size:32px;font-weight:700}.auth-subtitle{color:#64748b;margin:0 0 28px;font-size:15px;line-height:1.5}.auth-form{gap:16px;display:grid}.auth-label{color:#0f172a;gap:6px;font-size:13px;font-weight:500;display:grid}.auth-input{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;outline:none;height:46px;padding:0 14px;font-size:14px;transition:all .2s}.auth-input:focus{background:#fff;border-color:#ef4444;box-shadow:0 0 0 3px #ef44441f}.auth-error{color:#b91c1c;background:#ef444414;border:1px solid #ef444440;border-radius:10px;padding:10px 14px;font-size:13px}.auth-button{color:#fff;cursor:pointer;background:#e11d1d;border:none;border-radius:10px;height:46px;margin-top:4px;font-size:15px;font-weight:600;transition:background .2s,transform .1s}.auth-button:hover:not(:disabled){background:#c81010}.auth-button:active:not(:disabled){transform:scale(.98)}.auth-button:disabled{opacity:.7;cursor:not-allowed}.auth-foot{color:#94a3b8;justify-content:center;padding-top:8px;font-size:12px;display:flex}@media (width<=900px){.auth-layout{grid-template-columns:1fr}.auth-panel{background:#e11d1d}.auth-card{background:#fff;border-radius:25px;padding:15px;line-height:40px}.auth-title{text-align:center}.auth-visual{display:none}}body{-webkit-font-smoothing:antialiased;background:#fff;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.nav-parent{width:100%;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:9px 14px;font-size:14px;transition:background .15s;display:flex}.nav-parent:hover{background:#ffffff0f}.nav-chevron{margin-left:auto;transition:transform .25s}.nav-parent-open .nav-chevron{transform:rotate(180deg)}.nav-sub{max-height:0;transition:max-height .3s;overflow:hidden}.nav-sub-open{max-height:120px}.nav-sub .nav-item{opacity:.85;padding-left:42px;font-size:13px}.nav-sub .nav-item:hover,.nav-sub .nav-item-active{opacity:1}
