:root{--ink: #0B0D0C;--paper: #F7F8F4;--yellow: #06C167;--teal: #049152;--red: #e5484d;--green-deep: #04532E;--green-soft: rgba(6, 193, 103, .12);--line: rgba(11, 13, 12, .09);--line-strong: rgba(11, 13, 12, .22);--mut: rgba(11, 13, 12, .55);--radius-card: 16px;--radius-ctl: 11px;--shadow-pop: 0 12px 32px rgba(11, 13, 12, .18);--ring: 0 0 0 3px rgba(6, 193, 103, .22);--mono: "JetBrains Mono", monospace;--sans: "Cairo", sans-serif}*{box-sizing:border-box}html,body{height:100%;margin:0;font-family:var(--sans);background:var(--paper);color:var(--ink)}.field{display:flex;flex-direction:column;gap:4px}.field label{font-family:var(--mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--mut)}.field input,.field select{border:1px solid var(--line-strong);border-radius:var(--radius-ctl);padding:10px 12px;font-family:var(--sans);font-size:14px;background:#fff;color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease}.field input:focus,.field select:focus{outline:none;border-color:var(--yellow);box-shadow:var(--ring)}.btn{text-align:center;font-size:13px;font-weight:800;padding:10px 16px;border-radius:var(--radius-ctl);border:none;cursor:pointer;font-family:var(--sans);display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none;transition:background .15s ease,box-shadow .15s ease,transform .1s ease}.btn:focus-visible{outline:none;box-shadow:var(--ring)}.btn:active:not(:disabled){transform:translateY(1px)}.btn-yellow{background:var(--yellow);color:var(--ink)}.btn-yellow:hover:not(:disabled){background:#05ad5c}.btn-teal{background:var(--teal);color:var(--paper)}.btn-teal:hover:not(:disabled){background:var(--green-deep)}.btn-outline{background:#fff;border:1px solid var(--line-strong);color:var(--ink)}.btn-outline:hover:not(:disabled){background:var(--paper);border-color:#0b0d0c66}.btn-red{background:var(--red);color:#fff}.btn-red:hover:not(:disabled){background:#d43a3f}.btn:disabled{opacity:.5;cursor:not-allowed}.badge{font-family:var(--sans);font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:20px;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.badge-pending:before,.badge-active:before,.badge-done:before,.badge-cancel:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge-pending{background:#0b0b0b12;color:#0b0b0b99}.badge-active{background:#06c1673d;color:var(--green-deep)}.badge-done{background:#04915224;color:var(--teal)}.badge-cancel{background:#e5484d1f;color:var(--red)}.card{background:#fff;border-radius:var(--radius-card);border:1px solid var(--line)}.table{background:#fff;border-radius:var(--radius-card);overflow:hidden;border:1px solid var(--line);width:100%;border-collapse:separate;border-spacing:0}.table th,.table td{padding:12px 16px;font-size:13px;text-align:start;border-bottom:1px solid var(--line)}.table th{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--mut);font-weight:500;background:#f7f8f4b3}.table tr:last-child td{border-bottom:none}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.kpi{background:#fff;border-radius:var(--radius-card);padding:16px 18px;border:1px solid var(--line);position:relative;min-width:0}.kpi .kpi-top{display:flex;align-items:center;gap:10px}.kpi .ic{width:34px;height:34px;flex:none;border-radius:10px;display:grid;place-items:center;background:var(--green-soft);color:var(--teal)}.kpi .kl{font-family:var(--mono);font-size:10.5px;font-weight:500;color:var(--mut);text-transform:uppercase;letter-spacing:.4px;line-height:1.3}.kpi .kv{font-size:27px;font-weight:900;letter-spacing:-.5px;margin:8px 0 2px;line-height:1.1}.kpi .kv small{font-size:13px;font-weight:700;color:var(--mut);letter-spacing:0;margin-inline-start:4px}.kpi .kd{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;color:var(--mut)}.delta{display:inline-flex;align-items:center;gap:2px;font-weight:700;padding:1px 7px;border-radius:20px;background:#06c16724;color:var(--teal)}.delta.down{background:#e5484d1f;color:var(--red)}.delta.flat{background:#0b0b0b12;color:var(--mut)}.main-head h3,.page-header h3{font-size:22px;font-weight:900;letter-spacing:-.3px;margin:0}.main-head .sub,.page-header .sub{font-family:var(--mono);font-size:12px;color:var(--mut);margin-top:4px}.main>router-outlet+*{display:flex;flex-direction:column;gap:20px;min-width:0}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:4px}.page-header .actions{display:flex;gap:8px;flex-wrap:wrap}.filter-bar{background:#fff;border:1px solid var(--line);border-radius:var(--radius-card);padding:14px 16px;display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap}.filter-bar .field,.filter-bar input,.filter-bar select{min-width:160px}.btn-sm{padding:6px 12px;font-size:12px}.row-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.table td.col-actions{white-space:nowrap}.back-link{font-family:var(--mono);font-size:12px;font-weight:500;color:var(--teal);text-decoration:none;display:inline-flex;align-items:center;gap:4px;width:fit-content}.back-link:hover{text-decoration:underline}.detail-section{display:flex;flex-direction:column;gap:20px}.detail-card{background:#fff;border-radius:var(--radius-card);border:1px solid var(--line);padding:22px 24px}.detail-card h4{font-size:14px;font-weight:800;margin:0 0 14px}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px 24px}.detail-grid .item .l{font-family:var(--mono);font-size:10px;font-weight:500;color:var(--mut);text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px}.detail-grid .item .v{font-size:14px;font-weight:700}.form-card{background:#fff;border-radius:var(--radius-card);border:1px solid var(--line);padding:24px;display:flex;flex-direction:column;gap:16px;max-width:640px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px 18px}.form-actions{display:flex;gap:10px;border-top:1px solid rgba(11,11,11,.08);margin-top:4px;padding-top:16px}.timeline{display:flex;flex-direction:column}.timeline .tl-item{display:flex;gap:12px}.timeline .tl-dot-col{display:flex;flex-direction:column;align-items:center}.timeline .tl-dot{width:11px;height:11px;border-radius:50%;background:var(--teal);margin-top:3px;flex-shrink:0}.timeline .tl-line{width:2px;flex:1;background:#0b0b0b24;margin:3px 0;min-height:18px}.timeline .tl-text{padding-bottom:18px}.timeline .tl-text .tt1{font-size:13px;font-weight:700}.timeline .tl-text .tt2{font-family:var(--mono);font-size:11px;opacity:.5}.msg-list{display:flex;flex-direction:column;gap:10px}.msg{max-width:75%;align-self:flex-start;padding:8px 12px;border-radius:10px;background:#0b0b0b0f}.msg.msg-livreur{align-self:flex-end;background:#0080801f}.msg .msg-meta{font-family:var(--mono);font-size:11px;opacity:.55;margin-bottom:2px}.msg .msg-text{font-size:13px;white-space:pre-wrap}.toggle-field{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-switch{appearance:none;-webkit-appearance:none;width:38px;height:21px;border-radius:20px;background:#0b0b0b2e;position:relative;flex-shrink:0;cursor:pointer;transition:background .15s ease}.toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0b0b0b4d;transition:left .15s ease}.toggle-switch:checked{background:var(--teal)}.toggle-switch:checked:after{left:19px}[dir=rtl] .toggle-switch:after{left:auto;right:2px;transition:right .15s ease}[dir=rtl] .toggle-switch:checked:after{left:auto;right:19px}.confirm-toast-catcher{position:fixed;inset:0;z-index:200}.confirm-toast{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:201;background:#fff;border-radius:var(--radius-card);border:1px solid var(--line);box-shadow:var(--shadow-pop);padding:16px;display:flex;flex-direction:column;gap:14px;min-width:min(90vw,320px);max-width:min(90vw,440px);animation:confirm-toast-in .15s ease-out}.confirm-toast-message{font-size:13.5px;font-weight:600;margin:0}.confirm-toast-footer{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid rgba(11,11,11,.08);padding-top:14px}@keyframes confirm-toast-in{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:4px 2px}.pagination-info{font-family:var(--mono);font-size:11.5px;color:var(--mut)}.pagination-controls{display:flex;align-items:center;gap:12px}.pagination-page{font-family:var(--mono);font-size:12px;font-weight:600}.table tr.clickable{cursor:pointer}.table tr.clickable:hover td,.table tr.selected td{background:#06c16712}.table tfoot td{border-top:2px solid rgba(11,11,11,.15);font-size:14px}.muted{font-size:12px;color:var(--mut)}.badge.chip{margin:2px 4px 2px 0;display:inline-block}.dash-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:14px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius-card);padding:16px 18px;min-width:0}.panel-head{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.panel-head .grow{flex:1;min-width:0}.panel-head b{display:block;font-size:14px;font-weight:800}.panel-head small{font-family:var(--mono);font-size:11px;color:var(--mut)}.panel{overflow-x:auto}.panel .table{border:none;border-radius:0}.panel .table td,.panel .table th{white-space:nowrap}.panel .table th{background:transparent;padding:0 8px 8px}.panel .table td{padding:9px 8px}.bars{display:flex;align-items:flex-end;gap:12px;height:160px;border-bottom:1px solid var(--line)}.bars .col{flex:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:5px}.bars .bar{width:100%;max-width:34px;min-height:3px;border-radius:8px 8px 3px 3px;background:#06c16740;transition:height .3s ease}.bars .col.hi .bar{background:linear-gradient(180deg,var(--yellow),var(--teal))}.bars .val{font-family:var(--mono);font-size:10.5px;font-weight:700;color:var(--mut)}.bars .col.hi .val{color:var(--green-deep)}.bar-days{display:flex;gap:12px;margin-top:6px}.bar-days span{flex:1;text-align:center;font-family:var(--mono);font-size:10.5px;color:var(--mut)}.stack{display:flex;height:10px;border-radius:10px;overflow:hidden;gap:2px;margin:4px 0 14px;background:var(--paper)}.stack i{display:block;height:100%}.legend{display:flex;flex-direction:column;gap:9px}.legend div{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600}.legend em{width:9px;height:9px;border-radius:50%;flex:none}.legend span{margin-inline-start:auto;font-family:var(--mono);font-size:12px;font-weight:700}.rank{display:flex;flex-direction:column;gap:13px}.rank .row{display:flex;align-items:center;gap:10px}.rank .info{flex:1;min-width:0}.rank .info b{display:flex;justify-content:space-between;gap:8px;font-size:12.5px}.rank .info b span{font-family:var(--mono);font-size:12px;white-space:nowrap}.prog{height:6px;border-radius:6px;background:var(--paper);margin-top:5px;overflow:hidden}.prog i{display:block;height:100%;border-radius:6px;background:var(--yellow)}.avatar{width:28px;height:28px;border-radius:50%;display:inline-grid;place-items:center;flex:none;font-size:11px;font-weight:800;background:#ddf5e8;color:var(--green-deep)}.avatar.v1{background:#e8ece4;color:#3c4339}.avatar.v2{background:#fdf0d5;color:#7a5410}.avatar.v3{background:#ede4fa;color:#5a3a99}.who{display:flex;align-items:center;gap:9px}.hero{border-radius:18px;padding:20px 24px;color:#fff;display:flex;gap:24px;align-items:center;flex-wrap:wrap;background:radial-gradient(circle at 92% 0%,rgba(74,222,148,.5),transparent 45%),linear-gradient(135deg,#04532e,#049152 60%,#06c167)}.hero .big{flex:1;min-width:220px}.hero small{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.5px;opacity:.85}.hero .amt{font-size:38px;font-weight:900;letter-spacing:-1px;line-height:1.1;margin:4px 0}.hero .amt span{font-size:16px;font-weight:700;opacity:.85}.hero .mini{display:flex;gap:10px;flex-wrap:wrap}.hero .mini div{background:#ffffff24;border:1px solid rgba(255,255,255,.2);border-radius:13px;padding:10px 16px;min-width:130px}.hero .mini b{display:block;font-size:19px;font-weight:900}.hero .mini small{font-size:10px}@media (max-width: 1100px){.dash-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width: 600px){.hero .amt{font-size:30px}}@media (max-width: 720px){.table{border-spacing:0 10px;background:transparent;border:none}.table thead{display:none}.table tbody,.table tr{display:block}.table tr{background:#fff;border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden}.table tr+tr{margin-top:10px}.table td{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;text-align:end;border-bottom:1px solid var(--line)}.table td:last-child{border-bottom:none}.table td:before{content:attr(data-label);font-family:var(--mono);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.4px;color:var(--mut);text-align:start;flex-shrink:0}.table td.col-actions{justify-content:flex-end}.table td.col-actions:before{display:none}.table tfoot td{border-top:none;font-weight:800}.panel .table{background:#fff;border-spacing:0}.panel .table thead{display:table-header-group}.panel .table tbody,.panel .table tr{display:table-row-group}.panel .table tr{display:table-row;background:transparent;border:none;border-radius:0}.panel .table td{display:table-cell;text-align:start;border-bottom:none}.panel .table td:before{content:none}}
