html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}:root{--ecoct-blue: #003e52;--ecoct-blue-hover: #002f3f;--ecoct-green: #44ac3b;--ecoct-lime: #9bc335;--app-text: #173342;--app-text-muted: rgba(23, 51, 66, .68);--app-bg-radial-start: rgba(155, 195, 53, .28);--app-bg-gradient-lime: rgba(155, 195, 53, .2);--app-bg-gradient-green: rgba(68, 172, 59, .12);--app-bg-gradient-blue: rgba(0, 62, 82, .14);--app-bg-base-start: #f8fbf6;--app-bg-base-end: #eef5f2;--app-bg: radial-gradient(circle at top left, var(--app-bg-radial-start), transparent 34%), linear-gradient( 135deg, var(--app-bg-gradient-lime) 0%, var(--app-bg-gradient-green) 34%, var(--app-bg-gradient-blue) 100% ), linear-gradient(180deg, var(--app-bg-base-start) 0%, var(--app-bg-base-end) 100%);--app-sider-bg: rgba(255, 255, 255, .9);--app-header-bg: rgba(255, 255, 255, .7);--app-surface-bg: rgba(255, 255, 255, .88);--app-surface-soft: rgba(0, 62, 82, .05);--app-border: rgba(0, 62, 82, .14);--app-shadow: 0 18px 50px rgba(0, 62, 82, .1);--app-calendar-neutral: rgba(0, 62, 82, .05);--app-calendar-today: rgba(68, 172, 59, .16);--app-calendar-cell-bg: rgba(255, 255, 255, .56);--app-calendar-header-bg: rgba(0, 62, 82, .06);--app-calendar-muted: rgba(23, 51, 66, .58);--app-calendar-more-bg: #1b3a49;--app-calendar-more-text: #ffffff;--app-calendar-active-bg: #2f8f2b;--app-calendar-active-border: #1f6f25;--app-calendar-active-text: #ffffff;--app-calendar-event-text: #ffffff;--reservation-confirmed: #44ac3b;--reservation-completed: #6b7280;--reservation-cancelled: #b91c1c;--app-selection-outline: #007a5e;--app-selection-shadow: rgba(0, 122, 94, .28);--slot-available: #0f766e;--slot-complete: #475569;--slot-blocked: #c2410c;--slot-deleted: #6d28d9;--app-theme-transition-duration: .22s;--app-theme-transition-easing: ease;--app-layout-transition-duration: .26s;--app-layout-transition-easing: cubic-bezier(.2, 0, 0, 1);color:var(--app-text);background:var(--app-bg);background-attachment:fixed;font-family:IBM Plex Sans,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}:root:has(.app-shell[data-theme=dark]){--app-text: #d7e2ea;--app-text-muted: rgba(215, 226, 234, .82);--app-bg-radial-start: rgba(68, 172, 59, .22);--app-bg-radial-end: rgba(0, 62, 82, .42);--app-bg-base-start: #07141d;--app-bg-base-end: #0b1822;--app-bg: radial-gradient(circle at top left, var(--app-bg-radial-start), transparent 28%), radial-gradient(circle at top right, var(--app-bg-radial-end), transparent 24%), linear-gradient(180deg, var(--app-bg-base-start) 0%, var(--app-bg-base-end) 100%);--app-sider-bg: rgba(4, 10, 15, .82);--app-header-bg: rgba(6, 16, 24, .5);--app-surface-bg: rgba(10, 20, 29, .78);--app-surface-soft: rgba(255, 255, 255, .04);--app-border: rgba(255, 255, 255, .08);--app-shadow: 0 18px 50px rgba(0, 0, 0, .22);--app-calendar-neutral: rgba(255, 255, 255, .08);--app-calendar-today: rgba(68, 172, 59, .24);--app-calendar-cell-bg: rgba(255, 255, 255, .035);--app-calendar-header-bg: rgba(255, 255, 255, .075);--app-calendar-muted: rgba(215, 226, 234, .64);--app-calendar-more-bg: #1b3a49;--app-calendar-more-text: #ffffff;--app-calendar-active-bg: #9bc335;--app-calendar-active-border: #c6ed5e;--app-calendar-active-text: #07141d;--app-calendar-event-text: #ffffff;--reservation-confirmed: #267d2d;--reservation-completed: #4b5563;--reservation-cancelled: #8f2525;--app-selection-outline: #7ee2bd;--app-selection-shadow: rgba(126, 226, 189, .42);--slot-available: #0f766e;--slot-complete: #334155;--slot-blocked: #c2410c;--slot-deleted: #6d28d9}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-height:100vh;background:inherit;background-attachment:fixed;overflow-x:hidden}#root{min-height:100vh}button,input{font:inherit}.app-shell,.app-sider,.app-content,.app-header,.surface-block,.sider-card,.fc,.ant-card,.ant-layout,.ant-typography,.ant-btn,.ant-input,.ant-picker,.ant-select-selector,.ant-breadcrumb,.ant-tag{transition:background-color var(--app-theme-transition-duration) var(--app-theme-transition-easing),background var(--app-theme-transition-duration) var(--app-theme-transition-easing),border-color var(--app-theme-transition-duration) var(--app-theme-transition-easing),box-shadow var(--app-theme-transition-duration) var(--app-theme-transition-easing),color var(--app-theme-transition-duration) var(--app-theme-transition-easing),fill var(--app-theme-transition-duration) var(--app-theme-transition-easing)}.app-shell{min-height:100vh;background:transparent}.app-sider{padding:24px 16px;background:var(--app-sider-bg)!important;border-right:1px solid var(--app-border);overflow:hidden;transition:width var(--app-layout-transition-duration) var(--app-layout-transition-easing),min-width var(--app-layout-transition-duration) var(--app-layout-transition-easing),max-width var(--app-layout-transition-duration) var(--app-layout-transition-easing),flex-basis var(--app-layout-transition-duration) var(--app-layout-transition-easing),padding var(--app-layout-transition-duration) var(--app-layout-transition-easing),background-color var(--app-theme-transition-duration) var(--app-theme-transition-easing),background var(--app-theme-transition-duration) var(--app-theme-transition-easing),border-color var(--app-theme-transition-duration) var(--app-theme-transition-easing)}.app-sider .ant-layout-sider-children{transition:width var(--app-layout-transition-duration) var(--app-layout-transition-easing),opacity var(--app-layout-transition-duration) var(--app-layout-transition-easing)}.app-sider.ant-layout-sider-collapsed .brand{padding-inline:4px}.app-sider.ant-layout-sider-collapsed .brand__row{justify-content:center;flex-direction:column;gap:14px}.app-sider.ant-layout-sider-collapsed .brand__row .ant-btn-text{padding:0}.brand{padding:8px 12px 20px;transition:padding var(--app-layout-transition-duration) var(--app-layout-transition-easing)}.brand__row{display:flex;align-items:center;justify-content:space-between;gap:12px;transition:gap var(--app-layout-transition-duration) var(--app-layout-transition-easing),justify-content var(--app-layout-transition-duration) var(--app-layout-transition-easing)}.brand__logo{display:block;width:min(160px,100%);height:auto;transition:width var(--app-layout-transition-duration) var(--app-layout-transition-easing)}.app-sider.ant-layout-sider-collapsed .brand__logo{width:76px}.brand__content{min-height:92px;padding-top:18px;overflow:hidden;opacity:0;transform:translateY(4px);transition:opacity .16s ease,transform .16s ease}.brand__content--visible{opacity:1;transform:translateY(0)}.brand__content .ant-typography{margin-top:0}.brand__eyebrow,.eyebrow{display:block;margin-bottom:8px;color:var(--ecoct-green);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em}.brand__row .ant-btn-text{color:var(--app-text);height:auto;padding:0 6px;line-height:1}.sider-card{margin-top:24px;padding:16px;border-radius:18px;background:var(--app-surface-soft);display:grid;gap:12px}.side-nav{display:grid;gap:8px;padding:8px 4px}.side-nav .ant-btn{text-align:left;justify-content:flex-start}.side-nav__button{min-height:40px}.side-nav__children{display:grid;gap:4px;margin:-2px 0 4px 20px;padding-left:12px;border-left:1px solid var(--app-border)}.side-nav__child{min-height:34px;padding-inline:12px;color:var(--app-text-muted)}.side-nav__child.ant-btn-link{color:var(--ecoct-blue);font-weight:600;background:var(--app-surface-soft);border-radius:8px}.side-nav__child.ant-btn-link:hover{color:var(--ecoct-green);background:var(--app-surface-soft)}:root:has(.app-shell[data-theme=dark]) .side-nav__child.ant-btn-link{color:var(--ecoct-lime)}.app-sider.ant-layout-sider-collapsed .side-nav{padding-inline:0}.app-sider.ant-layout-sider-collapsed .side-nav__button{justify-content:center;padding-inline:0}.mobile-menu-button{display:none}.app-content{min-width:0;background:transparent}.app-header{height:auto;line-height:1.3;padding:24px 32px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;background:var(--app-header-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--app-border)}.header-leading,.app-header>.ant-space:last-child{min-width:0}.header-leading>.ant-space:last-child{min-width:0}.header-user{color:var(--app-text);font-weight:600}.header-subtitle{font-size:.92rem}.calendar-event--selected{outline:3px solid var(--app-selection-outline);outline-offset:1px;box-shadow:0 0 0 2px var(--app-selection-shadow)}.header-role{text-transform:capitalize}.app-loading{min-height:280px;display:grid;place-items:center;align-content:center;gap:16px}.app-header .ant-space-item .ant-btn-text{color:var(--app-text)}.app-main{min-width:0;padding:28px 32px 40px}.app-footer{padding:0 32px 24px;text-align:center;background:transparent}.app-footer .ant-typography{color:var(--app-text-muted);font-size:.84rem}.app-footer a{color:var(--ecoct-blue);font-weight:700;text-decoration:none}:root:has(.app-shell[data-theme=dark]) .app-footer a{color:var(--ecoct-lime)}.app-footer a:hover{text-decoration:underline}.app-main-inner{width:min(1180px,100%);min-width:0;margin:0 auto;display:grid;gap:24px}.app-main-inner>.ant-space,.po-page,.po-page>.ant-space-item,.po-page .ant-card{min-width:0;max-width:100%}.po-page>.ant-space-item{width:100%}.po-page .ant-card-body{min-width:0}.surface-block,.slots-page .ant-tabs .ant-card{border:1px solid var(--app-border);background:var(--app-surface-bg)!important;box-shadow:var(--app-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.panel{border-radius:22px}.panel .ant-card-head{border-bottom-color:var(--app-border)}.panel .ant-card-head-title{font-size:1rem;font-weight:700}.hero-copy,.section-copy{color:var(--app-text-muted)}.auth-grid,.dashboard-grid{display:grid;gap:24px}.dashboard-layout{display:grid;gap:28px;grid-template-columns:minmax(0,1fr) minmax(220px,280px);align-items:start}.dashboard-layout__calendar,.dashboard-layout__kpis{min-width:0}.dashboard-layout__kpis .metrics-groups{gap:12px}.dashboard-layout__kpis .metrics-grid{grid-template-columns:minmax(0,1fr);gap:8px}.dashboard-layout__kpis .metric-card .ant-card-body{min-height:56px;padding:8px 10px}.dashboard-layout__kpis .metric-label{font-size:.64rem}.dashboard-layout__kpis .metric-value.ant-typography{font-size:clamp(1.2rem,1.8vw,1.55rem)}.panel--summary .ant-card-body{padding:22px 24px}.auth-grid{grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);align-items:start}.panel--hero{padding:10px}.panel--hero .ant-card-body,.panel--form .ant-card-body{padding:24px}.form-hint{display:block;margin-bottom:14px}.auth-form__recovery{display:flex;justify-content:center;width:100%;margin-top:8px}.auth-form__secondary{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:8px}.auth-form__secondary .auth-form__back{margin:0}.auth-form__hint{text-align:center}.hero-tags{margin-top:8px}.panel--form .ant-card-head-title{font-size:1.1rem}.metrics-grid{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.metrics-groups{display:grid;gap:24px}.metrics-group{display:grid;gap:10px}.metrics-group__title{color:var(--app-text-muted);font-size:.72rem;font-weight:700;letter-spacing:.07em;line-height:1.2;text-transform:uppercase}.metrics-grid--1{grid-template-columns:minmax(0,1fr)}.metrics-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.metrics-grid--5{grid-template-columns:repeat(5,minmax(0,1fr))}.metric-card .ant-card-body{display:flex;flex-direction:column;gap:8px;justify-content:space-between;min-height:84px;padding:12px 14px;position:relative;overflow:hidden}.metric-card:before{background:var(--metric-accent, var(--ecoct-blue));content:"";height:3px;inset:0 0 auto;position:absolute;z-index:1}.metric-card:nth-child(2):before{--metric-accent: var(--ecoct-green)}.metric-card:nth-child(3):before{--metric-accent: var(--slot-blocked)}.metric-card:nth-child(4):before{--metric-accent: var(--ecoct-lime)}.metric-card:nth-child(5):before{--metric-accent: var(--ecoct-blue)}.metric-preview-mark{color:var(--app-text-muted);font-size:.64rem;font-weight:700;letter-spacing:.08em;line-height:1;bottom:14px;position:absolute;right:16px;text-transform:uppercase}.metric-label{color:var(--app-text-muted);font-size:.72rem;font-weight:700;letter-spacing:.07em;line-height:1.2;text-transform:uppercase}.metric-value.ant-typography{color:var(--app-text);font-size:clamp(1.65rem,2.4vw,2.15rem);font-weight:700;letter-spacing:-.04em;line-height:1}.panel--calendar .ant-card-body{padding-top:20px}.panel--calendar .section-copy{margin-top:0;margin-bottom:16px}.slots-page>.ant-tabs{margin-top:0}.slots-page{display:flex;flex-direction:column;gap:20px}.embedded-filters{width:100%;min-width:0;display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-end;margin-bottom:16px}.embedded-filter-field{display:inline-flex;flex:1 1 220px;flex-direction:column;gap:5px;min-width:180px;max-width:280px;color:var(--app-text-muted);font-size:12px;font-weight:700}.embedded-filter-field .ant-select,.embedded-filter-field .ant-input{width:100%}.embedded-filter-actions{display:flex;flex-wrap:wrap;gap:8px;margin-inline-start:auto}.po-page .ant-btn,.po-drawer .ant-btn,.po-modal .ant-btn{min-height:36px;padding-inline:16px}.po-page .ant-btn.ant-btn-sm,.po-drawer .ant-btn.ant-btn-sm,.po-modal .ant-btn.ant-btn-sm{min-height:32px;padding-inline:14px}.po-table-container{min-width:0;width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden}.reservations-page,.reservations-page>.ant-space,.reservations-page>.ant-space>.ant-space-item,.reservation-register-card,.reservation-register-card .ant-card-body,.reservation-table-scroll{min-width:0;width:100%;max-width:100%}.reservation-table-scroll{overflow-x:auto;overflow-y:hidden}.reservation-table .ant-table-content>table{background:var(--ant-color-bg-container)}.reservation-table .ant-table-cell-fix-start,.reservation-table .ant-table-cell-fix-end{background:var(--ant-color-bg-container)!important;z-index:2}.reservation-table .ant-table-cell-fix-end,.reservation-table-actions{white-space:nowrap}.po-action-button .anticon{font-size:16px}.po-info-alert.ant-alert-info{background:#e6f4ff;border-color:#91caff;color:#003eb3}.po-info-alert.ant-alert-info .ant-alert-message,.po-info-alert.ant-alert-info .ant-alert-description{color:#003eb3}.po-info-alert.ant-alert-info .ant-alert-icon{color:#1677ff}:root:has(.app-shell[data-theme=dark]) .po-info-alert.ant-alert-info{background:#1677ff29;border-color:#91caff80;color:#d6e4ff}:root:has(.app-shell[data-theme=dark]) .po-info-alert.ant-alert-info .ant-alert-message,:root:has(.app-shell[data-theme=dark]) .po-info-alert.ant-alert-info .ant-alert-description{color:#d6e4ff}.mobile-nav-drawer .side-nav{padding-inline:0}.drawer-error{margin-bottom:20px}.duplicate-po-info.ant-alert{margin-bottom:16px}.po-import-summary.ant-alert{margin-bottom:0}.calendar-shell{overflow:auto}.calendar-view{position:relative;min-width:0}.calendar-view__loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;min-height:120px;color:var(--app-text);background:color-mix(in srgb,var(--app-surface-bg) 76%,transparent);font-weight:700;pointer-events:all}.fc{display:flex;flex-direction:column;min-width:0;--fc-border-color: var(--app-border);--fc-page-bg-color: transparent;--fc-neutral-bg-color: var(--app-calendar-neutral);--fc-today-bg-color: var(--app-calendar-today);--fc-event-text-color: var(--app-calendar-event-text);color:var(--app-text)}.fc .fc-toolbar-title{font-size:1.2rem}.slot-time-field{display:inline-flex;flex-direction:column;gap:4px}.slot-time-field .ant-input{cursor:pointer}.slot-time-field>span{color:var(--app-text-muted);font-size:12px;font-weight:600}.fc .fc-col-header-cell,.fc .fc-timegrid-axis,.fc .fc-scrollgrid-section-sticky>*{background:var(--app-calendar-header-bg)}.fc .fc-daygrid-day,.fc .fc-timegrid-slot,.fc .fc-timegrid-col{background:var(--app-calendar-cell-bg)}.fc .fc-timegrid-slot{height:2em}.fc .fc-daygrid-day-number,.fc .fc-col-header-cell-cushion,.fc .fc-timegrid-slot-label-cushion{color:var(--app-text)}.fc .fc-day-other .fc-daygrid-day-number,.fc .fc-timegrid-slot-label{color:var(--app-calendar-muted)}.fc .fc-more-link{display:inline-block;color:var(--app-calendar-more-text);background:var(--app-calendar-more-bg);border:1px solid var(--app-border);border-radius:4px;padding:0 4px;font-weight:700}.fc .fc-more-link:hover{color:var(--ecoct-green)}.calendar-legend .calendar-legend-tag{color:#fff;border-color:transparent;font-weight:700}.calendar-legend .calendar-legend-tag--available{background:var(--slot-available)}.calendar-legend .calendar-legend-tag--confirmed{background:var(--reservation-confirmed)}.calendar-legend .calendar-legend-tag--complete{background:var(--slot-complete)}.calendar-legend .calendar-legend-tag--completed{background:var(--reservation-completed)}.calendar-legend .calendar-legend-tag--blocked{background:var(--slot-blocked)}.calendar-legend .calendar-legend-tag--cancelled{background:var(--reservation-cancelled)}.calendar-legend .calendar-legend-tag--deleted{background:var(--slot-deleted)}.calendar-legend .calendar-legend-tag--available,.calendar-legend .calendar-legend-tag--complete,.calendar-legend .calendar-legend-tag--blocked,.calendar-legend .calendar-legend-tag--deleted{background-image:repeating-linear-gradient(-45deg,rgba(255,255,255,.18) 0,rgba(255,255,255,.18) 8px,transparent 8px,transparent 16px)}.status-tag{color:#fff!important;border-color:transparent!important;font-weight:700}.status-tag--reservation-confirmed{background:var(--reservation-confirmed)!important}.status-tag--reservation-completed{background:var(--reservation-completed)!important}.status-tag--reservation-cancelled{background:var(--reservation-cancelled)!important}.status-tag--slot-available{background:var(--slot-available)!important}.status-tag--slot-complete{background:var(--slot-complete)!important}.status-tag--slot-blocked{background:var(--slot-blocked)!important}.status-tag--slot-deleted{background:var(--slot-deleted)!important}.status-tag--slot-available,.status-tag--slot-complete,.status-tag--slot-blocked,.status-tag--slot-deleted{background-image:repeating-linear-gradient(-45deg,rgba(255,255,255,.18) 0,rgba(255,255,255,.18) 8px,transparent 8px,transparent 16px)!important}.fc .calendar-event--reservation{border-style:solid;border-width:1px}.fc .calendar-event--slot{border-style:dashed;border-width:2px;background-image:repeating-linear-gradient(-45deg,rgba(255,255,255,.18) 0,rgba(255,255,255,.18) 8px,transparent 8px,transparent 16px)}.fc .fc-timegrid-event{margin:2px 2px 4px;min-height:20px}.fc .fc-timegrid-event .fc-event-main{overflow:hidden}.fc .fc-timegrid-event .calendar-event__text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-height:1.15;overflow:hidden;text-overflow:ellipsis;overflow-wrap:break-word;white-space:normal}.fc .fc-timegrid-event .calendar-event__content{align-items:flex-start}.fc .fc-timegrid-event .calendar-event__identifier{white-space:normal;overflow-wrap:break-word}.fc .calendar-event__content{display:inline-flex;align-items:center;gap:5px;width:100%;height:100%;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fc .calendar-event__marker{flex:0 0 auto;font-size:.85em}.fc .calendar-event__text{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fc .calendar-event__label,.fc .calendar-event__identifier{white-space:nowrap}.fc .fc-event{color:var(--app-calendar-event-text);font-weight:700}.fc .fc-event-main,.fc .fc-event-title,.fc .fc-event-time{color:var(--app-calendar-event-text)}.fc .fc-popover{z-index:20;color:var(--app-text);background:var(--app-surface-bg);border:1px solid var(--app-border);box-shadow:var(--app-shadow)}.fc .fc-popover-header{color:var(--app-text);background:var(--app-calendar-header-bg)}.fc .fc-popover-body{background:var(--app-surface-bg)}.fc .fc-button-primary{background-color:var(--ecoct-blue);border-color:var(--ecoct-blue)}.fc .fc-button-primary:hover{background-color:var(--ecoct-blue-hover);border-color:var(--ecoct-blue-hover)}.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:not(:disabled).fc-button-active:hover{color:var(--app-calendar-active-text);background-color:var(--app-calendar-active-bg);border-color:var(--app-calendar-active-border);box-shadow:inset 0 0 0 2px var(--app-calendar-active-border)}@media(max-width:1100px){.auth-grid{grid-template-columns:1fr}.metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.app-sider{display:none}.mobile-menu-button{display:inline-flex}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-layout{gap:20px;grid-template-columns:minmax(0,1fr)}.dashboard-layout__kpis .metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-header,.app-main{padding-inline:18px}.app-main-inner{width:100%}}@media(max-width:760px){.app-header{align-items:flex-start;flex-direction:column;padding-block:18px}.app-header>.ant-space:last-child{width:100%;justify-content:flex-end;flex-wrap:wrap}.header-user{max-width:34vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(max-width:620px){.metrics-grid,.dashboard-layout__kpis .metrics-grid{grid-template-columns:1fr}.embedded-filter-field,.embedded-filter-actions{flex:1 1 100%;width:100%;max-width:none}.panel .ant-card-extra{display:none}.po-register-card .ant-card-head{flex-wrap:wrap;gap:8px}.po-register-card .ant-card-head-title,.po-register-card .ant-card-extra{width:100%}.po-register-card .ant-card-extra{display:block}.po-register-card .ant-card-extra>.ant-space{width:100%;justify-content:space-between;flex-wrap:wrap}}@media(max-width:420px){.app-header,.app-main{padding-inline:12px}.app-main-inner{gap:16px}.panel{border-radius:16px}.panel .ant-card-body{padding-inline:16px}.embedded-filter-actions .ant-btn{flex:1 1 auto}}
