:root { --ink:#0b1c3b; --ink-2:#14284f; --coral:#ff745d; --mist:#eef2f7; --line:#d8dee8; --muted:#68738a; --text:#172033; --white:#fff; --radius:14px; }
* { box-sizing:border-box; }
body { margin:0; color:var(--text); background:#fff; font-family:"DM Sans",Arial,sans-serif; }
button,input { font:inherit; }
button { cursor:pointer; }
.app-shell { min-height:100vh; display:grid; grid-template-columns:minmax(390px,47%) 1fr; background:#fff; }
.app-shell.dashboard-mode { display:block; }
.app-shell.dashboard-mode .visual-panel { display:none; }
.product-chips button small{display:block;margin-top:2px;color:#7d8798;font-size:9px;font-weight:800;text-transform:uppercase}
.supplier-card-head{position:relative}.supplier-edit{position:absolute;right:14px;top:14px;border:1px solid var(--supplier-color);border-radius:7px;background:#fff;color:var(--supplier-color);padding:6px 9px;font-size:10px;font-weight:800}.supplier-meta a{display:block}.supplier-editor-modal .quantity-dialog{width:min(100%,480px);max-height:calc(100vh - 40px);overflow:auto}.supplier-editor-modal label{margin-top:13px}.supplier-editor-modal label:first-of-type{margin-top:0}.supplier-editor-modal input,.supplier-editor-modal textarea{padding:0 11px}.supplier-editor-modal input{height:43px}.supplier-editor-modal textarea{width:100%;min-height:74px;padding-top:10px;border:1px solid #d8dee8;border-radius:8px;resize:vertical;font:inherit}.supplier-invoice-comment{grid-template-columns:24px 1fr!important;border:1px solid #e4e7ed;border-radius:9px!important;padding:11px!important;background:#f8f9fb!important;color:#7a8598!important}.supplier-invoice-comment strong{color:#536078!important}
.supplier-delete{position:absolute;right:14px;bottom:13px;width:25px;height:25px;border:0;border-radius:50%;background:#f5e8e8;color:#b04444;font-weight:800}.supplier-edit{right:47px}.access-profile{position:relative;padding-right:105px}.profile-actions-inline{position:absolute;right:0;top:13px;display:flex;gap:5px}.profile-actions-inline button{border:1px solid #dce2ea;border-radius:6px;background:#fff;color:#4b2b83;padding:5px 7px;font-size:10px;font-weight:800}.profile-actions-inline button:last-child{color:#b04444}
.supplier-edit{right:14px}.delete-supplier-button{width:100%;margin-top:10px;border:0;background:transparent;color:#b04444;font-size:12px;font-weight:800;text-decoration:underline}
.access-profile p{margin:4px 0 0;color:#8a93a2;font-size:12px}
.order-supplier-group{margin:0 0 16px;padding:11px 12px 3px;border:1px solid #e0e5ed;border-radius:9px;background:#fafbfc}.order-supplier-group h4{margin:0;color:#4b2b83;font:800 12px Manrope,sans-serif;letter-spacing:.06em;text-transform:uppercase}.order-supplier-group .order-item{padding:9px 0}.order-supplier-group:last-child{margin-bottom:0}
.todo-add{float:right;border:0;border-radius:7px;background:#4b2b83;color:#fff;padding:6px 9px;font-size:11px;font-weight:800;box-shadow:0 4px 10px rgba(75,43,131,.18)}.todo-add:hover{background:#613c9e}.schedule td:first-child{position:relative}.employee-remove{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:22px;height:22px;border:0;border-radius:50%;background:#f5e8e8;color:#b04444;font-weight:800;opacity:0}.schedule tr:hover .employee-remove{opacity:1}
.employee-contact{cursor:pointer}.employee-contact:hover{background:#fbf9ff}.contact-details{display:grid;gap:10px;margin-top:19px}.contact-details strong{font-size:18px;color:#172033}.contact-details span{color:#68738a;font-size:13px}.contact-details a{color:#4b2b83;font-weight:700;text-decoration:none}.contact-details p{margin:0!important}.restaurant-dashboard[data-can-manage-planning="false"] .shift{cursor:default}.restaurant-dashboard[data-can-manage-planning="false"] .shift::after{display:none}
.todo-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:-12px}.todo-section-header h3{margin:0;color:#4b2b83;font:800 20px Manrope,sans-serif}.todo-section-header .todo-add{float:none}.tomorrow-box{margin-top:-12px}
.dash-layout{align-items:start}.schedule{align-self:start}.task-action-modal label{margin-top:16px}.task-action-modal input{width:100%;height:46px;padding:0 12px;border:1px solid #d8dee8;border-radius:8px}.task-modal label{margin-top:16px}.task-modal input,.task-modal select{width:100%;height:46px;padding:0 12px;border:1px solid #d8dee8;border-radius:8px}.task-delete-modal .quantity-dialog{max-width:380px}.modal-action-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.modal-secondary,.modal-danger{height:46px;border-radius:8px;font-weight:800}.modal-secondary{border:1px solid #d8dee8;background:#fff;color:#5d687b}.modal-danger{border:0;background:#b04444;color:#fff}
.product-editor-modal label{margin-top:14px}.product-editor-modal input{width:100%;height:45px;padding:0 11px;border:1px solid #d8dee8;border-radius:8px}
.todo{display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px 10px}.todo-dot{flex:0 0 auto;width:8px;height:8px;margin-top:5px;border-radius:50%;background:#8064b5}.todo-body{flex:1 1 160px;min-width:0}.todo-text{display:block}.todo-time{display:block;margin-top:2px;color:#5c6980;font-size:12px;font-weight:700}.todo-actions{flex:0 0 auto;margin-left:auto;display:flex;gap:5px}.todo-actions button{width:26px;height:26px;border:1px solid #dce2ea;border-radius:7px;background:#fff;color:#5c6980;font-size:13px;font-weight:800;transition:.16s}.todo-actions .task-edit:hover{border-color:#8064b5;background:#f4f0fb;color:#4b2b83}.todo-actions .task-delete{color:#b04444}.todo-actions .task-delete:hover{border-color:#e4b9b9;background:#fff4f3}.overview-head{margin-bottom:24px}.rules-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.rule-card{min-height:230px;padding:24px;border:1px solid #dce2ea;border-radius:14px;background:#fff;box-shadow:0 7px 22px rgba(18,37,70,.05)}.rule-card>span{color:#4b2b83;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.rule-card h3{margin:10px 0 14px;color:#172033;font:800 22px Manrope,sans-serif}.rule-card ul{display:grid;gap:10px;margin:0;padding-left:19px;color:#5d687b;font-size:13px;line-height:1.5}.rule-safety{border-top:5px solid #f4ba4b}.rules-note{margin-top:18px;padding:16px 19px;border-radius:10px;background:#f6f3fb;color:#5c6980;font-size:13px;line-height:1.5}.rules-note strong{color:#4b2b83}.rules-note p{margin:5px 0 0}@media(max-width:760px){.rules-grid{grid-template-columns:1fr}}
.shift{position:relative;cursor:pointer}.shift::after{content:'✎';display:inline-block;margin-left:7px;color:#a2aabd;font-size:10px;opacity:.8}.service-modal label{margin-top:13px}.service-modal select{width:100%;height:45px;border:1px solid #d8dee8;border-radius:8px;padding:0 10px;background:#fff;color:#172033}.service-modal input{height:45px;padding:0 11px}
.time-picker-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:13px}.time-picker-row label{margin:0!important}.time-picker-row select{width:100%;height:45px;border:1px solid #d8dee8;border-radius:8px;padding:0 10px;background:#fff;color:#172033;font-weight:700}
.second-service-toggle{width:100%;margin-top:14px;border:1px dashed #9074bd;border-radius:8px;background:#faf8fd;color:#4b2b83;padding:11px;font-size:12px;font-weight:800}.second-service{margin-top:2px;padding:2px 0 4px}
.schedule .shift-cell{padding:0;vertical-align:stretch}.schedule .shift{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:39px;padding:7px 21px 7px 6px;border:0;border-bottom:1px solid #e3e7ed;background:#fff;color:#4b2b83;font:700 12px Manrope,sans-serif;line-height:1.2;cursor:pointer}.schedule .shift.single{border-bottom:0}.schedule .shift[hidden]{display:none}.schedule .shift:last-child{border-bottom:0}.schedule .shift:hover{background:#f7f4fc}.schedule .shift::after{position:absolute;right:7px;margin:0;color:#a2aabd;font-size:9px}
.schedule .shift.empty{min-height:34px;background:#fbfcfd;color:#c4cad5;font-size:18px;font-weight:400}.schedule .shift.empty::after{content:''}.schedule .shift.empty:hover{background:#f4f1f9;color:#9e8ab9}
.access-workspace{display:grid;grid-template-columns:minmax(320px,460px) minmax(260px,1fr);gap:24px;align-items:start}.access-form,.access-list{border:1px solid #dce2ea;border-radius:12px;padding:22px;background:#fff;box-shadow:0 5px 18px rgba(18,37,70,.05)}.access-form h3,.access-list h3{margin:0 0 20px;color:#4b2b83;font:800 21px Manrope,sans-serif}.access-form>label{margin-bottom:16px}.access-form input:not([type="checkbox"]),.access-form select{width:100%;height:46px;padding:0 12px;border:1px solid #d8dee8;border-radius:8px;background:#fff;color:#172033}.access-form fieldset{margin:20px 0;border:1px solid #e1e5eb;border-radius:9px;padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.access-form legend{padding:0 5px;color:#4b2b83;font-size:13px;font-weight:800}.access-form fieldset label{display:flex;align-items:center;gap:8px;margin:0;color:#455168;font-size:13px}.access-form input[type="checkbox"]{accent-color:#4b2b83}.access-form fieldset.pages-visible{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:8px}.access-form fieldset.pages-visible label{position:relative;flex-direction:column;justify-content:center;gap:5px;min-height:56px;padding:8px 4px 6px;border:1px solid #dfe4ec;border-radius:8px;background:#fafbfc;color:#65708a;font-size:10px;font-weight:800;line-height:1.15;text-align:center;transition:.16s}.access-form fieldset.pages-visible label:has(input:checked){border-color:#4b2b83;background:color-mix(in srgb,#4b2b83 8%,#fff);color:#4b2b83}.access-form fieldset.pages-visible input{position:absolute;top:5px;right:5px;width:11px;height:11px;margin:0}.access-form fieldset.pages-visible svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}@media(max-width:480px){.access-form fieldset.pages-visible{grid-template-columns:repeat(2,minmax(0,1fr))}}.access-form .add{width:100%}.access-profile{display:grid;gap:5px;padding:15px 0;border-top:1px solid #e7eaf0}.access-profile:first-of-type{border-top:0}.access-profile strong{color:#172033}.access-profile span{color:#68738a;font-size:13px}
@media(max-width:850px){.access-workspace{grid-template-columns:1fr}}
.access-workspace.team-list-only{grid-template-columns:1fr}.profile-editor-modal .quantity-dialog{width:min(100%,480px);max-height:calc(100vh - 40px);overflow:auto}.profile-details-modal .quantity-dialog{width:min(100%,640px);max-height:calc(100vh - 40px);overflow:auto}.profile-details-grid{display:grid;grid-template-columns:1fr 300px;gap:24px;align-items:start;margin-top:18px}.profile-details-list{display:grid;gap:0}.profile-details-list p{display:grid;grid-template-columns:90px 1fr;gap:12px;margin:0;padding:8px 0;border-top:1px solid #e7eaf0}.profile-details-list p:first-child{border-top:0}.profile-details-list span{color:#7a8598;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.profile-details-list strong,.profile-details-list a{color:#26334c;font-size:13px;font-weight:700;text-decoration:none}.profile-fun-facts{grid-column:1/-1;margin-top:4px;padding-top:14px;border-top:1px solid #e7eaf0}.profile-fun-facts h4{margin:0 0 4px;color:#4b2b83;font:800 13px Manrope,sans-serif}.profile-actions-inline .profile-info-button{display:grid;place-items:center;width:25px;height:25px;padding:0;border-radius:50%;color:#4b2b83}@media(max-width:700px){.profile-details-grid{grid-template-columns:1fr}}
.team-list-only .access-profile{padding:15px 145px 15px 0}.profile-actions-inline{width:max-content;align-items:center}.profile-actions-inline button{box-sizing:border-box;flex:0 0 auto;width:auto!important;min-width:25px;height:26px;white-space:nowrap}.profile-actions-inline .profile-info-button{width:25px!important;padding:0!important;border-radius:50%}.profile-actions-inline button:last-child{width:25px!important;padding:0;border-radius:50%}
.profile-monthly-hours{padding:13px;border-radius:9px;background:#f6f3fb}.profile-monthly-hours>.earnings-head{display:flex;flex-direction:column;gap:7px;align-items:stretch;color:#4b2b83;font-size:13px}.profile-monthly-hours input{height:34px;width:100%;border:1px solid #d8dee8;border-radius:7px;padding:0 7px;background:#fff;color:#35415b;font-weight:700}.profile-monthly-hours .empty-order{margin:10px 0 0;color:#66728a;font-size:13px}.profile-monthly-hours .earnings-total{margin:12px 0 10px;padding:11px;gap:2px 14px}.profile-monthly-hours .earnings-total strong,.profile-monthly-hours .earnings-total b{font-size:15px}.profile-monthly-hours .earnings-weeks article{grid-template-columns:1fr auto auto;gap:8px;padding:8px 0;font-size:12px}@media(max-width:700px){.profile-monthly-hours{margin-top:18px}}.restaurant-dashboard.open{height:100vh;overflow:hidden}.dash-side{position:sticky;top:0;height:100vh;overflow-y:auto}.dash-main{height:100vh;overflow-y:auto;overscroll-behavior:contain}@media(max-width:900px){.restaurant-dashboard.open{height:auto;overflow:visible}.dash-side,.dash-main{height:auto;overflow:visible}}
.supplier-workspace{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:26px;align-items:start}.supplier-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.supplier-card{border:1px solid #dce2ea;border-top:6px solid var(--supplier-color);border-radius:12px;background:#fff;box-shadow:0 5px 18px rgba(18,37,70,.05);overflow:hidden}.supplier-card-head{padding:16px 18px 13px;background:linear-gradient(135deg,color-mix(in srgb,var(--supplier-color) 11%,#fff),#fff)}.supplier-card h3{margin:0;color:#172033;font:800 20px Manrope,sans-serif;letter-spacing:-.6px}.supplier-card-head span{display:inline-block;margin-top:5px;color:var(--supplier-color);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.supplier-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px 18px 10px}.supplier-meta p{margin:0;color:#455168;font-size:13px;line-height:1.45}.supplier-meta strong{display:block;color:#778297;font-size:10px;letter-spacing:.07em;text-transform:uppercase}.supplier-meta a{color:#4b2b83;font-weight:700;text-decoration:none}.supplier-rule{margin:0 18px 13px;padding:9px 10px;border-radius:7px;background:#f4f6f9;color:#5e697b;font-size:12px;font-weight:700}.product-chips{display:flex;flex-wrap:wrap;gap:7px;padding:0 18px 18px}.product-chip{display:flex;align-items:center}.product-chips button{border:1px solid #dce2ea;border-radius:7px;background:#fff;color:#35415b;padding:7px 8px;font-size:11px;font-weight:700;transition:.16s}.product-chips button:hover{border-color:var(--supplier-color);background:color-mix(in srgb,var(--supplier-color) 8%,#fff);color:var(--supplier-color)}.product-chip>button:first-child{border-radius:7px 0 0 7px}.product-chip .chip-action{border-left:0;border-radius:0;padding:7px 6px;color:#778297}.product-chip .chip-action.delete{border-radius:0 7px 7px 0;color:#b35b5b}.product-chip .chip-action:hover{background:#fff4f3;color:#b04444}.product-chips .new-product{border:1px dashed var(--supplier-color);color:var(--supplier-color);background:transparent}.order-list{position:sticky;top:22px;border:1px solid #dce2ea;border-radius:12px;padding:20px;background:#fff;box-shadow:0 5px 18px rgba(18,37,70,.05)}.order-list h3{margin:0;color:#4b2b83;font:800 20px Manrope,sans-serif}.order-list>p{margin:8px 0 15px;color:#68738a;font-size:13px;line-height:1.45}.order-item{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid #e7eaf0;color:#37445d;font-size:12px;font-weight:700}.order-item span{display:grid;gap:3px}.order-item b{color:#4b2b83;font-size:11px}.order-item button{width:22px;height:22px;border:0;border-radius:50%;background:#f3e9e9;color:#b04444;font-weight:800}.empty-order{display:block;padding:14px 0;color:#8790a0;font-size:13px}.order-comment-label{display:block;margin:14px 0 6px;color:#68738a;font-size:11px;font-weight:800;letter-spacing:.02em}.order-comment-label small{font-weight:600;text-transform:none;letter-spacing:0}.order-comment-input{width:100%;padding:9px 11px;border:1px solid #d8dee8;border-radius:8px;background:#fff;color:#172033;font:inherit;font-size:12px;resize:vertical}.order-list .add{width:100%;margin-top:17px}.supplier-intro{margin:7px 0 0;color:#68738a;font-size:14px}.quantity-modal{display:none;position:fixed;z-index:30;inset:0;place-items:center;padding:20px}.quantity-modal.open{display:grid}.quantity-backdrop{position:absolute;inset:0;background:rgba(11,28,59,.48);backdrop-filter:blur(3px)}.quantity-dialog{position:relative;width:min(100%,390px);padding:28px;border-radius:14px;background:#fff;box-shadow:0 24px 70px rgba(11,28,59,.28)}.modal-close{position:absolute;right:14px;top:13px;width:30px;height:30px;border:0;border-radius:50%;background:#f1f3f6;color:#657087;font-size:20px}.modal-kicker{color:#f0a824;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.quantity-dialog h3{margin:6px 0 5px;color:#172033;font:800 25px Manrope,sans-serif;letter-spacing:-1px}.quantity-dialog p{margin:0 0 22px;color:#68738a;font-size:13px}.quantity-dialog label{margin-bottom:8px}.quantity-stepper{display:grid;grid-template-columns:48px 1fr 48px;margin-bottom:20px}.quantity-stepper button{border:1px solid #d8dee8;background:#f6f7f9;color:#4b2b83;font-size:23px;font-weight:700}.quantity-stepper button:first-child{border-radius:8px 0 0 8px}.quantity-stepper button:last-child{border-radius:0 8px 8px 0}.quantity-stepper input{height:48px;border-radius:0;text-align:center;padding:0;font-size:18px;font-weight:800}.quantity-confirm{width:100%}
@media(max-width:1050px){.supplier-workspace{grid-template-columns:1fr}.order-list{position:static}.supplier-directory{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.supplier-directory{grid-template-columns:1fr}.supplier-meta{grid-template-columns:1fr}.supplier-card h3{font-size:19px}}
.app-shell:has(.auth-view:not(.hidden)) { grid-template-columns:minmax(340px,36vw) 1fr; }
.visual-panel { min-height:100vh; position:relative; overflow:hidden; padding:0; color:#fff; background:#160a32 url('./assets/enjoy-tacos-storefront-original.png') center/cover no-repeat; display:flex; flex-direction:column; }
.visual-overlay { display:none; }
.brand { position:relative; z-index:1; display:flex; align-items:center; }
.brand img { display:block; width:164px; height:auto; filter:brightness(0) invert(1); }
.visual-copy { display:none; }
.visual-copy em { color:#f4ba4b; font-style:normal; }
.visual-copy p { max-width:360px; margin:26px 0 0; color:rgba(255,255,255,.8); font-size:16px; line-height:1.6; }
.visual-footer { display:none; }
.content-panel { min-width:0; position:relative; background:#fff; }
.auth-view { min-height:100vh; display:grid; place-items:center; padding:48px; }
.auth-wrap { width:min(100%,490px); }
.auth-brand-row { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:34px; padding-bottom:22px; border-bottom:1px solid #e5e8ee; }
.locale { display:flex; align-items:center; gap:8px; color:#69738a; font-size:11px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.locale select { appearance:none; border:1px solid #dce2ea; border-radius:8px; background:#fbfbfd; color:#4b2b83; padding:8px 28px 8px 10px; font:800 12px Manrope,sans-serif; background-image:linear-gradient(45deg,transparent 50%,#4b2b83 50%),linear-gradient(135deg,#4b2b83 50%,transparent 50%); background-position:calc(100% - 14px) 13px,calc(100% - 9px) 13px; background-size:5px 5px,5px 5px; background-repeat:no-repeat; }
.auth-logo { display:block; width:132px; height:auto; filter:none; }
.auth-heading { margin-bottom:38px; }
h2 { margin:0; color:var(--ink); font:800 clamp(37px,4vw,51px)/1 Manrope,sans-serif; letter-spacing:-2.2px; }
.auth-heading p,.profile-heading p { color:var(--muted); margin:13px 0 0; font-size:16px; }
label { display:block; color:var(--ink); margin:0 0 9px; font-size:13px; font-weight:700; }
.input-wrap { position:relative; margin:0 0 22px; }
.input-wrap>svg { position:absolute; width:19px; height:19px; left:17px; top:50%; transform:translateY(-50%); fill:none; stroke:#788399; stroke-width:1.8; }
input { width:100%; height:51px; padding:0 48px; border:1px solid var(--line); border-radius:9px; outline:0; color:var(--text); background:var(--white); font-size:15px; transition:border-color .2s,box-shadow .2s; }
input::placeholder { color:#9da6b6; }
input:focus { border-color:#6c83b1; box-shadow:0 0 0 4px rgba(77,108,164,.12); }
select { width:100%; height:51px; padding:0 14px; border:1px solid var(--line); border-radius:9px; outline:0; color:var(--text); background:var(--white); font-size:15px; }
.icon-button { width:42px; height:42px; border:0; background:transparent; position:absolute; right:4px; top:5px; color:#69758b; display:grid; place-items:center; }
.icon-button svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; }
.text-link { display:inline-block; color:var(--ink); margin:-4px 0 26px; font-size:13px; font-weight:700; }
.button { border-radius:9px; height:51px; width:100%; display:flex; align-items:center; justify-content:center; gap:10px; border:1px solid transparent; font-weight:700; font-size:15px; transition:transform .16s,box-shadow .16s,background .16s; }
.button:hover { transform:translateY(-1px); }
.button:focus-visible,.nav-item:focus-visible,.logout:focus-visible,.back-link:focus-visible { outline:3px solid rgba(255,116,93,.38); outline-offset:3px; }
.button-primary { color:#4b2b83; background:#f4ba4b; box-shadow:0 8px 18px rgba(244,186,75,.24); }
.button-primary:hover { background:#ffc951; box-shadow:0 11px 23px rgba(244,186,75,.32); }
.button-secondary { color:#29354d; background:#fff; border-color:#cfd6e0; }
.form-error { min-height:18px; margin:-12px 0 12px; color:#c33d32; font-size:13px; }
@media(max-width:850px){.app-shell:has(.auth-view:not(.hidden)){display:block}.visual-panel{min-height:250px;background-size:contain;background-position:center}.auth-logo{width:108px}.visual-copy h1{text-transform:none}}
.profile-view { display:none; min-height:100vh; }.profile-view.open { display:grid; grid-template-columns:278px 1fr; animation:show .35s ease both; }.auth-view.hidden { display:none; }
@keyframes show { from { opacity:0; transform:translateY(7px) } to { opacity:1; transform:none } }
.profile-sidebar { min-height:100vh; padding:43px 24px 33px; background:var(--ink); color:#fff; display:flex; flex-direction:column; }.profile-sidebar .brand { font-size:22px; }.profile-sidebar .brand-mark { transform:scale(.8); transform-origin:left center; margin-right:-4px; }
.profile-sidebar nav { margin-top:70px; display:grid; gap:7px; }.nav-item,.logout { border:0; background:transparent; color:rgba(255,255,255,.77); text-align:left; height:46px; padding:0 14px; border-radius:8px; font-size:14px; }.nav-item span,.logout span { width:25px; display:inline-block; font-size:18px; vertical-align:-1px; }.nav-item.active { color:#fff; background:#25426f; font-weight:700; }.logout { margin-top:auto; border-top:1px solid rgba(255,255,255,.16); border-radius:0; padding-top:22px; height:69px; }
.profile-content { padding:48px clamp(36px,7vw,112px); max-width:1030px; }.back-link { display:none; border:0; background:transparent; padding:0; color:var(--muted); font-size:14px; }.profile-heading { margin-top:48px; }.profile-heading h2 { font-size:42px; }.profile-grid { display:grid; grid-template-columns:220px minmax(330px,500px); gap:68px; margin-top:54px; }.identity-block { display:flex; flex-direction:column; align-items:center; text-align:center; }.avatar { width:120px; aspect-ratio:1; display:grid; place-items:center; border-radius:50%; color:#fff; background:linear-gradient(145deg,#e49a8b,#223962); font:700 33px/1 Manrope,sans-serif; box-shadow:0 0 0 5px #f3f5f8; }.identity-block strong { margin-top:23px; color:var(--ink); font-size:17px; }.identity-block span { margin-top:5px; color:var(--muted); font-size:13px; }.photo-button { margin-top:25px; height:38px; padding:0 15px; border:1px solid #aeb9ca; background:#fff; color:var(--ink); border-radius:20px; font-weight:700; font-size:13px; }
.profile-form label { margin-top:0; }.profile-form input { padding:0 14px; margin:0 0 19px; }.profile-actions { border-top:1px solid #dce2ea; margin-top:4px; padding-top:18px; display:flex; align-items:center; justify-content:space-between; gap:20px; }.profile-actions .button { width:auto; padding:0 20px; }.save-status { color:#37815b; font-size:13px; font-weight:700; }
@media (max-width: 850px) { .app-shell { display:block; }.visual-panel { min-height:310px; padding:30px; background-position:right 42%; }.visual-copy { margin:auto 0 15px; }.visual-copy h1 { font-size:38px; letter-spacing:-1.8px; }.visual-copy p,.visual-footer { display:none; }.auth-view { min-height:calc(100vh - 310px); padding:55px 25px; }.locale { top:-38px; }.profile-view.open { grid-template-columns:1fr; }.profile-sidebar { min-height:auto; padding:24px; }.profile-sidebar nav,.logout { display:none; }.profile-content { padding:32px 25px 55px; }.back-link { display:block; }.profile-heading { margin-top:35px; }.profile-grid { grid-template-columns:1fr; gap:35px; margin-top:35px; }.identity-block { align-items:flex-start; text-align:left; }.avatar { width:86px; }.photo-button { margin-top:18px; }.profile-form { max-width:520px; }.profile-heading h2 { font-size:38px; } }
.restaurant-dashboard{display:none;min-height:100vh;background:#fff}.restaurant-dashboard.open{display:grid;grid-template-columns:224px 1fr}.dash-side{position:relative;z-index:20;background:#4b2b83;color:#fff;padding:34px 18px;display:flex;flex-direction:column}.dash-logo img{width:155px;height:auto;display:block;margin:0 0 60px}.dash-nav{display:grid;gap:7px}.dash-nav button{border:0;background:transparent;color:#fff;text-align:left;padding:14px 13px;border-radius:8px;font-weight:700}.dash-nav button.active{background:rgba(255,255,255,.16);color:#f4ba4b;border-left:4px solid #f4ba4b}.dash-main{padding:35px 40px;min-width:0}.dash-top{display:flex;justify-content:space-between;align-items:start;margin-bottom:28px}.dash-top h2{font-size:39px}.week{display:flex;gap:16px;align-items:center;margin-top:21px;font-size:20px;font-weight:700}.week button{width:35px;height:35px;border:1px solid #d8dee8;border-radius:7px;background:#fff}.add{border:0;border-radius:8px;background:#f4ba4b;color:#4b2b83;padding:15px 19px;font-weight:800}.dash-layout{display:grid;grid-template-columns:minmax(580px,1fr) 288px;gap:28px}.schedule{border:1px solid #dde2ea;border-radius:10px;overflow:auto}.schedule table{border-collapse:collapse;width:100%;min-width:650px}.schedule th,.schedule td{border-right:1px solid #e3e7ed;border-bottom:1px solid #e3e7ed;padding:14px 10px;text-align:center;font-size:13px}.schedule th{height:86px;color:#4b2b83}.schedule td:first-child,.schedule th:first-child{text-align:left;font-weight:700;min-width:105px}.role{display:block;margin-top:5px;font-size:11px;color:#f4a944}.shift{font-weight:600;color:#4b2b83}.dash-rail{display:grid;align-content:start;gap:22px}.rail-box{border:1px solid #dde2ea;border-radius:10px;padding:20px}.rail-box h3{margin:0 0 17px;color:#4b2b83;font:700 18px Manrope,sans-serif}.todo,.supplier{padding:13px 0;border-top:1px solid #e5e8ed;font-size:13px;line-height:1.4}.todo:first-of-type,.supplier:first-of-type{border-top:0}.supplier strong{display:block;color:#4b2b83}.supplier span{color:#68738a;font-size:12px}@media(max-width:900px){.restaurant-dashboard.open{grid-template-columns:1fr}.dash-side{min-height:auto}.dash-logo img{margin-bottom:20px}.dash-nav{grid-template-columns:repeat(3,1fr)}.dash-main{padding:28px 20px}.dash-layout{grid-template-columns:1fr}.dash-top{gap:18px}.dash-top h2{font-size:33px}}
.schedule table{min-width:2380px}.schedule th:not(:first-child),.schedule td:not(:first-child){min-width:72px;padding:11px 6px}.schedule th small{color:#8b94a5;font-size:10px;text-transform:uppercase}.schedule th:first-child,.schedule td:first-child{position:sticky;left:0;z-index:2;background:#fff;min-width:150px;box-shadow:2px 0 6px rgba(18,37,70,.06)}.schedule th:first-child{z-index:3;background:#fbfaff}.week .month-label{text-transform:capitalize;min-width:155px;text-align:center}
.schedule table{min-width:780px}.schedule th:not(:first-child),.schedule td:not(:first-child){min-width:86px}.week .month-label{font-size:15px;min-width:250px}.schedule th:first-child,.schedule td:first-child{min-width:122px;width:122px}.schedule td:first-child{padding-right:52px}.employee-view{position:absolute;right:32px;top:50%;transform:translateY(-50%);width:20px;height:20px;border:0;border-radius:50%;background:#eee9f7;color:#4b2b83;font-size:11px;line-height:1;opacity:0}.schedule tr:hover .employee-view{opacity:1}.supplier-rule{display:flex;align-items:center;gap:7px}.supplier-info{flex:0 0 auto;width:18px;height:18px;padding:0;border:1px solid #b8c0ce;border-radius:50%;background:#fff;color:#647086;font:800 11px Georgia,serif}.product-chip{align-items:stretch}.product-chip>button:first-child{min-height:54px}.product-actions{display:grid;grid-template-rows:1fr 1fr}.product-chip .product-actions .chip-action{min-width:29px;padding:0 7px;border-left:0;border-radius:0;font-size:12px}.product-chip .product-actions .chip-action:first-child{border-radius:0 7px 0 0;border-bottom:0}.product-chip .product-actions .chip-action.delete{border-radius:0 0 7px 0}
.supplier-rule{background:rgba(190,54,65,.10);border:1px solid rgba(190,54,65,.22);color:#8d3942}.supplier-info{border-color:rgba(190,54,65,.42);background:rgba(255,255,255,.72);color:#9e3e47}.color-control{display:flex;align-items:center;gap:10px;margin-top:7px}.color-control input{width:48px;height:36px;padding:3px;border:1px solid #d8dee8;border-radius:8px;background:#fff;cursor:pointer}.color-control output{color:#68738a;font:700 12px Manrope,sans-serif;text-transform:uppercase}
.supplier-card-summary{display:flex;flex-wrap:wrap;gap:8px 17px;margin-top:12px;padding-top:11px;border-top:1px solid color-mix(in srgb,var(--supplier-color) 17%,#fff);color:#4d5970;font-size:13px;line-height:1.45}.supplier-card-summary span,.supplier-card-summary a{display:inline-flex;align-items:center;gap:5px;margin:0;color:#4d5970;font-size:13px;font-weight:700;letter-spacing:0;text-decoration:none;text-transform:none}.supplier-rule{margin-top:14px}.payment-methods{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 0;border:1px solid #e1e5eb;border-radius:9px;padding:12px}.payment-methods legend{padding:0 5px;color:#4b2b83;font-size:12px;font-weight:800}.payment-methods label{display:flex;align-items:center;gap:6px;margin:0;color:#455168;font-size:13px;font-weight:700}.payment-methods input{accent-color:#4b2b83}
.supplier-card-head{background:linear-gradient(180deg,color-mix(in srgb,var(--supplier-color) 27%,#fff) 0%,color-mix(in srgb,var(--supplier-color) 7%,#fff) 100%)}.supplier-card h3{color:#172033}.supplier-card-summary{border-top-color:color-mix(in srgb,var(--supplier-color) 18%,#fff);color:#4d5970}.supplier-card-summary span,.supplier-card-summary a{color:#4d5970;font-size:12px;font-weight:700}.supplier-edit{border-color:var(--supplier-color);background:rgba(255,255,255,.66);color:var(--supplier-color)}.payment-methods{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:8px}.payment-methods legend{font-size:11px}.payment-methods legend small{color:#7b8494;font-weight:600}.payment-methods label{position:relative;display:flex;flex-direction:column;justify-content:center;min-width:0;min-height:56px;gap:5px;padding:8px 4px 6px;border:1px solid #dfe4ec;border-radius:8px;background:#fafbfc;color:#65708a;font-size:10px;font-weight:800;line-height:1.15;text-align:center;white-space:normal;transition:.16s}.payment-methods label:has(input:checked){border-color:#4b2b83;background:color-mix(in srgb,#4b2b83 8%,#fff);color:#4b2b83}.payment-methods input{position:absolute;top:5px;right:5px;width:11px;height:11px;margin:0}.payment-icon{font-size:18px;line-height:1}.supplier-details-list .supplier-details-rule{grid-template-columns:24px 1fr}
.supplier-title-row{display:flex;align-items:center;gap:8px;padding-right:92px}.supplier-view{display:grid;place-items:center;width:23px;height:23px;padding:0;border:1px solid color-mix(in srgb,var(--supplier-color) 45%,#fff);border-radius:50%;background:rgba(255,255,255,.66);color:var(--supplier-color);cursor:pointer;font:800 14px/1 Georgia,serif;transition:.16s}.supplier-view:hover{background:#fff;transform:translateY(-1px);box-shadow:0 4px 10px color-mix(in srgb,var(--supplier-color) 20%,transparent)}.supplier-details-dialog{width:min(100%,430px)}.supplier-details-list{display:grid;gap:9px;margin-top:20px}.supplier-details-list p{display:grid;grid-template-columns:24px 88px 1fr;gap:7px;align-items:start;margin:0;padding:11px 0;border-top:1px solid #e8ebf0;color:#4b2b83;font-size:15px}.supplier-details-list p:first-child{border-top:0}.supplier-details-list span{color:#7a8598;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.supplier-details-list strong,.supplier-details-list a{color:#26334c;font-size:13px;font-weight:700;line-height:1.45;text-decoration:none}.supplier-details-list .supplier-details-rule{border:1px solid rgba(190,54,65,.22);border-radius:9px;padding:11px;background:rgba(190,54,65,.08);color:#9e3e47}.supplier-details-rule span,.supplier-details-rule strong{color:#8d3942}
.contact-directory{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.contact-card{border:1px solid #dce2ea;border-left:5px solid var(--contact-color);border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 3px 10px rgba(18,37,70,.05)}.contact-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 14px;background:linear-gradient(180deg,color-mix(in srgb,var(--contact-color) 18%,#fff),color-mix(in srgb,var(--contact-color) 4%,#fff))}.contact-card h3{margin:0;color:#172033;font:800 15px Manrope,sans-serif;letter-spacing:-.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contact-card-head span{display:block;margin-top:3px;color:var(--contact-color);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contact-card-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}.contact-view{display:grid;place-items:center;width:23px;height:23px;padding:0;border:1px solid color-mix(in srgb,var(--contact-color) 45%,#fff);border-radius:50%;background:rgba(255,255,255,.66);color:var(--contact-color);cursor:pointer;font-size:12px;line-height:1;transition:.16s}.contact-view:hover{background:#fff;transform:translateY(-1px);box-shadow:0 4px 10px color-mix(in srgb,var(--contact-color) 20%,transparent)}.contact-edit{border:1px solid var(--contact-color);border-radius:7px;background:rgba(255,255,255,.7);color:var(--contact-color);padding:5px 8px;font-size:10px;font-weight:800;white-space:nowrap}.contact-details-dialog{width:min(100%,420px)}.contact-details-dialog h3{color:color-mix(in srgb,var(--contact-color) 70%,#172033)}.contact-details-list{display:grid;gap:9px;margin-top:20px}.contact-details-list p{display:grid;grid-template-columns:24px 110px 1fr;gap:7px;align-items:start;margin:0;padding:11px 0;border-top:1px solid #e8ebf0;color:#4b2b83;font-size:15px}.contact-details-list p:first-child{border-top:0}.contact-details-list span{color:#7a8598;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.contact-details-list strong,.contact-details-list a{color:#26334c;font-size:13px;font-weight:700;line-height:1.45;text-decoration:none}.contact-details-list .contact-details-infos{grid-template-columns:24px 1fr}.contact-details-list .contact-details-infos span{grid-column:2}.contact-details-list .contact-details-infos strong{grid-column:2;white-space:pre-wrap;margin-top:4px}.contact-editor-modal .quantity-dialog{width:min(100%,480px);max-height:calc(100vh - 40px);overflow:auto}.contact-editor-modal label{margin-top:13px}.contact-editor-modal input,.contact-editor-modal select,.contact-editor-modal textarea{width:100%;padding:0 11px;border:1px solid #d8dee8;border-radius:8px;background:#fff;color:#172033;font:inherit}.contact-editor-modal input,.contact-editor-modal select{height:43px}.contact-editor-modal textarea{padding-top:10px;padding-bottom:10px;resize:vertical}.quantity-dialog .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:13px}.quantity-dialog .form-row>label{margin-top:0;min-width:0}@media(max-width:480px){.quantity-dialog .form-row{grid-template-columns:1fr}}@media(max-width:1200px){.contact-directory{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.contact-directory{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.contact-directory{grid-template-columns:1fr}.contact-card-head{padding:13px}}
.dash-account{display:grid;gap:7px;margin-top:auto;padding-top:22px}.dash-account button{border:1px solid rgba(255,255,255,.22);border-radius:8px;background:transparent;color:#fff;padding:11px 12px;text-align:left;font-size:12px;font-weight:800}.dash-account button:first-child{background:rgba(255,255,255,.12)}.account-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.account-tabs button{border:1px solid #dce2ea;border-radius:8px;background:#fff;color:#5d687b;padding:9px 15px;font:700 13px "DM Sans",sans-serif;cursor:pointer;transition:.16s}.account-tabs button:hover{border-color:#c3cbdb}.account-tabs button.active{border-color:#4b2b83;background:#4b2b83;color:#fff}.account-settings{max-width:420px}.account-settings.account-info-grid{max-width:none;display:grid;grid-template-columns:420px 1fr;gap:22px;align-items:start;padding:0;background:transparent;border:0;box-shadow:none}.account-settings-main{border:1px solid #dce2ea;border-radius:12px;padding:22px;background:#fff;box-shadow:0 5px 18px rgba(18,37,70,.05)}.account-fun-facts{border:1px solid #dce2ea;border-radius:12px;padding:22px;background:#fff;box-shadow:0 5px 18px rgba(18,37,70,.05)}.fun-facts-hint{margin:8px 0 0;color:#68738a;font-size:12px}.fun-facts-row{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.fun-facts-row label{margin-top:15px}.fun-facts-hobbies{margin-top:18px;border:0;padding:0}.fun-facts-hobbies legend{padding:0;margin-bottom:8px;color:#4b2b83;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.hobbies-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px 10px}.account-fun-facts .hobby-option{display:flex;align-items:center;gap:6px;margin-top:0;font-size:12px;color:#35415b}.account-fun-facts .hobby-option input{width:auto;height:auto}.account-settings,.earnings-panel{border:1px solid #dce2ea;border-radius:12px;padding:22px;background:#fff;box-shadow:0 5px 18px rgba(18,37,70,.05)}.account-placeholder{border:1px dashed #d8dee8;border-radius:12px;padding:40px 22px;text-align:center;color:#68738a}.account-placeholder h3{margin:0 0 8px;color:#4b2b83;font:800 21px Manrope,sans-serif}.account-placeholder p{margin:0;font-size:13px}.account-settings h3,.earnings-panel h3{margin:0;color:#4b2b83;font:800 21px Manrope,sans-serif}.account-name{margin:8px 0 20px;color:#68738a;font-size:13px;font-weight:700}.account-settings label{margin-top:15px}.account-settings input,.account-settings select{width:100%;height:45px;padding:0 11px;border:1px solid #d8dee8;border-radius:8px;background:#fff;color:#172033}.account-settings label small{display:block;margin-top:3px;color:#7d8798;font-size:11px}.account-settings .add{width:100%;margin-top:20px}.account-logout{width:100%;margin-top:10px;border:0;background:transparent;color:#b04444;font-size:12px;font-weight:800;text-decoration:underline}.earnings-head{display:flex;justify-content:space-between;gap:16px;align-items:start}.earnings-head p{margin:7px 0 0;color:#68738a;font-size:13px}.earnings-head input{height:38px;border:1px solid #d8dee8;border-radius:8px;padding:0 8px;color:#35415b;font-weight:700}.earnings-total{display:grid;grid-template-columns:1fr auto;gap:5px 20px;margin:22px 0 14px;padding:16px;border-radius:10px;background:#f6f3fb;color:#68738a;font-size:12px}.earnings-total strong,.earnings-total b{color:#4b2b83;font:800 19px Manrope,sans-serif;text-align:right}.earnings-weeks article{display:grid;grid-template-columns:1fr auto auto;gap:14px;padding:13px 0;border-top:1px solid #e7eaf0;color:#59657a;font-size:13px}.earnings-weeks strong{color:#26334c}.earnings-weeks b{color:#4b2b83}.earnings-weeks .empty-order{display:block}
@media(max-width:700px){.dash-account{grid-template-columns:1fr 1fr;margin-top:12px;padding-top:0}.dash-account button{text-align:center;padding:10px 7px}.account-settings,.earnings-panel{padding:17px}.account-settings.account-info-grid{grid-template-columns:1fr;gap:16px}.earnings-head{display:grid}.earnings-weeks article{grid-template-columns:1fr auto}.earnings-weeks article b{grid-column:2}.earnings-total strong,.earnings-total b{font-size:17px}}
@media(max-width:700px){.supplier-rule{margin-top:18px}.payment-methods{grid-template-columns:repeat(3,minmax(0,1fr))}.payment-methods label{font-size:10px}}
.task-creator{display:block;margin-top:4px;color:#7a8496;font-size:10px;font-weight:700}

.dash-mobile-header{display:contents}.dash-menu-details{order:2}.dash-menu-details:not([open])>.dash-nav{display:grid}.dash-logo{order:1}.dash-account{order:3;display:grid;gap:7px;margin-top:auto;padding-top:22px}.dash-account button{border:1px solid rgba(255,255,255,.22);border-radius:8px;background:transparent;color:#fff;padding:11px 12px;text-align:left;font-size:12px;font-weight:800}.dash-account .dash-profile-button{display:flex!important;align-items:center;gap:8px;background:rgba(255,255,255,.12)}.dash-profile-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round}.dash-logout-button{display:flex!important;align-items:center;gap:8px}.dash-menu-toggle,.dash-menu-logout{display:none!important}
.dash-nav button{display:flex;align-items:center;gap:9px}.dash-nav button svg{width:17px;height:17px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.dash-nav button[hidden]{display:none}

.order-send-modal .quantity-dialog{width:min(100%,520px)}.order-send-modal .modal-action-row{grid-template-columns:1fr 1.3fr}.order-send-confirm{margin:0;width:auto}.order-send-help{display:block;margin-top:8px;color:#7a8598;font-size:11px;line-height:1.45}.order-message-preview{max-height:250px;margin:18px 0 0;padding:14px;border:1px solid #e1e5eb;border-radius:9px;background:#fafbfc;color:#37445d;font:700 12px/1.55 "DM Sans",Arial,sans-serif;white-space:pre-wrap;overflow:auto}.order-send-modal .quantity-dialog>p{margin-bottom:0}@media(max-width:700px){.order-send-modal .modal-action-row{grid-template-columns:1fr}.order-send-confirm{width:100%}.order-message-preview{max-height:34vh}}

.order-history{margin-top:18px;padding-top:15px;border-top:1px solid #e3e7ed}.order-history summary{cursor:pointer;color:#4b2b83;font-size:12px;font-weight:800}.order-history[open] summary{margin-bottom:7px}.order-history-entry{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid #eef0f4;color:#68738a;font-size:11px}.order-history-entry:first-child{border-top:0}.order-history-entry>div{display:grid;gap:3px;min-width:0}.order-history-entry strong{color:#35415b;font-size:12px}.order-history-entry b{color:#4b2b83}.order-history-entry small{color:#8790a0;font-size:10px;line-height:1.4}.order-history-view{display:grid;flex:0 0 auto;place-items:center;width:29px;height:29px;border:1px solid #d9dfea;border-radius:50%;background:#fff;color:#4b2b83;font-size:13px;transition:.16s}.order-history-view:hover{border-color:#8b72b8;background:#f6f2fb;transform:translateY(-1px)}.order-history-modal .quantity-dialog{width:min(100%,460px)}.history-order-products{display:grid;gap:13px;margin-top:18px}.history-order-products section{padding:13px;border:1px solid #e2e6ed;border-radius:9px;background:#fafbfc}.history-order-products h4{margin:0 0 6px;color:#4b2b83;font:800 12px Manrope,sans-serif;letter-spacing:.06em;text-transform:uppercase}.history-order-products p{display:flex;justify-content:space-between;gap:12px;margin:0;padding:8px 0;border-top:1px solid #e5e8ee;color:#3e4a60;font-size:12px;font-weight:700}.history-order-products p:first-of-type{border-top:0}.history-order-products b{flex:0 0 auto;color:#4b2b83;font-size:11px}

/* Mobile-first refinements */
@media (max-width: 700px) {
  body { min-width:320px; }
  .app-shell:has(.auth-view:not(.hidden)) { display:block; }
  .visual-panel { min-height:225px; background-size:cover; background-position:center 30%; }
  .auth-view { min-height:auto; padding:62px 20px 34px; }
  .auth-wrap { width:100%; max-width:460px; }
  .auth-brand-row { gap:14px; margin-bottom:25px; padding-bottom:17px; }
  .locale > span { display:none; }
  .auth-logo { width:100px; }
  .auth-heading h2 { font-size:35px; letter-spacing:-1.6px; }
  .auth-heading { margin-bottom:28px; }
  .auth-heading p { font-size:14px; line-height:1.5; }
  .button { height:52px; }
  .profile-content { padding:30px 20px 45px; }

  .restaurant-dashboard.open { display:block; }
  .dash-side { position:sticky; top:0; z-index:20; padding:13px 14px 15px; box-shadow:0 7px 18px rgba(27,11,61,.22); transition:transform .25s ease; }
  .dash-side.dash-side-hidden { transform:translateY(-100%); }
  .dash-mobile-header { display:flex; align-items:center; justify-content:space-between; gap:14px; padding-bottom:13px; border-bottom:1px solid rgba(255,255,255,.17); }
  .dash-logo img { width:112px; margin:0; }
  .dash-account { display:flex; align-items:center; gap:7px; margin:0; padding:0; }
  .dash-account button { display:grid; min-width:38px; min-height:38px; place-items:center; padding:0; border-radius:8px; font-size:17px; }
  .dash-account .dash-profile-button { display:grid!important; width:38px; place-items:center; }
  .dash-menu-details { display:block; position:relative; }
  .dash-menu-toggle { position:absolute; top:-60px; right:46px; display:flex!important; height:38px; align-items:center; gap:6px; padding:0 11px; border:1px solid rgba(255,255,255,.22); border-radius:8px; color:#fff; cursor:pointer; font-size:12px; font-weight:800; list-style:none; }
  .dash-menu-toggle::-webkit-details-marker { display:none; }
  .dash-account .dash-logout-button { display:none!important; }
  .dash-profile-button span,.dash-logout-button span { display:none; }
  .dash-nav { display:grid; grid-template-columns:1fr; max-height:0; gap:5px; margin:0; overflow:hidden; opacity:0; pointer-events:none; transition:max-height .24s ease,margin .24s ease,opacity .18s ease; }
  .dash-menu-details[open] .dash-nav { max-height:350px; margin-top:12px; opacity:1; pointer-events:auto; }
  .dash-nav button { min-height:42px; padding:10px 12px; border:1px solid rgba(255,255,255,.15); font-size:12px; line-height:1.15; }
  .dash-nav button.active { border-left:3px solid #f4ba4b; border-bottom:1px solid rgba(255,255,255,.15); }
  .dash-main { padding:23px 14px 34px; overflow:hidden; }
  .dash-top { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:10px; margin-bottom:20px; }
  .dash-top h2 { font-size:31px; letter-spacing:-1.2px; }
  .week { justify-content:space-between; gap:8px; margin-top:14px; font-size:13px; }
  .week .month-label { min-width:0; flex:1; font-size:13px; line-height:1.3; }
  .week button { flex:0 0 37px; width:37px; height:37px; }
  .dash-top > .add { width:auto; min-height:36px; margin-top:2px; padding:0 10px; font-size:10px; white-space:nowrap; }
  .dash-top:has(#add-supplier) { grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:10px; }
  .dash-top:has(#add-supplier) > #add-supplier { width:auto; min-height:36px; margin-top:2px; padding:0 10px; font-size:10px; white-space:nowrap; }
  .dash-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:18px; }
  .schedule { width:calc(100vw - 28px); border-radius:10px; -webkit-overflow-scrolling:touch; }
  .schedule table { min-width:710px; }
  .schedule th:first-child,.schedule td:first-child { min-width:106px; width:106px; }
  .schedule th:not(:first-child),.schedule td:not(:first-child) { min-width:82px; }
  .schedule th,.schedule td { padding:10px 5px; font-size:12px; }
  .schedule td:first-child { padding-right:43px; }
  .employee-view { right:25px; opacity:1; }
  .employee-remove { opacity:1; }
  .dash-rail { gap:16px; }
  .todo-section-header { margin:3px 0 -7px; }
  .todo-section-header h3 { font-size:19px; }
  .todo-section-header .todo-add { min-height:38px; padding:7px 10px; }
  .rail-box { padding:16px; }
  .rail-box h3 { font-size:16px; }
  .todo { padding:12px 0; font-size:13px; }

  .supplier-workspace { grid-template-columns:minmax(0,1fr); gap:18px; }
  .supplier-directory { grid-template-columns:1fr; gap:14px; }
  .supplier-card { border-radius:11px; }
  .supplier-card-head { padding:15px; }
  .supplier-card h3 { font-size:21px; padding-right:75px; }
  .supplier-edit { right:14px; top:15px; }
  .supplier-meta { grid-template-columns:1fr 1fr; gap:12px; padding:14px 15px 10px; }
  .supplier-rule { margin:0 15px 12px; }
  .product-chips { padding:0 15px 15px; gap:6px; }
  .product-chip { min-width:calc(50% - 3px); max-width:100%; }
  .product-chip > button:first-child { flex:1; min-width:0; font-size:11px; }
  .product-chips .new-product { min-height:48px; width:100%; }
  .order-list { position:static; padding:17px; }

  .rules-grid { grid-template-columns:1fr; gap:13px; }
  .rule-card { min-height:0; padding:20px; }
  .rule-card h3 { font-size:20px; }
  .access-workspace { grid-template-columns:1fr; gap:16px; }
  .access-form,.access-list { padding:17px; }
  .access-form fieldset { grid-template-columns:1fr; }
  .access-profile { padding-right:92px; }

  .quantity-modal { padding:12px; align-items:end; }
  .quantity-dialog { width:100%; max-width:500px; max-height:calc(100vh - 24px); overflow:auto; padding:25px 20px 20px; border-radius:16px 16px 10px 10px; }
  .quantity-dialog h3 { font-size:23px; }
  .modal-close { width:34px; height:34px; }
  .modal-action-row { grid-template-columns:1fr; }
  .supplier-editor-modal .quantity-dialog { max-height:calc(100vh - 24px); }

  .todo-actions button,.contact-view,.order-item button,.recipe-card-actions button,.recipe-row-actions button,.order-history-view,.recipe-line-remove,.recipe-view-edit { width:34px; height:34px; font-size:14px; }
  .todo-actions { gap:7px; }
}

@media (max-width: 390px) {
  .dash-nav button { font-size:11px; }
  .supplier-meta { grid-template-columns:1fr; }
  .product-chip { min-width:100%; }
  .auth-heading h2 { font-size:31px; }
}

/* Recettes: sub-tabs, tables, recipe cards */
.recipe-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px}
.recipe-tabs button{border:1px solid #dce2ea;border-radius:8px;background:#fff;color:#5d687b;padding:9px 15px;font:700 13px "DM Sans",sans-serif;cursor:pointer;transition:.16s}
.recipe-tabs button:hover{border-color:#c3cbdb}
.recipe-tabs button.active{border-color:#4b2b83;background:#4b2b83;color:#fff}
.recipe-panel-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.recipe-panel-actions span{color:#68738a;font-size:13px;font-weight:700}
.recipe-category-filter{display:flex;align-items:center;gap:8px;margin-left:auto;font-size:12px;font-weight:700;color:#68738a}
.recipe-category-filter select{border:1px solid #dce2ea;border-radius:8px;padding:7px 10px;font-size:13px;font-weight:600;color:#37445d;background:#fff}
.recipe-table-wrap{border:1px solid #dce2ea;border-radius:12px;overflow:auto;background:#fff;box-shadow:0 5px 18px rgba(18,37,70,.05)}
.recipe-table{width:100%;border-collapse:collapse;min-width:520px}
.recipe-table th{text-align:left;background:#f6f7f9;color:#778297;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:12px 16px}
.recipe-table td{border-top:1px solid #eef0f4;padding:11px 16px;color:#37445d;font-size:13px}
.recipe-table tr.recipe-total-row td{border-top:1px solid #c9cfdb;font-weight:800;color:#172033}
.recipe-row-actions{display:flex;gap:6px;white-space:nowrap}
.recipe-row-actions button{width:26px;height:26px;border:1px solid #dce2ea;border-radius:7px;background:#fff;color:#4b2b83;font-size:13px;font-weight:800;cursor:pointer}
.recipe-row-actions button[data-delete-ingredient],.recipe-row-actions button[data-delete-perte],.recipe-row-actions button[data-delete-starter]{color:#b04444}
.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.recipe-card{border:1px solid #dce2ea;border-top:5px solid var(--recipe-color);border-radius:12px;background:#fff;box-shadow:0 5px 18px rgba(18,37,70,.05);padding:16px;display:flex;flex-direction:column;gap:10px;text-align:left;transition:.16s}
.recipe-card:hover{box-shadow:0 8px 22px rgba(18,37,70,.09)}
.recipe-card-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.recipe-card-head h3{margin:0;color:#172033;font:800 16px Manrope,sans-serif;letter-spacing:-.3px}
.recipe-size-tabs{display:flex;gap:4px;border:1px solid #e4e7ed;border-radius:8px;padding:2px;background:#f6f7f9}
.recipe-size-tabs button{border:0;border-radius:6px;background:transparent;color:#68738a;padding:5px 10px;font-size:11px;font-weight:800;cursor:pointer}
.recipe-size-tabs button.active{background:var(--recipe-color);color:#fff}
.recipe-card-body{display:flex;flex-direction:column;gap:10px;cursor:pointer}
.recipe-card-body:hover .recipe-card-nums strong{text-decoration:underline}
.recipe-card-body>span{color:#8790a0;font-size:11px;font-weight:700;white-space:nowrap}
.recipe-card-nums{display:flex;align-items:baseline;gap:6px}
.recipe-card-nums strong{color:#172033;font-size:19px;font-weight:800}
.recipe-card-nums small{color:#8790a0;font-size:11px;font-weight:700}
.recipe-margin-bar{height:6px;border-radius:99px;background:#eef0f4;overflow:hidden;display:flex}
.recipe-margin-bar .seg-cost{background:#c3cbdb}
.recipe-margin-bar .seg-margin.good{background:#20733b}
.recipe-margin-bar .seg-margin.warning{background:#c98a1e}
.recipe-margin-bar .seg-margin.critical{background:#b04444}
.recipe-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}
.margin-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:99px;font-size:11px;font-weight:800}
.margin-chip::before{content:"";width:6px;height:6px;border-radius:99px;background:currentColor}
.margin-chip.good{background:#e9f5ed;color:#20733b}
.margin-chip.warning{background:#faf0da;color:#96650a}
.margin-chip.critical{background:#f5e8e8;color:#b04444}
.margin-chip.pending{background:#f0f0f0;color:#8790a0}
.recipe-card-actions{display:flex;gap:5px}
.recipe-card-actions button{width:24px;height:24px;border:1px solid #dce2ea;border-radius:7px;background:#fff;color:#4b2b83;font-size:12px;cursor:pointer}
.recipe-card-actions button[data-delete-recipe],.recipe-card-actions button[data-delete-starter]{color:#b04444}
.recipe-editor-modal .quantity-dialog,.recipe-ingredient-modal .quantity-dialog{width:min(100%,480px);max-height:calc(100vh - 40px);overflow:auto}
.recipe-view-modal .quantity-dialog{width:min(100%,760px);max-height:calc(100vh - 40px);overflow:auto}
.recipe-view-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-right:34px}
.recipe-view-actions{display:flex;align-items:center;gap:8px}
.recipe-view-head .recipe-size-tabs:empty{display:none}
.recipe-view-edit{width:30px;height:30px;flex:0 0 auto;border:1px solid #dce2ea;border-radius:8px;background:#fff;color:#4b2b83;font-size:13px;cursor:pointer}
.recipe-view-edit[hidden]{display:none}
.recipe-delete-text-link{display:block;width:100%;margin-top:14px;border:0;background:none;padding:0;color:#b04444;font-size:12px;font-weight:700;text-align:center;text-decoration:underline;cursor:pointer}
.recipe-delete-text-link[hidden]{display:none}
.recipe-editor-modal input:not([type]),.recipe-editor-modal input[type="text"],.recipe-editor-modal input[type="number"],.recipe-editor-modal select,.recipe-ingredient-modal input,.recipe-ingredient-modal select{width:100%;height:43px;padding:0 11px;border:1px solid #d8dee8;border-radius:8px;background:#fff;color:#172033;font:inherit}
.recipe-lines{display:flex;flex-direction:column;gap:10px;margin:14px 0}
.recipe-line-row{display:flex;flex-direction:column;gap:6px;padding:9px;border:1px solid #eef0f4;border-radius:9px;background:#fafbfc}
.recipe-line-row input{height:38px!important;padding:0 9px!important}
.recipe-line-row-2{display:grid;grid-template-columns:1fr 72px 84px 28px;gap:6px;align-items:center}
.recipe-line-row-2 select{height:38px;padding:0 8px;border:1px solid #d8dee8;border-radius:8px;background:#fff;color:#172033;font:inherit;font-size:12px}
.recipe-line-computed{text-align:right;color:#20733b;font-size:12px;font-weight:800;padding:0 4px}
.recipe-line-remove{width:28px;height:28px;border:1px solid #dce2ea;border-radius:7px;background:#fff;color:#b04444;font-size:14px;cursor:pointer}
.add-line-button{align-self:flex-start;border:1px dashed #a99bc7;border-radius:8px;background:#fff;color:#4b2b83;padding:8px 13px;font-size:12.5px;font-weight:800;cursor:pointer;margin-bottom:14px}
.recipe-price-block{margin-top:16px;padding:14px 16px;border-radius:10px;background:#f6f3fb;display:flex;flex-direction:column;gap:9px}
.recipe-price-block>div{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#455168}
.recipe-price-block strong{color:#172033;font-weight:800}
.recipe-computed-note{margin:12px 2px 0;color:#8790a0;font-size:12px;line-height:1.5}
.access-form fieldset.pages-visible{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:1050px){.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}}
@media(max-width:700px){
  .recipe-tabs{overflow-x:auto;flex-wrap:nowrap}
  .recipe-tabs button{white-space:nowrap}
  .recipe-line-row-2{grid-template-columns:1fr 1fr;grid-template-areas:"source poids" "cout cout" "remove remove"}
  .recipe-line-row-2 input[data-line-poids]{grid-area:poids}
  .recipe-line-row-2 select{grid-area:source}
  .recipe-line-computed{grid-area:cout;text-align:left}
  .recipe-line-remove{grid-area:remove;width:100%}
  .access-form fieldset.pages-visible{grid-template-columns:repeat(3,minmax(0,1fr))}
  .recipe-panel-actions{gap:10px}
  .recipe-panel-actions .add{width:auto;min-height:38px;padding:0 13px;font-size:12px;white-space:nowrap}
}
@media(max-width:480px){.access-form fieldset.pages-visible{grid-template-columns:repeat(2,minmax(0,1fr))}}

.game-panel{display:flex;flex-direction:column;gap:22px;max-width:640px}
.game-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.game-stat{border:1px solid #dce2ea;border-radius:10px;padding:14px 16px;background:#fff;box-shadow:0 5px 18px rgba(18,37,70,.05)}
.game-stat span{display:block;color:#68738a;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.game-stat strong{display:block;margin-top:6px;color:#4b2b83;font:800 24px Manrope,sans-serif}
.game-quiz-area{border:1px solid #dce2ea;border-radius:12px;padding:24px;background:#fff;box-shadow:0 5px 18px rgba(18,37,70,.05);text-align:center}
.game-quiz-area .add{width:auto;min-width:200px}
.game-hint{margin:12px 0 0;color:#68738a;font-size:12px}
.game-progress{color:#68738a;font-size:12px;font-weight:800;text-align:left;margin-bottom:10px}
.game-progress strong{color:#4b2b83}
.game-question{margin:0 0 18px;color:#172033;font:800 19px Manrope,sans-serif;text-align:left;letter-spacing:-.3px}
.game-options{display:grid;gap:10px}
.game-option{border:1px solid #d8dee8;border-radius:9px;background:#fafbfc;color:#35415b;padding:13px 16px;font:700 14px "DM Sans",sans-serif;text-align:left;cursor:pointer;transition:.14s}
.game-option:hover:not(:disabled){border-color:#a99bc7;background:#f6f2fb}
.game-option:disabled{cursor:default}
.game-option.correct{border-color:#3f9a5c;background:#eaf7ee;color:#20733b}
.game-option.incorrect{border-color:#c95d5d;background:#fbeeee;color:#b04444}
.game-option.missed{border-color:#d99a2b;background:#fdf3e2;color:#8a5f10}
.game-checkbox-option{display:flex;align-items:center;gap:11px}
.game-checkbox-option input{width:17px;height:17px;flex:0 0 auto;accent-color:#4b2b83}
.game-next{width:auto;min-width:180px;margin-top:18px}
.game-result h3{margin:0 0 6px;color:#4b2b83;font:800 22px Manrope,sans-serif}
.game-result p{margin:0;color:#68738a;font-size:14px}
.game-result-points{margin-top:6px !important;color:#20733b !important;font:800 20px Manrope,sans-serif !important}
.game-leaderboard h3{margin:0 0 14px;color:#4b2b83;font:800 18px Manrope,sans-serif}
.game-leaderboard-list{overflow-x:auto;-webkit-overflow-scrolling:touch}.game-leaderboard-list .recipe-table{min-width:460px}.game-leaderboard-list .recipe-table td:first-child,.game-leaderboard-list .recipe-table th:first-child{width:36px}
tr.game-leaderboard-me{background:#f6f2fb}
tr.game-leaderboard-me td:nth-child(2){color:#4b2b83;font-weight:800}
@media(max-width:700px){.game-stats{grid-template-columns:1fr}}

/* Mobile stability: preserve native page scrolling on Android and iOS. */
@media (max-width:700px) {
  html { min-height:100%; overflow-x:clip; overscroll-behavior-y:auto; }
  body { min-width:0; min-height:100%; overflow-x:clip; -webkit-text-size-adjust:100%; touch-action:pan-y; }
  button, a, input, select, textarea { touch-action:manipulation; }
  .app-shell.dashboard-mode,
  .restaurant-dashboard.open {
    min-height:100dvh;
    height:auto !important;
    overflow:visible !important;
  }
  .dash-side,
  .dash-main {
    height:auto !important;
    min-height:0;
    overflow:visible !important;
  }
  .dash-side { position:sticky; top:0; }
  .dash-side.dash-side-hidden { transform:none; }
  .dash-main { min-width:0; padding-bottom:max(34px, env(safe-area-inset-bottom)); }
  .dash-main input:not([type="checkbox"]):not([type="radio"]),
  .dash-main select,
  .dash-main textarea,
  .quantity-dialog input:not([type="checkbox"]):not([type="radio"]),
  .quantity-dialog select,
  .quantity-dialog textarea { font-size:16px; }
  .schedule,
  .recipe-table-wrap,
  .game-leaderboard-list { overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; }
  .quantity-modal { overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
  .quantity-dialog { touch-action:pan-y; }
}

@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; }
}
.app-toast{position:fixed;left:50%;bottom:28px;z-index:999;transform:translate(-50%,12px);opacity:0;display:flex;align-items:center;gap:8px;padding:12px 18px;border-radius:10px;background:#1f8f5f;color:#fff;font:700 13px "DM Sans",sans-serif;box-shadow:0 10px 26px rgba(18,37,70,.18);transition:opacity .22s ease,transform .22s ease;pointer-events:none;max-width:calc(100vw - 32px);text-align:center}
.app-toast::before{content:'✓';display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:rgba(255,255,255,.22);font-size:11px;font-weight:800}
.app-toast.visible{opacity:1;transform:translate(-50%,0)}
