:root{--ion-color-primary: #0054e9;--ion-color-primary-rgb: 0, 84, 233;--ion-color-primary-contrast: #fff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #004acd;--ion-color-primary-tint: #1a65eb;--ion-color-secondary: #0163aa;--ion-color-secondary-rgb: 1, 99, 170;--ion-color-secondary-contrast: #fff;--ion-color-secondary-contrast-rgb: 255, 255, 255;--ion-color-secondary-shade: #015796;--ion-color-secondary-tint: #1a73b3;--ion-color-tertiary: #6030ff;--ion-color-tertiary-rgb: 96, 48, 255;--ion-color-tertiary-contrast: #fff;--ion-color-tertiary-contrast-rgb: 255, 255, 255;--ion-color-tertiary-shade: #542ae0;--ion-color-tertiary-tint: #7045ff;--ion-color-success: #2dd55b;--ion-color-success-rgb: 45, 213, 91;--ion-color-success-contrast: #000;--ion-color-success-contrast-rgb: 0, 0, 0;--ion-color-success-shade: #28bb50;--ion-color-success-tint: #42d96b;--ion-color-warning: #ffc409;--ion-color-warning-rgb: 255, 196, 9;--ion-color-warning-contrast: #000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0ac08;--ion-color-warning-tint: #ffca22;--ion-color-danger: #c5000f;--ion-color-danger-rgb: 197, 0, 15;--ion-color-danger-contrast: #fff;--ion-color-danger-contrast-rgb: 255, 255, 255;--ion-color-danger-shade: #ad000d;--ion-color-danger-tint: #cb1a27;--ion-color-light: #f4f5f8;--ion-color-light-rgb: 244, 245, 248;--ion-color-light-contrast: #000;--ion-color-light-contrast-rgb: 0, 0, 0;--ion-color-light-shade: #d7d8da;--ion-color-light-tint: #f5f6f9;--ion-color-medium: #636469;--ion-color-medium-rgb: 99, 100, 105;--ion-color-medium-contrast: #fff;--ion-color-medium-contrast-rgb: 255, 255, 255;--ion-color-medium-shade: #57585c;--ion-color-medium-tint: #737478;--ion-color-dark: #222428;--ion-color-dark-rgb: 34, 36, 40;--ion-color-dark-contrast: #fff;--ion-color-dark-contrast-rgb: 255, 255, 255;--ion-color-dark-shade: #1e2023;--ion-color-dark-tint: #383a3e}html.ios{--ion-default-font: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Roboto", sans-serif}html.md{--ion-default-font: "Roboto", "Helvetica Neue", sans-serif}html{--ion-dynamic-font: -apple-system-body;--ion-font-family: var(--ion-default-font)}body{background:var(--ion-background-color);color:var(--ion-text-color)}body.backdrop-no-scroll{overflow:hidden}html.ios ion-modal.modal-card ion-header ion-toolbar:first-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:first-of-type,html.ios ion-modal ion-footer ion-toolbar:first-of-type,html.ios ion-footer.modal-footer-moving ion-toolbar:first-of-type{padding-top:6px}html.ios ion-modal.modal-card ion-header ion-toolbar:last-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:last-of-type{padding-bottom:6px}html.ios ion-modal ion-toolbar,html.ios .modal-footer-moving ion-toolbar{padding-right:calc(var(--ion-safe-area-right) + 8px);padding-left:calc(var(--ion-safe-area-left) + 8px)}@media screen and (min-width:768px){html.ios ion-modal.modal-card:first-of-type{--backdrop-opacity: .18}}ion-modal.modal-default.show-modal~ion-modal.modal-default{--backdrop-opacity: 0;--box-shadow: none}html.ios ion-modal.modal-card .ion-page{border-top-left-radius:var(--border-radius)}.ion-color-primary{--ion-color-base: var(--ion-color-primary, #0054e9) !important;--ion-color-base-rgb: var(--ion-color-primary-rgb, 0, 84, 233) !important;--ion-color-contrast: var(--ion-color-primary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-primary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-primary-shade, #004acd) !important;--ion-color-tint: var(--ion-color-primary-tint, #1a65eb) !important}.ion-color-secondary{--ion-color-base: var(--ion-color-secondary, #0163aa) !important;--ion-color-base-rgb: var(--ion-color-secondary-rgb, 1, 99, 170) !important;--ion-color-contrast: var(--ion-color-secondary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-secondary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-secondary-shade, #015796) !important;--ion-color-tint: var(--ion-color-secondary-tint, #1a73b3) !important}.ion-color-tertiary{--ion-color-base: var(--ion-color-tertiary, #6030ff) !important;--ion-color-base-rgb: var(--ion-color-tertiary-rgb, 96, 48, 255) !important;--ion-color-contrast: var(--ion-color-tertiary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-tertiary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-tertiary-shade, #542ae0) !important;--ion-color-tint: var(--ion-color-tertiary-tint, #7045ff) !important}.ion-color-success{--ion-color-base: var(--ion-color-success, #2dd55b) !important;--ion-color-base-rgb: var(--ion-color-success-rgb, 45, 213, 91) !important;--ion-color-contrast: var(--ion-color-success-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-success-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-success-shade, #28bb50) !important;--ion-color-tint: var(--ion-color-success-tint, #42d96b) !important}.ion-color-warning{--ion-color-base: var(--ion-color-warning, #ffc409) !important;--ion-color-base-rgb: var(--ion-color-warning-rgb, 255, 196, 9) !important;--ion-color-contrast: var(--ion-color-warning-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-warning-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-warning-shade, #e0ac08) !important;--ion-color-tint: var(--ion-color-warning-tint, #ffca22) !important}.ion-color-danger{--ion-color-base: var(--ion-color-danger, #c5000f) !important;--ion-color-base-rgb: var(--ion-color-danger-rgb, 197, 0, 15) !important;--ion-color-contrast: var(--ion-color-danger-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-danger-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-danger-shade, #ad000d) !important;--ion-color-tint: var(--ion-color-danger-tint, #cb1a27) !important}.ion-color-light{--ion-color-base: var(--ion-color-light, #f4f5f8) !important;--ion-color-base-rgb: var(--ion-color-light-rgb, 244, 245, 248) !important;--ion-color-contrast: var(--ion-color-light-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-light-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-light-shade, #d7d8da) !important;--ion-color-tint: var(--ion-color-light-tint, #f5f6f9) !important}.ion-color-medium{--ion-color-base: var(--ion-color-medium, #636469) !important;--ion-color-base-rgb: var(--ion-color-medium-rgb, 99, 100, 105) !important;--ion-color-contrast: var(--ion-color-medium-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-medium-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-medium-shade, #57585c) !important;--ion-color-tint: var(--ion-color-medium-tint, #737478) !important}.ion-color-dark{--ion-color-base: var(--ion-color-dark, #222428) !important;--ion-color-base-rgb: var(--ion-color-dark-rgb, 34, 36, 40) !important;--ion-color-contrast: var(--ion-color-dark-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-dark-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-dark-shade, #1e2023) !important;--ion-color-tint: var(--ion-color-dark-tint, #383a3e) !important}.ion-page{left:0;right:0;top:0;bottom:0;display:flex;position:absolute;flex-direction:column;justify-content:space-between;contain:layout size style;z-index:0}.ion-page.ion-page-overlay-passthrough{pointer-events:none}ion-modal>.ion-page{position:relative;contain:layout style;height:100%}.split-pane-visible>.ion-page.split-pane-main{position:relative}ion-route,ion-route-redirect,ion-router,ion-select-option,ion-nav-controller,ion-menu-controller,ion-action-sheet-controller,ion-alert-controller,ion-loading-controller,ion-modal-controller,ion-picker-controller,ion-popover-controller,ion-toast-controller,.ion-page-hidden{display:none!important}.ion-page-invisible{opacity:0}.can-go-back>ion-header ion-back-button{display:block}html.plt-ios.plt-hybrid,html.plt-ios.plt-pwa{--ion-statusbar-padding: 20px}@supports (padding-top: 20px){html{--ion-safe-area-top: var(--ion-statusbar-padding)}}@supports (padding-top: env(safe-area-inset-top)){html{--ion-safe-area-top: var(--safe-area-inset-top, env(safe-area-inset-top));--ion-safe-area-bottom: var(--safe-area-inset-bottom, env(safe-area-inset-bottom));--ion-safe-area-left: var(--safe-area-inset-left, env(safe-area-inset-left));--ion-safe-area-right: var(--safe-area-inset-right, env(safe-area-inset-right))}}ion-card.ion-color .ion-inherit-color,ion-card-header.ion-color .ion-inherit-color{color:inherit}.menu-content{transform:translateZ(0)}.menu-content-open{cursor:pointer;touch-action:manipulation;pointer-events:none;overflow-y:hidden}.menu-content-open ion-content{--overflow: hidden}.menu-content-open .ion-content-scroll-host{overflow:hidden}.ios .menu-content-reveal{box-shadow:-8px 0 42px #00000014}[dir=rtl].ios .menu-content-reveal{box-shadow:8px 0 42px #00000014}.md .menu-content-reveal,.md .menu-content-push{box-shadow:4px 0 16px #0000002e}ion-accordion-group.accordion-group-expand-inset>ion-accordion:first-of-type{border-top-left-radius:8px;border-top-right-radius:8px}ion-accordion-group.accordion-group-expand-inset>ion-accordion:last-of-type{border-bottom-left-radius:8px;border-bottom-right-radius:8px}ion-accordion-group>ion-accordion:last-of-type ion-item[slot=header]{--border-width: 0px}ion-accordion.accordion-animated>[slot=header] .ion-accordion-toggle-icon{transition:.3s transform cubic-bezier(.25,.8,.5,1)}@media(prefers-reduced-motion:reduce){ion-accordion .ion-accordion-toggle-icon{transition:none!important}}ion-accordion.accordion-expanding>[slot=header] .ion-accordion-toggle-icon,ion-accordion.accordion-expanded>[slot=header] .ion-accordion-toggle-icon{transform:rotate(180deg)}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-previous ion-item[slot=header]{--border-width: 0px;--inner-border-width: 0px}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanding:first-of-type,ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanded:first-of-type{margin-top:0}ion-input input::-webkit-date-and-time-value{text-align:start}.ion-datetime-button-overlay{--width: fit-content;--height: fit-content}.ion-datetime-button-overlay ion-datetime.datetime-grid{width:320px;min-height:320px}[ion-last-focus],header[tabindex="-1"]:focus,[role=banner][tabindex="-1"]:focus,main[tabindex="-1"]:focus,[role=main][tabindex="-1"]:focus,h1[tabindex="-1"]:focus,[role=heading][aria-level="1"][tabindex="-1"]:focus{outline:none}.popover-viewport:has(>ion-content){overflow:hidden}@supports not selector(:has(> ion-content)){.popover-viewport{overflow:hidden}}audio,canvas,progress,video{vertical-align:baseline}audio:not([controls]){display:none;height:0}b,strong{font-weight:700}img{max-width:100%}hr{height:1px;border-width:0;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}label,input,select,textarea{font-family:inherit;line-height:normal}textarea{overflow:auto;height:auto;font:inherit;color:inherit}textarea::placeholder{padding-left:2px}form,input,optgroup,select{margin:0;font:inherit;color:inherit}html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}a,a div,a span,a ion-icon,a ion-label,button,button div,button span,button ion-icon,button ion-label,.ion-tappable,[tappable],[tappable] div,[tappable] span,[tappable] ion-icon,[tappable] ion-label,input,textarea{touch-action:manipulation}a ion-label,button ion-label{pointer-events:none}button{padding:0;border:0;border-radius:0;font-family:inherit;font-style:inherit;font-variant:inherit;line-height:1;text-transform:none;cursor:pointer;-webkit-appearance:button}[tappable]{cursor:pointer}a[disabled],button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}html{width:100%;height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}html.ion-ce body{display:block}html.plt-pwa{height:100vh}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:0;padding:0;position:fixed;width:100%;max-width:100%;height:100%;max-height:100%;transform:translateZ(0);text-rendering:optimizeLegibility;overflow:hidden;touch-action:manipulation;-webkit-user-drag:none;-ms-content-zooming:none;word-wrap:break-word;overscroll-behavior-y:none;-webkit-text-size-adjust:none;text-size-adjust:none}html{font-family:var(--ion-font-family)}@supports (-webkit-touch-callout: none){html{font:var(--ion-dynamic-font, 16px var(--ion-font-family))}}a{background-color:transparent;color:var(--ion-color-primary, #0054e9)}h1,h2,h3,h4,h5,h6{margin-top:16px;margin-bottom:10px;font-weight:500;line-height:1.2}h1{margin-top:20px;font-size:1.625rem}h2{margin-top:18px;font-size:1.5rem}h3{font-size:1.375rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}small{font-size:75%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}:root{--ion-color-primary: #315efb;--ion-color-primary-rgb: 49, 94, 251;--ion-font-family: Inter, ui-sans-serif, system-ui, sans-serif;--color-bg: #f5f7fb;--color-surface: #fff;--color-text: #172033;--color-muted: #69738a;--color-border: #e4e8f1;--radius-card: 18px}*{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text)}h1,h2,h3,p{margin-top:0}button,input,select{font:inherit}.app-shell{--background: var(--color-bg)}.app-shell--presentation{--overflow: hidden}.dashboard-page{max-width:1720px;margin:auto;padding:48px 40px 64px}.page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:34px}.page-header>div:first-child>p,.modal-header p{margin:0 0 7px;color:var(--ion-color-primary);font-size:.78rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.page-header h1{margin:0;font-size:clamp(1.8rem,3vw,2.5rem);letter-spacing:-.045em}.title-row{display:flex;align-items:center;flex-wrap:wrap;gap:13px}.date-range-button,.date-range-static{display:inline-flex;align-items:center;gap:7px;padding:0;border:0;border-bottom:1px solid transparent;background:transparent;color:#8690a4;font-size:clamp(1.05rem,2vw,1.45rem);font-weight:650;letter-spacing:-.035em}.date-range-button{cursor:pointer;transition:color .16s,border-color .16s}.date-range-button ion-icon,.date-range-static ion-icon{font-size:.9em}.date-range-button:hover,.date-range-button:focus-visible{color:var(--ion-color-primary);border-bottom-color:var(--ion-color-primary);outline:0}.header-actions{display:flex;flex-wrap:wrap;gap:8px}.presentation-hint{margin:0;color:#8690a4;font-size:.82rem}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%)}.import-feedback{align-self:center;color:#667187;font-size:.78rem}.dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.empty-state{text-align:center;padding:70px 20px;background:var(--color-surface);border:1px dashed #bbc4d6;border-radius:var(--radius-card);color:var(--color-muted)}.page-footer{margin-top:36px;color:#8b94a5;font-size:.8rem;text-align:center}.page-footer a{color:var(--ion-color-primary);font-weight:700;text-decoration:none}.startup-error{max-width:640px;margin:15vh auto;padding:32px}@media(max-width:960px){.dashboard-page{padding:32px 24px}.dashboard-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:680px){.dashboard-page{padding:24px 16px}.page-header{align-items:flex-start;flex-direction:column;margin-bottom:24px}.title-row{align-items:flex-start;flex-direction:column;gap:7px}.dashboard-grid{grid-template-columns:repeat(2,1fr);gap:12px}}@media(max-width:420px){.dashboard-grid{grid-template-columns:1fr}}.sortable-card{min-width:0;touch-action:none}.dashboard-card{position:relative;height:250px;padding:20px;display:flex;flex-direction:column;overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:0 4px 18px #1720330b;cursor:grab;transition:box-shadow .2s,opacity .2s}.dashboard-card:hover{box-shadow:0 10px 25px #1720331a}.dashboard-card--dragging{opacity:.72;cursor:grabbing}.dashboard-card--note{background:linear-gradient(145deg,#f8faff,#eef3ff);border-color:#d9e2ff}.card-actions{position:absolute;z-index:2;top:8px;right:5px;opacity:0;transition:opacity .15s}.dashboard-card:hover .card-actions,.card-actions:focus-within{opacity:1}.card-actions ion-button{--padding-start: 4px;--padding-end: 4px;height:30px}.card-background-icon{position:absolute;top:20px;right:16px;width:74px;height:74px;color:var(--ion-color-primary);opacity:.11;pointer-events:none}.dashboard-card header p{margin:0 48px 8px 0;color:#6d768a;font-size:.78rem;font-weight:700}.dashboard-card h2{margin:0 0 5px;font-size:clamp(1.45rem,2vw,2rem);letter-spacing:-.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-card header>span{display:block;color:#9aa2b2;font-size:.75rem}.card-bottom{margin-top:auto;display:flex;align-items:center;gap:12px;min-width:0}.card-bottom ul{padding:0;margin:0;list-style:none;flex:1;min-width:0}.card-bottom li{display:flex;justify-content:space-between;gap:6px;border-top:1px solid #eef0f5;padding-top:7px;margin-top:7px;color:#747d8f;font-size:.72rem}.card-bottom li strong{color:#293348;white-space:nowrap}.donut{flex:0 0 70px;height:70px;border-radius:50%;display:grid;place-items:center}.donut>div{width:53px;height:53px;display:flex;flex-direction:column;justify-content:center;text-align:center;border-radius:50%;background:#fff}.donut strong{font-size:.76rem}.donut small{color:#8a93a4;font-size:.54rem}.donut--invalid{background:#eef1f7;color:#9aa2b2;font-size:1.2rem}.note-content{position:relative;z-index:1;display:flex;height:100%;flex-direction:column;justify-content:center;max-width:78%}.note-content h2{margin-bottom:10px;font-size:1.32rem;letter-spacing:-.035em}.note-content span{color:#667187;font-size:.86rem;line-height:1.45;white-space:pre-line}@media(max-width:680px){.dashboard-card{height:235px;padding:16px}.card-actions{opacity:1}}.modal-content{max-width:700px;margin:auto;padding:24px}.modal-header{display:flex;justify-content:space-between;align-items:flex-start}.modal-header h2{margin-bottom:20px;font-size:1.6rem}.editor-modal{--width: min(720px, 100%);--height: min(90%, 820px);--border-radius: 18px}.date-modal{--width: min(520px, 100%);--height: 400px;--border-radius: 18px}.form-section{margin:24px 0}.form-section h3{margin-bottom:4px;font-size:1rem}.form-hint{margin:0 0 8px;color:#7b8496;font-size:.82rem}.kpi-form-row{display:grid;grid-template-columns:auto 1.2fr .7fr 1fr auto;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #edf0f5}.kpi-form-row ion-input{border:1px solid #dce1eb;border-radius:8px;--padding-start: 9px;--padding-end: 9px;min-height:39px}.kpi-form-row ion-button{--padding-start: 3px;--padding-end: 3px}.kpi-form-row .drag-handle{cursor:grab;--padding-start: 0;--padding-end: 0;color:#7b8496}.kpi-form-row--dragging{opacity:.45;background:#f1f4fb}.toggle-line{display:flex;justify-content:space-between;align-items:center}.toggle-line p{margin:0;color:#7b8496;font-size:.83rem}.select-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.select-grid label,.date-fields label{color:#566075;font-size:.82rem;font-weight:700}.select-grid select,.date-fields input{display:block;width:100%;padding:10px;margin-top:5px;background:#fff;border:1px solid #dce1eb;border-radius:8px;color:#263147}.icon-picker{display:flex;flex-wrap:wrap;gap:8px}.icon-picker button{width:42px;height:42px;display:grid;place-items:center;border:1px solid #dce1eb;border-radius:9px;background:#fff;color:#667187;font-size:1.15rem;cursor:pointer}.icon-picker button:first-child{width:auto;padding:0 10px;font-size:.78rem}.icon-picker button.selected{color:#fff;border-color:var(--ion-color-primary);background:var(--ion-color-primary)}.date-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:6px 0 22px}.date-fields input{padding:11px;font-size:.84rem}.form-error{color:#b42318;font-size:.88rem}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding-top:12px;border-top:1px solid #e8ebf1}@media(max-width:680px){.date-fields{grid-template-columns:1fr}}@media(max-width:420px){.kpi-form-row{grid-template-columns:auto 1fr 1fr auto}.kpi-form-row ion-input:first-of-type{grid-column:2 / span 2}}
