.sosyf-assistant-launch{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:85;display:flex;align-items:center;gap:10px;max-width:calc(100vw - 32px);padding:12px 18px 12px 12px;background:#075da7;color:white;border:1px solid #2879bc;border-radius:40px;box-shadow:0 8px 28px #123d6240;cursor:pointer;font:inherit;text-align:left}.sosyf-assistant-launch strong{display:block;font-size:14px}.sosyf-assistant-launch small{display:block;margin-top:4px;color:#e1efff;font-size:11px}.sosyf-spark{display:grid;place-items:center;border:1px solid #ffffff55;width:38px;height:38px;border-radius:50%;font-size:28px}.dock-over-inventory .sosyf-assistant-launch{bottom:calc(168px + env(safe-area-inset-bottom))}.sosyf-assistant-dialog{position:fixed;inset:auto 18px 18px auto;margin:0;width:min(740px,calc(100vw - 36px));height:min(850px,calc(100dvh - 36px));max-height:calc(100dvh - 36px);max-width:none;padding:0;border:1px solid #cbdced;border-radius:24px;background:#f7faff;box-shadow:0 18px 60px #112f4e35;overflow:hidden;color:#173554}.sosyf-assistant-dialog[open]{display:flex;flex-direction:column}.sosyf-assistant-dialog::backdrop{background:#12273e42}.sosyf-dock-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;background:#075da7;color:white;flex-shrink:0}.sosyf-dock-header strong{font-size:18px}.sosyf-dock-header small{display:block;color:#deedff;font-size:11px;margin-top:5px}.sosyf-dock-header button{color:white!important;border:1px solid #ffffff55!important}.sosyf-dock-body{overflow-y:auto;overscroll-behavior:contain;padding:18px;flex:1;min-height:0}.sosyf-dock-body .mg-welcome{padding:20px 0}.sosyf-dock-body .mg-compose{bottom:0}.sosyf-dock-body .mg-private-bar strong{font-size:12px}.sosyf-dock-body .mg-private-bar{gap:6px}.mg-invoice-tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:12px 0}.workspace .content{padding-bottom:120px}
.ci-workspace{color:#173554;max-width:920px;margin:auto;font-size:14px}.ci-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.ci-title h2{font-size:23px;letter-spacing:-.4px;margin:0}.ci-title p{margin:6px 0;color:#547a9e;font-size:12px}.ci-explanation{font-size:13px;line-height:1.7;margin:18px 0;color:#5d7288}.ci-photo-buttons{display:flex;gap:10px;flex-wrap:wrap}.ci-photo-buttons label{position:relative;overflow:hidden;cursor:pointer}.ci-photo-buttons input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.ci-photo-buttons label:focus-within{outline:3px solid #7ea8dd;outline-offset:2px}.ci-status{padding:12px;border-radius:10px;background:#e9f3ff;line-height:1.6;margin:14px 0;font-size:12px}.ci-client{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ci-workspace label{font-size:12px;font-weight:650;display:block}.ci-workspace input:not([type=checkbox]):not([type=file]),.ci-workspace select{width:100%;min-width:0;border:1px solid #b9cbe0;border-radius:9px;padding:11px;background:white;color:#173554;font:inherit;margin-top:6px;font-size:14px}.ci-line{background:white;border:1px solid #d3e1ee;border-radius:15px;padding:16px;margin:16px 0}.ci-line label{margin:10px 0}.ci-line-head{display:flex;justify-content:space-between;align-items:center}.ci-line-head strong{font-size:15px}.ci-values{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;align-items:center}.ci-values small{display:block;margin-bottom:8px;font-size:11px;color:#657b91}.ci-values strong{font-size:14px;overflow-wrap:anywhere}.ci-line a{display:inline-block;font-size:12px;color:#075da7;margin:8px 0}.ci-warning{background:#fff6df;color:#775322;padding:10px;font-size:12px;line-height:1.6;border-radius:8px}.ci-line details,.ci-photos details{font-size:12px;margin:12px 0;line-height:1.6;overflow-wrap:anywhere}.ci-review{display:flex!important;align-items:start;gap:9px;font-weight:500!important;font-size:12px;line-height:1.6}.ci-review input{width:18px;height:18px;flex-shrink:0;margin-top:1px}.ci-controls{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0}.ci-summary{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:16px;background:#075da7;color:white;border-radius:12px}.ci-summary span{font-size:12px}.ci-small,.ci-preview>p{font-size:11px;line-height:1.7;color:#637c94;margin:12px 0}.ci-confirm{width:100%}.ci-photos img{display:block;max-width:100%;max-height:500px;object-fit:contain;margin:10px auto}.ci-workspace button:disabled,.ci-workspace input:disabled{opacity:.5}.ci-preview{margin-top:22px;background:#fff;border:1px solid #bdccdc;padding:16px;border-radius:12px;overflow-x:auto}.ci-document{color:#21384d;background:white;font:12px Arial,sans-serif;padding:10px}.ci-document header{display:flex;align-items:center;gap:18px}.ci-document header img{width:100px;height:100px;object-fit:contain}.ci-document h1{color:#175b95;font-size:23px;margin:0 0 8px}.ci-document p{margin:7px 0;line-height:1.6}.ci-contacts{padding:16px 0;border-bottom:2px solid #175b95;margin-bottom:16px;line-height:1.7}.ci-document table{width:100%;border-collapse:collapse;table-layout:fixed;margin-top:18px}.ci-document th{background:#175b95;color:white}.ci-document th,.ci-document td{padding:10px 6px;text-align:left;overflow-wrap:anywhere;vertical-align:top}.ci-document th:nth-child(1){width:6%}.ci-document th:nth-child(2){width:43%}.ci-document th:nth-child(3){width:9%}.ci-document th:nth-child(4),.ci-document th:nth-child(5){width:21%}.ci-document tr:nth-child(even){background:#edf4f9}.ci-document td:nth-child(n+3),.ci-document th:nth-child(n+3){text-align:right}.ci-document small{display:block;font-size:10px;color:#5c758c;margin-top:5px}.ci-document-total{display:flex;justify-content:space-between;gap:15px;padding:18px;background:#175b95;color:white;margin:20px 0;font-size:16px}.ci-demo{color:#a0441e;border:1px solid #e7b99f;padding:10px}.ci-document footer{font-size:10px;line-height:1.6}#catalogue-print{display:none}
@media(max-width:600px){.sosyf-assistant-launch{right:12px;padding:10px 14px 10px 10px}.sosyf-assistant-dialog{inset:0;width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0}.sosyf-dock-header{padding:14px 16px;padding-top:calc(14px + env(safe-area-inset-top))}.sosyf-dock-body{padding:14px;padding-bottom:calc(14px + env(safe-area-inset-bottom))}.ci-title h2{font-size:20px}.ci-client{grid-template-columns:1fr}.ci-line{padding:13px}.ci-values{gap:8px}.ci-document{min-width:560px}.ci-values strong{font-size:12px}}
@media print{#assistant-dock{display:none!important}body.catalogue-printing #app,body.catalogue-printing #modal-root,body.catalogue-printing #assistant-dock,body.catalogue-printing #toast{display:none!important}body.catalogue-printing #catalogue-print{display:block!important}.ci-document{min-width:0;max-width:none;padding:0}.ci-document thead{display:table-header-group}.ci-document tr,.ci-document-total{break-inside:avoid}.ci-document th,.ci-document-total,.ci-document tr{print-color-adjust:exact;-webkit-print-color-adjust:exact}@page{size:A4;margin:15mm}}
/* In inventory, reserve a row above the composer for the assistant shortcut. */
.dock-over-inventory .sosyf-assistant-launch{bottom:calc(88px + max(14px,env(safe-area-inset-bottom)) + var(--inv-composer-extra,0px));right:max(24px,calc((100vw - 1040px)/2 + 24px));height:40px;padding:6px 10px;gap:6px}
.dock-over-inventory .sosyf-assistant-launch small{display:none}
.dock-over-inventory .sosyf-assistant-launch strong{font-size:12px}
.dock-over-inventory .sosyf-spark{width:26px;height:26px;font-size:21px}
@media(max-width:600px){.dock-over-inventory .sosyf-assistant-launch{right:12px;padding:6px;gap:5px}.dock-over-inventory .sosyf-assistant-launch strong{font-size:11px}.dock-over-inventory .sosyf-spark{width:24px;height:24px;font-size:20px}}
.sosyf-dock-body{display:flex;flex-direction:column;padding:20px;background:#f7faff}
.sosyf-dock-body>.mg-workspace{min-height:100%;max-width:100%}
.sosyf-dock-header small{display:none}
.sosyf-dock-body .mg-welcome{padding:26px 0 34px}
@media(max-width:600px){.sosyf-dock-body{padding:16px;padding-bottom:calc(12px + env(safe-area-inset-bottom))}.sosyf-dock-header strong{font-size:17px}}

body:has(.sosyf-assistant-dialog[open]){overflow:hidden}
@media(max-width:600px){.sosyf-assistant-dialog[open]{height:100dvh;max-height:100dvh;width:100vw}}

/* The same two-choice attachment sheet in the inventory and assistant. */
dialog.sosyf-photo-sheet{box-sizing:border-box;position:fixed;inset:auto 0 24px;width:min(420px,calc(100vw - 32px));max-width:none;max-height:70dvh;margin:0 auto;padding:12px 18px 18px;border:1px solid #e4e7eb;border-radius:26px;background:#fff;color:#1f2933;box-shadow:0 20px 70px #10203c30;font-family:Inter,system-ui,-apple-system,sans-serif}
dialog.sosyf-photo-sheet[open]{display:block;overflow-y:auto}
dialog.sosyf-photo-sheet::backdrop{background:#10182065}
.sosyf-photo-handle{width:36px;height:4px;background:#d9dde2;border-radius:6px;margin:0 auto 10px}
.sosyf-photo-sheet header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 0 8px;border:0;background:transparent}
.sosyf-photo-sheet h2{font-size:17px;font-weight:650;line-height:1.4;margin:0;color:#202b36;letter-spacing:-.2px}
.sosyf-photo-sheet header button{border:0;background:transparent;color:#596570;width:44px;height:44px;display:grid;place-items:center;padding:10px;border-radius:50%;cursor:pointer}
.sosyf-photo-sheet svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.sosyf-photo-choices{display:flex;flex-direction:column;gap:4px}
.sosyf-photo-sheet .sosyf-photo-choices label{position:relative;display:flex;align-items:center;gap:16px;padding:10px 8px;min-height:68px;border:0;border-radius:16px;background:#fff;color:#202b36;font-size:16px;line-height:1.4;font-weight:550;cursor:pointer;overflow:hidden}
.sosyf-photo-icon{display:grid;place-items:center;width:46px;height:46px;flex:0 0 46px;border-radius:15px;background:#f1f3f5;color:#293845}
.sosyf-photo-sheet .sosyf-photo-choices label:hover{background:#f5f7f9}
.sosyf-photo-sheet .sosyf-photo-choices input[type=file]{position:absolute;inset:0;width:100%;height:100%;padding:0;margin:0;opacity:0;cursor:pointer}
.sosyf-photo-sheet .sosyf-photo-choices label:focus-within,.sosyf-photo-sheet button:focus-visible{outline:2px solid #0868ef;outline-offset:-2px}
body:has(.sosyf-photo-sheet[open]){overflow:hidden}
@media(max-width:600px){dialog.sosyf-photo-sheet{bottom:0;width:100vw;max-height:70dvh;border:0;border-radius:26px 26px 0 0;padding:12px 20px max(20px,env(safe-area-inset-bottom))}}

.ci-document.sosyf-report table{table-layout:auto}.ci-document.sosyf-report th,.ci-document.sosyf-report td{width:auto;text-align:left;font-size:10px}.ci-document.sosyf-report table{margin-bottom:22px}

/* Fit the actual visible viewport, including the mobile keyboard. */
.sosyf-dock-body{overflow:hidden;min-height:0}
.sosyf-dock-body>.mg-workspace{height:100%;min-height:0;flex:1;margin:0}
.sosyf-dock-body .mg-welcome{padding:16px 0}
@media(max-width:600px){.sosyf-assistant-dialog[open]{top:var(--sosyf-viewport-top,0px);bottom:auto;height:var(--sosyf-viewport-height,100dvh);max-height:var(--sosyf-viewport-height,100dvh)}.sosyf-dock-body{padding:12px;min-height:0}.sosyf-dock-header{padding:12px 16px}.sosyf-dock-header button{padding:10px 12px}}
@media(max-height:600px){.sosyf-dock-body .mg-welcome{padding:6px 0}.sosyf-dock-header{padding-top:10px;padding-bottom:10px}.sosyf-dock-body{padding-top:8px;padding-bottom:8px}}
.dock-over-inventory .sosyf-assistant-launch{bottom:calc(88px + max(14px,env(safe-area-inset-bottom)) + var(--inv-composer-extra,0px) + var(--sosyf-keyboard-inset,0px))}
