:root{--bos-bg:#f4f7fb;--bos-bg-accent:#e8eef6;--bos-panel:#ffffff;--bos-panel-soft:#f8fafc;--bos-border:#d7e0ea;--bos-border-strong:#c2cedb;--bos-text:#0f2340;--bos-muted:#5b6f86;--bos-accent:#f59e0b;--bos-accent-soft:#fff7e8;--bos-accent-2:#2e6da4;--bos-accent-2-soft:#e8f2fb;--bos-danger:#b42318;--bos-danger-soft:#fef2f2;--bos-ok:#067647;--bos-ok-soft:#e1f5ee;--bos-shadow:0 1px 2px rgba(15,35,64,0.04),0 8px 24px rgba(15,35,64,0.06);--bos-font:"Segoe UI",system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;background:radial-gradient(900px 420px at 8% -8%,#dbeafe 0,transparent 55%),radial-gradient(800px 380px at 100% 0,#fef3c7 0,transparent 45%),var(--bos-bg);color:var(--bos-text);font-family:var(--bos-font)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.bos-shell{display:grid;grid-template-columns:232px 1fr;min-height:100dvh;transition:grid-template-columns .2s ease}.bos-shell--nav-collapsed{grid-template-columns:0 1fr}.bos-nav{border-right:1px solid var(--bos-border);background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:1.25rem 1rem;display:flex;flex-direction:column;gap:.35rem;overflow:hidden;min-width:0}.bos-shell--nav-collapsed .bos-nav{padding:0;border-right:0;pointer-events:none;opacity:0}.bos-brand{font-size:1.05rem;font-weight:700;letter-spacing:.02em;margin:0 0 1.25rem;color:var(--bos-text)}.bos-brand span{color:var(--bos-accent-2)}.bos-nav a{display:block;padding:.55rem .7rem;border-radius:8px;color:var(--bos-muted)}.bos-nav a:hover{background:var(--bos-bg-accent);color:var(--bos-text)}.bos-nav a.active{background:var(--bos-accent-2-soft);color:var(--bos-accent-2);font-weight:600}.bos-main{padding:1.5rem 1.75rem 2.5rem}.bos-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem 1rem;margin-bottom:1rem;flex-wrap:wrap}.bos-header-title{display:flex;align-items:flex-start;gap:.75rem;min-width:0;flex:0 0 auto}.bos-header-aside{flex:1 1 auto;min-width:0;display:flex;justify-content:flex-start;align-items:center}.bos-nav-toggle{flex-shrink:0;margin-top:.15rem;border:1px solid var(--bos-border);background:#fff;color:var(--bos-muted);border-radius:8px;padding:.4rem .65rem;font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap}.bos-nav-toggle:hover{background:var(--bos-bg-accent);color:var(--bos-text)}.bos-nav-toggle[aria-pressed=true]{background:var(--bos-accent-2-soft);color:var(--bos-accent-2);border-color:transparent}.bos-header h1{margin:0;font-size:1.45rem;color:var(--bos-text)}.bos-header p{margin:.25rem 0 0;color:var(--bos-muted);font-size:.92rem}.bos-header>a{flex:0 0 auto;white-space:nowrap;color:var(--bos-accent-2);font-size:.9rem}.bos-header>a:hover{text-decoration:underline}.bos-grid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.ov-dash{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.75rem;gap:.75rem;align-items:stretch}.ov-tile{grid-column:span 1;display:flex;flex-direction:column;gap:.35rem;padding:.85rem .95rem;border:1px solid var(--bos-border);border-radius:14px;background:var(--bos-panel);box-shadow:var(--bos-shadow);min-height:0;min-width:0;height:100%;transition:border-color .15s,transform .15s}.ov-tile:hover{border-color:rgba(46,109,164,.45);transform:translateY(-1px)}.ov-tile--wide{grid-column:span 2}.ov-tile--full{grid-column:1/-1}.ov-tile--reviews{background:linear-gradient(160deg,#fff,#f0f7ff)}.ov-tile--stock{background:linear-gradient(160deg,#fff,#f7fbf4)}.ov-tile--ads{background:linear-gradient(160deg,#fff,#f3eefc)}.ov-tile--seo{background:linear-gradient(160deg,#fff,#fff8eb)}.ov-tile__head{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.ov-tile__head h3{margin:0;font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--bos-muted)}.ov-tile__link{font-size:.78rem;color:var(--bos-accent-2);font-weight:600}.ov-big{font-size:clamp(1.45rem,2vw,1.85rem);font-weight:750;line-height:1.1;color:var(--bos-text);letter-spacing:-.02em}.ov-tile__hint{margin:0;font-size:.8rem;color:var(--bos-muted);line-height:1.35}.ov-fill{flex:1 1;display:flex;flex-direction:column;justify-content:center;min-height:0}.ov-reviews{display:flex;align-items:center;justify-content:space-evenly;gap:1rem;flex:1 1}.ov-reviews__divider{width:1px;background:var(--bos-border)}.ov-reviews__label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--bos-muted)}.ov-reviews__score{font-size:1.7rem;font-weight:750;line-height:1.1;color:var(--bos-text)}.ov-reviews__score span{margin-left:.2rem;color:#f59e0b;font-size:1.35rem}.ov-reviews__count{font-size:.95rem;font-weight:600;color:var(--bos-accent-2)}.ov-mini-list{list-style:none;margin:.2rem 0 0;padding:0;display:flex;flex-direction:column;gap:.22rem;flex:1 1}.ov-mini-list li{display:flex;justify-content:space-between;gap:.75rem;font-size:.82rem;color:var(--bos-muted)}.ov-mini-list strong{color:var(--bos-text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ov-mini-list--compact{margin-top:.4rem;padding-top:0}.ov-stat-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.18rem .85rem;gap:.18rem .85rem;flex:1 1;align-content:start;list-style:none;margin:.2rem 0 0;padding:0}.ov-stat-grid li{display:flex;justify-content:space-between;gap:.5rem;font-size:.8rem;color:var(--bos-muted)}.ov-stat-grid strong{color:var(--bos-text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ov-split{display:grid;grid-template-columns:1fr 1fr;grid-gap:.65rem 1rem;gap:.65rem 1rem;flex:1 1}.ov-split h4{margin:0 0 .2rem;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--bos-muted)}.ov-places{display:grid;grid-template-columns:1fr;grid-gap:.15rem 1rem;gap:.15rem 1rem;list-style:none;padding:0;margin:.2rem 0 0;flex:1 1;align-content:start}.ov-places li{display:flex;justify-content:space-between;gap:.5rem;font-size:.8rem;color:var(--bos-muted)}.ov-places strong{color:var(--bos-text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ov-pills{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.4rem}.ov-pills span{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;padding:.18rem .5rem;border-radius:999px;background:var(--bos-bg-accent);color:var(--bos-muted)}.ov-pills strong{color:var(--bos-text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ov-warn{color:#b45309!important}.ov-seo-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:.5rem 1rem;gap:.5rem 1rem;flex:1 1;align-content:start}.ov-seo-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--bos-muted);font-weight:700}.ov-seo-value{font-size:1.35rem;font-weight:750;color:var(--bos-text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ov-seo-value--sm{font-size:.92rem;font-weight:600}@media (max-width:1100px){.ov-dash{grid-template-columns:repeat(2,minmax(0,1fr))}.ov-tile{grid-column:span 1}.ov-tile--full,.ov-tile--wide{grid-column:span 2}.ov-seo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:700px){.ov-dash{grid-template-columns:1fr}.ov-tile,.ov-tile--full,.ov-tile--wide{grid-column:span 1}.ov-places,.ov-seo-grid,.ov-split,.ov-stat-grid{grid-template-columns:1fr}.ov-reviews{gap:.85rem}}.bos-card{background:var(--bos-panel);border:1px solid var(--bos-border);border-radius:12px;padding:1rem 1.1rem;box-shadow:var(--bos-shadow)}.bos-card h3{margin:0 0 .35rem;font-size:.95rem;color:var(--bos-muted);font-weight:600}.bos-card .value{font-size:1.6rem;font-weight:700;color:var(--bos-text)}.seo-insights{margin-bottom:1.25rem}.seo-insights__lead{margin:0 0 .85rem;color:var(--bos-muted);font-size:.92rem;line-height:1.45}.seo-insights__list{list-style:none;margin:0;padding:0;display:grid;grid-gap:.65rem;gap:.65rem}.seo-insight{display:grid;grid-gap:.2rem;gap:.2rem;padding:.75rem .85rem;border-radius:10px;border:1px solid var(--bos-border);background:var(--bos-bg,transparent)}.seo-insight strong{font-size:.95rem}.seo-insight span{font-size:.9rem;line-height:1.45;color:var(--bos-muted)}.seo-insight--do{border-color:#c4a35a}.seo-insight--ok{border-color:#7a9e7e}.bos-table{width:100%;border-collapse:collapse;background:var(--bos-panel);border:1px solid var(--bos-border);border-radius:12px;overflow:hidden;box-shadow:var(--bos-shadow)}.bos-table td,.bos-table th{text-align:left;padding:.7rem .85rem;border-bottom:1px solid var(--bos-border);font-size:.9rem}.bos-table th{color:var(--bos-muted);font-weight:600;background:var(--bos-panel-soft)}.bos-table tr:last-child td{border-bottom:0}.bos-badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.75rem;background:var(--bos-bg-accent);color:var(--bos-text)}.bos-badge.new{background:var(--bos-accent-2-soft);color:var(--bos-accent-2)}.bos-badge.qualified{background:var(--bos-accent-soft);color:#9a6700}.bos-badge.scheduled{background:var(--bos-ok-soft);color:var(--bos-ok)}.kanban{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:.75rem;gap:.75rem}.kanban--sheet-sync{grid-template-columns:repeat(9,minmax(168px,1fr));overflow-x:auto;padding-bottom:.35rem}.kanban-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.45rem;margin-bottom:.2rem}.kanban-card-top strong{margin-bottom:0}.crm-card-actions{display:inline-flex;align-items:center;gap:.25rem;flex-shrink:0}.kanban-card .crm-card-delete,.kanban-card .crm-card-toggle{flex-shrink:0;width:1.55rem;height:1.55rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid #cbd5e1!important;border-radius:6px!important;background:#f8fafc!important;color:#334155!important;font-size:1.05rem;font-weight:700;line-height:1;cursor:pointer;padding:0!important;filter:none!important}.kanban-card .crm-card-toggle:hover{color:#0f172a!important;background:#e2e8f0!important;border-color:#94a3b8!important}.kanban-card .crm-card-delete:hover{color:#dc2626!important;background:#fef2f2!important;border-color:#fca5a5!important}.kanban-card--collapsed{padding:.4rem .55rem}.kanban-card--collapsed .kanban-card-top{margin-bottom:0;align-items:center}.crm-sync-bar{display:flex;flex-wrap:wrap;align-items:baseline;gap:.75rem;margin:0 0 .85rem}.crm-sync-bar p{margin:0;color:var(--bos-muted);font-size:.88rem}.crm-sync-error{color:#b91c1c;font-size:.85rem;font-weight:600}.crm-live-notice{color:#067647;font-size:.85rem;font-weight:700}.crm-modal__panel--narrow{width:min(440px,100%)}.kanban-empty{margin:0;font-size:.8rem;color:#94a3b8}.kanban-card-meta{margin:.35rem 0 .45rem}.kanban-card-meta,.kanban-card-note{font-size:.78rem;color:var(--bos-muted)}.kanban-card-note{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:.3rem;font-style:italic}.kanban-move{display:block;margin-top:8px}.kanban-move select{width:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.kanban-col{background:var(--bos-panel-soft);border:1px solid var(--bos-border);border-radius:12px;padding:.75rem;min-height:220px}.kanban-col h3{margin:0;font-size:.85rem;color:var(--bos-muted);text-transform:uppercase;letter-spacing:.04em}.kanban-col-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.75rem}.kanban-col-head h3{margin:0}.crm-add-btn{width:28px;height:28px;border:1px solid var(--bos-border);border-radius:8px;background:#fff;color:var(--bos-accent-2);font-size:1.2rem;font-weight:700;line-height:1;cursor:pointer}.crm-add-btn:hover{background:var(--bos-accent-2-soft);border-color:transparent}.crm-modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:1rem}.crm-modal__backdrop{position:absolute;inset:0;border:0;background:rgba(15,35,64,.45);cursor:pointer}.crm-modal__panel{position:relative;z-index:1;width:min(720px,100%);max-height:min(90dvh,900px);overflow:auto;background:#fff;border-radius:16px;border:1px solid var(--bos-border);box-shadow:0 20px 50px rgba(15,35,64,.2);padding:1.1rem 1.2rem 1.25rem}.crm-modal__head{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.crm-modal__head h3{margin:0;font-size:1.15rem}.crm-modal__close{width:32px;height:32px;border:0;border-radius:8px;background:#f1f5f9;font-size:1.25rem;cursor:pointer;color:var(--bos-muted)}.crm-modal__hint{margin:.45rem 0 .9rem;color:var(--bos-muted);font-size:.86rem}.crm-add-form{display:grid;grid-template-columns:1fr 1fr;grid-gap:.7rem .85rem;gap:.7rem .85rem}.crm-add-form label{display:flex;flex-direction:column;gap:.28rem;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--bos-muted)}.crm-add-form input,.crm-add-form select,.crm-add-form textarea{border:1px solid var(--bos-border);border-radius:8px;padding:.5rem .6rem;font-size:.92rem;font-weight:500;text-transform:none;letter-spacing:0;color:var(--bos-text);background:#fff;font-family:inherit}.crm-add-form textarea{resize:vertical;min-height:4.5rem}.crm-span-2{grid-column:span 2}.crm-form-error{margin:0;color:#b91c1c;font-size:.88rem;font-weight:600;text-transform:none;letter-spacing:0}.crm-form-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:.35rem}.crm-btn-primary,.crm-btn-secondary{border-radius:8px;padding:.55rem .95rem;font-weight:700;cursor:pointer}.crm-btn-primary{border:1px solid var(--bos-accent-2);background:var(--bos-accent-2);color:#fff}.crm-btn-secondary{border:1px solid var(--bos-border);background:#fff;color:var(--bos-muted)}@media (max-width:640px){.crm-add-form{grid-template-columns:1fr}.crm-span-2{grid-column:span 1}}.kanban-card{background:var(--bos-panel);border:1px solid var(--bos-border);border-radius:10px;padding:.65rem .75rem;margin-bottom:.5rem;box-shadow:0 1px 2px rgba(15,35,64,.04);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.kanban-card:hover{border-color:var(--bos-accent-2)}.kanban-card strong{display:block;margin-bottom:.2rem;color:var(--bos-text)}.kanban-card span{color:var(--bos-muted);font-size:.8rem}.bos-card button,.bos-card input,.bos-card select,.bos-table button,.bos-table select,.kanban-card button,.kanban-card select{border:1px solid var(--bos-border);border-radius:8px;background:var(--bos-panel);color:var(--bos-text);padding:.4rem .55rem}.bos-card button[type=submit],.bos-table button,.kanban-card button{background:var(--bos-accent-2);border-color:var(--bos-accent-2);color:#fff;cursor:pointer;font-weight:600}.bos-card button[type=submit]:hover,.bos-table button:hover,.kanban-card button:hover{filter:brightness(1.05)}.login-page{min-height:100dvh;display:grid;place-items:center;padding:1.5rem}.login-card{width:min(420px,100%);background:var(--bos-panel);border:1px solid var(--bos-border);border-radius:16px;padding:1.75rem;box-shadow:var(--bos-shadow)}.login-card h1{margin:0 0 .35rem;font-size:1.5rem;color:var(--bos-text)}.login-card p{margin:0 0 1.25rem;color:var(--bos-muted)}.login-card label{display:block;font-size:.85rem;color:var(--bos-muted);margin-bottom:.35rem}.login-card input{width:100%;margin-bottom:.9rem;padding:.7rem .8rem;border-radius:8px;border:1px solid var(--bos-border);background:#fff;color:var(--bos-text)}.login-card input:focus{outline:2px solid rgba(46,109,164,.25);border-color:var(--bos-accent-2)}.login-card .login-stay{display:flex;align-items:center;gap:.55rem;margin:0 0 1rem;font-size:.92rem;color:var(--bos-text);cursor:pointer}.login-card .login-stay input{width:auto;margin:0;accent-color:var(--bos-accent-2)}.login-card button{width:100%;padding:.75rem;border:0;border-radius:8px;background:linear-gradient(135deg,#8ecbf5,#5ba3d9 55%,#f59e0b);color:var(--bos-text);font-weight:700;cursor:pointer}.login-card .error{color:var(--bos-danger);background:var(--bos-danger-soft);border:1px solid #fecaca;border-radius:8px;padding:.55rem .7rem;margin-bottom:.75rem;font-size:.9rem}.bos-user{margin-top:auto;padding-top:1rem;border-top:1px solid var(--bos-border);font-size:.8rem;color:var(--bos-muted)}.bos-user form{margin-top:.5rem}.bos-user button{background:var(--bos-panel);border:1px solid var(--bos-border);color:var(--bos-text);border-radius:6px;padding:.35rem .6rem;cursor:pointer}.bos-user button:hover{background:var(--bos-bg-accent)}.bos-main h2{margin:1.5rem 0 .75rem;font-size:1.1rem;color:var(--bos-text)}.emp-toolbar{margin-bottom:1rem}.emp-sections{display:grid;grid-gap:1rem;gap:1rem}.emp-section{padding:1.1rem 1.2rem 1.25rem}.emp-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.85rem}.emp-section-head h2{margin:0;font-size:1.05rem}.emp-section-head p{margin:.25rem 0 0;color:var(--bos-muted);font-size:.88rem}.emp-section-actions{display:flex;align-items:center;gap:.55rem;flex-shrink:0}.emp-empty{margin:0;color:var(--bos-muted);font-size:.9rem}.emp-table{box-shadow:none}.emp-add-btn{border:1px dashed var(--bos-border-strong);background:var(--bos-accent-2-soft);color:var(--bos-accent-2);border-radius:999px;padding:.4rem .85rem;font-weight:700;cursor:pointer;white-space:nowrap}.emp-add-btn:hover{background:#d9ebf8}.emp-create-form,.emp-created{display:grid;grid-gap:.65rem;gap:.65rem;max-width:420px;margin-bottom:.75rem}.emp-create-form label{display:grid;grid-gap:.3rem;gap:.3rem;font-size:.85rem;color:var(--bos-muted)}.emp-create-form input,.emp-create-form select{border:1px solid var(--bos-border);border-radius:8px;padding:.55rem .65rem;background:#fff;color:var(--bos-text)}.emp-create-form button[type=submit]{margin-top:.25rem}.emp-create-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.emp-create-head h3,.emp-created h3{margin:0;color:var(--bos-text)}.emp-cancel{border:0;background:transparent;cursor:pointer}.emp-cancel,.emp-hint{color:var(--bos-muted)}.emp-hint{font-size:.85rem;margin:0}.emp-role-form{display:inline-flex;gap:.4rem;align-items:center}.emp-telegram-hint{margin:0 0 1rem;padding:.75rem 1rem;font-size:.88rem;line-height:1.45;color:var(--bos-muted)}.emp-telegram-hint code{font-size:.82rem;background:var(--bos-accent-soft);padding:.05rem .3rem;border-radius:4px}.emp-telegram-form input{width:9.5rem;font:inherit;font-size:.82rem;padding:.25rem .4rem;border:1px solid var(--bos-border);border-radius:6px}.emp-telegram-ok{color:#1f6b3a}.emp-telegram-miss{color:#9a6700}.emp-rank{margin-top:.15rem;font-size:.72rem;font-weight:700;color:var(--bos-accent-2)}.emp-created code{background:var(--bos-accent-soft);padding:.1rem .35rem;border-radius:4px}.sheet-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.sheet-toolbar p{margin:.3rem 0 0;color:var(--bos-muted);font-size:.88rem}.sheet-summary{display:flex;flex-direction:column;gap:.55rem;margin-bottom:.75rem}.sheet-period-bar--header{margin:0}.sheet-top-row{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem .75rem;margin-bottom:.65rem}.sheet-top-actions{display:flex;align-items:center;gap:.65rem;flex:0 0 auto}.sheet-top-row .sheet-totals{margin:0;flex:1 1 auto}.sheet-top-row .sheet-sort{margin-left:auto;flex:0 0 auto}.sheet-top-actions .sheet-total-card{margin-left:.25rem}.sheet-period-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.sheet-period-btn{border:1px solid var(--bos-border);background:#fff;color:var(--bos-text);border-radius:8px;padding:.32rem .65rem;font-size:.85rem;font-weight:650;cursor:pointer;line-height:1.2}.sheet-period-btn:hover{background:#f6f8fb}.sheet-period-btn.is-active{background:var(--bos-accent-soft,#e8f1fa);border-color:rgba(46,109,164,.45);color:var(--bos-accent,#2e6da4)}.sheet-period-custom{display:inline-flex;align-items:center;gap:.35rem;margin-left:.15rem}.sheet-period-custom input[type=date]{border:1px solid var(--bos-border);border-radius:8px;padding:.28rem .45rem;background:#fff;color:var(--bos-text);font-size:.85rem;font-weight:600}.sheet-period-custom span{color:var(--bos-muted);font-weight:650}.sheet-totals{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:stretch;gap:.45rem;width:-moz-fit-content;width:fit-content;max-width:100%;margin:0;padding:0;background:transparent;border:0;box-shadow:none}.sheet-total-card{display:flex;flex-direction:column;gap:.1rem;flex:0 0 auto;width:auto;min-width:0;background:var(--bos-panel);border:1px solid var(--bos-border);border-radius:10px;padding:.4rem .7rem;box-shadow:var(--bos-shadow)}.sheet-total-period{background:#f8fafc}.sheet-total-period-value{font-size:.95rem!important;font-weight:700}.sheet-total-label{font-size:.78rem;font-weight:650;color:var(--bos-muted);letter-spacing:.01em;white-space:nowrap;max-width:16rem;overflow:hidden;text-overflow:ellipsis}.sheet-total-value{font-size:1.15rem;font-weight:750;color:var(--bos-text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.2;white-space:nowrap}.sheet-total-sub{font-size:.75rem;color:var(--bos-muted);line-height:1.35;max-width:14rem}@media (max-width:720px){.sheet-totals{width:100%}}.sheet-parts-trigger{display:block;width:100%;height:100%;border:0;background:transparent;text-align:left;padding:.35rem .45rem;font:inherit;color:inherit;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-parts-trigger:disabled{cursor:default;color:var(--bos-muted)}.sheet-parts-overlay{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:1rem}.sheet-parts-backdrop{position:absolute;inset:0;border:0;background:rgba(20,28,40,.45);cursor:pointer}.sheet-parts-modal{position:relative;z-index:1;width:min(560px,100%);max-height:min(82vh,720px);display:flex;flex-direction:column;background:#fff;border:1px solid var(--bos-border);border-radius:14px;box-shadow:0 18px 50px rgba(20,28,40,.22);overflow:hidden}.sheet-parts-head{display:flex;justify-content:space-between;gap:.75rem;padding:.9rem 1rem .55rem;border-bottom:1px solid var(--bos-border)}.sheet-parts-head strong{display:block;font-size:1.05rem}.sheet-parts-head p{margin:.2rem 0 0;color:var(--bos-muted);font-size:.85rem}.sheet-parts-close{border:0;background:transparent;font-size:1.1rem;cursor:pointer;color:var(--bos-muted);padding:.15rem .35rem}.sheet-parts-selected{padding:.55rem 1rem;border-bottom:1px solid var(--bos-border);font-size:.88rem;font-weight:650;min-height:2.2rem}.sheet-parts-muted{color:var(--bos-muted);font-weight:550}.sheet-parts-body{overflow:auto;padding:.45rem .55rem .75rem;flex:1 1}.sheet-parts-cat{border:1px solid var(--bos-border);border-radius:10px;margin-bottom:.4rem;overflow:hidden;background:#fff}.sheet-parts-cat-btn{width:100%;display:flex;justify-content:space-between;align-items:center;gap:.75rem;border:0;background:#f7f9fc;padding:.55rem .7rem;font:inherit;font-weight:700;cursor:pointer;text-align:left}.sheet-parts-cat-btn.is-open{background:var(--bos-accent-soft,#e8f1fa)}.sheet-parts-cat-meta{display:inline-flex;align-items:center;gap:.35rem;color:var(--bos-muted);font-size:.8rem;font-weight:650;white-space:nowrap}.sheet-parts-list{list-style:none;margin:0;padding:.2rem 0}.sheet-parts-list li{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.45rem .7rem;border-top:1px solid #eef2f6}.sheet-parts-list li.is-picked{background:#f4faf6}.sheet-parts-name{display:flex;flex-direction:column;gap:.1rem;min-width:0}.sheet-parts-name strong{font-size:.9rem;font-weight:700}.sheet-parts-name span{font-size:.78rem;color:var(--bos-muted)}.sheet-parts-qty{display:inline-flex;align-items:center;gap:.25rem;flex:0 0 auto}.sheet-parts-qty button{width:1.7rem;height:1.7rem;border:1px solid var(--bos-border);border-radius:7px;background:#fff;font-size:1rem;font-weight:700;cursor:pointer;line-height:1}.sheet-parts-qty button:disabled{opacity:.4;cursor:default}.sheet-parts-qty input{width:2.4rem;height:1.7rem;border:1px solid var(--bos-border);border-radius:7px;text-align:center;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sheet-parts-foot{display:flex;justify-content:space-between;gap:.75rem;padding:.7rem 1rem;border-top:1px solid var(--bos-border);background:#fafbfc}.sheet-parts-foot button{border:1px solid var(--bos-border);border-radius:8px;background:#fff;padding:.4rem .75rem;font-weight:650;cursor:pointer}.sheet-parts-foot-actions{display:flex;gap:.4rem}.sheet-parts-apply{background:var(--bos-accent,#2e6da4)!important;border-color:var(--bos-accent,#2e6da4)!important;color:#fff!important}.sheet-parts-clear{color:var(--bos-muted)}.sheet-wrap{overflow:auto;border:1px solid var(--bos-border);border-radius:12px;background:#fff;box-shadow:var(--bos-shadow)}.sheet-grid{border-collapse:separate;border-spacing:0;table-layout:fixed;min-width:100%;font-size:.85rem}.sheet-grid td,.sheet-grid th{border-right:1px solid var(--bos-border);border-bottom:1px solid var(--bos-border);padding:0;vertical-align:middle;position:relative;overflow:hidden}.sheet-corner,.sheet-row-num{position:-webkit-sticky;position:sticky;left:0;z-index:2;background:#f1f5f9;color:var(--bos-muted);text-align:center;min-width:42px;width:42px;font-weight:600;padding:0}.sheet-row-del,.sheet-row-sel{display:flex;align-items:center;justify-content:center;width:100%;min-height:34px;margin:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:600;cursor:pointer}.sheet-row-sel:hover{background:#e2e8f0;color:var(--bos-text)}.sheet-row-del.is-armed{background:#fef2f2;color:#dc2626;font-size:1.35rem;line-height:1}.sheet-row-del.is-armed:hover{background:#fee2e2}.sheet-row-num:has(.sheet-row-del.is-armed){background:#fef2f2}.sheet-del-btn,.sheet-del-cell,.sheet-del-head{display:none}.sheet-grid thead th{background:#eef2f7;color:var(--bos-muted);font-weight:600;text-align:left;padding:.45rem .75rem .45rem .55rem;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.sheet-col-letter{display:block;font-size:.72rem;color:#94a3b8;line-height:1;margin-bottom:.15rem}.sheet-col-label{color:var(--bos-text)}.sheet-col-resize{position:absolute;top:0;right:-3px;width:8px;height:100%;cursor:col-resize;z-index:3}.sheet-col-resize:active,.sheet-col-resize:hover{background:rgba(46,109,164,.25)}body.sheet-col-resizing,body.sheet-col-resizing *{cursor:col-resize!important;-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.sheet-cell{width:100%;border:0;background:transparent;padding:.5rem .55rem;color:var(--bos-text);min-width:0}.sheet-cell:focus{outline:2px solid rgba(46,109,164,.35);outline-offset:-2px;background:#f8fbff}.sheet-table-bar{justify-content:space-between;min-height:1.2rem;margin:0 0 .5rem}.sheet-table-bar,.sheet-table-bar-left{display:flex;align-items:center;gap:.75rem}.sheet-table-bar-left{min-width:0}.sheet-sort{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--bos-muted);font-weight:600}.sheet-sort select{border:1px solid var(--bos-border);border-radius:8px;padding:.28rem .5rem;background:#fff;color:var(--bos-text);font-weight:650;cursor:pointer}.sheet-sort-head{display:flex;align-items:baseline;gap:.35rem;border:0;background:transparent;padding:0;margin:0;cursor:pointer;color:inherit;font:inherit;text-align:left}.sheet-sort-head:hover .sheet-col-label{color:var(--bos-text)}.sheet-status{min-height:1.2rem;margin:0;font-size:.85rem;color:var(--bos-muted)}.sheet-select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;cursor:pointer}.sheet-combo{cursor:text}.sheet-addr-cell,.sheet-name-cell{overflow:hidden}.sheet-addr-cell .sheet-cell,.sheet-name-cell .sheet-cell{text-overflow:ellipsis}.addr-ac{position:relative;width:100%;min-width:0}.addr-ac-list{position:fixed;z-index:80;margin:0;padding:.25rem 0;list-style:none;background:#fff;border:1px solid var(--bos-border-strong);border-radius:8px;box-shadow:var(--bos-shadow);max-height:220px;overflow:auto}.addr-ac-list button{display:block;width:100%;border:0;background:transparent;text-align:left;padding:.45rem .6rem;font:inherit;color:var(--bos-text);cursor:pointer}.addr-ac-list button:focus,.addr-ac-list button:hover{background:#eef6ff}.addr-ac-list button strong{display:block;font-weight:650}.addr-ac-list button span{display:block;margin-top:.12rem;color:var(--bos-muted);font-size:.82rem;line-height:1.25}.sheet-date::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.7}.sheet-cell-need{background:#fff7ed!important;box-shadow:inset 0 0 0 2px #f59e0b}.sheet-cell-need .sheet-cell{background:transparent}.sheet-cell-need .sheet-cell::placeholder{color:#c2410c;font-weight:600}.sheet-cell-bank{background:#eff6ff!important;box-shadow:inset 0 0 0 1px #93c5fd}.sheet-cell-bank .sheet-cell{background:transparent}.sheet-cell-check-active{background:#fff7ed!important;box-shadow:inset 0 0 0 1px #fdba74}.sheet-cell-check-active .sheet-cell{background:transparent}.sheet-cell-payment-dim{background:#f1f5f9!important}.sheet-cell-payment-dim .sheet-cell,.sheet-cell-payment-dim .sheet-combo,.sheet-cell-payment-dim .sheet-date,.sheet-cell-payment-dim .sheet-select{color:#94a3b8!important;cursor:not-allowed;opacity:.65}.sheet-cell-muted{background:#e8eef4!important}.sheet-cell-muted .sheet-cell,.sheet-cell-muted .sheet-combo,.sheet-cell-muted .sheet-date,.sheet-cell-muted .sheet-select{color:#94a3b8;cursor:not-allowed}.sheet-cell-work-source,.sheet-cell-work-source .sheet-select{opacity:1!important;pointer-events:auto!important;cursor:pointer!important;color:var(--bos-text)!important;background:#fff7ed!important;position:relative;z-index:2}.sheet-row-partner .sheet-profit .sheet-cell{color:var(--bos-muted);font-weight:600}.sheet-row-partner .sheet-profit.is-pos .sheet-cell{color:var(--bos-ok);font-weight:700}.sheet-row-partner .sheet-profit.is-neg .sheet-cell{color:var(--bos-danger);font-weight:700}.sheet-status-done{background:#ecfdf5!important}.sheet-status-bad{background:#fef2f2!important}.sheet-status-active{background:#eff6ff!important}.sheet-status-sched{background:#f5f3ff!important}.sheet-status-estimate{background:#fff7ed!important}.sheet-status-wait{background:#fffbeb!important}.sheet-status-noanswer{background:#f1f5f9!important}.partner-row-form{display:grid;grid-template-columns:minmax(140px,1.3fr) 72px minmax(150px,.9fr) minmax(120px,1fr) 64px auto;grid-gap:.45rem;gap:.45rem;align-items:center;padding:.55rem .65rem}.partner-row-form input:not([type]),.partner-row-form input[type=text],.partner-row-form select{width:100%;border:1px solid var(--bos-border);border-radius:8px;padding:.4rem .5rem;background:#fff;color:var(--bos-text)}.partner-stock-pick{border:1px solid var(--bos-border);border-radius:10px;padding:.65rem .75rem;margin:0}.partner-stock-pick legend{font-size:.78rem;font-weight:700;color:var(--bos-muted);padding:0 .25rem}.partner-stock-pick label{display:flex;align-items:center;gap:.4rem;font-weight:500;margin-top:.35rem}.partner-active{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;color:var(--bos-muted);margin:0}.partner-row-actions{display:inline-flex;gap:.35rem;justify-content:flex-end}.partner-row-actions button{border:0;border-radius:8px;padding:.35rem .65rem;background:#e8eef4;color:var(--bos-text);cursor:pointer;font-weight:600}.partner-del{background:#fee2e2!important;color:#991b1b!important}@media (max-width:900px){.partner-row-form{grid-template-columns:1fr 1fr}}.sheet-money{display:flex;align-items:center;min-width:0;width:100%}.sheet-money-prefix{flex:0 0 auto;padding-left:.45rem;color:var(--bos-muted);font-weight:650;font-size:.85rem}.sheet-money .sheet-cell{padding-left:.25rem}.sheet-profit .sheet-cell{font-weight:700;color:var(--bos-text)}.sheet-profit.is-pos,.sheet-profit.is-pos .sheet-cell{color:var(--bos-ok)}.sheet-profit.is-neg,.sheet-profit.is-neg .sheet-cell{color:var(--bos-danger)}.sheet-totals-row th{background:#f8fafc!important;border-bottom:1px solid var(--bos-border);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:750;color:var(--bos-text);padding-top:.35rem;padding-bottom:.35rem;white-space:nowrap}.sheet-totals-corner{color:var(--bos-muted);font-weight:750;letter-spacing:.02em}.sheet-totals-empty{background:#f8fafc!important}.sheet-totals-cell{text-align:right!important;font-size:.88rem}.sheet-totals-cell.sheet-profit.is-pos{color:var(--bos-ok)}.sheet-totals-cell.sheet-profit.is-neg{color:var(--bos-danger)}.sheet-del-head{background:#eef2f7;min-width:44px}.sheet-del-cell{text-align:center;background:#fff}.sheet-del-btn{width:28px;height:28px;border:0;border-radius:6px;background:transparent;color:#94a3b8;font-size:1.25rem;line-height:1;cursor:pointer}.sheet-del-btn:hover{background:#fef2f2;color:#dc2626}.stock-board{display:flex;flex-direction:column;gap:.55rem;margin-top:-.35rem}.stock-tabs{display:flex;gap:0;border-bottom:1px solid var(--bos-border)}.partner-stock-cell{display:flex;flex-direction:column;gap:.25rem;min-width:0}.partner-stock-link{font-size:.75rem;font-weight:650;color:var(--bos-accent-2);text-decoration:none}.partner-stock-link:hover{text-decoration:underline}.stock-owner-block{display:flex;flex-direction:column;gap:.35rem}.stock-owner-hint{margin:0;font-size:.8rem;color:var(--bos-muted);line-height:1.35}.stock-owner-tabs{display:flex;flex-wrap:wrap;gap:.4rem}.stock-owner-tabs a{display:inline-flex;align-items:center;padding:.35rem .7rem;border-radius:999px;border:1px solid var(--bos-border);background:#fff;color:var(--bos-text);font-size:.82rem;font-weight:650;text-decoration:none}.stock-owner-tabs a.active{background:var(--bos-accent-2);border-color:var(--bos-accent-2);color:#fff}.stock-owner-count{margin-left:.35rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;opacity:.8}.stock-add-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:32px;height:32px;border-radius:999px;border:1px dashed var(--bos-border-strong);background:var(--bos-accent-2-soft);color:var(--bos-accent-2);font-size:1.25rem;font-weight:700;line-height:1;cursor:pointer;padding:0}.stock-add-btn:hover,.stock-add-btn[aria-expanded=true]{background:var(--bos-accent-2);border-style:solid;border-color:var(--bos-accent-2);color:#fff}.stock-add-form{display:grid;grid-gap:.55rem;gap:.55rem;max-width:420px}.stock-add-form label{display:grid;grid-gap:.25rem;gap:.25rem;font-size:.82rem;color:var(--bos-muted)}.stock-add-form input,.stock-add-form select{border:1px solid var(--bos-border);border-radius:8px;padding:.45rem .6rem;background:#fff;color:var(--bos-text)}.stock-optional{font-weight:500;color:var(--bos-muted)}.stock-add-error{margin:0;color:var(--bos-danger,#b42318);font-size:.8rem}.stock-tabs button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--bos-muted);font-size:.82rem;font-weight:600;padding:.45rem .85rem;margin-bottom:-1px;border-bottom:2px solid transparent;cursor:pointer}.stock-tabs button:hover{color:var(--bos-text)}.stock-tabs button.active{color:var(--bos-text);border-bottom-color:var(--bos-accent-2)}.stock-toolbar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.stock-search{flex:1 1;min-width:160px;max-width:320px;border:1px solid var(--bos-border);border-radius:6px;padding:.35rem .55rem;font-size:.82rem;background:#fff;color:var(--bos-text)}.stock-search:focus{outline:2px solid rgba(46,109,164,.25);border-color:var(--bos-accent-2)}.clients-toolbar{display:flex;align-items:center;gap:.85rem;margin:0 0 1rem}.clients-back,.clients-count,.clients-empty{margin:0 0 1rem;color:var(--bos-muted)}.clients-table a{font-weight:650;text-decoration:none;color:inherit}.clients-table a:hover{color:var(--bos-accent-2)}.client-facts{display:grid;grid-gap:.85rem;gap:.85rem;margin:0 0 1.25rem}.client-facts dt{font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--bos-muted)}.client-facts dd{margin:.2rem 0 0}.client-facts ul{margin:0;padding:0;list-style:none}.client-facts li+li{margin-top:.2rem}.stock-tech-select{border:1px solid var(--bos-border);border-radius:6px;padding:.3rem .45rem;font-size:.8rem;background:#fff}.stock-meta{font-size:.75rem;color:var(--bos-muted);margin-left:auto}.stock-wrap{overflow:auto;border:1px solid var(--bos-border);border-radius:8px;background:#fff;max-height:calc(100dvh - 168px)}.stock-table{width:100%;border-collapse:collapse;font-size:.78rem;line-height:1.25}.stock-table th{position:-webkit-sticky;position:sticky;top:0;z-index:2;background:#eef2f7;color:var(--bos-muted);font-weight:600;text-align:left;padding:.35rem .5rem;border-bottom:1px solid var(--bos-border);white-space:nowrap}.stock-table td{padding:.22rem .5rem;border-bottom:1px solid #eef2f7;vertical-align:middle}.stock-cat td{background:#f1f5f9;color:var(--bos-text);font-weight:700;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;padding:.35rem .5rem;border-bottom:1px solid var(--bos-border);position:-webkit-sticky;position:sticky;top:28px;z-index:1}.stock-cat-row{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.stock-cat-total{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:0;font-size:.78rem}.stock-col-item{min-width:180px}.stock-col-num{width:52px;text-align:right!important;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stock-col-cost{width:88px}.stock-col-act{width:36px;position:relative}.stock-name{display:block;color:var(--bos-text)}.stock-sub{display:block;color:var(--bos-muted);font-size:.7rem}.stock-master{font-weight:700}.stock-zero .stock-name{color:#94a3b8}.stock-cost{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--bos-border);border-radius:4px;background:#fff;padding:0 .25rem 0 .35rem;min-width:72px}.stock-cost span{color:var(--bos-muted);font-size:.72rem}.stock-cost input{width:52px;border:0;background:transparent;padding:.18rem .15rem;font-size:.75rem;text-align:right;color:var(--bos-text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stock-cost input:focus{outline:none}.stock-cost:focus-within{border-color:var(--bos-accent-2);box-shadow:0 0 0 2px rgba(46,109,164,.15)}.stock-cost.pending{opacity:.65}.stock-cost.saved{border-color:var(--bos-ok);background:var(--bos-ok-soft)}.stock-act-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--bos-border);background:#fff;color:var(--bos-muted);width:24px;height:22px;border-radius:4px;font-size:.75rem;line-height:1;cursor:pointer;padding:0}.stock-act-toggle:hover,.stock-act-toggle[aria-expanded=true]{color:var(--bos-text);border-color:var(--bos-accent-2)}.stock-act-toggle--plus{font-size:1.15rem;font-weight:800;background:#166534;color:#fff;border-color:#166534}.stock-act-toggle--plus:hover,.stock-act-toggle--plus[aria-expanded=true]{background:#14532d;color:#fff;border-color:#14532d}.stock-act-pop--tech{min-width:9.5rem;display:grid;grid-gap:.4rem;gap:.4rem}.stock-act-quick{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--bos-border);border-radius:8px;background:#fff;color:var(--bos-text);font:inherit;font-weight:700;padding:.4rem .5rem;cursor:pointer}.stock-act-quick:hover{background:#f8fafc}.stock-act-pop{position:absolute;right:0;top:calc(100% + 2px);z-index:5;display:flex;flex-direction:column;gap:3px;padding:6px;background:#fff;border:1px solid var(--bos-border);border-radius:6px;box-shadow:var(--bos-shadow);min-width:118px}.stock-act-pop form{display:flex;gap:3px;align-items:center}.stock-act-pop input{width:36px;padding:.15rem;font-size:.72rem}.stock-act-pop button,.stock-act-pop input{border:1px solid var(--bos-border);border-radius:3px}.stock-act-pop button{flex:1 1;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bos-panel-soft);font-size:.68rem;padding:.18rem .3rem;cursor:pointer;white-space:nowrap}.stock-act-pop button:hover{background:var(--bos-accent-2-soft)}.stock-empty{text-align:center;color:var(--bos-muted);padding:1.5rem .5rem!important}.stock-services{display:flex;flex-direction:column;gap:.45rem;margin-top:.35rem}.stock-services-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.stock-services-head h2{margin:0;font-size:.95rem;font-weight:750;color:var(--bos-text)}.stock-services-wrap{max-height:none}.stock-service-price{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:650;text-align:right!important;white-space:nowrap}.field-app{min-height:100dvh;display:flex;flex-direction:column;background:radial-gradient(700px 320px at 10% -10%,#dbeafe 0,transparent 55%),radial-gradient(600px 280px at 100% 0,#fef3c7 0,transparent 45%),var(--bos-bg);color:var(--bos-text);padding-bottom:calc(64px + env(safe-area-inset-bottom, 0px))}.field-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:1rem 1rem .65rem;position:-webkit-sticky;position:sticky;top:0;z-index:5;background:rgba(244,247,251,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--bos-border)}.field-brand{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--bos-accent-2)}.field-top h1{margin:.1rem 0 0;font-size:1.35rem;line-height:1.15}.field-sub{margin:.2rem 0 0;color:var(--bos-muted);font-size:.85rem}.field-user{font-size:.75rem;color:var(--bos-muted);text-align:right;max-width:40%;display:flex;flex-direction:column;align-items:flex-end;gap:.1rem}.field-rank{font-size:.68rem;font-weight:700;color:var(--bos-accent-2)}.field-app--wide .field-main{max-width:42rem}.field-main{flex:1 1;width:100%;max-width:28rem;margin:0 auto;padding:.75rem .85rem 1.1rem;box-sizing:border-box}.field-cal{background:#fff;border:1px solid var(--bos-border);border-radius:14px;box-shadow:var(--bos-shadow);padding:.75rem .7rem .65rem;margin-bottom:.85rem}.field-cal-nav{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.55rem}.field-cal-nav strong{font-size:.95rem}.field-cal-nav button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--bos-border);background:var(--bos-panel-soft);width:34px;height:34px;border-radius:8px;font-size:1.2rem;line-height:1;cursor:pointer;color:var(--bos-text)}.field-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px;gap:2px;margin-bottom:2px}.field-cal-weekdays span{text-align:center;font-size:.65rem;font-weight:700;color:var(--bos-muted);text-transform:uppercase;letter-spacing:.03em;padding:.2rem 0}.field-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:3px;gap:3px}.field-cal-cell{position:relative;height:40px;min-height:40px;aspect-ratio:auto;border-radius:8px;border:1px solid transparent;background:#f8fafc;color:var(--bos-text);text-decoration:none;padding:.2rem .25rem;display:block}.field-cal-cell--empty{background:transparent;pointer-events:none}.field-cal-num{display:block;font-size:.78rem;font-weight:700;line-height:1}.field-cal-count{position:absolute;right:4px;bottom:4px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--bos-accent-2);color:#fff;font-size:.65rem;font-weight:800;line-height:16px;text-align:center}.field-cal-cell.has-jobs{background:#e8f2fb;border-color:#bfd8ef}.field-cal-cell.has-jobs-past{background:#ecfdf5;border-color:#bbf7d0}.field-cal-cell.has-jobs-past .field-cal-count{background:var(--bos-ok)}.field-cal-cell.is-today{box-shadow:inset 0 0 0 1.5px var(--bos-accent)}.field-cal-cell.is-selected{border-color:var(--bos-text);background:#fff7e8}.field-cal-cell.is-selected .field-cal-count{background:var(--bos-text)}.field-cal-legend{display:flex;flex-wrap:wrap;gap:.65rem 1rem;margin-top:.55rem;font-size:.72rem;color:var(--bos-muted)}.field-cal-legend span{display:inline-flex;align-items:center;gap:.35rem}.field-cal-dot{width:8px;height:8px;border-radius:999px;display:inline-block}.field-cal-dot--upcoming{background:var(--bos-accent-2)}.field-cal-dot--past{background:var(--bos-ok)}.field-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.55rem}.field-section-head h2{margin:0}.field-today-link{font-size:.78rem;font-weight:700;color:var(--bos-accent-2)}.field-timeline{background:#fff;border:1px solid var(--bos-border);border-radius:14px;box-shadow:var(--bos-shadow);overflow:hidden;margin-bottom:.25rem}.field-timeline--compact .field-timeline-track{min-height:0}.field-timeline--packed .field-tl-block{padding:.45rem .55rem}.field-timeline-track{position:relative;display:grid;grid-template-columns:56px 1fr;width:100%}.field-timeline-hours{position:relative;border-right:1px solid var(--bos-border);background:#f8fafc}.field-timeline-hour{position:absolute;left:0;right:0;transform:translateY(-50%);padding:0 .35rem 0 .4rem}.field-timeline-hour span{font-size:.68rem;font-weight:700;color:var(--bos-muted);white-space:nowrap}.field-timeline-canvas{position:relative;min-width:0}.field-timeline-line{position:absolute;left:0;right:0;border-top:1px dashed #e2e8f0;pointer-events:none}.field-tl-block{position:absolute;display:flex;flex-direction:column;gap:.1rem;box-sizing:border-box;border-radius:10px;border:1px solid #bfd8ef;background:#e8f2fb;color:var(--bos-text);text-decoration:none;padding:.35rem .5rem;overflow:hidden;z-index:1}.field-timeline--packed .field-timeline-canvas{width:100%}.field-tl-block strong{font-size:.86rem;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.field-tl-time{font-size:.68rem;font-weight:800;color:var(--bos-accent-2)}.field-tl-addr{font-size:.72rem;color:var(--bos-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.field-tl-block--en_route,.field-tl-block--on_site{background:#fff7e8;border-color:#fcd34d}.field-tl-block--done{background:#ecfdf5;border-color:#86efac;opacity:.92}.field-tl-block--cancelled{background:#fef2f2;border-color:#fecaca}.field-tl-block--busy{background:#f1f5f9;border-color:#94a3b8;border-style:dashed}.field-tl-block--busy .field-tl-time{color:#64748b}.field-fab-root{position:fixed;right:1rem;bottom:calc(72px + env(safe-area-inset-bottom, 0px));z-index:30;display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.field-fab{width:56px;height:56px;border-radius:999px;border:0;background:var(--bos-text);color:#fff;font-size:1.75rem;font-weight:500;line-height:1;cursor:pointer;box-shadow:0 8px 24px rgba(15,35,64,.25)}.field-fab.is-open{background:var(--bos-muted)}.field-fab-menu{display:flex;flex-direction:column;gap:.35rem;min-width:168px;padding:.4rem;background:#fff;border:1px solid var(--bos-border);border-radius:14px;box-shadow:var(--bos-shadow)}.field-fab-menu__item{display:flex;align-items:center;gap:.55rem;padding:.65rem .7rem;border-radius:10px;color:var(--bos-text);font-weight:700;font-size:.9rem;text-decoration:none}.field-fab-menu__item:hover{background:var(--bos-accent-2-soft)}.field-fab-menu__glyph{width:1.4rem;text-align:center;color:var(--bos-accent-2)}.field-form{gap:.7rem;background:#fff;border:1px solid var(--bos-border);border-radius:14px;padding:.95rem 1rem;box-shadow:var(--bos-shadow)}.field-form,.field-form label{display:flex;flex-direction:column}.field-form label{gap:.3rem}.field-form label span{font-size:.78rem;font-weight:700;color:var(--bos-muted)}.field-form input,.field-form select,.field-form textarea{border:1px solid var(--bos-border);border-radius:8px;padding:.55rem .65rem;font:inherit;color:var(--bos-text);background:#fff}.field-form--full{display:grid;grid-template-columns:1fr 1fr;grid-gap:.7rem .8rem;gap:.7rem .8rem}.field-form--full .field-form-error,.field-form--full .field-muted,.field-form--full button[type=submit],.field-form--full label:has(textarea){grid-column:1/-1}@media (max-width:640px){.field-form--full{grid-template-columns:1fr}}.field-form button[type=submit]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:10px;background:var(--bos-text);color:#fff;font:inherit;font-weight:700;padding:.7rem .9rem;cursor:pointer}.field-form button[type=submit]:disabled{opacity:.65}.field-form-error{background:var(--bos-danger-soft);color:var(--bos-danger);border-radius:8px;padding:.55rem .7rem;font-size:.86rem}.field-timeline-untimed{border-top:1px solid var(--bos-border);padding:.65rem .75rem .75rem;display:flex;flex-direction:column;gap:.45rem}.field-timeline-untimed>p{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--bos-muted)}.field-timeline-untimed .field-tl-block{position:relative;top:auto;left:auto;width:100%;height:auto}.field-tabs{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:repeat(4,1fr);grid-gap:0;gap:0;background:rgba(255,255,255,.96);border-top:1px solid var(--bos-border);padding:.25rem .25rem calc(.25rem + env(safe-area-inset-bottom, 0px));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.field-tabs--5{grid-template-columns:repeat(5,1fr)}.field-tabs--5 a,.field-tabs--5 button{font-size:.62rem;padding:.5rem .1rem}.field-tabs a,.field-tabs button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--bos-muted);font:inherit;font-size:.72rem;font-weight:700;padding:.55rem .2rem;text-align:center;cursor:pointer;border-radius:8px}.field-tabs a.active{color:var(--bos-text);background:var(--bos-accent-2-soft)}.field-tab-label{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.25rem}.field-tab-badge{position:absolute;top:-8px;right:-14px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--bos-danger);color:#fff;font-size:.62rem;font-weight:800;line-height:16px}.ads-campaign-list{display:flex;flex-direction:column;gap:.45rem}.ads-campaign{background:#fff;border:1px solid var(--bos-border);border-radius:12px;overflow:hidden;box-shadow:var(--bos-shadow)}.ads-campaign.is-open{border-color:#93c5fd}.ads-campaign-head{width:100%;display:grid;grid-template-columns:1.1rem minmax(0,1.6fr) repeat(4,minmax(4.5rem,auto));grid-gap:.55rem;gap:.55rem;align-items:center;text-align:left;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:.7rem .85rem;font:inherit;color:var(--bos-text);cursor:pointer}.ads-campaign-head:hover{background:var(--bos-accent-2-soft)}.ads-campaign-chevron{color:var(--bos-muted);font-size:.85rem}.ads-campaign-name{font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ads-campaign-stat{font-size:.8rem;font-weight:650;white-space:nowrap}.ads-campaign-stat.muted{color:var(--bos-muted);font-weight:500}.ads-campaign-body{border-top:1px solid var(--bos-border);padding:.85rem;background:#fafbfd}.ads-lead-summary{margin:0 0 .55rem;font-size:.86rem;color:var(--bos-muted)}.ads-report-table .ads-report-total td{border-top:2px solid var(--bos-border);background:#f8fafc}.ads-report-table td,.ads-report-table th{white-space:nowrap}@media (max-width:1100px){.ads-report-table td:nth-child(n+8),.ads-report-table th:nth-child(n+8){font-size:.78rem}}.ads-crm-pill{display:inline-block;font-size:.72rem;font-weight:700;border-radius:999px;padding:.18rem .45rem;text-decoration:none}.ads-crm-pill.is-in{background:#ecfdf5;color:#047857}.ads-crm-pill.is-out{background:#fff7ed;color:#c2410c}@media (max-width:900px){.ads-campaign-head{grid-template-columns:1rem 1fr;grid-auto-rows:auto}.ads-campaign-stat{display:none}.ads-campaign-name{white-space:normal}}.ads-campaign-picker{display:flex;flex-direction:column;gap:.3rem;margin:0 0 .9rem;max-width:36rem}.ads-campaign-picker span{font-size:.75rem;font-weight:700;color:var(--bos-muted);text-transform:uppercase;letter-spacing:.04em}.ads-campaign-picker select{border:1px solid var(--bos-border);border-radius:8px;padding:.55rem .65rem;font:inherit;background:#fff;color:var(--bos-text)}.bos-btn--ghost{background:#fff!important;color:var(--bos-text)!important;border-color:var(--bos-border)!important;font-size:.75rem!important;padding:.3rem .5rem!important}.ads-row-active td{background:var(--bos-accent-2-soft)}.field-signout{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--bos-accent-2);font:inherit;font-size:.72rem;font-weight:700;padding:0;cursor:pointer;margin-top:.2rem}.ads-sync-row{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;margin:0 0 .85rem}.ads-sync-row .bos-btn,button.bos-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--bos-border);background:var(--bos-text);color:#fff;border-radius:8px;font:inherit;font-size:.82rem;font-weight:700;padding:.45rem .75rem;cursor:pointer}.ads-sync-row .bos-btn:disabled,button.bos-btn:disabled{opacity:.65;cursor:default}.field-summary{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.65rem;justify-content:flex-start;align-items:stretch}.field-summary>div{flex:0 0 auto;width:auto;min-width:0;background:#fff;border:1px solid var(--bos-border);border-radius:8px;padding:.28rem .5rem;box-shadow:none}.field-summary strong{display:block;font-size:.98rem;line-height:1.05}.field-summary span{display:block;color:var(--bos-muted);font-size:.65rem;line-height:1.15;margin-top:.08rem;white-space:nowrap}.field-jump{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.85rem}.field-jump-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--bos-border);background:#fff;border-radius:10px;padding:.4rem .7rem;min-width:4.4rem;text-align:left;cursor:pointer;font:inherit;color:var(--bos-text)}.field-jump-chip:active{background:var(--bos-accent-2-soft)}.field-jump-chip strong{display:block;font-size:1.05rem;line-height:1.05}.field-jump-chip span{display:block;margin-top:.1rem;font-size:.68rem;font-weight:700;color:var(--bos-muted)}.field-alert-section{scroll-margin-top:5.5rem;margin-bottom:1rem}.field-alert-section h2{margin:0 0 .4rem;font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;color:var(--bos-muted)}.field-chip-row{display:flex;flex-wrap:wrap;gap:.35rem}.field-chip{display:inline-flex;align-items:center;max-width:100%;padding:.38rem .55rem;border-radius:999px;border:1px solid var(--bos-border);background:#fff;color:var(--bos-text);text-decoration:none;font-size:.75rem;font-weight:650;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.field-chip--danger{border-color:#fecaca;background:#fff1f2;color:#9f1239}.field-chip--warn{border-color:#fde68a;background:#fffbeb;color:#92400e}.field-chip--info{border-color:#bfdbfe;background:#eff6ff;color:#1e3a8a}.field-chip-empty{margin:0;padding:.35rem .1rem;color:var(--bos-muted);font-size:.8rem}.field-alert-list,.field-report-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}.field-report-list li{display:flex;justify-content:space-between;gap:.65rem;align-items:flex-start;background:#fff;border:1px solid var(--bos-border);border-radius:10px;padding:.55rem .65rem;text-decoration:none;color:inherit}.field-report-list li div{display:flex;flex-direction:column;min-width:0}.field-report-list strong{display:block;font-size:.86rem;line-height:1.2}.field-report-list span{display:block;color:var(--bos-muted);font-size:.72rem;margin-top:.1rem}.field-report-list em{font-style:normal;font-weight:800;color:var(--bos-ok);white-space:nowrap;font-size:.86rem}.field-alert{list-style:none}.field-alert a{display:flex;align-items:flex-start;gap:.5rem;width:100%;box-sizing:border-box;background:#fff;border:1px solid var(--bos-border);border-radius:10px;padding:.45rem .55rem;text-decoration:none;color:inherit}.field-alert-dot{width:.4rem;height:.4rem;margin-top:.35rem;border-radius:999px;background:var(--bos-muted);flex:0 0 auto}.field-alert-body{min-width:0;flex:1 1}.field-alert strong{display:block;font-size:.82rem;line-height:1.2}.field-alert span{display:block;color:var(--bos-muted);font-size:.72rem;line-height:1.25;margin-top:.08rem}.field-alert--danger a{border-color:#fecaca;background:#fff7f7}.field-alert--danger .field-alert-dot{background:var(--bos-danger)}.field-alert--warn a{border-color:#fde68a;background:#fffbeb}.field-alert--warn .field-alert-dot{background:#d97706}.field-empty--soft{border-style:dashed}.field-empty-line{margin:0 0 .75rem;padding:.45rem .15rem;color:var(--bos-muted);font-size:.82rem}.field-attention-note{margin-top:.35rem}.field-tabs form{display:contents}.field-section{margin-bottom:.85rem}.field-section h2{margin:0 0 .4rem;font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;color:var(--bos-muted)}.field-section--muted{opacity:.92}.field-empty{background:#fff;border:1px dashed var(--bos-border);border-radius:10px;padding:.65rem .75rem;color:var(--bos-muted);text-align:left;font-size:.82rem}.field-job-list{display:flex;flex-direction:column;gap:.65rem}.field-job{background:#fff;border:1px solid var(--bos-border);border-radius:14px;box-shadow:var(--bos-shadow);overflow:hidden}.field-job-main{display:grid;grid-template-columns:64px 1fr auto;grid-gap:.65rem;gap:.65rem;padding:.85rem .85rem .55rem;align-items:start}.field-job-time{font-size:.78rem;font-weight:700;color:var(--bos-accent-2);padding-top:.1rem}.field-job-body{display:flex;flex-direction:column;gap:.15rem;min-width:0}.field-job-body strong{font-size:.98rem;line-height:1.25}.field-job-addr,.field-job-notes{color:var(--bos-muted);font-size:.8rem;line-height:1.3}.field-job-notes{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.field-pill{font-size:.68rem;font-weight:700;text-transform:capitalize;padding:.25rem .45rem;border-radius:999px;background:#eef2f7;color:var(--bos-muted);white-space:nowrap}.field-pill--en_route,.field-pill--on_site{background:var(--bos-accent-2-soft);color:var(--bos-accent-2)}.field-pill--done{background:var(--bos-ok-soft);color:var(--bos-ok)}.field-pill--cancelled{background:var(--bos-danger-soft);color:var(--bos-danger)}.field-job-actions{display:flex;gap:.4rem;padding:0 .85rem .85rem}.field-job-actions--block{margin-top:.85rem;padding:0}.field-job-actions button,.field-job-actions select,.field-parts-form button,.field-parts-form input,.field-parts-form select{font:inherit}.field-job-actions select,.field-parts-form input,.field-parts-form select{border:1px solid var(--bos-border);border-radius:8px;padding:.45rem .5rem;background:#fff;color:var(--bos-text)}.field-job-actions select{flex:1 1}.field-job-actions button,.field-parts-form button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:8px;background:var(--bos-text);color:#fff;font-weight:700;padding:.45rem .75rem;cursor:pointer}.field-status-steps{margin-top:1rem;display:grid;grid-gap:.75rem;gap:.75rem}.field-status-steps__now{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.field-status-steps__label{font-size:.8rem;color:var(--bos-muted);text-transform:uppercase;letter-spacing:.04em}.field-status-steps__list{list-style:none;margin:0;padding:0;display:grid;grid-gap:.4rem;gap:.4rem}.field-status-steps__item{display:flex;align-items:center;gap:.65rem;padding:.55rem .7rem;border-radius:10px;border:1px solid var(--bos-border);background:#fff;color:var(--bos-muted);font-weight:600}.field-status-steps__item.is-done{border-color:#86efac;background:#f0fdf4;color:#166534}.field-status-steps__item.is-active{border-color:var(--bos-accent-2);background:#eff6ff;color:var(--bos-text)}.field-status-steps__num{width:1.55rem;height:1.55rem;border-radius:999px;display:grid;place-items:center;font-size:.85rem;background:#e5e7eb;color:#374151;flex:0 0 auto}.field-status-steps__item.is-active .field-status-steps__num,.field-status-steps__item.is-done .field-status-steps__num{background:var(--bos-text);color:#fff}.field-status-steps__advance,.field-status-steps__items-cta{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;text-align:center;text-decoration:none;border:0;border-radius:12px;padding:.9rem 1rem;font:inherit;font-weight:800;font-size:1.05rem;cursor:pointer}.field-status-steps__advance{background:linear-gradient(135deg,#8ecbf5,#5ba3d9 55%,#f59e0b);color:var(--bos-text)}.field-status-steps__advance:disabled{opacity:.6;cursor:wait}.field-status-steps__items-cta{background:#166534;color:#fff}.field-status-steps__cancel{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--bos-danger);font:inherit;font-weight:600;padding:.35rem;cursor:pointer;justify-self:start}.field-status-steps__done{margin:0}.inv-locked{margin:0 0 .85rem;padding:.7rem .8rem;border-radius:10px;background:#fff7ed;border:1px solid #fdba74;color:#9a3412;font-weight:600}.field-detail-card{background:#fff;border:1px solid var(--bos-border);border-radius:14px;padding:.95rem 1rem;box-shadow:var(--bos-shadow);margin-bottom:.85rem}.field-detail-card p{margin:0 0 .75rem;line-height:1.4}.field-detail-when{color:var(--bos-accent-2);font-weight:700;font-size:.9rem}.field-back{margin:0 0 .75rem}.field-back a{color:var(--bos-accent-2);font-size:.9rem;font-weight:600}.field-job-owner{display:flex;flex-direction:column;gap:.15rem;margin:0 0 .85rem;padding:.7rem .9rem;border-radius:12px;border:1px solid var(--bos-border)}.field-job-owner__label{font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;opacity:.75}.field-job-owner__name{font-size:1.05rem;line-height:1.2}.field-job-owner--gg{background:#eef5ff;border-color:#c7dbf5;color:#0f2340}.field-job-owner--partner{background:#fff4e8;border-color:#f0d0a8;color:#5a3208}.field-parts-form{display:flex;flex-direction:column;gap:.5rem}.field-parts-qty{display:flex;gap:.4rem}.field-parts-qty input{width:72px}.field-parts-qty button{flex:1 1}.field-muted{margin:.65rem 0 0;color:var(--bos-muted);font-size:.85rem}.field-used-list{list-style:none;margin:.65rem 0 0;padding:0;display:flex;flex-direction:column;gap:.35rem}.field-app .stock-wrap{max-height:calc(100dvh - 210px)}.field-used-list li{display:flex;justify-content:space-between;gap:.5rem;background:#fff;border:1px solid var(--bos-border);border-radius:10px;padding:.55rem .75rem;font-size:.86rem}@media (max-width:860px){.bos-shell,.bos-shell--nav-collapsed{grid-template-columns:1fr}.bos-shell--nav-collapsed .bos-nav{display:none}.bos-nav{border-right:0;border-bottom:1px solid var(--bos-border);flex-direction:row;flex-wrap:wrap;align-items:center;opacity:1;pointer-events:auto}.bos-brand{width:100%;margin-bottom:.5rem}.bos-user{width:100%}.emp-section-head{flex-direction:column}}.inv-steps{display:flex;flex-wrap:wrap;gap:.35rem;margin:0 0 .75rem}.inv-step{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#94a3b8;background:#f1f5f9;border-radius:999px;padding:.28rem .55rem}.inv-step.is-on{color:var(--bos-accent-2);background:var(--bos-accent-2-soft)}.inv-step.is-current{box-shadow:inset 0 0 0 1px var(--bos-accent-2)}.inv-client{display:flex;flex-direction:column;gap:.15rem;margin-bottom:.65rem}.inv-job-num{font-size:.78rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase;color:var(--bos-accent-2);margin-bottom:.2rem}.inv-client strong{font-size:1.05rem}.inv-error{color:#b91c1c;font-weight:600;font-size:.9rem;margin:0 0 .65rem}.field-detail-card h3,.inv-build h3{margin:0 0 .45rem;font-size:.92rem}.inv-row{display:grid;grid-template-columns:1fr 64px auto auto;grid-gap:.4rem;gap:.4rem;margin-bottom:.55rem}.field-detail-card select,.inv-primary,.inv-row button,.inv-row input,.inv-row select,.inv-sign-actions button{border:1px solid var(--bos-border);border-radius:8px;padding:.5rem .6rem;font:inherit;background:#fff}.inv-row button,.inv-sign-actions button{cursor:pointer;font-weight:600;white-space:nowrap}.inv-primary{display:block;width:100%;margin-top:.65rem;background:var(--bos-accent-2);border-color:var(--bos-accent-2);color:#fff;font-weight:700;cursor:pointer}.inv-primary:disabled,.inv-row button:disabled{opacity:.55;cursor:not-allowed}.inv-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.inv-lines li{display:flex;justify-content:space-between;gap:.75rem;padding-bottom:.45rem;border-bottom:1px solid var(--bos-border)}.inv-lines li>div:first-child{display:flex;flex-direction:column;gap:.1rem}.inv-lines span{color:var(--bos-muted);font-size:.82rem}.inv-line-right{display:flex;flex-direction:column;align-items:flex-end;gap:.2rem}.inv-remove{border:0;background:transparent;color:#b91c1c;font-size:.75rem;font-weight:700;cursor:pointer}.inv-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:.75rem;font-size:1.05rem}.inv-total--discount{margin-top:.35rem;color:#067647;font-size:.95rem;font-weight:600}.inv-discount-tag{color:#067647;font-style:normal;font-weight:600}.inv-price-up-tag{color:var(--bos-muted);font-style:normal}.inv-price-input{max-width:5.5rem}.inv-edit-price{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.4rem}.inv-edit-price input{width:5.5rem;border:1px solid var(--bos-border);border-radius:8px;padding:.35rem .45rem}.inv-doc-discount{margin-top:.2rem;font-size:.8rem;color:#067647}.inv-sign-pad{width:100%;height:280px;min-height:280px;touch-action:none;border:2px solid var(--bos-border-strong);border-radius:14px;background:#fff;margin:.5rem 0 .65rem;display:block;position:relative;z-index:1;box-shadow:inset 0 0 0 1px rgba(15,35,64,.04)}.inv-sign-hint{margin:0 0 .65rem;font-size:.9rem;color:var(--bos-muted)}.inv-sign-hint--ready{color:var(--bos-ok);font-weight:650}.inv-sign-actions{display:flex;flex-direction:column;gap:.55rem;margin-bottom:.35rem;position:relative;z-index:2}.inv-sign-clear{min-height:48px;cursor:pointer;font-weight:650}.inv-sign-save{margin-top:0!important;min-height:56px;font-size:1.05rem}.inv-sign-save:disabled{opacity:.45}.inv-sign-preview{max-width:100%;border:1px solid var(--bos-border);border-radius:8px;background:#fff;margin-top:.5rem}@media (min-width:720px){.inv-sign-pad{height:320px;min-height:320px}.inv-sign-actions{flex-direction:row;align-items:stretch}.inv-sign-clear{flex:0 0 120px}.inv-sign-save{flex:1 1}}.inv-done code{font-size:.78rem;word-break:break-all}.inv-public{max-width:640px;margin:0 auto;padding:1.5rem 1.1rem 2.5rem}.dispatch-day-nav{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin:0 0 1rem}.dispatch-day-nav strong{font-size:1.05rem}.dispatch-day-nav a{color:var(--bos-accent-2);font-weight:600}.dispatch-cal{display:flex;flex-direction:column;gap:.75rem;min-height:calc(100vh - 8.5rem)}.dispatch-cal__toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.dispatch-cal__views{display:inline-flex;border:1px solid var(--bos-border);border-radius:10px;overflow:hidden;background:#fff}.dispatch-cal__views button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:.45rem .9rem;font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;color:var(--bos-muted);border-right:1px solid var(--bos-border)}.dispatch-cal__views button:last-child{border-right:0}.dispatch-cal__views button.active{background:var(--bos-text);color:#fff}.dispatch-cal__nav{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.dispatch-cal__nav strong{min-width:10rem;text-align:center;font-size:1.05rem}.dispatch-cal__nav button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--bos-border);background:#fff;border-radius:8px;width:2rem;height:2rem;cursor:pointer;font-size:1.1rem}.dispatch-cal__today{width:auto!important;padding:0 .65rem!important;font-size:.8rem!important;font-weight:600}.dispatch-cal__queue{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;padding:.55rem .7rem;background:#fff7e8;border:1px solid #f0d0a8;border-radius:12px}.dispatch-cal__queue-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#5a3208}.dispatch-cal__queue-list{display:flex;flex-wrap:wrap;gap:.4rem}.dispatch-cal__queue-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #e8c48a;background:#fff;border-radius:999px;padding:.3rem .7rem;font:inherit;font-size:.82rem;cursor:pointer;display:inline-flex;gap:.45rem;align-items:center}.dispatch-cal__queue-chip em{font-style:normal;font-weight:700;color:var(--bos-accent-2);font-size:.72rem}.dispatch-cal__month-grid,.dispatch-cal__weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:.35rem;gap:.35rem}.dispatch-cal__weekdays span{text-align:center;font-size:.72rem;font-weight:700;color:var(--bos-muted);padding:.25rem 0}.dispatch-cal__month{flex:1 1;display:flex;flex-direction:column;background:#fff;border:1px solid var(--bos-border);border-radius:14px;padding:.75rem;box-shadow:var(--bos-shadow);min-height:0}.dispatch-cal__techs{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 .85rem}.dispatch-cal__techs button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--bos-border);background:#fff;border-radius:999px;padding:.35rem .75rem;font-size:.82rem;font-weight:600;cursor:pointer;color:var(--bos-text)}.dispatch-cal__techs button.active{background:var(--bos-text);color:#fff;border-color:var(--bos-text)}.dispatch-cal__month-grid{flex:1 1;grid-auto-rows:minmax(7.5rem,1fr)}.dispatch-cal__mcell{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--bos-border);background:#fff;border-radius:10px;min-height:7.5rem;padding:.4rem;display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;cursor:pointer;font:inherit;color:var(--bos-text);text-align:left}.dispatch-cal__mcell.is-empty{border:none;background:transparent;min-height:0;pointer-events:none}.dispatch-cal__mcell.is-today{border-color:var(--bos-accent-2)}.dispatch-cal__mcell.is-selected{background:#eef5ff;box-shadow:inset 0 0 0 1px var(--bos-accent-2)}.dispatch-cal__mcell.has-jobs{background:#f8fbff}.dispatch-cal__mnum{font-weight:700;font-size:.9rem}.dispatch-cal__mnames{list-style:none;margin:.25rem 0 0;padding:0;display:flex;flex-direction:column;gap:.15rem;width:100%;text-align:left}.dispatch-cal__mnames li{display:flex;flex-direction:column;gap:0;line-height:1.2;min-width:0}.dispatch-cal__mclient{font-size:.68rem;font-weight:650}.dispatch-cal__mclient,.dispatch-cal__mtech{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dispatch-cal__mtech{font-size:.6rem;color:var(--bos-muted)}.dispatch-cal__mmore{font-size:.62rem;font-weight:700;color:var(--bos-muted)}.dispatch-cal__week-names{list-style:none;margin:.25rem 0 0;padding:0;display:flex;flex-direction:column;gap:.1rem;text-align:left}.dispatch-cal__week-names a{font-size:.68rem;font-weight:600;color:var(--bos-text);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.dispatch-cal__week-names-more{font-size:.62rem;color:var(--bos-muted);font-weight:700}.dispatch-cal__pill-client{font-size:.72rem;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.dispatch-cal__pill-tech{font-size:.62rem;font-style:normal;color:var(--bos-muted)}.dispatch-cal__day-roster{background:#fff;border:1px solid var(--bos-border);border-radius:14px;box-shadow:var(--bos-shadow);padding:.85rem 1rem}.dispatch-cal__roster{list-style:none;margin:0;padding:0;display:grid;grid-gap:.35rem;gap:.35rem}.dispatch-cal__roster li{display:grid;grid-template-columns:1.5rem minmax(0,1.4fr) minmax(0,1fr) auto;grid-gap:.65rem;gap:.65rem;align-items:baseline;padding:.45rem .55rem;border-radius:8px;background:#f7f8fa;border:1px solid var(--bos-border)}.dispatch-cal__roster li.is-done{background:#eef8f1}.dispatch-cal__roster li.is-cancelled{background:#f4f4f5;opacity:.85}.dispatch-cal__roster-n{font-size:.75rem;font-weight:700;color:var(--bos-muted)}.dispatch-cal__roster-client{font-weight:700;text-decoration:none}.dispatch-cal__roster-client,.dispatch-cal__roster-tech{color:var(--bos-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dispatch-cal__roster-tech{font-size:.85rem}.dispatch-cal__roster-meta{font-size:.75rem;color:var(--bos-muted);white-space:nowrap}.dispatch-cal__jobcard-tech{font-weight:600;color:#5a3208}.dispatch-cal__week-wrap{flex:1 1;overflow:auto;background:#fff;border:1px solid var(--bos-border);border-radius:14px;box-shadow:var(--bos-shadow)}.dispatch-cal__week{width:100%;min-width:720px;border-collapse:collapse;font-size:.82rem}.dispatch-cal__week td,.dispatch-cal__week th{border:1px solid var(--bos-border);padding:.35rem;vertical-align:top}.dispatch-cal__week thead th{background:#f7f8fa;text-align:center;position:-webkit-sticky;position:sticky;top:0;z-index:1}.dispatch-cal__week thead th button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;cursor:pointer;font:inherit;display:flex;flex-direction:column;align-items:center;gap:.1rem;width:100%;color:var(--bos-text)}.dispatch-cal__week thead th strong.is-today{color:var(--bos-accent-2)}.dispatch-cal__week tbody th{width:3.8rem;white-space:nowrap;background:#fafbfc;font-size:.75rem;font-weight:700;text-align:left;padding-left:.5rem}.dispatch-cal__week td{min-width:6.5rem;height:3.4rem;cursor:pointer}.dispatch-cal__week td.has-jobs{background:#fffaf2}.dispatch-cal__free{color:#c5ccd6;display:block;text-align:center}.dispatch-cal__source,.sched-source{margin:0 0 .75rem;font-size:.82rem;color:var(--bos-muted)}.dispatch-cal__mcell.is-past{opacity:.72}.dispatch-cal__pill{display:flex;flex-direction:column;gap:.05rem;align-items:flex-start;background:#eef5ff;border-radius:6px;padding:.2rem .35rem;margin-bottom:.2rem;text-decoration:none;color:var(--bos-text);line-height:1.2}.dispatch-cal__pill.is-done{background:#eef8f1}.dispatch-cal__pill.is-cancelled{background:#f4f4f5;color:#6b7280}.dispatch-cal__pill.is-active{background:#eef5ff}.dispatch-cal__untimed-row td{background:#fafbfc;vertical-align:top}.sched-sheet-list{margin:0 0 1rem}.sched-sheet-list h3{margin:0 0 .4rem;font-size:.88rem}.sched-sheet-list ul{list-style:none;margin:0;padding:0;display:grid;grid-gap:.35rem;gap:.35rem}.sched-sheet-list a{display:flex;flex-wrap:wrap;gap:.35rem .75rem;align-items:baseline;text-decoration:none;color:var(--bos-text);padding:.4rem .55rem;border-radius:8px;background:#f7f8fa;border:1px solid var(--bos-border)}.sched-sheet-list em,.sched-sheet-list span{font-size:.78rem;color:var(--bos-muted);font-style:normal}.dispatch-cal__pill strong{font-size:.68rem;color:var(--bos-accent-2)}.dispatch-cal__pill span{font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:7rem}.dispatch-cal__more{font-size:.68rem;color:var(--bos-muted);font-weight:700}.dispatch-cal__day{display:flex;flex-direction:column;gap:1rem;flex:1 1}.dispatch-cal__day-table-wrap{overflow:auto;background:#fff;border:1px solid var(--bos-border);border-radius:14px;box-shadow:var(--bos-shadow);flex:1 1}.dispatch-cal__day-table{width:100%;min-width:640px;border-collapse:collapse;font-size:.88rem}.dispatch-cal__day-table td,.dispatch-cal__day-table th{border:1px solid var(--bos-border);padding:.55rem .65rem;vertical-align:top;text-align:left}.dispatch-cal__day-table thead th{background:#f7f8fa;font-size:.78rem;position:-webkit-sticky;position:sticky;top:0;z-index:1}.dispatch-cal__day-table tbody th{width:5.5rem;background:#fafbfc}.dispatch-cal__win{display:flex;flex-direction:column;gap:.1rem}.dispatch-cal__win span{font-size:.7rem;font-weight:500;color:var(--bos-muted)}.dispatch-cal__day-table td.is-free{color:#1f6b3a;background:#f1faf4}.dispatch-cal__day-table td.is-busy{background:#fff7e8}.dispatch-cal__jobcard{display:flex;flex-direction:column;gap:.15rem;text-decoration:none;color:#5a3208;margin-bottom:.35rem}.dispatch-cal__jobcard strong{font-size:.9rem}.dispatch-cal__jobcard em,.dispatch-cal__jobcard span{font-size:.75rem;font-style:normal;color:#7a5530}.dispatch-cal__day-list h3{margin:0 0 .5rem;font-size:.95rem}@media (max-width:800px){.dispatch-cal__mcell{min-height:5rem}.dispatch-cal__mtech{display:none}.dispatch-cal__roster li{grid-template-columns:1.25rem minmax(0,1fr);grid-template-rows:auto auto}.dispatch-cal__roster-meta,.dispatch-cal__roster-tech{grid-column:2}}.dispatch-queue-list{display:grid;grid-gap:.5rem;gap:.5rem;margin-bottom:1.25rem}.dispatch-queue-card{display:flex;justify-content:space-between;align-items:center;gap:.85rem;padding:.7rem .85rem;background:var(--bos-panel);border:1px solid var(--bos-border);border-radius:10px}.dispatch-queue-card div{display:grid;grid-gap:.15rem;gap:.15rem;min-width:0}.dispatch-queue-card em,.dispatch-queue-card span{color:var(--bos-muted);font-size:.82rem;font-style:normal}.dispatch-lanes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:.85rem;gap:.85rem;margin-bottom:1.5rem}.dispatch-lane{background:var(--bos-panel-soft);border:1px solid var(--bos-border);border-radius:12px;padding:.75rem;min-height:140px}.dispatch-lane__head{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.65rem}.dispatch-lane__head h3{margin:0;font-size:.95rem}.dispatch-lane__head span{color:var(--bos-muted);font-size:.78rem}.dispatch-row--busy td{background:#fff7e8}@media (max-width:560px){.inv-row{grid-template-columns:1fr}.dispatch-queue-card{flex-direction:column;align-items:stretch}}.finance-filters{display:flex;flex-wrap:wrap;gap:.7rem .9rem;margin:.35rem 0 .65rem;padding:.85rem 1rem;background:var(--bos-panel);border:1px solid var(--bos-border);border-radius:12px}.finance-filters label{display:flex;flex-direction:column;gap:.28rem;font-size:.78rem;color:var(--bos-muted);font-weight:600}.finance-filters input,.finance-filters select{min-width:10.5rem;font-weight:500}.finance-hint{margin:0 0 .75rem;color:var(--bos-muted);font-size:.86rem}.finance-table .finance-row{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.finance-table .finance-row:hover td{background:var(--bos-panel-soft)}.finance-empty{color:var(--bos-muted);text-align:center}.finance-source{display:flex;flex-direction:column;gap:.1rem}.finance-source em{font-style:normal;font-size:.72rem;color:var(--bos-muted);font-weight:700;text-transform:uppercase;letter-spacing:.03em}.finance-invoice-panel{width:min(920px,100%);max-height:min(94dvh,1100px);display:flex;flex-direction:column}.finance-invoice-head-actions{display:flex;align-items:flex-start;gap:.45rem}.finance-invoice-meta{margin:.35rem 0 .6rem;color:var(--bos-muted);font-size:.88rem}.finance-invoice-frame{width:100%;min-height:70dvh;border:1px solid var(--bos-border);border-radius:12px;background:#e5e7eb}.finance-table.bos-table,.table.bos-table.finance-table{overflow:visible}.finance-inv-actions{display:flex;align-items:center;gap:.4rem}.inv-icon-btn,.inv-toolbar-btn{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--bos-border);background:#fff;color:var(--bos-text);border-radius:8px;padding:.4rem .7rem;font-weight:650;cursor:pointer}.inv-icon-btn{padding:.38rem .5rem}.inv-icon-btn:hover,.inv-toolbar-btn:hover{background:var(--bos-accent-2-soft);border-color:transparent}.inv-send{position:relative;display:inline-flex}.inv-send-pop{position:absolute;right:0;top:calc(100% + 8px);z-index:90;width:min(320px,86vw);background:#fff;border:1px solid var(--bos-border);border-radius:12px;box-shadow:0 16px 40px rgba(15,35,64,.18);padding:.85rem;display:grid;grid-gap:.55rem;gap:.55rem}.inv-send-pop label{display:grid;grid-gap:.25rem;gap:.25rem;font-size:.78rem;color:var(--bos-muted);font-weight:650}.inv-send-pop input,.inv-send-pop textarea{width:100%;font-weight:500}.inv-send-error{margin:0;color:var(--bos-danger);font-size:.8rem}.inv-send-ok{margin:0;color:var(--bos-ok);font-size:.8rem}.inv-send-actions{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.inv-send-mailto{font-size:.82rem;color:var(--bos-accent-2);font-weight:650}.inv-send-cancel{background:transparent;border:0;color:var(--bos-muted);cursor:pointer}.inv-doc-page{min-height:100vh;background:#d7dce3;padding:1.1rem .85rem 2.5rem}.inv-doc-toolbar{width:min(816px,100%);margin:0 auto .85rem;display:flex;justify-content:flex-end;gap:.5rem}.inv-doc-sheet{width:min(816px,100%);min-height:1056px;margin:0 auto;background:#fff;color:#122033;box-shadow:0 18px 50px rgba(15,23,42,.18);padding:52px 56px 40px;position:relative}.inv-doc-letterhead{display:flex;justify-content:space-between;gap:1.5rem}.inv-doc-letterhead>div:first-child{display:flex;gap:.85rem}.inv-doc-mark{width:52px;height:52px;margin:0;border-radius:8px;background:#1e3a5f;color:#f4e3a3;display:grid;place-items:center;font-size:1.05rem}.inv-doc-brand,.inv-doc-mark{font-weight:800;letter-spacing:.04em}.inv-doc-brand{margin:0;font-size:1.35rem;text-transform:uppercase;color:#1e3a5f}.inv-doc-contact,.inv-doc-tag{margin:.15rem 0 0;color:#5b6b7c;font-size:.86rem;line-height:1.45}.inv-doc-titleblock{text-align:right}.inv-doc-kicker{margin:0;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:#1e3a5f;font-weight:800}.inv-doc-number{margin:.15rem 0 .65rem;font-size:1.55rem;font-weight:800}.inv-doc-titleblock dl{margin:0}.inv-doc-titleblock dl div{display:flex;justify-content:flex-end;gap:.7rem;font-size:.86rem}.inv-doc-titleblock dt{color:#6b7280}.inv-doc-titleblock dd{margin:0;font-weight:650}.inv-doc-paid{display:inline-block;margin:.65rem 0 0;border:2px solid #067647;color:#067647;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:.2rem .55rem}.inv-doc-rule{height:4px;margin:1.2rem 0 1.15rem;background:linear-gradient(90deg,#c9a227,#1e3a5f)}.inv-doc-parties{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.25rem;gap:1.25rem;margin-bottom:1.25rem}.inv-doc-parties h2{margin:0 0 .35rem;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#6b7280}.inv-doc-parties p{margin:.15rem 0 0;font-size:.92rem}.inv-doc-name{font-weight:750;font-size:1.02rem!important}.inv-doc-items{width:100%;border-collapse:collapse;margin:.4rem 0 1rem}.inv-doc-items th{background:#1e3a5f;color:#fff;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;padding:.55rem .65rem;font-weight:700}.inv-doc-items td{padding:.55rem .65rem;border-bottom:1px solid #e5e7eb;font-size:.9rem}.inv-doc-items td:nth-child(3),.inv-doc-items td:nth-child(4),.inv-doc-items td:nth-child(5),.inv-doc-items th:nth-child(3),.inv-doc-items th:nth-child(4),.inv-doc-items th:nth-child(5){text-align:right;white-space:nowrap}.inv-doc-items td:nth-child(2),.inv-doc-items th:nth-child(2){text-align:center;color:#5b6b7c}.inv-doc-totals{display:flex;justify-content:flex-end;margin-bottom:1.6rem}.inv-doc-totals table{min-width:240px;border-collapse:collapse}.inv-doc-totals th{text-align:left;font-weight:600;color:#5b6b7c;padding:.28rem 1rem .28rem 0}.inv-doc-totals td{text-align:right;padding:.28rem 0}.inv-doc-grand td,.inv-doc-grand th{font-size:1.15rem;font-weight:800;color:#122033;border-top:2px solid #1e3a5f;padding-top:.55rem}.inv-doc-sign{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e5e7eb}.inv-doc-sign p{margin:0 0 .4rem;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#6b7280}.inv-doc-sign img{max-width:260px;height:auto;border-bottom:1px solid #c5ced8;background:transparent}.inv-doc-sign span{display:block;margin-top:.35rem;font-size:.8rem;color:#6b7280}.inv-doc-footer{margin-top:2.2rem;padding-top:.85rem;border-top:1px solid #e5e7eb;color:#6b7280;font-size:.82rem}.inv-doc-footer p{margin:.15rem 0 0}@media print{body,html{background:#fff!important}.inv-doc-page{background:#fff;padding:0;min-height:auto}.inv-doc-toolbar,.inv-send{display:none!important}.inv-doc-sheet{box-shadow:none;width:100%;min-height:auto;padding:0}@page{size:letter;margin:.5in}}@media (max-width:720px){.inv-doc-sheet{padding:1.25rem 1.1rem 1.5rem;min-height:auto}.inv-doc-letterhead,.inv-doc-parties{grid-template-columns:1fr;display:grid}.inv-doc-titleblock{text-align:left}.inv-doc-titleblock dl div{justify-content:flex-start}}.crm-modal__panel--schedule{width:min(560px,100%)}.sched-slot-label{font-size:.78rem;font-weight:700;margin-bottom:.45rem;color:var(--bos-text)}.sched-slot-clock{font-size:.68rem!important;color:var(--bos-muted)!important}.sched-slot-summary{margin:0;font-size:.88rem;color:var(--bos-muted)}.sched-slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(7.2rem,1fr));grid-gap:.45rem;gap:.45rem}.sched-slot{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--bos-border);border-radius:10px;background:#fff;padding:.55rem .5rem;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:.15rem;font:inherit;color:var(--bos-text)}.sched-slot strong{font-size:.92rem}.sched-slot span{font-size:.72rem;color:var(--bos-muted)}.sched-slot.is-free:hover:not(:disabled){border-color:var(--bos-accent-2);background:#eef5ff}.sched-slot.is-selected{border-color:var(--bos-accent-2);background:#e8f1ff;box-shadow:inset 0 0 0 1px var(--bos-accent-2)}.sched-slot.is-busy,.sched-slot:disabled{background:#f4f4f4;color:var(--bos-muted);cursor:not-allowed}.sched-board{display:flex;flex-direction:column;gap:.85rem}.sched-filters{display:flex;flex-wrap:wrap;gap:.4rem}.sched-filters button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--bos-border);background:#fff;border-radius:999px;padding:.35rem .75rem;font:inherit;font-size:.85rem;cursor:pointer;color:var(--bos-text)}.sched-filters button.active{background:var(--bos-text);color:#fff;border-color:var(--bos-text)}.sched-layout{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);grid-gap:.85rem;gap:.85rem;align-items:start}.sched-day-head,.sched-month-nav{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.sched-day-head h2{margin:0;font-size:1.15rem}.sched-day-head p{margin:.2rem 0 0;color:var(--bos-muted);font-size:.85rem}.sched-month-nav button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--bos-border);background:#fff;border-radius:8px;width:2rem;height:2rem;cursor:pointer;font-size:1.1rem}.sched-month-grid,.sched-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:.3rem;gap:.3rem}.sched-weekdays span{text-align:center;font-size:.72rem;font-weight:700;color:var(--bos-muted);padding:.2rem 0}.sched-day-cell{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--bos-border);background:#fff;border-radius:10px;min-height:3.2rem;padding:.35rem;display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;cursor:pointer;font:inherit;color:var(--bos-text)}.sched-day-cell.is-empty{border:none;background:transparent;min-height:0;pointer-events:none}.sched-day-cell.is-selected,.sched-day-cell.is-today{border-color:var(--bos-accent-2)}.sched-day-cell.is-selected{background:#eef5ff;box-shadow:inset 0 0 0 1px var(--bos-accent-2)}.sched-day-cell.is-past{opacity:.72}.sched-day-cell.has-jobs .sched-day-count{font-size:.7rem;font-weight:700;color:var(--bos-accent-2)}.sched-day-num{font-weight:700;font-size:.9rem}.sched-day-table-wrap{overflow:auto;max-width:100%}.sched-day-table{width:100%;border-collapse:collapse;font-size:.88rem}.sched-day-table td,.sched-day-table th{border:1px solid var(--bos-border);padding:.55rem .6rem;text-align:left;vertical-align:top}.sched-day-table thead th{background:#f7f8fa;font-size:.78rem;white-space:nowrap}.sched-day-table tbody th{width:4.5rem;white-space:nowrap;background:#fafbfc;font-weight:700}.sched-day-table td.is-free{color:#1f6b3a;background:#f1faf4}.sched-day-table td.is-busy{background:#fff7e8}.sched-day-table td.is-busy a{color:#5a3208;font-weight:600;text-decoration:none}.sched-day-table td.is-busy a:hover{text-decoration:underline}@media (max-width:900px){.sched-layout{grid-template-columns:1fr}}.field-home--map{display:flex;flex-direction:column;gap:.75rem;min-height:calc(100dvh - 7.5rem - env(safe-area-inset-bottom, 0px))}.field-day-board,.field-section--day{display:flex;flex-direction:column;flex:1 1;min-height:0;gap:.65rem}.field-day-board__clients{max-height:min(34vh,240px);overflow:auto;-webkit-overflow-scrolling:touch}.field-day-clients{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.field-day-client{display:flex;flex-direction:column;gap:.2rem;padding:.55rem .7rem;border:1px solid var(--bos-border);border-radius:12px;background:rgba(255,255,255,.92)}.field-day-client__main{display:grid;grid-template-columns:auto 1fr auto;grid-gap:.4rem;gap:.4rem;align-items:center;text-decoration:none;color:inherit}.field-day-client__time{font-size:.72rem;font-weight:700;color:var(--bos-muted);white-space:nowrap}.field-day-client__title{font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-day-client__addr{font-size:.8rem;color:var(--bos-accent-2);text-decoration:underline;text-underline-offset:2px;word-break:break-word}.field-day-client__addr--muted{color:var(--bos-muted);text-decoration:none}.field-day-client--busy{opacity:.85;background:#fff7e8}.field-day-map{position:relative;flex:1 1 auto;min-height:min(48vh,360px);height:min(48vh,360px);border:1px solid var(--bos-border);border-radius:14px;overflow:hidden;background:#e8eef5}.field-day-map__canvas{width:100%;height:100%;min-height:inherit}.field-day-map__empty{position:absolute;left:.75rem;right:.75rem;bottom:.75rem;margin:0;padding:.45rem .6rem;border-radius:10px;background:rgba(255,255,255,.92);font-size:.78rem;color:var(--bos-muted);pointer-events:none}.field-map-pin{background:transparent;border:0}.field-map-pin__dot{display:block;width:14px;height:14px;margin:4px;border-radius:50%;background:#1d4ed8;border:2px solid #fff;box-shadow:0 1px 4px rgba(15,23,42,.35)}.field-map-pin--focus .field-map-pin__dot{width:18px;height:18px;margin:4px;background:#ea580c}.field-map-popup{color:#0f172a;font-weight:700;text-decoration:none}.field-maps-link{color:var(--bos-accent-2);text-decoration:underline;text-underline-offset:2px;word-break:break-word}.field-day-map .leaflet-attribution-flag,.field-day-map .leaflet-control-attribution{display:none!important}@media (min-height:780px){.field-day-board__clients{max-height:min(30vh,280px)}.field-day-map{min-height:min(52vh,420px);height:min(52vh,420px)}}