:root{--o-brand: #5c7a1a;--o-brand-hover: #4f6a15;--o-brand-soft: #eef4e0;--o-on-brand: #fff;--o-action: #425b0c;--o-action-soft: #e8f0d5;--o-navbar: #5c7a1a;--o-glow-1: #e6f0cf;--o-glow-2: #eef3e4;--o-navbar-text: #fff;--bg: #f9fafb;--surface: #ffffff;--surface-2: #f3f4f6;--hover: #f3f4f6;--border: #d8dadd;--border-light: #e7e9ed;--text: #374151;--text-strong: #111827;--muted: #6b7280;--required: #eef5fc;--green: #28a745;--green-text: #1e7e34;--green-soft: #e3f4e7;--amber: #b97c06;--amber-soft: #fff4d6;--red: #d44c59;--red-soft: #fbe9eb;--violet: #714b67;--violet-soft: #f3edf2;--blue: #017e84;--blue-soft: #e6f2f3;--neutral-soft: #eef0f2;--star: #f3cc00;--shadow: 0 1px 2px rgb(0 0 0 / 6%);--shadow-lg: 0 8px 24px rgb(0 0 0 / 15%);--radius: 4px;--font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Ubuntu, sans-serif;--mono: ui-monospace, "Cascadia Mono", Consolas, monospace;color-scheme:light}@media(prefers-color-scheme:dark){:root{--o-brand: #9cc43a;--o-brand-hover: #b0d55a;--o-brand-soft: #2c3818;--o-on-brand: #1b1d26;--o-action: #a9cf4f;--o-action-soft: #26321a;--o-glow-1: #262f1c;--o-glow-2: #1f2629;--o-navbar: #262a36;--bg: #1b1d26;--surface: #262a36;--surface-2: #2f3442;--hover: #313646;--border: #3c4252;--border-light: #343a48;--text: #d1d5db;--text-strong: #f3f4f6;--muted: #9ca3af;--required: #24324a;--green-text: #5fd07c;--green-soft: #1d3424;--amber: #f0b44c;--amber-soft: #3a2f14;--red: #f07b86;--red-soft: #3d2228;--violet: #c79bbd;--violet-soft: #3a2b37;--blue: #4cc3c9;--blue-soft: #17343a;--neutral-soft: #333948;--shadow: none;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 var(--font);-webkit-font-smoothing:antialiased}a{color:var(--o-action);text-decoration:none}a:hover{color:var(--o-brand)}h1,h2{color:var(--text-strong);margin:0}h2{font-size:15px;font-weight:600}p{margin:0 0 8px}.muted{color:var(--muted)}.small{font-size:12px}.mono{font-family:var(--mono);font-size:13px}.pre{white-space:pre-wrap;margin:0}.num{text-align:right;font-variant-numeric:tabular-nums}.text-red{color:var(--red)}.text-amber{color:var(--amber)}.text-green{color:var(--green-text)}.o-project-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.o-project-text{white-space:pre-wrap;margin:0}.o-milestones{display:flex;flex-direction:column;gap:16px}.o-milestone-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:6px 0;border-bottom:1px solid var(--border-light);margin-bottom:4px}.o-milestone.completed .o-milestone-header strong{color:var(--muted)}.o-milestone-progress{display:inline-flex;align-items:center;gap:6px;margin-left:auto}.o-milestone-progress .progress{width:90px}.o-task-done{text-decoration:line-through;color:var(--muted)}.o-tg-event.planned,.o-month-event.planned{background-image:repeating-linear-gradient(135deg,rgb(255 255 255 / 65%) 0 5px,transparent 5px 10px);outline:1px dashed rgb(0 0 0 / 22%);outline-offset:-1px}.o-tg-busy{position:absolute;left:2px;right:2px;border-left:3px solid;border-radius:3px;padding:1px 4px;font-size:11px;color:var(--muted);background:repeating-linear-gradient(45deg,var(--surface-2) 0 6px,#e6e8ec 6px 12px);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;z-index:1}.o-gantt-busy{position:absolute;top:9px;height:10px;border-radius:2px;background:#c9ced8;z-index:1}.o-gantt-busy.outlook{background:repeating-linear-gradient(45deg,#c9ced8 0 3px,#e3e6ec 3px 6px)}.o-process-empty{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.o-planning-project{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 16px;background:var(--o-action-soft);border-bottom:1px solid var(--border-light)}.o-tech-picker{display:flex;flex-wrap:wrap;gap:4px 12px}.o-group-member{display:inline-flex;gap:4px;align-items:baseline;margin-right:12px}.o-gantt-toolbar{padding:8px 16px}.o-gantt-filter select{min-width:200px}.o-gantt{padding:0 16px 16px;overflow-x:auto}.o-gantt-row{display:flex;min-width:900px;border-bottom:1px solid var(--border-light)}.o-gantt-head{position:sticky;top:0;z-index:3;background:var(--surface);font-size:11px}.o-gantt-label{flex:0 0 260px;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:6px 8px;border-right:1px solid var(--border-light);overflow:hidden}.o-gantt-head .o-gantt-label{font-weight:600}.o-gantt-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:inherit;font-weight:600;text-align:left;color:var(--text-strong);background:none;border:0;padding:0;cursor:pointer}.o-gantt-name:hover{color:var(--o-action)}.o-gantt-track{position:relative;flex:1;min-height:34px}.o-gantt-project{border-bottom:2px solid var(--border)}.o-gantt-tech .o-gantt-label{padding-left:22px}.o-gantt-tech .o-gantt-track{min-height:28px}.o-gantt-track.editable{cursor:crosshair}.o-gantt.dragging,.o-gantt.dragging *{cursor:grabbing!important;user-select:none}.o-gantt-techname{display:flex;align-items:center;gap:6px}.o-gantt-add .o-gantt-label{padding:2px 8px 2px 18px}.o-gantt-add .o-gantt-track{min-height:26px}.o-gantt-help{padding:0 16px 6px;margin:0}.o-gantt-span{position:absolute;top:4px;height:20px;border:1px solid;border-radius:4px;background:#fff9;cursor:grab;z-index:2}.o-gantt-span.conflict{box-shadow:0 0 0 2px var(--red)}.o-gantt-span.locked{cursor:pointer}.o-gantt-day{position:absolute;top:2px;bottom:2px;border-radius:2px;box-sizing:border-box;border:1px solid #fff;opacity:.9}.o-gantt-day.planned{background-image:repeating-linear-gradient(135deg,rgb(255 255 255 / 55%) 0 3px,transparent 3px 6px)!important}.o-gantt-day.conflict{outline:2px solid var(--red);outline-offset:-2px}.o-gantt-handle{position:absolute;top:0;bottom:0;width:7px;cursor:ew-resize;z-index:3}.o-gantt-handle.start{left:-3px}.o-gantt-handle.end{right:-3px}.o-gantt-ghost{position:absolute;top:4px;height:20px;border:2px dashed;border-radius:4px;background:var(--o-action-soft);z-index:4;font-size:11px;display:flex;align-items:center;justify-content:center;white-space:nowrap;overflow:hidden;pointer-events:none}.o-gantt-head .o-gantt-track{min-height:30px}.o-gantt-tick{position:absolute;top:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;border-left:1px solid var(--border-light);line-height:1.2;overflow:hidden}.o-gantt-weekend{position:absolute;top:0;bottom:0;background:var(--surface-2)}.o-gantt-today{position:absolute;top:0;bottom:0;width:2px;background:var(--red);opacity:.6;z-index:2}.o-gantt-bar{position:absolute;top:8px;height:16px;border-radius:4px;background:#9bb7e0;cursor:pointer;z-index:1}.o-gantt-bar.status-active{background:#6f9ad6}.o-gantt-bar.status-on_hold{background:#e3b55c}.o-gantt-bar.status-done{background:#8cc48f}.o-gantt-bar.status-draft{background:#c3cad6}.o-gantt-bar.late{box-shadow:inset 0 0 0 2px var(--red)}.o-gantt-bar.open-start{border-top-left-radius:0;border-bottom-left-radius:0}.o-gantt-bar.open-end{border-top-right-radius:0;border-bottom-right-radius:0;background-image:linear-gradient(90deg,transparent 85%,rgb(255 255 255 / 60%))}.o-gantt-milestone{position:absolute;top:9px;width:12px;height:12px;margin-left:-6px;transform:rotate(45deg);background:#fff;border:2px solid #4a5568;z-index:2}.o-gantt-milestone.done{background:var(--green);border-color:var(--green-text)}.o-gantt-milestone.static{position:relative;display:inline-block;top:0;margin:0 4px 0 2px}.o-gantt-legend{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;padding:10px 0;font-size:12px}.o-gantt-bar-sample{display:inline-block;width:28px;height:10px;border-radius:3px;background:#6f9ad6;vertical-align:middle}.o-managed-badge{display:inline-flex;align-items:center;gap:3px;padding:1px 7px;border-radius:999px;background:var(--violet-soft);color:var(--violet);font-size:11px;font-weight:600;white-space:nowrap;vertical-align:middle;font-family:var(--font)}a.o-managed-link{text-decoration:none}a.o-managed-link:hover .o-managed-badge{box-shadow:0 0 0 1px var(--violet)}.o-managed{display:flex;flex-direction:column;gap:12px}.o-managed-summary{display:flex;flex-wrap:wrap;gap:8px}.o-managed-summary .o-fleet-tile{cursor:default}.o-managed-empty{opacity:.6}.o-managed-group{border:1px solid var(--border-light);border-radius:var(--radius);background:var(--surface)}.o-managed-group header{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border-light);font-weight:600}.o-managed-group header label{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.o-managed-group ul{list-style:none;margin:0;padding:0}.o-managed-group li{display:flex;align-items:center;gap:8px;padding:6px 12px;border-bottom:1px solid var(--border-light)}.o-managed-group li:last-child{border-bottom:0}.o-managed-group li.selected{background:var(--violet-soft)}.o-managed-group li label{flex:1;display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;cursor:pointer;min-width:0}.o-managed-actions{display:flex;gap:8px;position:sticky;bottom:0;padding:8px 0;background:var(--surface)}.pad{padding:12px 16px}kbd{font:11px var(--mono);border:1px solid var(--border);border-radius:3px;padding:1px 4px;background:var(--surface)}input,select,textarea{font:inherit;color:var(--text);background:transparent}.form input:not([type=checkbox]),.form select,.form textarea,.o-cp input,.o-palette input,.login input:not([type=checkbox]),.picker input,.comment-form textarea{border:1px solid var(--border);border-radius:var(--radius);padding:6px 10px;min-height:34px;width:100%;background:var(--surface)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--o-action)!important}input[type=checkbox]{width:16px;height:16px;accent-color:var(--o-action);margin:0}textarea{resize:vertical}.checkbox{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.field{display:flex;flex-direction:column;gap:4px}.field label{font-weight:600;font-size:13px;color:var(--text-strong)}.req{color:var(--red)}.form{display:flex;flex-direction:column;gap:16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px}.form-grid .full{grid-column:1 / -1}.form-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--border-light)}.form-extra{display:flex}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font:inherit;font-weight:500;min-height:32px;padding:0 12px;border-radius:var(--radius);border:1px solid transparent;background:var(--surface-2);color:var(--text);cursor:pointer;white-space:nowrap;text-decoration:none;transition:background .12s}.btn:hover:not(:disabled){filter:brightness(.96);color:inherit}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--o-action);outline-offset:1px}.btn-primary{background:var(--o-brand);color:var(--o-on-brand)}.btn-primary:hover:not(:disabled){background:var(--o-brand-hover);color:var(--o-on-brand);filter:none}.btn-secondary{background:var(--surface-2);color:var(--text);border-color:var(--border-light)}.btn-success{background:var(--green);color:#fff}.btn-danger,.btn.danger{color:var(--red)}.btn-link{background:none;color:var(--o-action);padding:0 6px}.btn-link:hover:not(:disabled){color:var(--o-brand);filter:none}.btn-ghost{background:transparent}.btn-sm{min-height:26px;padding:0 8px;font-size:13px}.btn-icon{padding:0;width:32px}.o-web{min-height:100%;display:flex;flex-direction:column}.o-navbar{display:flex;align-items:center;height:46px;padding:0 8px;background:var(--o-navbar);color:var(--o-navbar-text);position:sticky;top:0;z-index:30;gap:2px}.o-navbar a,.o-navbar button{color:inherit}.o-navbar-apps{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--radius);border:0;background:none;cursor:pointer}.o-navbar-plus{font-size:20px;font-weight:300}.o-navbar-apps svg{width:16px;height:16px;fill:currentColor}.o-navbar-apps:hover,.o-navbar-menus a:hover,.o-navbar-icon:hover,.o-navbar-user:hover{background:#ffffff1f;color:#fff}.o-navbar-brand{display:inline-flex;align-items:center;gap:8px;font-size:17px;font-weight:500;padding:0 12px 0 6px;white-space:nowrap}.o-navbar-logo{height:20px;width:auto;flex:none}.o-navbar-brand:hover{color:#fff}.o-navbar-menus{display:flex;align-items:center;height:100%;min-width:0;flex-shrink:1;overflow-x:auto;scrollbar-width:none}.o-navbar-right{flex-shrink:0}.o-navbar-menus a{display:flex;align-items:center;height:100%;padding:0 12px;white-space:nowrap}.o-navbar-menus a.active{background:#00000026}.o-navbar-burger{display:none;background:none;border:0;font-size:18px;width:36px;height:36px;cursor:pointer}.o-navbar-right{margin-left:auto;display:flex;align-items:center;gap:2px}.o-navbar-icon,.o-navbar-user{background:none;border:0;height:40px;min-width:40px;display:grid;place-items:center;border-radius:var(--radius);cursor:pointer}.o-navbar-icon svg{width:18px;height:18px}.o-main{flex:1;display:flex;flex-direction:column;min-height:0;min-width:0}.o-body{flex:1;display:flex;min-height:0}.o-rail{flex:none;width:86px;position:sticky;top:46px;height:calc(100vh - 46px);overflow-y:auto;scrollbar-width:none;display:flex;flex-direction:column;gap:2px;padding:8px 6px;background:var(--surface);border-right:1px solid var(--border-light);z-index:20}.o-rail-app{display:flex;flex-direction:column;align-items:center;gap:4px;padding:7px 2px 6px;border-radius:8px;color:var(--text)!important;text-decoration:none;position:relative}.o-rail-app:hover{background:var(--hover)}.o-rail-app.active{background:var(--o-action-soft);color:var(--o-action)!important;font-weight:600}.o-rail-app.active:before{content:"";position:absolute;left:-6px;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--o-action)}.o-rail-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;color:#fff;flex:none;box-shadow:0 1px 2px #00000026}.o-rail-icon svg{width:19px;height:19px}.o-rail-name{font-size:11px;line-height:1.2;text-align:center;letter-spacing:-.1px}.o-avatar{display:inline-grid;place-items:center;border-radius:4px;color:#fff;font-weight:600;flex:none;line-height:1}.o-user-cell{display:inline-flex;align-items:center;gap:6px}.o-dropdown{position:relative}.o-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;min-width:200px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:4px 0;z-index:50}.o-dropdown-menu.right{left:auto;right:0}.o-dropdown-header{padding:8px 16px;border-bottom:1px solid var(--border-light);margin-bottom:4px}.o-dropdown-item{display:block;width:100%;text-align:left;padding:6px 16px;border:0;background:none;font:inherit;color:var(--text)!important;cursor:pointer;white-space:nowrap}.o-dropdown-item:hover{background:var(--hover)}.o-dropdown-item.danger{color:var(--red)!important}.o-dropdown-item.selected{position:relative;font-weight:500}.o-dropdown-item.selected:before{content:"✓";position:absolute;left:4px;color:var(--o-action)}.o-home .o-navbar{background:transparent;color:var(--text);position:absolute;left:0;right:0}.o-home .o-navbar-apps{visibility:hidden}.o-home .o-navbar-icon:hover,.o-home .o-navbar-user:hover{background:#0000000f;color:var(--text)}.o-home-menu{flex:1;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;padding:72px 16px 32px;background:radial-gradient(circle at 15% 20%,var(--o-glow-1) 0,transparent 45%),radial-gradient(circle at 85% 80%,var(--o-glow-2) 0,transparent 45%),var(--bg)}.o-apps{display:grid;grid-template-columns:repeat(4,112px);gap:28px 24px}.o-app{display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px;border-radius:8px;color:var(--text-strong);text-align:center}.o-app:hover,.o-app:focus-visible{background:#ffffff8c;color:var(--text-strong);outline:none}.o-app-icon{width:72px;height:72px;border-radius:14px;display:grid;place-items:center;color:#fff;box-shadow:0 2px 6px #0000002e,inset 0 -3px #0000001a;transition:transform .12s}.o-app:hover .o-app-icon{transform:translateY(-2px)}.o-app-icon svg{width:38px;height:38px}.o-app-name{font-size:14px;text-shadow:0 1px 0 rgb(255 255 255 / 40%)}.o-home-hint{color:var(--muted);font-size:13px}.o-palette{border:0;padding:0;margin:10vh auto auto;width:min(640px,calc(100vw - 32px));border-radius:8px;background:var(--surface);color:var(--text);box-shadow:var(--shadow-lg)}.o-palette::backdrop{background:#00000059}.o-palette input{border:0!important;border-bottom:1px solid var(--border)!important;border-radius:0!important;padding:14px 16px!important;font-size:16px}.o-palette-results{max-height:60vh;overflow-y:auto;padding:4px 0}.o-palette-item{display:grid;grid-template-columns:96px 1fr;gap:0 12px;width:100%;padding:8px 16px;border:0;background:none;color:var(--text);font:inherit;text-align:left;cursor:pointer}.o-palette-item .muted{grid-column:2}.o-palette-item.active{background:var(--o-brand-soft)}.o-palette-kind{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding-top:3px}.o-palette-title{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.o-action{display:flex;flex-direction:column;flex:1;min-height:0}.o-cp{display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap;padding:10px 16px;background:var(--surface);border-bottom:1px solid var(--border-light)}.o-cp-left{display:flex;align-items:center;gap:10px;flex:1 1 280px;min-width:0}.o-cp-buttons{display:flex;gap:6px}.o-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;list-style:none;margin:0;padding:0;font-size:18px;min-width:0}.o-breadcrumb li{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.o-breadcrumb li+li:before{content:"/";color:var(--muted);padding:0 6px}.o-breadcrumb li a{color:var(--o-action)}.o-breadcrumb li.active{color:var(--text-strong)}.o-cp-gear{display:grid;place-items:center;background:none;border:0;color:var(--text);width:30px;height:30px;border-radius:var(--radius);cursor:pointer}.o-cp-gear:hover{background:var(--hover)}.o-form-status-indicator{display:inline-flex;gap:2px}.o-form-status-indicator button{background:none;border:0;cursor:pointer;width:30px;height:30px;display:grid;place-items:center;border-radius:var(--radius);color:var(--o-brand);font-size:18px}.o-form-status-indicator button svg{width:20px;height:20px}.o-form-status-indicator button:hover{background:var(--hover)}.o-form-status-indicator .o-discard{color:var(--muted)}.o-cp-search{flex:2 1 360px;max-width:640px}.o-cp-right{display:flex;align-items:center;gap:12px;margin-left:auto}.o-pager{display:flex;align-items:center;gap:4px}.o-pager-value{margin-right:6px;font-variant-numeric:tabular-nums}.o-pager .btn{width:30px;padding:0;font-size:16px}.o-switch-view{display:flex;border:1px solid var(--border-light);border-radius:var(--radius);overflow:hidden}.o-switch-view button{border:0;background:var(--surface);color:var(--muted);width:34px;height:30px;cursor:pointer;font-size:15px}.o-switch-view button+button{border-left:1px solid var(--border-light)}.o-switch-view button.active{background:var(--o-action-soft);color:var(--o-action)}.o-search-with-views{display:flex;align-items:flex-start;gap:6px}.o-search-with-views>.o-searchview{flex:1;min-width:0}.o-views-toggle{display:inline-flex;align-items:center;gap:4px;height:34px;max-width:200px;white-space:nowrap}.o-views-toggle.active{background:var(--o-action-soft)}.o-views-label{overflow:hidden;text-overflow:ellipsis}.o-views-modified{color:var(--o-action);font-weight:700}.o-views-panel{min-width:280px;max-width:min(360px,calc(100vw - 16px));max-height:70vh;overflow-y:auto}.o-views-item{display:flex;align-items:center;gap:2px;padding-right:6px}.o-views-item .o-dropdown-item{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.o-views-item input,.o-views-save input:not([type=checkbox]){flex:1;min-width:0;padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}form.o-views-item{padding:4px 8px 4px 16px;gap:6px}.o-views-action{border:0;background:none;cursor:pointer;color:var(--muted);width:26px;height:26px;border-radius:var(--radius);font-size:14px;display:grid;place-items:center;flex:none}.o-views-action:hover{background:var(--hover);color:var(--text)}.o-views-action.on{color:var(--amber)}.o-views-action.danger:hover{color:var(--red)}.o-views-save{display:flex;flex-direction:column;gap:8px;padding:8px 16px}.o-views-save label{display:flex;align-items:center;gap:6px}.o-views-save-buttons{display:flex;gap:6px}.o-dropdown-divider{border-top:1px solid var(--border-light);margin:4px 0}.table th.o-th-extra{width:1%;padding:4px 6px;text-align:right}.o-columns-toggler{display:inline-flex;align-items:center;gap:4px;border:0;background:none;cursor:pointer;color:var(--muted);padding:4px 6px;border-radius:var(--radius);font:inherit;font-weight:400;white-space:nowrap}.o-columns-toggler:hover,.o-columns-toggler.active{background:var(--hover);color:var(--text)}.o-th-extra .o-columns-toggler-label{display:none}.o-columns-panel{min-width:260px;max-height:70vh;overflow-y:auto;text-align:left;font-weight:400}.o-columns-list{list-style:none;margin:0;padding:0 0 4px}.o-columns-list li{display:flex;align-items:center;gap:4px;padding:3px 8px 3px 10px;border-top:2px solid transparent}.o-columns-list li[draggable=true]{cursor:grab}.o-columns-list li.dragging{opacity:.4}.o-columns-list li.over{border-top-color:var(--o-action)}.o-columns-list label{flex:1;display:flex;align-items:center;gap:6px;cursor:pointer;white-space:nowrap}.o-columns-handle{color:var(--muted);width:14px;text-align:center}.o-columns-arrow{border:0;background:none;cursor:pointer;color:var(--muted);width:24px;height:24px;border-radius:var(--radius)}.o-columns-arrow:hover:not(:disabled){background:var(--hover);color:var(--text)}.o-columns-arrow:disabled{opacity:.3;cursor:default}.o-columns-group{display:flex;flex-direction:column;gap:4px;padding:6px 16px;color:var(--muted);font-size:12px}.o-columns-group select{padding:4px 6px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:14px}.o-list-toolbar{display:flex;justify-content:flex-end;margin-bottom:6px}.o-group-row td{background:var(--surface-2);font-weight:600;cursor:pointer}.o-group-row:hover td{background:var(--hover)}.o-group-caret{display:inline-block;width:14px;color:var(--muted)}.o-group-count{color:var(--muted);font-weight:400}.o-facet-group .o-facet-label{background:var(--green, var(--o-action))}.o-views-tabs{display:flex;gap:6px;padding:6px 16px 0;overflow-x:auto;scrollbar-width:thin}.o-views-tabs button{flex:none;display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border:1px solid var(--border-light);border-radius:999px;background:var(--surface);color:var(--text);font:inherit;font-size:13px;cursor:pointer;white-space:nowrap}.o-views-tabs button:hover{background:var(--hover)}.o-views-tabs button.active{background:var(--o-action-soft);border-color:var(--o-action);color:var(--o-action);font-weight:600}.o-views-tab-star{color:var(--amber)}.o-views-tab-shared{font-size:11px}.o-fleet{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.o-fleet-tile{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:8px;align-items:center;flex:1 1 auto;min-width:110px;min-height:54px;padding:8px 10px;border:1px solid var(--border-light);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;text-align:left}button.o-fleet-tile{cursor:pointer}button.o-fleet-tile:hover{border-color:var(--o-action)}.o-fleet-tile.active{border-color:var(--o-action);background:var(--o-action-soft)}.o-fleet-icon{grid-row:span 2;font-size:22px}.o-fleet-count{font-size:18px;font-weight:700;color:var(--text-strong);line-height:1.1;font-variant-numeric:tabular-nums}.o-fleet-label{font-size:12px;color:var(--muted);white-space:nowrap}.o-fleet-posts{flex-basis:260px;grid-template-columns:auto auto 1fr}.o-fleet-detail{grid-column:3;grid-row:1 / span 2;display:flex;flex-direction:column;gap:5px;min-width:0;padding-left:6px}.o-fleet-split{display:flex;height:6px;border-radius:3px;overflow:hidden;background:var(--surface-2)}.o-fleet-fixed{background:var(--o-action)}.o-fleet-laptop{background:var(--blue)}.o-fleet-legend{display:flex;flex-wrap:wrap;column-gap:10px;row-gap:2px;font-size:12px;color:var(--muted)}.o-fleet-legend>*{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;min-width:0}.o-fleet-legend button{border:0;background:none;padding:0;font:inherit;color:var(--text);cursor:pointer}.o-fleet-legend button:hover{text-decoration:underline}.o-fleet-dot{display:inline-block;width:8px;height:8px;border-radius:50%}.o-fleet-swatch{width:26px;height:26px;border-radius:50%;position:relative}.o-fleet-swatch:after{content:"";position:absolute;inset:8px;border-radius:50%;background:currentColor}.o-fleet-swatch.badge-neutral{background:var(--neutral-soft);color:var(--muted)}@media(max-width:480px){.o-fleet-label{white-space:normal}.o-fleet-posts{flex-basis:100%}}.o-searchview{position:relative;display:flex;align-items:center;flex-wrap:wrap;gap:4px;min-height:34px;padding:2px 4px 2px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.o-searchview:focus-within{border-color:var(--o-action)}.o-searchview-icon svg{width:15px;height:15px;color:var(--muted);display:block}.o-searchview input{flex:1;min-width:100px;border:0!important;padding:4px!important;min-height:26px!important;background:none!important}.o-facet{display:inline-flex;align-items:stretch;border-radius:3px;background:var(--surface-2);border:1px solid var(--border-light);font-size:13px;overflow:hidden}.o-facet-label{display:grid;place-items:center;padding:0 6px;color:var(--o-on-brand);background:var(--o-brand);font-size:12px}.o-facet-field .o-facet-label,.o-facet-search .o-facet-label{background:var(--o-action)}.o-facet-value{padding:1px 6px}.o-facet button{border:0;background:none;color:var(--muted);cursor:pointer;padding:0 6px;font-size:15px}.o-facet button:hover{color:var(--red)}.o-searchview-toggle{margin-left:auto;border:0;border-left:1px solid var(--border-light);background:none;color:var(--text);width:30px;align-self:stretch;cursor:pointer}.o-searchview-toggle.open,.o-searchview-toggle:hover{background:var(--hover)}.o-search-panel{position:absolute;top:calc(100% + 4px);right:0;min-width:260px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:40;padding:8px 0}.o-search-panel-title{padding:4px 16px 6px;font-weight:600;color:var(--o-brand)}.o-filter-icon{font-size:12px}.o-search-group+.o-search-group{border-top:1px solid var(--border-light);margin-top:4px;padding-top:4px}.o-search-group .o-dropdown-item{padding-left:24px}.o-content{flex:1;overflow:auto}.table-wrap{overflow-x:auto;background:var(--surface)}.table,.o-list-table{width:100%;border-collapse:collapse}.table th,.o-list-table th{text-align:left;font-weight:600;color:var(--text-strong);padding:8px 12px;border-bottom:1px solid var(--border);background:var(--surface);white-space:nowrap;position:sticky;top:0;z-index:1}.table td,.o-list-table td{padding:7px 12px;border-bottom:1px solid var(--border-light);vertical-align:middle}.table tr.clickable{cursor:pointer}.table tr.clickable:hover td,.table tr.clickable:focus td{background:var(--hover)}.table tr.clickable:focus{outline:none}.empty{padding:32px;text-align:center;color:var(--muted)}.o-nocontent{padding:64px 16px;text-align:center;color:var(--muted)}.o-nocontent-title{font-size:18px;color:var(--text-strong);margin-bottom:8px}.o-line-returned td{color:var(--muted)}.o-totals{display:flex;justify-content:flex-end;gap:12px;padding:12px;font-size:15px;border-top:2px solid var(--border)}.o-kanban-groups{display:flex;gap:12px;align-items:stretch;padding:12px 16px;min-height:calc(100vh - 112px);overflow-x:auto}.o-kanban-group{flex:0 0 290px;display:flex;flex-direction:column;gap:8px;border-radius:6px;padding:4px;min-height:120px;transition:background .1s}.o-kanban-group.over{background:var(--o-action-soft)}.o-kanban-group.folded{flex-basis:44px;min-height:260px;cursor:pointer;background:var(--surface-2)}.o-kanban-group.folded .o-kanban-header{writing-mode:vertical-rl;flex-direction:row;height:240px}.o-kanban-header{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:6px 8px;font-size:16px;font-weight:500;color:var(--text-strong)}.o-kanban-counter{font-size:13px;color:var(--muted);font-weight:400}.o-kanban-records{display:flex;flex-direction:column;gap:6px}.o-kanban-record{display:block;width:100%;text-align:left;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius);padding:10px 12px;box-shadow:var(--shadow);cursor:pointer}.o-kanban-record:hover,.o-kanban-record:focus-visible{border-color:var(--border);box-shadow:0 2px 8px #0000001a;outline:none}.o-kanban-record.dragging{opacity:.4}.o-kanban-title{font-weight:600;color:var(--text-strong);margin-bottom:2px}.o-kanban-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:8px}.o-kanban-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px;padding:12px 16px}.o-kanban-grid.compact{padding:0}.o-kanban-contact{display:flex;gap:12px;align-items:flex-start}.o-kanban-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px}.o-tag{font-size:12px;padding:0 8px;border-radius:10px;background:var(--o-brand-soft);color:var(--o-brand)}.o-site-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:4px;background:var(--surface-2);font-size:20px;flex:none}.o-priority{display:inline-flex}.o-priority button{border:0;background:none;padding:0 1px;font-size:16px;line-height:1;color:var(--border);cursor:default}.o-priority.editable button{cursor:pointer}.o-priority button.on,.o-priority.editable button:hover{color:var(--star)}.o-form-content{background:var(--bg)}.o-form-renderer{display:grid;grid-template-columns:minmax(0,1fr)}.o-form-sheet-bg{padding:0 16px 24px;min-width:0}.o-form-statusbar{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;max-width:1140px;margin:0 auto;padding:8px 0}.o-statusbar-buttons{display:flex;gap:6px;flex-wrap:wrap}.o-statusbar{display:flex;margin-left:auto}.o-arrow-button{position:relative;border:0;background:var(--surface-2);color:var(--muted);font:inherit;font-size:13px;padding:0 14px 0 22px;height:30px;cursor:pointer;white-space:nowrap;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,0 100%,10px 50%);margin-left:-6px}.o-arrow-button:first-child{clip-path:polygon(0 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,0 100%);padding-left:14px;margin-left:0;border-radius:var(--radius) 0 0 var(--radius)}.o-arrow-button:last-child{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,10px 50%);padding-right:14px;border-radius:0 var(--radius) var(--radius) 0}.o-arrow-button:only-child{clip-path:none}.o-arrow-button:not(:disabled):hover{background:var(--border-light);color:var(--text)}.o-arrow-button:disabled{cursor:default}.o-arrow-button.current{background:var(--o-action-soft);color:var(--o-action);font-weight:600}.o-form-sheet{position:relative;max-width:1140px;margin:0 auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px 32px 32px;box-shadow:var(--shadow);overflow:hidden}.o-button-box{display:flex;flex-wrap:wrap;justify-content:flex-end;margin:-24px -32px 16px;border-bottom:1px solid var(--border-light)}.o-smart-button{display:flex;align-items:center;gap:8px;min-width:132px;height:48px;padding:0 14px;border:0;border-left:1px solid var(--border-light);background:none;color:var(--text);font:inherit;cursor:pointer;text-align:left}.o-smart-button:hover{background:var(--hover);color:var(--text)}.o-smart-icon{font-size:20px;color:var(--o-action);width:22px;text-align:center}.o-smart-text{display:flex;flex-direction:column;line-height:1.2}.o-stat-value{font-weight:600;color:var(--text-strong)}.o-stat-text{font-size:12px;color:var(--muted)}.o-ribbon{position:absolute;top:0;right:0;width:160px;height:160px;overflow:hidden;pointer-events:none;z-index:2}.o-ribbon span{position:absolute;top:34px;right:-42px;width:200px;transform:rotate(45deg);text-align:center;color:#fff;font-weight:600;font-size:13px;padding:4px 0;text-transform:uppercase;box-shadow:0 2px 4px #0003}.o-ribbon-red span{background:#d44c59}.o-ribbon-green span{background:#28a745}.o-ribbon-gray span{background:#8a94a6}.o-title{margin-bottom:16px;flex:1;min-width:0}.o-title-prefix{font-family:var(--mono);font-size:13px;color:var(--muted)}.o-title h1{font-size:28px;font-weight:500;line-height:1.25}.o-title-input{width:100%;border:0;border-bottom:1px solid transparent;padding:2px 0;font:inherit;color:var(--text-strong);background:transparent}.o-title-input:hover{border-bottom-color:var(--border)}.o-title-input:focus{border-bottom-color:var(--o-action)!important}.o-title-with-avatar{display:flex;gap:16px;align-items:center}.o-inner-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;margin-bottom:16px}.o-group{min-width:0}.o-group-title{font-weight:600;text-transform:uppercase;font-size:12px;color:var(--text-strong);border-bottom:1px solid var(--border-light);padding-bottom:4px;margin:8px 0}.o-field-row{display:grid;grid-template-columns:minmax(110px,38%) 1fr;align-items:center;min-height:40px;gap:8px;padding:3px 0}.o-form-label{font-weight:600;color:var(--text-strong)}.o-form-label.o-label-required:after{content:" *";color:var(--red);font-weight:700}.o-field{min-width:0}.o-field input:not([type=checkbox]):not([type=radio]),.o-field select,.o-field textarea{width:100%;border:1px solid var(--border);border-radius:6px;padding:5px 10px;min-height:34px;background:var(--surface);transition:border-color .15s,box-shadow .15s}.o-field input:not([type=checkbox]):not([type=radio]):hover,.o-field select:hover,.o-field textarea:hover{border-color:var(--muted)}.o-field input:not([type=checkbox]):not([type=radio]):focus,.o-field select:focus,.o-field textarea:focus{outline:none;border-color:var(--o-action)!important;box-shadow:0 0 0 3px var(--o-action-soft)}.o-field input::placeholder,.o-field textarea::placeholder{color:var(--muted);opacity:.8}.o-field input:disabled,.o-field select:disabled,.o-field textarea:disabled{background:var(--surface-2);border-color:var(--border-light);color:var(--muted);cursor:not-allowed}.o-field-readonly{padding:4px 2px}.o-field-checkbox{display:flex;align-items:center}.o-notebook{margin-top:8px}.o-notebook-headers,.tabs{display:flex;border-bottom:1px solid var(--border);overflow-x:auto;overflow-y:hidden;padding-top:1px}.o-notebook-headers button,.tabs button{border:1px solid transparent;border-bottom:0;margin-bottom:-1px;background:none;padding:8px 16px;font:inherit;color:var(--o-action);cursor:pointer;border-radius:var(--radius) var(--radius) 0 0;white-space:nowrap}.o-notebook-headers button:hover,.tabs button:hover{color:var(--o-brand)}.o-notebook-headers button.active,.tabs button.active{border-color:var(--border);background:var(--surface);color:var(--text-strong)}.o-notebook-content{padding:16px 0 0}.o-notebook-content .table-wrap+.table-wrap{margin-top:16px}.o-notebook-actions{display:flex;gap:8px;margin-top:12px}.o-note-field{width:100%;border:0;padding:4px 0;min-height:120px}.o-note-field:hover,.o-note-field:focus{background:var(--surface-2)}.o-chatter{min-width:0;padding:0 16px 24px}.o-chatter-inner{max-width:1140px;margin:0 auto}.o-chatter-topbar{display:flex;gap:6px;padding:12px 0;border-bottom:1px solid var(--border-light)}.o-composer{display:flex;flex-direction:column;gap:8px;align-items:flex-start;padding:12px;margin-top:12px;border:1px solid var(--border-light);border-radius:var(--radius);background:var(--surface)}.o-composer.note{background:var(--amber-soft)}.o-composer textarea{width:100%;border:1px solid var(--border);border-radius:var(--radius);padding:8px;background:var(--surface)}.o-thread{display:flex;flex-direction:column;gap:14px;padding-top:14px}.o-message{display:flex;gap:10px}.o-message-core{flex:1;min-width:0}.o-message-header{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.o-message-body{margin-top:2px}.o-message.note .o-message-body{background:var(--amber-soft);padding:6px 10px;border-radius:var(--radius)}.o-message.system .o-message-body{color:var(--muted)}.o-message-tag{font-size:11px;padding:0 6px;border-radius:8px;background:var(--amber-soft);color:var(--amber)}@media(min-width:1100px){.o-form-renderer.with-chatter{grid-template-columns:minmax(0,1fr) minmax(320px,30%);align-items:start}.o-form-renderer.with-chatter .o-chatter{border-left:1px solid var(--border-light);background:var(--surface);padding:0 14px 24px;min-height:calc(100vh - 104px);position:sticky;top:0;max-height:calc(100vh - 104px);overflow-y:auto}}.o-aside-tabs-head{display:flex;border-bottom:1px solid var(--border-light);position:sticky;top:0;background:var(--surface);z-index:1}.o-aside-tabs-head button{flex:1;border:0;border-bottom:2px solid transparent;background:none;padding:10px 8px;font:inherit;color:var(--muted);cursor:pointer}.o-aside-tabs-head button.active{color:var(--o-brand);border-bottom-color:var(--o-brand);font-weight:600}.o-ctx{display:flex;flex-direction:column}.o-ctx-empty{padding:24px 8px;color:var(--muted);text-align:center}.o-ctx-section{padding:12px 0;border-bottom:1px solid var(--border-light);display:flex;flex-direction:column;gap:4px}.o-ctx-section .o-alert{margin:4px 0;padding:8px 10px;font-size:13px}.o-ctx-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.o-ctx-head h3{margin:0;font-size:14px;font-weight:600;color:var(--text-strong)}.o-ctx-line{display:grid;grid-template-columns:82px 1fr;gap:6px;font-size:13px;align-items:baseline}.o-ctx-line>span:last-child{min-width:0;overflow-wrap:anywhere}.o-ctx-phone{margin-right:8px;white-space:nowrap}.o-ctx-contract{display:flex;flex-direction:column;padding:6px 8px;margin-top:4px;background:var(--surface-2);border-radius:var(--radius)}.o-ctx-access{font-size:13px;padding:6px 8px;background:var(--amber-soft);border-radius:var(--radius)}.o-ctx-links{margin-top:6px;display:flex;flex-wrap:wrap;gap:6px}.o-ctx-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:13px}.o-ctx-list li{display:flex;flex-direction:column;gap:1px}.o-ctx-meta{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.o-ctx-foot{padding:10px 0}.badge{display:inline-flex;align-items:center;padding:0 8px;border-radius:10px;font-size:12px;font-weight:500;white-space:nowrap;background:var(--neutral-soft);color:var(--muted);line-height:20px}.badge-blue{background:var(--blue-soft);color:var(--blue)}.badge-green{background:var(--green-soft);color:var(--green-text)}.badge-amber{background:var(--amber-soft);color:var(--amber)}.badge-red{background:var(--red-soft);color:var(--red)}.badge-violet{background:var(--violet-soft);color:var(--violet)}.o-dashboard{padding:16px;display:flex;flex-direction:column;gap:16px}.card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);min-width:0}.card-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}.card>.table-wrap,.card>.empty{margin:0 -16px -16px}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.kpi{display:flex;flex-direction:column;padding:14px 16px;background:var(--surface);border:1px solid var(--border-light);border-left:3px solid var(--o-brand);border-radius:var(--radius);color:var(--text);box-shadow:var(--shadow)}.kpi:hover{border-color:var(--border);border-left-color:var(--o-brand);color:var(--text)}.kpi-value{font-size:24px;font-weight:600;color:var(--text-strong);font-variant-numeric:tabular-nums}.kpi-label{color:var(--muted);font-size:13px}.kpi-red{border-left-color:var(--red)}.kpi-red .kpi-value{color:var(--red)}.kpi-amber{border-left-color:var(--amber)}.kpi-amber .kpi-value{color:var(--amber)}.stat-list{display:flex;flex-direction:column}.stat-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border-light);color:var(--text)}.stat-row:last-child{border-bottom:0}.list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px}.progress{height:6px;background:var(--neutral-soft);border-radius:3px;overflow:hidden;margin:4px 0}.progress-bar{height:100%;transition:width .3s}.tone-green{background:var(--green)}.tone-amber{background:var(--amber)}.tone-red{background:var(--red)}.tone-blue,.tone-violet,.tone-neutral{background:var(--o-action)}.usage{min-width:120px}.alert{border-radius:var(--radius);padding:10px 14px;margin-bottom:16px}.alert-red{background:var(--red-soft);color:var(--red)}.error-box{background:var(--red-soft);color:var(--red);border-radius:var(--radius);padding:10px 14px;margin:8px auto;max-width:1140px}.signature{margin-top:12px;border-top:1px solid var(--border-light);padding-top:12px}.signature img{max-width:320px;max-height:140px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);margin-top:6px}.picker{display:grid;grid-template-columns:1fr 1fr;gap:12px}.picker-col{display:flex;flex-direction:column;gap:8px;min-width:0}.picker-list{border:1px solid var(--border-light);border-radius:var(--radius);height:260px;overflow-y:auto;background:var(--surface)}.picker-item{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:8px 10px;border:0;border-bottom:1px solid var(--border-light);background:none;color:var(--text);font:inherit;text-align:left;cursor:pointer}.picker-item:hover:not(.selected){background:var(--hover)}.picker-item.selected{cursor:default}.price-input{width:90px!important;min-height:28px!important;padding:2px 8px!important}.picker-total{text-align:right}.picker-add-all{display:flex;flex-wrap:wrap;gap:4px 12px}.nowrap{white-space:nowrap}.row-gap{display:inline-flex;align-items:center;gap:6px}.modal{border:0;border-radius:6px;padding:0;width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 48px);background:var(--surface);color:var(--text);box-shadow:var(--shadow-lg)}.modal-wide{width:min(880px,calc(100vw - 32px))}.modal::backdrop{background:#0006}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid var(--border-light);position:sticky;top:0;background:var(--surface);z-index:1}.modal-head h2{font-size:18px;font-weight:500}.modal-body{padding:20px}.toasts{position:fixed;top:56px;right:16px;display:flex;flex-direction:column;gap:8px;z-index:1000}.toast{padding:10px 16px;border-radius:var(--radius);color:#fff;box-shadow:var(--shadow-lg);animation:toast-in .15s ease-out;max-width:380px}.toast-success{background:#28a745}.toast-error{background:#d44c59}@keyframes toast-in{0%{transform:translate(12px);opacity:0}}.spinner{width:28px;height:28px;margin:48px auto;border:3px solid var(--border-light);border-top-color:var(--o-brand);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login{min-height:100%;display:grid;place-items:center;padding:16px;background:radial-gradient(circle at 20% 20%,var(--o-glow-1) 0,transparent 50%),var(--bg)}.login-card{width:min(380px,100%);background:var(--surface);border:1px solid var(--border-light);border-radius:6px;padding:32px;display:flex;flex-direction:column;gap:16px;box-shadow:var(--shadow-lg)}.login-logo{height:46px;width:auto;align-self:flex-start;margin-bottom:4px}.o-home-logo{height:44px;width:auto}.login-card h1{font-size:20px;font-weight:500}.login-card .login-code{font-size:24px;letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums}.login-links{display:flex;justify-content:space-between;margin:-4px -6px 0}.btn-block{width:100%;min-height:38px}.o-alert{display:flex;gap:10px;align-items:flex-start;padding:10px 14px;border-radius:var(--radius);border:1px solid;margin-bottom:16px}.o-alert-icon{font-size:18px;line-height:1.2}.o-alert-info{background:var(--blue-soft);border-color:var(--blue);color:var(--blue)}.o-alert-warning{background:var(--amber-soft);border-color:var(--amber);color:var(--amber)}.o-alert-critical{background:var(--red-soft);border-color:var(--red);color:var(--red);font-weight:500}.o-action>.o-alert{margin:8px 16px 0}.o-kanban-alert{margin-top:6px;font-size:12px;padding:2px 6px;border-radius:3px}.o-kanban-alert.o-alert-warning,.o-kanban-alert.o-alert-info,.o-kanban-alert.o-alert-critical{border:0}.o-tag-service{background:var(--o-action-soft);color:var(--o-action)}.o-links-add{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:12px;padding-top:12px;border-top:1px dashed var(--border-light)}.o-links-add select,.o-links-add input{border:1px solid var(--border);border-radius:var(--radius);padding:5px 8px;min-height:32px;background:var(--surface);flex:1 1 160px;max-width:280px}.o-item-chip{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:10px;background:var(--surface-2);border:1px solid var(--border-light);color:var(--text);font-size:12px;white-space:nowrap;max-width:280px;overflow:hidden;text-overflow:ellipsis}.o-item-chip:hover{border-color:var(--o-action);color:var(--o-action)}.o-item-chip-label{color:var(--muted)}.o-dialog-section{margin-top:20px;padding-top:16px;border-top:1px solid var(--border-light)}.o-dialog-section h3{font-size:14px;margin:0 0 8px;color:var(--text-strong)}.o-links-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.o-link-arrow{color:var(--muted);font-size:13px;padding:0 4px}.o-infra{padding:16px;display:flex;flex-direction:column;gap:16px}.o-infra>.o-alert{margin:0}.o-infra-summary{display:flex;flex-wrap:wrap;gap:8px}.o-infra-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:16px;background:var(--surface);border:1px solid var(--border-light);color:var(--text);font-size:13px}.o-infra-chip strong{color:var(--o-brand)}.o-infra-chip.empty{opacity:.5}.o-infra-chip:hover{border-color:var(--o-action);color:var(--text)}.o-infra-top{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:16px}.o-infra-top .o-note-field{border:1px solid var(--border-light);border-radius:var(--radius);padding:8px;white-space:pre-wrap}.o-diagram-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.o-diagram-list li{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:8px 10px;border:1px solid var(--border-light);border-radius:var(--radius)}.o-infra-domains{display:grid;grid-template-columns:repeat(auto-fill,minmax(440px,1fr));gap:16px;align-items:start}.o-infra-items{list-style:none;margin:0;padding:0}.o-infra-items li{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:8px 0;border-bottom:1px solid var(--border-light)}.o-infra-items li:last-child{border-bottom:0}.o-infra-item-main{display:flex;gap:8px;align-items:baseline;color:var(--text);flex:1 1 240px;min-width:0}.o-infra-item-main:hover{color:var(--o-action)}.o-infra-icon{font-size:16px;width:22px;text-align:center;flex:none}.o-qty{margin-left:6px;font-size:12px;padding:0 6px;border-radius:8px;background:var(--o-brand-soft);color:var(--o-brand)}.o-infra-linked{display:inline-flex;flex-wrap:wrap;gap:4px}.o-infra-diagrams .card-head{flex-wrap:wrap;align-items:flex-start}.o-infra-top{align-items:start}.o-diagram-tabs{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.o-diagram-tabs h2{margin-right:8px}.o-diagram-tab{border:1px solid var(--border-light);background:var(--surface);color:var(--text);border-radius:14px;padding:2px 12px;font:inherit;font-size:13px;cursor:pointer}.o-diagram-tab.active{background:var(--o-action-soft);border-color:var(--o-action);color:var(--o-action);font-weight:600}.o-diagram-viewer{display:block;width:100%;background:#fbfbfc;border:1px solid var(--border-light);border-radius:var(--radius);margin-bottom:6px}.o-diagram-viewer .o-node{cursor:pointer}.o-diagram-viewer-empty{padding:32px;text-align:center;color:var(--muted);border:1px dashed var(--border);border-radius:var(--radius)}.o-diagram{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 300px;min-height:0;height:calc(100vh - 104px)}.o-diagram-canvas{position:relative;display:flex;flex-direction:column;min-width:0;background:#fbfbfc}.o-diagram-toolbar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--border-light);background:var(--surface)}.o-toolbar-sep{width:1px;height:22px;background:var(--border-light);margin:0 4px}.o-toolbar-hint{margin-left:8px;color:#e0663a;font-size:13px;font-weight:500}.o-diagram-svg{flex:1;width:100%;min-height:300px;touch-action:none;cursor:grab;user-select:none;background:#fbfbfc}.o-diagram-svg:active{cursor:grabbing}.o-diagram-svg.connecting,.o-diagram-svg.connecting .o-node{cursor:crosshair}.o-node{cursor:move}.o-node:hover rect:first-child,.o-node:hover ellipse{filter:drop-shadow(0 2px 4px rgb(0 0 0 / 15%))}.o-edge{cursor:pointer}.o-diagram-empty{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);max-width:420px;text-align:center;color:#6b7280;pointer-events:none}.o-diagram-panel{border-left:1px solid var(--border-light);background:var(--surface);display:flex;flex-direction:column;min-height:0;overflow-y:auto}.o-panel-section{padding:12px 14px;border-bottom:1px solid var(--border-light);display:flex;flex-direction:column;gap:8px}.o-panel-section h3{margin:0;font-size:14px;color:var(--text-strong)}.o-panel-section p{margin:0}.o-panel-grow{flex:1;min-height:0}.o-panel-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.o-panel-label{font-size:12px;font-weight:600;color:var(--text-strong)}.o-panel-search{width:100%;border:1px solid var(--border);border-radius:var(--radius);padding:5px 8px;min-height:30px;background:var(--surface)}.o-shape-buttons{display:flex;flex-wrap:wrap;gap:6px}.o-palette-list{display:flex;flex-direction:column;overflow-y:auto;max-height:calc(100vh - 380px);border:1px solid var(--border-light);border-radius:var(--radius)}.o-palette-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border:0;border-bottom:1px solid var(--border-light);background:none;text-align:left;font:inherit;color:var(--text);cursor:pointer}.o-palette-row:hover{background:var(--hover)}.o-palette-icon{font-size:16px;width:22px;text-align:center}.o-palette-text{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.25}.o-palette-text strong{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.o-palette-add{color:var(--o-action);font-weight:700}.o-save-state{font-size:13px;color:var(--muted);margin-left:4px}.o-save-state.pending{color:var(--amber)}.o-save-state.saved{color:var(--green-text)}.o-billing-state{display:inline-flex;flex-wrap:wrap;gap:4px}.o-row-actions{display:inline-flex;gap:2px}.o-duration-picker{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.o-duration-picker input{width:80px!important}.o-list-table tfoot td{font-weight:600;border-top:2px solid var(--border)}.o-list-table .o-expand-col{width:32px;padding-right:0}.o-expand{border:0;background:none;cursor:pointer;color:var(--muted);width:26px;height:26px;border-radius:var(--radius);font-size:14px}.o-expand:hover{background:var(--hover);color:var(--text)}.o-expand-text{border:0;background:none;padding:0;font:inherit;font-size:12px;color:var(--muted);cursor:pointer;display:block}.o-expand-text:hover{color:var(--o-action);text-decoration:underline}.o-list-table tr.o-expanded>td{background:var(--o-action-soft);border-bottom-color:transparent}.o-list-table tr.o-expand-row>td{background:var(--surface-2);padding-top:4px;padding-bottom:12px}.o-sub-table{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius);font-size:13px}.o-sub-table th{position:static;font-size:12px;color:var(--muted)}.o-sub-table tr.clickable{cursor:pointer}.o-sub-table tr.clickable:hover td{background:var(--hover)}.o-inline-field{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;color:var(--muted)}.o-inline-field input{width:auto!important}.o-inline-fields>.o-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;margin-bottom:12px}@media(max-width:700px){.o-inline-fields>.o-group{grid-template-columns:1fr}}.o-invoice-lines td{vertical-align:top}.o-cell-input{width:90px;border:0;border-bottom:1px solid var(--border-light);background:transparent;padding:2px 4px;text-align:right}.o-cell-input.wide{width:100%;text-align:left}.o-cell-input:focus{border-bottom-color:var(--o-action);outline:none}.o-add-line input,.o-add-line select{width:100%;border:1px solid var(--border-light);border-radius:var(--radius);padding:4px 6px;background:var(--surface)}.o-add-line .num input{width:90px;text-align:right}.o-invoice-totals{margin:16px 0 0 auto;width:min(320px,100%);display:flex;flex-direction:column;gap:4px}.o-invoice-totals>div{display:flex;justify-content:space-between;padding:2px 0;font-variant-numeric:tabular-nums}.o-invoice-totals .grand{border-top:2px solid var(--border);padding-top:6px;font-size:16px;font-weight:700;color:var(--text-strong)}.o-invoice-print{display:none}.o-planning{flex:none;display:grid;grid-template-columns:240px minmax(0,1fr);grid-template-rows:minmax(0,1fr);min-height:0;height:calc(100vh - 104px);overflow:hidden}.o-planning>*{min-height:0}.o-planning-side{border-right:1px solid var(--border-light);background:var(--surface);padding:12px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.o-planning-cals-title{font-weight:600;color:var(--text-strong);margin-bottom:6px;font-size:13px}.o-planning-cal{display:flex;align-items:center;gap:8px;padding:3px 0;cursor:pointer;font-size:13px}.o-planning-swatch{display:inline-block;width:10px;height:10px;border-radius:2px;flex:none}.o-planning-main{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;background:var(--surface)}.o-planning-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid var(--border-light)}.o-planning-title{font-size:18px;font-weight:500;margin:0 12px;text-transform:capitalize;flex:1;min-width:180px}.o-switch-text{display:flex;border:1px solid var(--border-light);border-radius:var(--radius);overflow:hidden}.o-switch-text button{border:0;background:var(--surface);color:var(--text);padding:0 10px;height:30px;cursor:pointer;font:inherit;font-size:13px}.o-switch-text button+button{border-left:1px solid var(--border-light)}.o-switch-text button.active{background:var(--o-action-soft);color:var(--o-action);font-weight:600}.o-mini-cal{font-size:12px;user-select:none}.o-mini-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-weight:600;text-transform:capitalize}.o-mini-head button{border:0;background:none;cursor:pointer;font-size:16px;color:var(--text);width:24px;border-radius:var(--radius)}.o-mini-head button:hover{background:var(--hover)}.o-mini-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;text-align:center}.o-mini-dow{color:var(--muted);padding:2px 0}.o-mini-grid button{border:0;background:none;padding:4px 0;border-radius:3px;cursor:pointer;color:var(--text);font:inherit}.o-mini-grid button:hover{background:var(--hover)}.o-mini-grid button.other{color:var(--muted);opacity:.6}.o-mini-grid button.in-range{background:var(--o-action-soft)}.o-mini-grid button.today{font-weight:700;color:var(--o-action)}.o-mini-grid button.selected{background:var(--o-brand);color:var(--o-on-brand)}.o-tg{flex:1;display:flex;flex-direction:column;min-height:0;overflow-x:auto;overflow-y:hidden}.o-tg-head{display:grid;border-bottom:1px solid var(--border);background:var(--surface);position:sticky;top:0;z-index:2;min-width:fit-content}.o-tg-colhead{padding:6px 8px;border-left:1px solid var(--border-light);display:flex;align-items:baseline;gap:6px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.o-tg-dow{text-transform:capitalize;color:var(--muted)}.o-tg-dom{font-size:20px;font-weight:500;color:var(--text-strong)}.o-tg-colhead.today .o-tg-dom{color:var(--o-on-brand);background:var(--o-brand);border-radius:50%;width:32px;height:32px;display:inline-grid;place-items:center;font-size:16px}.o-tg-colhead.today .o-tg-dow{color:var(--o-brand);font-weight:600}.o-tg-scroll{flex:1;overflow-y:auto;min-height:0}.o-tg-body{display:grid;min-width:fit-content}.o-tg-gutter{border-right:1px solid var(--border-light)}.o-tg-hour{position:relative;font-size:11px;color:var(--muted);text-align:right;padding-right:6px}.o-tg-hour{transform:translateY(-7px)}.o-tg-grid{display:grid;position:relative;touch-action:none;user-select:none;cursor:cell;background-image:repeating-linear-gradient(to bottom,var(--border-light) 0,var(--border-light) 1px,transparent 1px,transparent 48px),repeating-linear-gradient(to bottom,transparent 0,transparent 24px,color-mix(in srgb,var(--border-light) 50%,transparent) 24px,color-mix(in srgb,var(--border-light) 50%,transparent) 25px,transparent 25px,transparent 48px)}.o-tg-col{position:relative;border-left:1px solid var(--border-light)}.o-tg-col.weekend{background:color-mix(in srgb,var(--surface-2) 60%,transparent)}.o-tg-now{position:absolute;left:0;right:0;height:2px;background:#d44c59;z-index:3;pointer-events:none}.o-tg-now:before{content:"";position:absolute;left:-4px;top:-3px;width:8px;height:8px;border-radius:50%;background:#d44c59}.o-tg-selection{position:absolute;left:2px;right:2px;background:color-mix(in srgb,var(--o-action) 22%,transparent);border:1px solid var(--o-action);border-radius:3px;font-size:11px;padding:2px 4px;color:var(--o-action);z-index:1;pointer-events:none}.o-tg-event{position:absolute;border-left:4px solid;border-radius:3px;padding:2px 6px;overflow:hidden;font-size:12px;line-height:1.3;color:var(--text-strong);cursor:pointer;z-index:2;box-shadow:0 1px 2px #0000001a}.o-tg-event.movable{cursor:grab}.o-tg-event.dragging{opacity:.85;box-shadow:0 6px 16px #00000040;z-index:5;cursor:grabbing}.o-tg-event.locked,.o-month-event.locked{opacity:.7;background-image:repeating-linear-gradient(135deg,transparent 0 6px,rgb(0 0 0 / 5%) 6px 12px)!important}.o-tg-event-time{font-size:11px;color:var(--muted)}.o-tg-event-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.o-tg-event-sub{color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.o-tg-resize{position:absolute;left:0;right:0;bottom:0;height:6px;cursor:ns-resize}.o-month{flex:1;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:auto repeat(6,minmax(96px,1fr));overflow-y:auto}.o-month-dow{padding:6px 8px;font-size:12px;color:var(--muted);border-bottom:1px solid var(--border);text-transform:capitalize}.o-month-cell{border-right:1px solid var(--border-light);border-bottom:1px solid var(--border-light);padding:4px;display:flex;flex-direction:column;gap:2px;cursor:pointer;min-width:0}.o-month-cell:hover{background:var(--hover)}.o-month-cell.other{background:color-mix(in srgb,var(--surface-2) 60%,transparent)}.o-month-cell.other .o-month-num{color:var(--muted)}.o-month-cell.over{background:var(--o-action-soft)}.o-month-num{font-size:12px;font-weight:600;align-self:flex-start;padding:0 4px;border-radius:10px}.o-month-cell.today .o-month-num{background:var(--o-brand);color:var(--o-on-brand)}.o-month-event{font-size:11.5px;padding:1px 4px;border-left:3px solid;border-radius:2px;background:var(--surface-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.o-month-event.status-done{opacity:.6}.o-month-event.status-cancelled{opacity:.45;text-decoration:line-through}.o-month-time{color:var(--muted)}.o-month-more{font-size:11px;color:var(--o-action);padding-left:4px}.o-popover{position:fixed;z-index:60;width:320px;background:var(--surface);border:1px solid var(--border);border-top:4px solid;border-radius:6px;box-shadow:var(--shadow-lg);padding:12px 14px;display:flex;flex-direction:column;gap:6px}.o-popover-title{font-weight:600;font-size:15px;color:var(--text-strong)}.o-popover-rows{display:flex;flex-direction:column;gap:3px;font-size:13px}.o-popover-rows .muted{display:inline-block;width:80px}.o-popover .form-actions{border-top:0;padding-top:6px}@media print{@page{size:A4;margin:14mm}body{background:#fff!important;color:#000}.o-navbar,.o-cp,.o-content,.toasts{display:none!important}.o-invoice-print{display:block;color:#111;font-size:12px}.o-print-head{display:flex;justify-content:space-between;gap:24px;margin-bottom:24px}.o-print-logo{display:block;height:40px;width:auto;margin-bottom:8px}.o-print-company{font-size:18px;font-weight:700;color:#5c7a1a}.o-print-title{text-align:right}.o-print-title h1{font-size:20px;color:#111;margin-bottom:4px}.o-print-cancelled{color:#c00;font-weight:700;font-size:16px}.o-print-client{margin:0 0 24px auto;width:45%;border:1px solid #ccc;padding:10px 12px;border-radius:4px}.o-print-lines{width:100%;border-collapse:collapse;margin-top:12px}.o-print-lines th{text-align:left;border-bottom:2px solid #5c7a1a;padding:6px 4px}.o-print-lines td{border-bottom:1px solid #ddd;padding:6px 4px;vertical-align:top}.o-print-lines .num,.o-print-lines th:nth-child(n+2){text-align:right}.o-invoice-totals .grand{border-top-color:#5c7a1a}.o-print-foot{margin-top:32px;padding-top:8px;border-top:1px solid #ccc;font-size:10.5px;color:#444;display:flex;flex-direction:column;gap:4px}}@media(max-width:900px){.o-navbar-burger{display:block}.o-navbar-menus{display:none;position:absolute;top:46px;left:0;right:0;flex-direction:column;height:auto;background:var(--o-navbar);align-items:stretch}.o-navbar-menus.open{display:flex}.o-navbar-menus a{padding:12px 16px}.o-apps{grid-template-columns:repeat(3,100px);gap:20px 12px}.o-inner-group,.grid-2,.form-grid,.picker{grid-template-columns:1fr}.o-form-sheet{padding:16px}.o-button-box{margin:-16px -16px 12px}.o-smart-button{min-width:50%;flex:1;border-bottom:1px solid var(--border-light)}.o-statusbar{margin-left:0;overflow-x:auto;max-width:100%}.o-cp-search{flex-basis:100%;max-width:none;order:3}.o-title h1{font-size:22px}.o-kanban-group{flex-basis:85vw}.o-infra-top,.o-infra-domains{grid-template-columns:1fr}.o-diagram{grid-template-columns:1fr;grid-template-rows:minmax(360px,1fr) auto;height:auto}.o-diagram-panel{border-left:0;border-top:1px solid var(--border-light)}.o-planning{grid-template-columns:1fr;height:auto}.o-planning-side{display:none}.o-tg{min-height:70vh}}@media(max-width:480px){.o-apps{grid-template-columns:repeat(3,90px)}.o-app-icon{width:60px;height:60px}.o-field-row{grid-template-columns:1fr;gap:0;padding-top:4px}}.rmm-status{display:inline-flex;align-items:center;gap:5px;vertical-align:middle}.rmm-dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex:none}.rmm-dot-green{background:var(--green);box-shadow:0 0 0 2px var(--green-soft)}.rmm-dot-red{background:var(--red);box-shadow:0 0 0 2px var(--red-soft)}.rmm-dot-amber{background:var(--amber);box-shadow:0 0 0 2px var(--amber-soft)}.rmm-panel{display:flex;flex-direction:column;gap:12px}.rmm-panel h4{margin:4px 0;font-size:13px}.rmm-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.rmm-head .btn{display:inline-flex;align-items:center;gap:6px}.rmm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:4px 24px}.rmm-grid .o-ctx-line{grid-template-columns:150px 1fr}.rmm-disk{display:grid;grid-template-columns:50px minmax(80px,1fr) auto;gap:10px;align-items:center;margin:4px 0}.rmm-link{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.rmm-link select{min-width:220px;max-width:100%}.rmm-ctx-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}a.btn{text-decoration:none;display:inline-flex;align-items:center;gap:6px}@media(max-width:767px){.rmm-grid{grid-template-columns:1fr}.rmm-grid .o-ctx-line{grid-template-columns:120px 1fr}}.rmm-disabled{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;cursor:help}.rmm-disabled .btn:disabled{pointer-events:none}.vault-panel{display:flex;flex-direction:column;gap:10px}.vault-add{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.vault-add input{flex:1 1 220px;min-width:0}.vault-ctx{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.service-eligibility{margin-top:12px;padding:10px 12px;border:1px solid var(--border-light);border-radius:6px}.service-eligibility p{margin:6px 0 0}.service-eligible-choice{display:flex;gap:16px;margin:10px 0}.service-recap{margin-bottom:10px}.service-confirm{display:flex;gap:8px;align-items:flex-start;margin:12px 0}.service-usages{display:flex;flex-direction:column;gap:10px}.service-usage-add{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.service-usage-add input{flex:1 1 120px;min-width:0}.service-usage-add input:nth-child(2){flex:3 1 220px}.modal-body textarea,.modal-body>input{width:100%}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px;flex-wrap:wrap}.integration-tabs{margin-bottom:12px}.integration-tabs{position:static}.integration-tabs a{text-decoration:none;padding:10px 18px;border-bottom:2px solid transparent;color:var(--muted)}.integration-tabs a.active{color:var(--o-brand);border-bottom-color:var(--o-brand);font-weight:600}.o-ctx-security{display:block;margin:4px 0;padding:6px 10px;border-radius:6px;background:var(--red-soft);color:var(--red);font-size:13px;text-decoration:none}.inbox-search{width:100%;max-width:420px;height:34px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font:inherit}.inbox-views{display:inline-flex;gap:4px}.inbox-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 16px}.inbox-tabs button{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:6px 14px;font:inherit;font-size:13px;color:var(--text);cursor:pointer;display:inline-flex;align-items:center;gap:6px}.inbox-tabs button.active{background:var(--o-brand);border-color:var(--o-brand);color:#fff}.inbox-tabs button.active .inbox-count{background:#ffffff40;color:#fff}.inbox-count{display:inline-block;min-width:20px;padding:0 6px;border-radius:999px;background:var(--border-light);color:var(--muted);font-size:12px;font-weight:600;text-align:center;line-height:20px}.inbox-group{margin-bottom:18px}.inbox-group h3{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 8px;display:flex;align-items:center;gap:8px}.inbox-list{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--border-light);border-radius:10px;overflow:hidden}.inbox-list li+li{border-top:1px solid var(--border-light)}.inbox-row{display:flex;align-items:center;gap:16px;padding:12px 16px 12px 14px;border-left:4px solid transparent;color:inherit;text-decoration:none;transition:background .12s}.inbox-row:hover{background:var(--bg, rgba(0, 0, 0, .03))}.inbox-row.prio-urgent{border-left-color:var(--red)}.inbox-row.prio-high{border-left-color:var(--amber)}.inbox-row.prio-normal{border-left-color:var(--blue)}.inbox-row.prio-low{border-left-color:var(--border)}.inbox-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.inbox-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inbox-sub{font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inbox-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none}.inbox-when{font-size:12px;color:var(--muted);white-space:nowrap}.inbox-who{display:flex;align-items:center;gap:6px}.inbox-prio{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:1px 6px;border-radius:4px}.inbox-prio.prio-urgent{background:var(--red-soft);color:var(--red)}.inbox-prio.prio-high{background:var(--amber-soft);color:var(--amber)}.inbox-nobody{width:22px;height:22px;border-radius:50%;border:1px dashed var(--border);color:var(--muted);display:inline-flex;align-items:center;justify-content:center;font-size:12px}@media(max-width:767px){.inbox-tabs{flex-wrap:nowrap;overflow-x:auto;margin-bottom:12px;padding-bottom:2px}.inbox-tabs button{flex:none}.inbox-row{gap:10px;padding:10px 12px 10px 10px;align-items:flex-start}.inbox-title{white-space:normal}.inbox-meta{gap:6px}.inbox-views{display:none}}.inbox-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}.inbox-aside{display:none}@media(min-width:1200px){.inbox-layout{grid-template-columns:minmax(0,1fr) 480px}.inbox-aside{display:flex;flex-direction:column;gap:14px;position:sticky;top:12px}}.inbox-card{background:var(--surface);border:1px solid var(--border-light);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:8px}.inbox-card h4{margin:0;font-size:13px;display:flex;align-items:center;gap:8px}.inbox-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.inbox-card li{display:flex;flex-direction:column;gap:1px;font-size:13px;min-width:0}.inbox-card li a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inbox-card p{margin:0}.inbox-card-alert{border-color:var(--red);box-shadow:inset 3px 0 0 var(--red)}.inbox-card li.inbox-client{flex-direction:row;justify-content:space-between;align-items:center;gap:8px}.inbox-card li>span.small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.th-sort{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:4px;font:inherit;color:inherit;white-space:nowrap}.th-sort:hover,.th-sort.active{color:var(--o-brand)}.th-sort-icon{font-size:10px;opacity:.35}.th-sort.active .th-sort-icon{opacity:1}.th-sort:focus-visible{outline:2px solid var(--o-action);outline-offset:2px;border-radius:3px}.chart{display:flex;flex-direction:column;gap:6px}.chart-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--text)}.chart-legend span,.chart-tooltip span{display:inline-flex;align-items:center;gap:5px}.chart-legend i,.chart-tooltip i{width:10px;height:10px;border-radius:3px;display:inline-block}.chart-plot{position:relative}.chart-plot svg{width:100%;height:auto;display:block;overflow:visible}.chart-grid{stroke:var(--border-light);stroke-width:1}.chart-baseline{stroke:var(--border);stroke-width:1}.chart-axis{font-size:10px;fill:var(--muted)}.chart-hover{fill:transparent}.chart-hover.on{fill:#0000000a}.chart-tooltip{position:absolute;top:-6px;transform:translate(-50%,-100%);background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 14px #0000001f;padding:6px 9px;font-size:12px;display:flex;flex-direction:column;gap:2px;white-space:nowrap;pointer-events:none;z-index:2}.chart-tabs{display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.chart-tabs button{border:0;background:var(--surface);padding:3px 9px;font:inherit;font-size:12px;cursor:pointer;color:var(--muted)}.chart-tabs button+button{border-left:1px solid var(--border)}.chart-tabs button.active{background:var(--o-brand);color:#fff}.chart-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.chart-kpis div{display:flex;flex-direction:column;background:var(--bg);border-radius:8px;padding:6px 8px}.chart-kpis strong{font-size:18px;line-height:1.2}.chart-kpis span{font-size:11px;color:var(--muted)}.dashboard-section{font-size:15px;margin:24px 0 10px}.dash-bar-cell{display:flex;align-items:center;gap:8px;min-width:140px}.dash-bar{display:inline-block;height:8px;border-radius:0 4px 4px 0;background:#2a78d6;min-width:2px;max-width:90px;flex:none}.outage-page{display:flex;flex-direction:column;gap:16px}.outage-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}@media(min-width:1100px){.outage-grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}}.outage-page .field{display:flex;flex-direction:column;gap:4px;font-size:13px}.outage-page .field>span{color:var(--muted)}.outage-page input:not([type=checkbox]),.outage-page select,.outage-page textarea{width:100%}.outage-chips{display:flex;flex-wrap:wrap;gap:6px}.outage-chip-other{opacity:.75}.outage-recipients{max-height:420px;overflow:auto}.o-message.incoming .o-message-body{background:var(--blue-soft, #eef4ff);padding:6px 10px;border-radius:var(--radius)}.o-message-tag.mail{background:var(--surface-2, #f1f1f1);color:var(--muted)}.o-message-tag.failed{background:#fde8e8;color:#c0392b}.o-attachments{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.o-attachments a{font-size:12px;padding:2px 8px;border:1px solid var(--border-light);border-radius:10px}.sla-chips{display:inline-flex;gap:6px;flex-wrap:wrap}.sla-chip{font-size:12px;padding:1px 8px;border-radius:10px;white-space:nowrap;background:var(--green-soft, #e7f5ec);color:var(--green, #2e7d32)}.sla-chip.warn{background:var(--amber-soft);color:var(--amber)}.sla-chip.breach{background:#fde8e8;color:#c0392b;font-weight:600}.sla-chip.paused{background:var(--surface-2);color:var(--muted)}.sla-policies input{max-width:160px}.notif-badge{position:absolute;top:2px;right:0;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#c0392b;color:#fff;font-size:10px;line-height:16px;text-align:center}.notif-list{width:min(360px,92vw);max-height:70vh;overflow:auto}.notif-item{display:block;padding:8px 12px;border-bottom:1px solid var(--border-light);color:inherit;text-decoration:none}.notif-item.unread{background:var(--blue-soft)}.inbox-team{margin-left:auto;padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.teams-row{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;padding:6px 0;border-bottom:1px solid var(--border-light)}.teams-row>strong{min-width:120px}.teams-members{display:flex;gap:12px;flex-wrap:wrap;flex:1}.teams-add{display:flex;gap:8px;margin-top:8px}.teams-add input{flex:1;max-width:280px;padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius)}.insert-picker{width:100%;border:1px solid var(--border-light);border-radius:var(--radius);padding:6px;background:var(--surface)}.insert-picker input,.ticket-articles-add input{width:100%;max-width:360px;padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius)}.insert-picker ul{list-style:none;margin:6px 0 0;padding:0;max-height:220px;overflow:auto}.insert-picker li button{width:100%;text-align:left;background:none;border:0;padding:4px 6px;border-radius:var(--radius);cursor:pointer;color:inherit}.insert-picker li button:hover{background:var(--surface-2)}.ticket-articles{list-style:none;padding:0}.ticket-articles-add{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.auto-page{max-width:980px}.auto-editor{border:1px solid var(--border-light);border-radius:var(--radius);padding:12px 16px;margin:8px 0 16px;background:var(--surface)}.auto-editor h4{margin:12px 0 4px;font-size:13px;text-transform:uppercase;color:var(--muted)}.auto-row{display:grid;grid-template-columns:160px minmax(0,360px);gap:8px;align-items:center;margin:4px 0}.auto-row input,.auto-row select{padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.auto-buttons{display:flex;gap:8px;margin-top:12px}.auto-rule{display:flex;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--border-light);border-radius:var(--radius);margin-bottom:8px;background:var(--surface)}.auto-rule.inactive{opacity:.55}.auto-rule-main{flex:1;min-width:0}@media(max-width:640px){.auto-row{grid-template-columns:1fr}.auto-rule{flex-wrap:wrap}}.survey-card{max-width:440px}.survey-card h1{font-size:20px;margin:8px 0}.survey-card textarea{width:100%;margin:8px 0;padding:8px;border:1px solid var(--border);border-radius:var(--radius)}.survey-stars{display:flex;gap:4px;margin:8px 0}.survey-stars button{font-size:34px;line-height:1;background:none;border:0;cursor:pointer;color:var(--border);padding:0 2px}.survey-stars button.on{color:#f5a623}.satisfaction-bar{flex:1;height:8px;margin:0 10px;background:var(--surface-2);border-radius:4px;overflow:hidden;display:block}.satisfaction-bar>span{display:block;height:100%;background:#f5a623}.portal{min-height:100vh;display:flex;flex-direction:column;background:var(--bg, #f6f7f9)}.portal-header{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:8px 16px;background:var(--o-navbar);color:#fff}.portal-header a{color:#fff;text-decoration:none}.portal-brand{display:flex;align-items:center;gap:8px;font-weight:600}.portal-brand img{height:26px}.portal-brand small{font-weight:400;opacity:.85}.portal-header nav{display:flex;gap:2px;flex-wrap:wrap;flex:1}.portal-header nav a{padding:6px 10px;border-radius:var(--radius)}.portal-header nav a.active,.portal-header nav a:hover{background:#00000026}.portal-user{font-size:13px}.portal-user .btn-link{color:#fff}.portal-main{flex:1;width:100%;max-width:1000px;margin:0 auto;padding:16px}.portal-main h1{font-size:20px;margin:8px 0 12px}.portal-footer{text-align:center;padding:12px}.portal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.portal-list{list-style:none;padding:0;margin:12px 0}.portal-list li>a,.portal-list li>div{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline;padding:10px 12px;margin-bottom:6px;background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius);color:inherit;text-decoration:none}.portal-meta{margin-left:auto;display:flex;gap:6px;align-items:center}.portal-form{display:flex;flex-direction:column;gap:8px;max-width:640px}.portal-form textarea,.portal-form input,.portal-form select,.portal-search{width:100%;padding:8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.portal-form .btn{align-self:flex-start}.portal-thread{display:flex;flex-direction:column;gap:8px;margin:12px 0}.portal-msg{max-width:85%;padding:8px 12px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border-light)}.portal-msg.mine{align-self:flex-end;background:var(--blue-soft)}.portal-msg p{margin:4px 0}.portal-doc{background:var(--surface);padding:16px 20px;border-radius:var(--radius);border:1px solid var(--border-light)}.portal-signature{max-width:280px;border:1px solid var(--border-light);background:#fff}.portal-invoice-head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.portal-invoice-logo{height:40px}.portal-totals{text-align:right}.portal-auth{max-width:400px}.portal-title{font-size:18px;margin:8px 0 12px}.portal .table{overflow-x:auto;display:block}@media print{.portal-header,.portal-footer,.no-print{display:none!important}.portal-doc{border:0;padding:0}}.call-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ticket-conversation{margin:16px 0 20px;padding-top:12px;border-top:1px solid var(--border-light)}.ticket-conversation h3{font-size:13px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin:0 0 8px}.ticket-conversation .o-chatter-inner{padding:0}.chat-thread{display:flex;flex-direction:column;gap:10px;max-height:65vh;overflow-y:auto;padding:12px;background:var(--surface-2);border-radius:var(--radius)}.chat-msg{display:flex;gap:8px;align-items:flex-end;max-width:78%}.chat-msg.in{align-self:flex-start}.chat-msg.out{align-self:flex-end}.chat-msg.system{align-self:center;max-width:100%}.chat-system{font-size:12px;color:var(--muted)}.chat-bubble{padding:8px 12px;border-radius:12px;background:var(--surface);border:1px solid var(--border-light);min-width:0;overflow-wrap:anywhere}.chat-msg.in .chat-bubble{border-bottom-left-radius:4px}.chat-msg.out .chat-bubble{background:#e8ebfa;border-color:#c9cff3;border-bottom-right-radius:4px}.chat-msg.out.note .chat-bubble{background:var(--amber-soft);border-color:var(--amber);border-style:dashed}.chat-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline;font-size:12px;color:var(--muted);margin-bottom:2px}.chat-meta strong{color:var(--text)}.chat-bubble p{margin:0}.chat-compose{margin-top:10px}@media(prefers-color-scheme:dark){.chat-msg.out .chat-bubble{background:#2c3350;border-color:#3d4670}}@media(max-width:640px){.chat-msg{max-width:92%}}.wiki{display:flex;align-items:stretch;min-height:0}.wiki-side{flex:0 0 260px;border-right:1px solid var(--border-light);background:var(--surface);padding:12px;overflow:auto;display:flex;flex-direction:column;gap:8px}.wiki-space-select{width:100%;font-weight:600}.wiki-side-home{font-size:13px}.wiki-side-new{align-self:flex-start;margin-top:4px}.wiki-main{flex:1;min-width:0;overflow:auto;padding:16px}.wiki-tree,.wiki-tree ul{list-style:none;margin:0;padding:0}.wiki-tree ul{padding-left:14px}.wiki-tree-row{display:flex;align-items:center;gap:2px;border-radius:var(--radius);padding:1px 4px 1px 0;font-size:14px}.wiki-tree-row:hover{background:var(--hover)}.wiki-tree-row.active{background:var(--o-brand-soft)}.wiki-tree-row.active a{color:var(--text-strong);font-weight:600}.wiki-tree-row a{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);padding:3px 0}.wiki-tree-toggle{flex:0 0 18px;width:18px;height:22px;border:0;background:none;color:var(--muted);cursor:pointer;padding:0;font-size:11px}.wiki-tree-flag{font-size:10px;color:var(--green-text);background:var(--green-soft);border-radius:8px;padding:0 5px}.wiki-page{display:flex;align-items:flex-start;gap:16px;max-width:1200px;margin:0 auto}.wiki-sheet{flex:1;min-width:0;max-width:960px;margin:0 auto;background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius);padding:24px 32px 32px;box-shadow:var(--shadow)}.wiki-sheet>h1{margin:0 0 4px;font-size:26px;color:var(--text-strong);display:flex;align-items:center;gap:10px;flex-wrap:wrap}.wiki-sheet .tabs{margin:12px 0 16px}.wiki-toc{flex:0 0 220px;position:sticky;top:0;background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius);padding:12px;font-size:13px}.wiki-toc ul{list-style:none;margin:6px 0 0;padding:0}.wiki-toc li{padding:2px 0}.wiki-toc .toc-2{padding-left:12px}.wiki-toc .toc-3{padding-left:24px}.wiki-children{margin:0;padding-left:20px}.wiki-children li{padding:2px 0}.wiki-subpages{margin-top:24px;border-top:1px solid var(--border-light);padding-top:8px}.wiki-subpages h2{font-size:16px}.wiki-home{padding:16px;max-width:1140px;width:100%;margin:0 auto}.wiki-home h2{font-size:17px;margin:8px 0 12px}.wiki-home section+section{margin-top:24px}.wiki-spaces{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.wiki-space-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow);color:var(--text)}.wiki-space-card:hover{border-color:var(--o-action);color:var(--text)}.wiki-space-card strong{color:var(--text-strong);font-size:15px}.wiki-space-card p{margin:0}.wiki-results{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius)}.wiki-results li{padding:10px 14px;border-bottom:1px solid var(--border-light)}.wiki-results li:last-child{border-bottom:0}.wiki-results p{margin:4px 0 0;color:var(--text)}.wiki-edit .o-group{margin:8px 0 12px}.wiki-edit-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}.wiki-documents-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.wiki-doc-actions{display:inline-flex;gap:2px;white-space:nowrap}.wiki-version{border:1px solid var(--border-light);border-radius:var(--radius);padding:12px 16px;max-height:55vh;overflow:auto;margin-bottom:12px}.wiki-document{display:flex;min-height:0}.wiki-document-main{flex:1;min-width:0;display:flex;flex-direction:column}.wiki-document-versions{flex:0 0 280px;border-left:1px solid var(--border-light);background:var(--surface);padding:12px 16px;overflow:auto}.wiki-document-versions h2{font-size:16px;margin:0 0 4px}.wiki-document-versions ul{list-style:none;margin:8px 0 0;padding:0}.wiki-document-versions li{padding:8px 0;border-bottom:1px solid var(--border-light)}.wiki-office{flex:1;display:flex;flex-direction:column;min-height:480px;position:relative}.wiki-office-frame{flex:1;min-height:480px}.wiki-office-frame>*{height:100%}.wiki-office-loading{position:absolute;top:16px;left:16px;margin:0}.wiki-office-note{margin:0;padding:6px 16px;background:var(--amber-soft)}.wiki-office-message{max-width:720px;margin:32px auto;background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius);padding:20px 24px;box-shadow:var(--shadow)}.wiki-office-message h2{margin-top:0;font-size:18px;color:var(--text-strong)}.md{line-height:1.6;overflow-wrap:anywhere}.md>:first-child{margin-top:0}.md h2,.md h3,.md h4,.md h5{color:var(--text-strong);margin:1.4em 0 .5em;line-height:1.3;scroll-margin-top:12px}.md h2{font-size:21px;border-bottom:1px solid var(--border-light);padding-bottom:4px}.md h3{font-size:18px}.md h4,.md h5{font-size:15px}.md p,.md ul,.md ol,.md pre,.md blockquote,.md .table-wrap{margin:0 0 .9em}.md ul,.md ol{padding-left:24px}.md ul.md-tasks{list-style:none;padding-left:4px}.md ul.md-tasks input{margin:0 8px 0 0;vertical-align:-2px}.md code{font-family:var(--mono);font-size:.9em;background:var(--surface-2);padding:1px 5px;border-radius:3px}.md pre{background:var(--surface-2);border:1px solid var(--border-light);border-radius:var(--radius);padding:10px 12px;overflow-x:auto}.md pre code{background:none;padding:0}.md blockquote{border-left:3px solid var(--o-brand);background:var(--o-brand-soft);padding:8px 12px;border-radius:0 var(--radius) var(--radius) 0}.md blockquote>.md>:last-child{margin-bottom:0}.md hr{border:0;border-top:1px solid var(--border);margin:1.2em 0}.md .md-table{width:auto;min-width:50%;border:1px solid var(--border-light)}.md img{max-width:100%;height:auto;border-radius:var(--radius)}.md table{border-collapse:collapse;margin:0 0 .9em;table-layout:fixed}.md table td,.md table th{border:1px solid var(--border);padding:6px 10px;vertical-align:top;min-width:60px;position:relative}.md table th{background:var(--surface-2);text-align:left;font-weight:600}.md table p{margin:0}.md ul[data-type=taskList]{list-style:none;padding-left:4px}.md ul[data-type=taskList] li{display:flex;align-items:flex-start;gap:8px}.md ul[data-type=taskList] li>label{flex:none;padding-top:2px}.md ul[data-type=taskList] li>div{flex:1;min-width:0}.md ul[data-type=taskList] li>div>p{margin:0}.md ul[data-type=taskList] li[data-checked=true]>div{color:var(--muted);text-decoration:line-through}.rich-editor{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.md-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:4px;border-bottom:1px solid var(--border-light);background:var(--surface-2);position:sticky;top:0;z-index:2}.md-toolbar .btn{min-width:30px}.md-toolbar .btn.active{background:var(--o-brand-soft);color:var(--text-strong)}.md-toolbar-sep{width:1px;align-self:stretch;background:var(--border);margin:2px 4px}.rich-editor-block{min-height:26px;padding:0 6px;font-size:13px}.rich-editor-table{top:37px;background:var(--o-brand-soft)}.rich-editor-body .ProseMirror{min-height:420px;padding:16px 20px;outline:none}.rich-editor-body .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--muted);float:left;height:0;pointer-events:none}.rich-editor-body .ProseMirror img.ProseMirror-selectednode,.rich-editor-body [data-resize-container].ProseMirror-selectednode img{outline:2px solid var(--o-action)}.rich-editor-body [data-resize-container]{display:inline-block;position:relative;max-width:100%}.rich-editor-body [data-resize-handle]{position:absolute;width:10px;height:10px;background:var(--surface);border:2px solid var(--o-action);border-radius:2px;opacity:0;z-index:1}.rich-editor-body [data-resize-container]:hover [data-resize-handle],.rich-editor-body [data-resize-state=true] [data-resize-handle]{opacity:1}.rich-editor-body [data-resize-handle=bottom-right]{right:-5px;bottom:-5px;cursor:nwse-resize}.rich-editor-body [data-resize-handle=bottom-left]{left:-5px;bottom:-5px;cursor:nesw-resize}.rich-editor-body [data-resize-handle=top-right]{right:-5px;top:-5px;cursor:nesw-resize}.rich-editor-body [data-resize-handle=top-left]{left:-5px;top:-5px;cursor:nwse-resize}.rich-editor-body [data-resize-handle=right],.rich-editor-body [data-resize-handle=left]{top:50%;margin-top:-5px;cursor:ew-resize}.rich-editor-body [data-resize-handle=right]{right:-5px}.rich-editor-body [data-resize-handle=left]{left:-5px}.rich-editor-body [data-resize-handle=top],.rich-editor-body [data-resize-handle=bottom]{left:50%;margin-left:-5px;cursor:ns-resize}.rich-editor-body [data-resize-handle=top]{top:-5px}.rich-editor-body [data-resize-handle=bottom]{bottom:-5px}.rich-editor-body .tableWrapper{overflow-x:auto;margin:0 0 .9em}.rich-editor-body .selectedCell:after{content:"";position:absolute;inset:0;background:var(--o-brand-soft);opacity:.6;pointer-events:none}.rich-editor-body .column-resize-handle{position:absolute;right:-2px;top:0;bottom:-2px;width:4px;background:var(--o-action);pointer-events:none}.rich-editor-body .resize-cursor{cursor:col-resize}.o-signature-pad{border:1px solid var(--border);border-radius:var(--radius);background:#fff;overflow:hidden}.o-signature-pad canvas{display:block;width:100%;height:220px;touch-action:none;cursor:crosshair}.o-signature-pad-foot{display:flex;justify-content:space-between;align-items:center;padding:2px 4px 2px 10px;background:var(--surface-2);border-top:1px solid var(--border-light)}.o-sign-report,.o-sign-input{width:100%;border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;min-height:36px;background:var(--surface)}.o-scanner{position:relative;background:#000;border-radius:var(--radius);overflow:hidden;aspect-ratio:4 / 3}.o-scanner video{width:100%;height:100%;object-fit:cover;display:block}.o-scanner-frame{position:absolute;inset:22% 12%;border:2px solid rgb(255 255 255 / 85%);border-radius:8px;box-shadow:0 0 0 999px #0000004d}.o-scanner-manual{display:flex;width:100%}.o-scanner-manual input{flex:1;min-width:0}.o-card-line{display:flex;justify-content:space-between;gap:12px;font-size:13px}.o-card-line>span:last-child{text-align:right;min-width:0;overflow-wrap:anywhere}.o-drawer-title,.o-drawer-backdrop{display:none}@media(max-width:767px){body{font-size:15px}input,select,textarea{font-size:16px}.o-navbar{height:calc(46px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(4px,env(safe-area-inset-right)) 0 max(4px,env(safe-area-inset-left))}.o-navbar-brand{padding:0 6px;font-size:16px;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}.o-navbar-burger{width:40px;height:40px}.o-navbar-right{margin-left:auto}.o-home .o-navbar-apps{display:none}.o-drawer-backdrop{display:block;position:fixed;inset:0;background:#0006;z-index:70}.o-navbar-menus,.o-navbar-menus.open{display:flex;position:fixed;inset:0 auto 0 0;width:min(300px,82vw);height:auto;z-index:71;flex-direction:column;align-items:stretch;background:var(--surface);color:var(--text);box-shadow:var(--shadow-lg);overflow-y:auto;padding-top:env(safe-area-inset-top);transform:translate(-105%);transition:transform .18s ease-out;visibility:hidden}.o-navbar-menus.open{transform:none;visibility:visible}.o-navbar .o-navbar-menus a{color:var(--text);padding:0 20px;min-height:48px;height:auto;border-bottom:1px solid var(--border-light)}.o-navbar .o-navbar-menus a.active{background:var(--o-brand-soft);color:var(--o-brand);font-weight:600}.o-navbar .o-navbar-menus a:hover{background:var(--hover);color:var(--text)}.o-drawer-title{display:block;padding:14px 20px;font-size:18px;font-weight:600;color:#fff;background:var(--o-navbar)}.o-apps-fullscreen{position:fixed;top:calc(46px + env(safe-area-inset-top));left:0;right:0;bottom:0;z-index:60;overflow-y:auto;padding:24px 12px calc(24px + env(safe-area-inset-bottom));background:radial-gradient(circle at 15% 20%,var(--o-glow-1) 0,transparent 45%),radial-gradient(circle at 85% 80%,var(--o-glow-2) 0,transparent 45%),var(--bg)}.o-apps-fullscreen .o-apps{margin:0 auto;width:fit-content}.o-navbar .o-apps-fullscreen .o-app,.o-navbar .o-apps-fullscreen .o-app:hover{color:var(--text-strong)}.o-apps{grid-template-columns:repeat(3,96px);gap:18px 10px}.o-app-icon{width:64px;height:64px}.o-app-name{font-size:13px}.o-home-hint{display:none}.o-cp-mobile{flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:4px;padding:4px 8px 6px}.o-cp-row{display:flex;align-items:center;gap:6px;min-height:40px}.o-cp-back{display:grid;place-items:center;width:40px;height:40px;font-size:28px;line-height:1;color:var(--o-action);flex:none;margin-left:-6px}.o-cp-title{flex:1;min-width:0;font-size:17px;color:var(--text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.o-cp-iconbtn{width:40px;height:40px;border:0;background:none;color:var(--text);border-radius:var(--radius);display:grid;place-items:center;flex:none;cursor:pointer}.o-cp-iconbtn svg{width:20px;height:20px}.o-cp-iconbtn.active{background:var(--o-action-soft);color:var(--o-action)}.o-cp-mobile .o-cp-search{max-width:none;flex:none}.o-cp-mobile .o-cp-buttons{flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}.o-cp-mobile .o-cp-right{margin-left:auto;flex:none}.o-cp-gear,.o-form-status-indicator button{width:40px;height:40px}.o-pager-value{font-size:13px;margin-right:2px}.o-pager .btn,.o-switch-view button{width:40px;height:40px;min-height:40px}.o-search-panel{position:fixed;left:8px;right:8px;top:auto;min-width:0;max-height:60vh;overflow-y:auto}.o-searchview{min-height:40px}.o-searchview-toggle{width:40px}.o-facet button{min-width:28px}.o-kanban-grid{grid-template-columns:1fr;padding:8px;gap:6px}.o-kanban-groups{padding:8px;min-height:0;scroll-snap-type:x mandatory}.o-kanban-group{flex-basis:86vw;scroll-snap-align:start}.o-form-sheet-bg{padding:0 0 16px}.o-form-sheet{border-left:0;border-right:0;border-radius:0;padding:12px}.o-form-statusbar{padding:6px 8px;flex-wrap:nowrap}.o-statusbar-buttons{flex-wrap:nowrap;overflow-x:auto;min-width:0;flex:1;scrollbar-width:none}.o-statusbar-mobile{margin-left:auto;flex:none}.o-statusbar-mobile .o-arrow-button{clip-path:none;border-radius:var(--radius);height:40px;padding:0 12px;margin:0}.o-statusbar-mobile .o-arrow-button:disabled{opacity:1}.o-button-box{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;margin:-12px -12px 12px;scrollbar-width:none}.o-smart-button{min-width:auto;flex:none;border-bottom:0}.o-button-box .o-smart-button:first-child{border-left:0}.o-title h1{font-size:21px}.o-ribbon{transform:scale(.75);transform-origin:top right}.o-field-row{grid-template-columns:1fr;gap:0;padding-top:6px;min-height:0}.o-field input:not([type=checkbox]),.o-field select{min-height:40px}.o-notebook-headers button{padding:10px 14px}.o-chatter{padding:0 8px 16px}.o-chatter-topbar{flex-wrap:wrap}.modal,.modal-wide{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0}.modal-head{padding:calc(4px + env(safe-area-inset-top)) 4px 4px 16px}.modal-body{padding:16px 16px calc(16px + env(safe-area-inset-bottom))}.o-palette{margin:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.o-palette-results{max-height:none}.o-palette-item{grid-template-columns:1fr;padding:10px 16px}.o-palette-item .muted{grid-column:1}.btn{min-height:40px}.btn-sm{min-height:36px}.btn-icon{width:40px}.o-dropdown-item{padding:10px 16px;white-space:normal}.o-dropdown-menu{max-width:calc(100vw - 16px)}input[type=checkbox]{width:20px;height:20px}.toasts{top:auto;bottom:calc(16px + env(safe-area-inset-bottom));left:16px;right:16px}.toast{max-width:none}.o-planning{height:calc(100dvh - 102px);min-height:420px}.o-planning-toolbar{padding:6px 8px}.o-planning-title{font-size:16px;margin:0 4px;min-width:0;flex-basis:100%;order:-1}.o-switch-text{overflow-x:auto;max-width:100%}.o-switch-text button{height:36px;flex:none}.o-tg{min-height:0}.o-tg-grid{touch-action:pan-x pan-y}.o-infra,.o-dashboard{padding:8px}.o-infra-domains{grid-template-columns:1fr}.card{padding:12px}.card>.table-wrap,.card>.empty{margin:0 -12px -12px}}@media(max-width:767px){.wiki{flex-direction:column}.wiki-side{flex:none;border-right:0;border-bottom:1px solid var(--border-light);max-height:40vh}.wiki-main{padding:8px;overflow:visible}.wiki-sheet{padding:16px}.wiki-toc{display:none}.rich-editor-body .ProseMirror{padding:12px;min-height:300px}.wiki-document{flex-direction:column}.wiki-document-versions{flex:none;border-left:0;border-top:1px solid var(--border-light)}}
