.orders-mode .frd-calendar-entry{white-space:nowrap;flex-shrink:0;padding:3px 10px!important;font-size:12px!important;min-height:26px!important;border:0!important;border-radius:16px!important;color:var(--tg-link,#318fcd)!important;background:var(--tg-surface,#fff)!important}.frd-calendar-dialog{box-sizing:border-box;width:min(760px,calc(100vw - 20px));max-width:calc(100vw - 20px);max-height:88dvh;overflow:auto;padding:0!important;border:1px solid #cfdce7!important;border-radius:16px!important;background:#fff!important;color:#273c50!important;font:14px/1.4 Arial,sans-serif}.frd-calendar-dialog::backdrop{background:#071b2a88}.frd-calendar-dialog>header{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:inherit;z-index:2;padding:10px 16px;border-bottom:1px solid #dce5eb}.frd-calendar-dialog h2{font-size:18px;margin:0}.frd-calendar-dialog h3{font-size:15px;margin:10px 0}.frd-calendar-dialog button{min-height:34px!important;padding:6px 10px!important;margin:0!important;border:0!important;border-radius:8px!important;font-size:14px!important;color:#2586c8!important;background:#eef6fc!important;cursor:pointer}.frd-calendar-dialog header button{font-size:24px!important}.frd-calendar-body{padding:12px 16px}.frd-calendar-status{margin:0!important;padding:8px 16px!important;font-size:12px;color:#658196;position:sticky;bottom:0;background:inherit}.frd-calendar-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0}.frd-calendar-nav strong{flex:1;text-align:center}.frd-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.frd-calendar-grid>small{text-align:center;padding:4px}.frd-calendar-grid button{position:relative;min-height:32px!important}.frd-calendar-grid button[data-selected=true]{background:#278ace!important;color:#fff!important}.frd-calendar-count{display:block;font-size:10px}.frd-calendar-event{display:flex!important;flex-direction:column;align-items:flex-start;width:100%;text-align:left;margin:8px 0!important;gap:3px;overflow-wrap:anywhere}.frd-calendar-event small{font-size:12px}.frd-calendar-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.frd-calendar-form label{display:block!important;margin:0!important;font-size:13px}.frd-calendar-form input:not([type=checkbox]),.frd-calendar-form select{display:block;box-sizing:border-box;width:100%;min-width:0;min-height:38px!important;padding:7px!important;border-radius:8px!important;border:1px solid #ccdce6!important;background:#fff!important;color:#263c50!important;font-size:16px!important}.frd-calendar-form input[type=checkbox]{width:16px!important;height:16px!important;min-height:0!important;display:inline-block!important;margin-right:7px;vertical-align:middle}.frd-calendar-form fieldset{min-width:0;border:1px solid #dce7ee;border-radius:8px;padding:8px}.frd-calendar-form fieldset label{overflow-wrap:anywhere;margin:6px 0!important}.frd-calendar-form :disabled{opacity:.65}html[data-chat-theme=dark] .frd-calendar-dialog{background:#172430!important;color:#d7e5ef!important;border-color:#334b5c!important}html[data-chat-theme=dark] .frd-calendar-dialog button{background:#263c4d!important;color:#6ab8ed!important}html[data-chat-theme=dark] .frd-calendar-grid button[data-selected=true]{background:#246597!important;color:#fff!important}html[data-chat-theme=dark] .frd-calendar-form input:not([type=checkbox]),html[data-chat-theme=dark] .frd-calendar-form select{background:#213644!important;color:#d7e5ef!important;border-color:#446078!important}.erp-work-role{display:inline-flex!important;align-items:center;gap:5px;margin:5px 12px 5px 0!important;font-size:14px}.erp-work-role input{width:16px!important;min-height:0!important}.orders-mode .frd-order-schedule{margin-left:auto!important;font-size:12px!important;padding:5px 8px!important;min-height:28px!important}@media(max-width:550px){.frd-calendar-body{padding:8px}.frd-calendar-form{grid-template-columns:1fr}.frd-calendar-dialog>header{padding:8px}.frd-calendar-grid{gap:3px}.frd-calendar-nav{gap:4px}.frd-calendar-nav strong{font-size:13px}.frd-calendar-grid button{min-height:32px!important}.frd-calendar-dialog{max-height:90dvh}}
.orders-mode #erp-sales-strip .frd-calendar-entry{background-image:none!important;box-shadow:none!important}.orders-mode #erp-sales-strip .calendar-measurement{color:#d69a29!important;background:#d69a2914!important}.orders-mode #erp-sales-strip .calendar-supply{color:#aa7ad0!important;background:#aa7ad014!important}.orders-mode #erp-sales-strip .calendar-installation{color:#52aa8b!important;background:#52aa8b14!important}
/* ERP 17.08 — Google Calendar layout, existing order cards. */
.frd-calendar-dialog.frd-google-calendar{width:min(1200px,calc(100vw - 24px));height:90dvh;max-height:90dvh;display:flex;flex-direction:column;overflow:hidden;border-radius:24px!important;font-family:Arial,sans-serif}.frd-google-calendar .frd-calendar-body{padding:0 12px 8px;display:flex;flex:1;min-height:0;flex-direction:column}.frd-google-calendar>header{position:static;flex-shrink:0;border-bottom:0;padding:12px 20px}.frd-google-calendar .frd-calendar-status{position:static;flex-shrink:0;padding:4px 16px!important}.frd-gcal-toolbar{display:flex;align-items:center;gap:8px;flex-shrink:0;padding:6px 10px 16px}.frd-gcal-toolbar strong{font-size:20px;font-weight:500;flex:1}.frd-gcal-toolbar select,.frd-gcal-toolbar input{width:auto;min-width:0;font-size:16px!important;min-height:34px;padding:6px 10px;border:1px solid #dadce0;border-radius:18px;background:transparent;color:inherit}.frd-gcal-toolbar input{display:none}.frd-gcal-layout{display:grid;grid-template-columns:200px minmax(0,1fr);flex:1;min-height:0;gap:16px}.frd-gcal-sidebar{padding:0 8px;overflow:auto}.frd-gcal-sidebar h3{font-size:14px;text-transform:capitalize;margin:6px 0 16px}.frd-gcal-mini{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;text-align:center}.frd-calendar-dialog .frd-gcal-mini button{min-height:26px!important;width:26px;padding:3px!important;font-size:12px!important;border-radius:50%!important;background:transparent!important;color:inherit!important}.frd-gcal-mini small{font-size:10px;color:#70757a;padding:5px 0}.frd-gcal-mini button[data-selected=true]{background:#d3e3fd!important;color:#0842a0!important}.frd-gcal-mini button[data-today=true]{background:#0b57d0!important;color:#fff!important}.frd-gcal-mini button[data-outside=true],.frd-gcal-month-cell[data-outside=true]{opacity:.45}.frd-gcal-zone{font-size:11px;color:#70757a}.frd-gcal-kind{font-size:13px;border-left:4px solid #4285f4;padding-left:8px}.frd-gcal-main{margin:0!important;padding:0!important;min-width:0;min-height:0;border:1px solid #dadce0!important;border-radius:16px;overflow:hidden}.frd-gcal-time-frame{height:100%;display:flex;min-height:0;flex-direction:column}.frd-gcal-days{display:grid;grid-template-columns:54px repeat(var(--days),minmax(0,1fr));flex-shrink:0;padding-right:12px;border-bottom:1px solid #dadce0;min-height:72px}.frd-gcal-days>small{align-self:end;font-size:10px;text-align:center;padding-bottom:8px;color:#70757a}.frd-gcal-day{text-align:center;padding:6px 0;color:#70757a}.frd-gcal-day small{display:block;text-transform:uppercase;font-size:11px}.frd-gcal-day strong{display:inline-flex;justify-content:center;align-items:center;border-radius:50%;font-size:25px;font-weight:400;width:42px;height:42px;margin-top:3px;color:inherit}.frd-gcal-day[data-today=true]{color:#0b57d0}.frd-gcal-day[data-today=true] strong{background:#0b57d0;color:#fff}.frd-gcal-time-scroll{overflow:auto;flex:1;min-height:0;overscroll-behavior:contain;touch-action:pan-x pan-y}.frd-gcal-timeline{display:grid;grid-template-columns:54px repeat(var(--days),minmax(0,1fr));height:1484px;position:relative}.frd-gcal-axis{position:sticky;left:0;background:#fff;z-index:2}.frd-gcal-axis span{position:absolute;right:8px;font-size:10px;color:#70757a;transform:translateY(-5px)}.frd-gcal-axis span:first-child{transform:none}.frd-gcal-time-column{position:relative;border-left:1px solid #dadce0;background:repeating-linear-gradient(to bottom,#dadce0 0px,#dadce0 1px,transparent 1px,transparent 30px,#edf0f3 30px,#edf0f3 31px,transparent 31px,transparent 60px)}.frd-calendar-dialog .frd-gcal-time-event{position:absolute;box-sizing:border-box;height:42px;min-height:15px!important;padding:4px 6px!important;border-radius:5px!important;background:#d3e3fd!important;color:#0842a0!important;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:2px;overflow:hidden;z-index:1;line-height:15px!important;font-size:11px!important;border-left:3px solid #4285f4!important}.frd-gcal-time-event strong,.frd-gcal-time-event span{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.frd-calendar-dialog .frd-gcal-time-event.kind-installation,.frd-calendar-dialog .frd-gcal-month-event.kind-installation{background:#ceead6!important;color:#0d652d!important;border-left-color:#34a853!important}.frd-calendar-dialog .frd-gcal-time-event.kind-measurement,.frd-calendar-dialog .frd-gcal-month-event.kind-measurement{background:#feefc3!important;color:#6b4e00!important;border-left-color:#fbbc04!important}.frd-calendar-dialog .frd-gcal-time-event.kind-supply,.frd-calendar-dialog .frd-gcal-month-event.kind-supply{background:#e9d2fd!important;color:#681da8!important;border-left-color:#a142f4!important}.frd-gcal-time-event[data-status=cancelled]{opacity:.5;text-decoration:line-through}.frd-gcal-now{position:absolute;left:0;right:0;border-top:2px solid #ea4335;pointer-events:none;z-index:3}.frd-gcal-now:before{content:'';position:absolute;left:-4px;top:-5px;width:8px;height:8px;background:#ea4335;border-radius:50%}.frd-gcal-month{height:100%;overflow:auto;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:24px;grid-auto-rows:minmax(95px,1fr)}.frd-gcal-month>small{text-align:center;padding:5px;font-size:11px;color:#70757a}.frd-gcal-month-cell{border-top:1px solid #dadce0;border-right:1px solid #dadce0;min-width:0;padding:2px}.frd-calendar-dialog .frd-gcal-month-cell>button:first-child{background:transparent!important;color:inherit!important;min-height:28px!important;border-radius:50%!important;margin:0 auto!important;display:block;padding:4px!important;font-size:12px!important;width:28px}.frd-calendar-dialog .frd-gcal-month-cell>button[data-today=true]:first-child{background:#0b57d0!important;color:#fff!important}.frd-calendar-dialog .frd-gcal-month-event{width:100%;padding:2px 3px!important;margin:2px 0!important;min-height:26px!important;border-radius:4px!important;font-size:10px!important;line-height:12px!important;text-align:left;overflow:hidden}.frd-gcal-month-event span{display:none}.frd-gcal-month-event strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[data-chat-theme=dark] .frd-google-calendar{background:#1f1f1f!important;color:#e3e3e3!important;border-color:#444746!important}html[data-chat-theme=dark] .frd-gcal-main,html[data-chat-theme=dark] .frd-gcal-days,html[data-chat-theme=dark] .frd-gcal-month-cell,html[data-chat-theme=dark] .frd-gcal-time-column{border-color:#444746!important}html[data-chat-theme=dark] .frd-gcal-axis{background:#1f1f1f}html[data-chat-theme=dark] .frd-gcal-time-column{background:repeating-linear-gradient(to bottom,#444746 0px,#444746 1px,transparent 1px,transparent 30px,#303333 30px,#303333 31px,transparent 31px,transparent 60px)}html[data-chat-theme=dark] .frd-gcal-toolbar select,html[data-chat-theme=dark] .frd-gcal-toolbar input{color:#e3e3e3;border-color:#747775;background:#1f1f1f}html[data-chat-theme=dark] .frd-gcal-day,html[data-chat-theme=dark] .frd-gcal-zone,html[data-chat-theme=dark] .frd-gcal-axis span{color:#b8bcbc}html[data-chat-theme=dark] .frd-gcal-mini button{background:transparent!important;color:#e3e3e3!important}html[data-chat-theme=dark] .frd-gcal-mini button[data-selected=true]{background:#0842a0!important;color:#d3e3fd!important}html[data-chat-theme=dark] .frd-gcal-mini button[data-today=true]{background:#a8c7fa!important;color:#003355!important}
@media(max-width:650px){.frd-calendar-dialog.frd-google-calendar{width:calc(100vw - 12px);max-width:calc(100vw - 12px);height:92dvh;max-height:92dvh;border-radius:16px!important}.frd-google-calendar>header{padding:8px 12px}.frd-google-calendar h2{font-size:16px}.frd-google-calendar .frd-calendar-body{padding:0 5px 5px}.frd-gcal-layout{grid-template-columns:minmax(0,1fr);gap:0}.frd-gcal-sidebar{display:none}.frd-gcal-toolbar{flex-wrap:wrap;gap:5px;padding:4px 4px 8px}.frd-gcal-toolbar strong{font-size:15px;min-width:140px}.frd-gcal-toolbar input{display:block;max-width:145px;flex:1;padding:4px;min-height:32px}.frd-gcal-toolbar select{font-size:14px!important;min-height:32px;padding:4px 8px}.frd-gcal-days{grid-template-columns:42px repeat(var(--days),minmax(0,1fr));min-height:65px;padding-right:0}.frd-gcal-timeline{grid-template-columns:42px repeat(var(--days),minmax(0,1fr))}.frd-gcal-day strong{font-size:20px;width:35px;height:35px}.frd-gcal-day small{font-size:9px}.frd-gcal-month{grid-auto-rows:minmax(75px,1fr)}.frd-calendar-dialog .frd-gcal-month-event{font-size:9px!important}.frd-gcal-main{border-radius:10px}.frd-gcal-time-event span{font-size:10px}}

.frd-google-calendar .frd-gcal-day[data-today=true] strong{color:#fff!important}.frd-gcal-kind.kind-measurement{border-color:#fbbc04}.frd-gcal-kind.kind-supply{border-color:#a142f4}.frd-gcal-kind.kind-installation{border-color:#34a853}

.frd-gcal-time-event{cursor:pointer}.frd-calendar-dialog .frd-gcal-resize{position:absolute;left:0;right:0;width:100%;height:8px!important;min-height:8px!important;padding:0!important;background:transparent!important;border-radius:0!important;cursor:ns-resize;touch-action:none;z-index:4}.frd-gcal-resize.start{top:0}.frd-gcal-resize.end{bottom:0}.frd-gcal-resize:after{content:'';display:block;margin:2px auto;width:24px;height:3px;border-radius:3px;background:currentColor;opacity:.5}.frd-gcal-time-event[data-dragging=true]{opacity:.8;z-index:5}.frd-gcal-draft{outline:2px dashed #4285f4;z-index:6!important;overflow:visible!important}.frd-calendar-dialog .frd-gcal-create{font-size:11px!important;min-height:20px!important;padding:1px 6px!important;margin:4px 0!important}.frd-calendar-body>select{max-width:100%;font-size:16px}.frd-gcal-time-column{cursor:crosshair}

.frd-calendar-dialog .frd-gcal-resize{color:inherit!important;box-shadow:none!important;border:0!important;margin:0!important}.frd-gcal-time-event strong{color:inherit!important}
html[data-chat-theme=dark] .frd-calendar-dialog .frd-gcal-resize{background:transparent!important;color:inherit!important}

/* Horizontal period swipes; native vertical scrolling. */
.frd-gcal-main,.frd-gcal-main .frd-gcal-time-scroll,.frd-gcal-month{touch-action:pan-y pinch-zoom}.frd-gcal-main{user-select:none}

/* ERP 17.11 — compact period switch and today icon. */
.frd-google-calendar>header{gap:8px}.frd-google-calendar>header h2{flex:1;min-width:0}
.frd-calendar-dialog .frd-gcal-today{position:relative;width:34px;height:34px;min-height:34px!important;padding:5px!important;flex-shrink:0;display:grid;place-items:center;border-radius:10px!important}
.frd-gcal-today svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.frd-gcal-today span{position:absolute;top:16px;left:0;right:0;text-align:center;font:700 9px/1 Arial,sans-serif}
.frd-gcal-views{display:flex;gap:3px;flex-shrink:0;padding:3px;border-radius:12px;background:#edf2f7}
.frd-calendar-dialog .frd-gcal-views button{min-height:30px!important;padding:5px 12px!important;background:transparent!important;color:#647589!important;font-size:13px!important;border-radius:9px!important;transition:background .15s,color .15s,box-shadow .15s}
.frd-calendar-dialog .frd-gcal-views button[aria-pressed=true]{background:#fff!important;color:#0b57d0!important;box-shadow:0 1px 4px #20344820}
html[data-chat-theme=dark] .frd-gcal-views{background:#30383f}html[data-chat-theme=dark] .frd-calendar-dialog .frd-gcal-views button{background:transparent!important;color:#b8c7d3!important}html[data-chat-theme=dark] .frd-calendar-dialog .frd-gcal-views button[aria-pressed=true]{background:#425466!important;color:#b9dcff!important}
.frd-gcal-views button:focus-visible,.frd-gcal-today:focus-visible{outline:2px solid #4285f4;outline-offset:2px}
@media(max-width:650px){.frd-gcal-toolbar strong{font-size:13px;min-width:110px}.frd-gcal-toolbar input{flex:0 1 116px;max-width:116px}.frd-gcal-toolbar>button{width:28px;min-height:30px!important;padding:3px!important}.frd-gcal-views{flex-basis:100%;justify-content:center}.frd-calendar-dialog .frd-gcal-views button{flex:1}.frd-gcal-today{margin-left:auto!important}}

/* ERP 17.12 — source context, coloured choices and background calendars. */
.frd-calendar-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px 0}
.frd-calendar-dialog .frd-calendar-choice{min-height:70px!important;font-weight:600;border-left:4px solid!important;background:#f6f8fa!important}
.frd-calendar-dialog .frd-calendar-choice.kind-measurement{color:#946500!important;border-color:#fbbc04!important;background:#fff6d9!important}
.frd-calendar-dialog .frd-calendar-choice.kind-supply{color:#8240b0!important;border-color:#a142f4!important;background:#f3e5ff!important}
.frd-calendar-dialog .frd-calendar-choice.kind-installation{color:#24844a!important;border-color:#34a853!important;background:#e5f6eb!important}
.frd-calendar-contacts{white-space:pre-line;font-size:13px;color:#658196;overflow-wrap:anywhere;margin:4px 0 12px}
.frd-calendar-source-link{margin:8px 0}
.frd-calendar-form textarea{box-sizing:border-box;display:block;width:100%;resize:vertical;min-height:70px;font:16px/1.4 Arial,sans-serif;border:1px solid #b9cbd8;border-radius:8px;padding:8px;background:transparent;color:inherit}
.frd-calendar-form label:has(textarea){grid-column:1/-1}
.frd-gcal-related-switch{display:flex!important;align-items:center;gap:5px;font-size:11px;white-space:nowrap;color:#70757a;margin:0!important}
.frd-gcal-related-switch input{display:inline-block!important;min-height:0!important;width:14px!important;height:14px!important;margin:0!important;flex:none!important}
.frd-calendar-dialog .frd-gcal-time-event[data-related=true]{opacity:.24;z-index:0;border-style:dashed!important}
.frd-calendar-dialog .frd-gcal-month-event[data-related=true]{opacity:.28}
.frd-calendar-dialog [data-related=true]:hover,.frd-calendar-dialog [data-related=true]:focus-visible{opacity:.65}
.frd-gcal-legend-related{opacity:.4}
html[data-chat-theme=dark] .frd-calendar-card,html[data-chat-theme=dark] .frd-calendar-dialog:has(.frd-calendar-choices){background:#17212b!important;color:#dce7ef!important;border-color:#3b4b59!important}
html[data-chat-theme=dark] .frd-calendar-card input:not([type=checkbox]),html[data-chat-theme=dark] .frd-calendar-card select,html[data-chat-theme=dark] .frd-calendar-card textarea{background:#22303d!important;color:#dce7ef!important;border-color:#405361!important}
html[data-chat-theme=dark] .frd-calendar-contacts,html[data-chat-theme=dark] .frd-gcal-related-switch{color:#9eb1c1}
@media(max-width:650px){.frd-calendar-choices{gap:6px}.frd-calendar-dialog .frd-calendar-choice{font-size:12px!important;padding:6px!important}.frd-gcal-related-switch{flex:1}.frd-calendar-dialog .frd-gcal-source-card{font-size:11px!important;min-height:26px!important;padding:3px 7px!important}}
.orders-mode .erp-message-action-calendar{border:0!important;background:transparent!important;box-shadow:none!important;color:var(--tg-link,#62b0ec)!important;border-radius:0!important}
.frd-gcal-toolbar{flex-wrap:wrap}.frd-calendar-source-link button{font-size:12px!important}.frd-calendar-card .frd-calendar-events[hidden]{display:none!important}
