audio,canvas,progress,video{vertical-align:baseline}audio:not([controls]){display:none;height:0}b,strong{font-weight:700}img{max-width:100%}hr{border-width:0;box-sizing:content-box;height:1px}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}input,label,select,textarea{font-family:inherit;line-height:normal}textarea{color:inherit;font:inherit;height:auto;overflow:auto}textarea::-moz-placeholder{padding-left:2px}textarea::placeholder{padding-left:2px}form,input,optgroup,select{color:inherit;font:inherit;margin:0}html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}.ion-tappable,[tappable],[tappable] div,[tappable] ion-icon,[tappable] ion-label,[tappable] span,a,a div,a ion-icon,a ion-label,a span,button,button div,button ion-icon,button ion-label,button span,input,textarea{touch-action:manipulation}a ion-label,button ion-label{pointer-events:none}button{-webkit-appearance:button;border:0;border-radius:0;font-family:inherit;font-style:inherit;font-variant:inherit;line-height:1;padding:0;text-transform:none}[tappable],button{cursor:pointer}a[disabled],button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding: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{height:100%;width:100%;-webkit-text-size-adjust:100%;-moz-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;height:100%;margin:0;max-height:100%;max-width:100%;overflow:hidden;padding:0;position:fixed;text-rendering:optimizeLegibility;touch-action:manipulation;transform:translateZ(0);width:100%;-webkit-user-drag:none;-ms-content-zooming:none;word-wrap:break-word;overscroll-behavior-y:none;-webkit-text-size-adjust:none;-moz-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{font-weight:500;line-height:1.2;margin-bottom:10px;margin-top:16px}h1{font-size:1.625rem;margin-top:20px}h2{font-size:1.5rem;margin-top:18px}h3{font-size:1.375rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}small,sub,sup{font-size:75%}sub,sup{line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}: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-footer.modal-footer-moving ion-toolbar:first-of-type,html.ios ion-modal ion-footer ion-toolbar:first-of-type,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{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 .modal-footer-moving ion-toolbar,html.ios ion-modal ion-toolbar{padding-left:calc(var(--ion-safe-area-left) + 8px);padding-right:calc(var(--ion-safe-area-right) + 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{contain:layout size style;display:flex;flex-direction:column;justify-content:space-between;inset:0;position:absolute;z-index:0}.ion-page.ion-page-overlay-passthrough{pointer-events:none}ion-modal>.ion-page{contain:layout style;height:100%;position:relative}.split-pane-visible>.ion-page.split-pane-main{position:relative}.ion-page-hidden,ion-action-sheet-controller,ion-alert-controller,ion-loading-controller,ion-menu-controller,ion-modal-controller,ion-nav-controller,ion-picker-controller,ion-popover-controller,ion-route,ion-route-redirect,ion-router,ion-select-option,ion-toast-controller{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-header.ion-color .ion-inherit-color,ion-card.ion-color .ion-inherit-color{color:inherit}.menu-content{transform:translateZ(0)}.menu-content-open{cursor:pointer;overflow-y:hidden;pointer-events:none;touch-action:manipulation}.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-push,.md .menu-content-reveal{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:transform .3s cubic-bezier(.25,.8,.5,1)}@media(prefers-reduced-motion:reduce){ion-accordion .ion-accordion-toggle-icon{transition:none!important}}ion-accordion.accordion-expanded>[slot=header] .ion-accordion-toggle-icon,ion-accordion.accordion-expanding>[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-expanded:first-of-type,ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanding: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{min-height:320px;width:320px}[ion-last-focus],[role=banner][tabindex="-1"]:focus,[role=heading][aria-level="1"][tabindex="-1"]:focus,[role=main][tabindex="-1"]:focus,h1[tabindex="-1"]:focus,header[tabindex="-1"]:focus,main[tabindex="-1"]:focus{outline:none}.popover-viewport:has(>ion-content){overflow:hidden}@supports not selector(:has(> ion-content)){.popover-viewport{overflow:hidden}}@font-face{font-display:swap;font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;src:url(../webfonts/plus-jakarta-sans-v12-latin/plus-jakarta-sans-v12-latin-regular.woff2) format("woff2")}@font-face{font-display:swap;font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;src:url(../webfonts/plus-jakarta-sans-v12-latin/plus-jakarta-sans-v12-latin-500.woff2) format("woff2")}@font-face{font-display:swap;font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;src:url(../webfonts/plus-jakarta-sans-v12-latin/plus-jakarta-sans-v12-latin-600.woff2) format("woff2")}@font-face{font-display:swap;font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;src:url(../webfonts/plus-jakarta-sans-v12-latin/plus-jakarta-sans-v12-latin-700.woff2) format("woff2")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(../webfonts/jetbrains-mono-v24-latin/jetbrains-mono-v24-latin-regular.woff2) format("woff2")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:500;src:url(../webfonts/jetbrains-mono-v24-latin/jetbrains-mono-v24-latin-500.woff2) format("woff2")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:600;src:url(../webfonts/jetbrains-mono-v24-latin/jetbrains-mono-v24-latin-600.woff2) format("woff2")}@font-face{font-display:swap;font-family:Rajdhani;font-style:normal;font-weight:400;src:url(../webfonts/rajdhani-v17-latin/rajdhani-v17-latin-regular.woff2) format("woff2")}@font-face{font-display:swap;font-family:Rajdhani;font-style:normal;font-weight:600;src:url(../webfonts/rajdhani-v17-latin/rajdhani-v17-latin-600.woff2) format("woff2")}@font-face{font-display:swap;font-family:Rajdhani;font-style:normal;font-weight:700;src:url(../webfonts/rajdhani-v17-latin/rajdhani-v17-latin-700.woff2) format("woff2")}@font-face{font-display:swap;font-family:Share Tech Mono;font-style:normal;font-weight:400;src:url(../webfonts/share-tech-mono-v16-latin-regular.woff2) format("woff2")}*,:after,:before{box-sizing:border-box}:root{color-scheme:dark;--ion-color-primary:#6366f1;--ion-color-primary-rgb:99,102,241;--ion-color-primary-contrast:#fff;--ion-color-primary-contrast-rgb:255,255,255;--ion-color-primary-shade:#4f46e5;--ion-color-primary-tint:#818cf8;--ion-font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--ion-background-color:#080c14;--ion-background-color-rgb:8,12,20;--ion-text-color:#eeeef5;--ion-text-color-rgb:238,238,245;--ion-border-color:#1e2235;--ion-color-step-50:#10141e;--ion-color-step-100:#181d2e;--ion-color-step-150:#202440;--ion-color-step-200:#282c50;--ion-color-step-250:#323660;--ion-color-step-300:#3c4070;--ion-color-step-350:#4a4e80;--ion-color-step-400:#5a5e90;--ion-color-step-450:#7b7d9d;--ion-color-step-500:#8a8cac;--ion-color-step-550:#9a9cbc;--ion-color-step-600:#aaacc8;--ion-color-step-650:#babcd4;--ion-color-step-700:#c8cadc;--ion-color-step-750:#d4d6e4;--ion-color-step-800:#dddeed;--ion-color-step-850:#e5e6f2;--ion-color-step-900:#eeeef7;--ion-color-step-950:#f5f5fc;--ion-item-background:#181d2e;--ion-toolbar-background:#10141e;--ion-tab-bar-background:#10141e;--ion-card-background:#181d2e}html{background:#080c14}@media(min-width:768px){ion-content::part(scroll){margin:0 auto;max-width:860px}}body{color:#eeeef5;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#080c14}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:#7b7d9d}.mt-auto{margin-top:auto}.ml-auto{margin-left:auto}.full-height{display:flex;flex-direction:column;height:100%}.container{margin:0 auto;padding:20px 0}@media screen and (max-width:576px){.container{padding:20px 5%}}ion-content{--background:#080c14}ion-toolbar{--background:#10141e;--color:#eeeef5;--border-color:#1e2235}ion-toolbar ion-buttons{align-items:center;display:flex}ion-toolbar ion-buttons ion-button{align-items:center;align-self:center;display:flex;margin:auto 0}ion-tab-bar{--background:#10141e;border-top:1px solid #1e2235}ion-tab-button{--color:#7b7d9d;--color-selected:#818cf8}ion-list{--background:transparent;background:transparent}ion-item{--background:#181d2e;--border-color:#1e2235;--color:#eeeef5;--padding-top:5px;margin-bottom:1px!important}ion-label{margin:0 0 10px!important}.error-message{background:#f872721a;border:1px solid hsla(0,91%,71%,.2);border-radius:8px;color:#f87171;margin-top:8px;padding:8px 16px}.success-message{background:#34d3991a;border:1px solid rgba(52,211,153,.2);border-radius:8px;color:#34d399;font-size:13px;margin-top:8px;padding:8px 16px}.empty-state{color:#7b7d9d;padding:48px 16px;text-align:center}.empty-state ion-icon{display:block;font-size:52px;margin:0 auto 16px;opacity:.35}.empty-state h3{color:#eeeef5;font-weight:600;margin-bottom:8px}.empty-state p{margin-bottom:24px}.btn-add::part(native),.btn-edit::part(native),.btn-save::part(native){background:#6366f1;border-radius:8px;box-shadow:0 2px 8px #6366f173;color:#fff;font-size:13px;font-weight:600;height:34px;padding:0 16px;transition:background .15s ease,box-shadow .15s ease,transform .1s ease}.btn-add::part(native):hover,.btn-edit::part(native):hover,.btn-save::part(native):hover{background:#818cf8;box-shadow:0 4px 14px #6366f18c}.btn-add::part(native):active,.btn-edit::part(native):active,.btn-save::part(native):active{background:#4f46e5;box-shadow:none;transform:scale(.97)}.btn-add::part(native){border-radius:9999px;height:34px;padding:0;width:34px}.btn-add::part(native) ion-icon{font-size:20px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px;margin-top:16px}.section-header h2{color:#7b7d9d;font-size:11px;font-weight:600;letter-spacing:.08em;margin:0;text-transform:uppercase}.login-content{--background:radial-gradient(ellipse at 50% 15%,#0d1228 0%,#080c14 70%);--padding-start:0;--padding-end:0;--padding-top:0;--padding-bottom:0}.login-wrapper{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100%;padding:32px 16px}.login-header{margin-bottom:32px}.login-form{border:none;border-radius:16px;border-top:1px solid rgba(0,255,204,.08);max-width:360px;padding:32px 0 0;position:relative;width:100%}.login-form:before{background:linear-gradient(90deg,transparent,rgba(0,255,204,.35),transparent);content:"";height:1px;left:15%;position:absolute;right:15%;top:0}.login-fields{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.login-field--password{position:relative}.login-field--password input{padding-right:44px}.login-field input{background:#080c14;border:1px solid #1e2235;border-bottom:2px solid rgba(0,255,204,.2);border-radius:8px;box-sizing:border-box;color:#eeeef5;font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:15px;letter-spacing:.02em;outline:none;padding:14px 16px;transition:border-color .2s,border-bottom-color .2s,background .2s,box-shadow .2s;width:100%}.login-field input::-moz-placeholder{color:#7b7d9d;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;letter-spacing:0;opacity:.7}.login-field input::placeholder{color:#7b7d9d;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;letter-spacing:0;opacity:.7}.login-field input:focus{background:#181d2e;border-color:rgba(0,255,204,.25) rgba(0,255,204,.25) rgba(0,255,204,.7);box-shadow:0 0 0 3px #00ffcc0d,inset 0 1px #00ffcc08}.password-toggle{align-items:center;background:none;border:none;color:#7b7d9d;cursor:pointer;display:flex;padding:4px;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:color .2s}.password-toggle ion-icon{font-size:18px}.password-toggle:hover{color:#eeeef5}.login-message{border-radius:8px;font-size:13px;line-height:1.5;margin-bottom:16px;padding:8px 16px}.login-message--error{background:#f8727212;border:1px solid hsla(0,91%,71%,.18);color:#f87171}.login-message--success{background:#34d39912;border:1px solid rgba(52,211,153,.18);color:#34d399}.login-submit{background:#6366f11f;border:1px solid rgba(99,102,241,.35);border-radius:8px;border-top-color:#6366f18c;color:#818cf8;cursor:pointer;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;font-weight:600;letter-spacing:.08em;margin-top:16px;padding:15px 16px;text-transform:uppercase;transition:background .2s,border-color .2s,box-shadow .2s;width:100%}.login-submit:hover:not(:disabled){background:#6366f138;border-color:#6366f199;box-shadow:0 0 20px #6366f11f}.login-submit:active:not(:disabled){background:#6366f147}.login-submit:disabled{cursor:not-allowed;opacity:.45}.login-submit ion-spinner{color:#818cf8;height:18px;width:18px}.confirm-message{color:#7b7d9d;font-size:13px;margin-top:16px;text-align:center}.login-toggle{align-items:center;color:#7b7d9d;display:flex;font-size:13px;gap:4px;justify-content:center;padding:16px 0 0}.login-toggle:last-child{padding-bottom:32px}.login-toggle__btn{background:none;border:none;color:#818cf8;cursor:pointer;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;opacity:.85;padding:0;transition:opacity .2s}.login-toggle__btn:hover{opacity:1}@keyframes live-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.75)}}.live-trackers{align-items:center;background:#34d3990d;border:1px solid rgba(52,211,153,.15);border-radius:8px;display:flex;gap:8px;margin-bottom:16px;padding:8px 16px}.live-dot{animation:live-pulse 2s ease-in-out infinite;background:#34d399;border-radius:9999px;flex-shrink:0;height:8px;width:8px}.live-trackers-text{color:#7b7d9d;font-size:13px}.entries-section{margin-top:24px;padding:0}.entries-section ion-item h3{padding-bottom:4px}.total-time{background:#6366f11a;border:1px solid rgba(99,102,241,.2);border-radius:9999px;color:#818cf8;font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:13px;font-variant-numeric:tabular-nums;font-weight:500;padding:2px 10px}.client-logo-inline{border-radius:2px;display:inline-block;height:20px;margin-right:4px;-o-object-fit:contain;object-fit:contain;opacity:.85;vertical-align:middle;width:20px}.project-chip{background:#6366f11f;border:none;border-radius:9999px;color:#fff;padding:1px 8px}.project-chip,.task-chip{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.01em;margin-right:4px}.task-chip{background:#34d3991a;border:1px solid rgba(52,211,153,.2);border-radius:9999px;color:#34d399;padding:2px 8px}.entry-time{color:#7b7d9d;font-size:11px}.entry-duration,.entry-time{font-family:JetBrains Mono,SF Mono,Consolas,monospace}.entry-duration{color:#eeeef5;font-size:13px;font-variant-numeric:tabular-nums;font-weight:500}.date-label{font-size:13px;font-weight:600}.entries-section .empty-state ion-icon{font-size:48px}.client-avatar{align-items:center;background:linear-gradient(135deg,#6366f1,#818cf8);border-radius:8px;color:#fff;display:flex;font-size:17px;font-weight:700;justify-content:center;overflow:hidden}.client-avatar img{background:#fff;border-radius:0;height:100%;-o-object-fit:contain;object-fit:contain;width:100%}.logo-upload-area{cursor:pointer;display:flex;justify-content:center;margin-bottom:24px}.logo-upload-preview{background:#fff;border:2px solid #1e2235;border-radius:12px;height:100px;-o-object-fit:contain;object-fit:contain;width:100px}.logo-upload-placeholder{align-items:center;border:2px dashed #1e2235;border-radius:12px;color:#7b7d9d;display:flex;flex-direction:column;gap:4px;height:100px;justify-content:center;transition:border-color .15s ease,color .15s ease;width:100px}.logo-upload-placeholder ion-icon{font-size:28px}.logo-upload-placeholder span{font-size:11px;font-weight:500}.logo-upload-placeholder:hover{border-color:#6366f1;color:#818cf8}.logo-file-input{display:none}.client-logo-section{display:flex;justify-content:center;margin-bottom:24px}.client-logo-wrap{background:#181d2e;border:2px solid #1e2235;border-radius:12px;height:100px;overflow:hidden;position:relative;width:100px}.client-logo-wrap.is-editable{cursor:pointer}.client-logo-wrap.is-editable:hover .client-logo-overlay{opacity:1}.client-logo-img{background:#fff;height:100%;-o-object-fit:contain;object-fit:contain;width:100%}.client-logo-fallback{background:linear-gradient(135deg,#6366f1,#818cf8);font-size:36px;font-weight:700;height:100%;width:100%}.client-logo-fallback,.client-logo-overlay{align-items:center;color:#fff;display:flex;justify-content:center}.client-logo-overlay{background:#00000080;font-size:24px;inset:0;opacity:0;position:absolute;transition:opacity .15s ease}.filter-bar{margin-bottom:8px}.project-dot{border-radius:50%;box-shadow:0 0 6px #0006;flex-shrink:0;height:12px;width:12px}.rate{color:#7b7d9d;font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:13px}.color-picker{background:transparent;border:none;border-radius:4px;cursor:pointer;height:32px;padding:0;width:40px}.project-color-preview{align-items:center;display:flex;gap:8px;margin-top:2px}.project-color-preview h3{margin:0}.project-members{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.member-chip{--background:#181d2e;--color:#7b7d9d;font-size:13px;height:28px;margin:0}.task-lists-section{padding-bottom:24px}.task-lists-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px;padding:0 4px}.task-lists-header h2{color:#eeeef5;font-size:17px;font-weight:600;margin:0}.task-lists-empty{color:#7b7d9d;font-size:13px;margin:0;padding:16px;text-align:center}.task-list-card{background:#181d2e;border:1px solid #1e2235;border-radius:12px;margin-bottom:16px;overflow:hidden}.task-list-card-header{align-items:center;border-bottom:1px solid #1e2235;display:flex;justify-content:space-between;padding:4px 4px 4px 16px}.task-list-name{color:#eeeef5;cursor:pointer;flex:1;font-size:13px;font-weight:600}.task-list-name:hover{color:#818cf8}.task-list-name-input{flex:1;font-size:13px;font-weight:600;--padding-top:0;--padding-bottom:0;--padding-start:0}.task-item{--min-height:44px;--padding-start:16px;--inner-padding-end:4px;--background:transparent}.task-item-label{cursor:pointer}.task-item-done{color:#7b7d9d;text-decoration:line-through}.task-item-input{font-size:13px;--padding-top:0;--padding-bottom:0;--padding-start:0}.task-item-add{align-items:center;border-top:1px solid #1e2235;display:flex;padding:0 4px 0 16px}.task-item-add ion-input{flex:1;font-size:13px;--padding-top:8px;--padding-bottom:8px}.invoice-end{align-items:flex-end;display:flex;flex-direction:column;gap:4px}.invoice-total{font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:15px;font-weight:600}.invoice-header{margin-bottom:24px}.status-row{align-items:center;display:flex;gap:8px;margin-bottom:8px}.status-badge{text-transform:capitalize}.sent-date{color:#7b7d9d;font-size:13px}.client-name{font-size:24px;font-weight:700;letter-spacing:-.3px;margin:0 0 4px}.client-email{color:#7b7d9d;font-size:13px;margin:0}.section-title{font-weight:600;margin:24px 0 8px}.item-row{align-items:center;display:flex;gap:4px;margin-top:4px}.item-qty{flex:0 0 70px}.item-sep{color:#7b7d9d;flex-shrink:0}.item-price{flex:0 0 90px}.item-amount{flex:1;font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-variant-numeric:tabular-nums;font-weight:500;text-align:right}.totals{background:#181d2e;border:1px solid #1e2235;border-radius:12px;margin-top:24px;padding:16px}.total-row{display:flex;font-size:15px;justify-content:space-between;padding:4px 0}.total-row.total-final{border-top:1px solid #1e2235;font-size:17px;font-weight:700;margin-top:4px;padding-top:8px}.total-row.total-final .total-amount{color:#818cf8;font-family:JetBrains Mono,SF Mono,Consolas,monospace}.notes-section{margin-top:24px}.notes-section p{color:var(--ion-text-color,#eeeef5);font-size:15px;line-height:1.5;margin:0}.pdf-section{margin-top:24px}.ts-import{padding:4px 0}.ts-date-row{align-items:flex-end;display:flex;gap:8px;margin-bottom:8px}.ts-date-field{display:flex;flex:1;flex-direction:column;gap:4px}.ts-label{color:#7b7d9d;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.ts-hint{color:#7b7d9d;font-size:13px;margin:0;padding:16px 0;text-align:center}.ts-entry-list{border:1px solid #1e2235;border-radius:12px;overflow:hidden}.ts-entry-row{align-items:center;border-bottom:1px solid #1e2235;cursor:pointer;display:flex;gap:8px;padding:8px 16px;transition:background .1s ease}.ts-entry-row:last-child{border-bottom:none}.ts-entry-row:hover{background:#6366f10a}.ts-entry-row--selected{background:#6366f112}.ts-entry-info{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.ts-entry-desc{color:#eeeef5;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ts-entry-meta{color:#7b7d9d;font-size:11px}.ts-entry-amount{flex-shrink:0;font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:13px;font-weight:500;min-width:64px;text-align:right;white-space:nowrap}.ts-rate{color:#818cf8}.ts-no-rate{color:#7b7d9d;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:11px;font-style:italic}.ts-import-footer{align-items:center;display:flex;justify-content:space-between;margin-top:4px;padding:4px 8px}@media(min-width:768px){ion-content.ts-content::part(scroll){max-width:none}}.timesheets-container{height:auto;margin:0;width:100vw}.ts-nav{align-items:center;display:flex;justify-content:space-between;padding:4px 8px;width:100%}.ts-period-label{flex:1;font-size:15px}.ts-cal-header,.ts-period-label{font-weight:600;text-align:center}.ts-cal-header{color:#7b7d9d;font-size:11px;letter-spacing:.06em;padding:0 16px 4px;text-transform:uppercase}.ts-cal-grid,.ts-cal-header{display:grid;grid-template-columns:repeat(7,1fr)}.ts-cal-grid{gap:2px;padding:0 16px 24px}.ts-cal-day{align-items:center;aspect-ratio:1;border-radius:8px;display:flex;flex-direction:column;justify-content:center}.ts-cal-day .ts-day-num{font-size:13px;font-weight:500;line-height:1}.ts-cal-day .ts-day-dur{color:#7b7d9d;font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:9px;margin-top:2px}.ts-cal-day--logged{background:#6366f11a;border:1px solid rgba(99,102,241,.15)}.ts-cal-day--logged .ts-day-dur{color:#818cf8;font-weight:600}.ts-cal-day--today .ts-day-num{align-items:center;background:#6366f1;border-radius:9999px;color:#fff;display:flex;font-size:11px;height:24px;justify-content:center;width:24px}.wg-outer{overflow-x:auto;-webkit-overflow-scrolling:touch;min-width:0;width:100%}.wg-total{border-bottom:1px solid #1e2235;color:#818cf8;font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:13px;font-weight:700;padding:4px 0;text-align:center}.wg-header{background:#10141e;border-bottom:2px solid #1e2235;display:flex;min-width:604px;position:sticky;top:0;z-index:10}.wg-gutter-hd{flex:0 0 44px;width:44px}.wg-day-hd{align-items:center;border-left:1px solid #1e2235;cursor:pointer;display:flex;flex:1;flex-direction:column;min-width:80px;padding:4px 4px 8px;transition:background .1s ease}.wg-day-hd:hover{background:#6366f10d}.wg-day-hd--today{background:#6366f10a}.wg-day-name{color:#7b7d9d;font-size:10px;font-weight:600;letter-spacing:.06em;line-height:1.2}.wg-day-num{align-items:center;border-radius:50%;color:#eeeef5;display:flex;font-size:13px;font-weight:600;height:26px;justify-content:center;line-height:1.8;width:26px}.wg-day-num--today{background:#6366f1;color:#fff}.wg-day-total{color:#7b7d9d;font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:10px;line-height:1.2}.wg-body{display:flex;min-width:604px}.wg-gutter{flex:0 0 44px;width:44px}.wg-hour-gutter{align-items:flex-start;display:flex;height:60px;justify-content:flex-end;padding:3px 4px 0 0}.wg-hour-gutter span{color:#eeeef5b3;font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:9px;white-space:nowrap}.wg-day-col{border-left:1px solid #1e2235;flex:1;min-width:80px;position:relative}.wg-day-col--today{background:#6366f105}.wg-hour-cell{border-bottom:1px solid rgba(30,34,53,.6);cursor:pointer;height:60px;transition:background .1s ease}.wg-hour-cell:hover{background:#6366f10f}.wg-hour-cell:nth-child(odd){border-bottom-color:#1e22354d;border-bottom-style:dashed}.wg-entry{border-left:3px solid;border-radius:0 4px 4px 0;cursor:pointer;left:2px;overflow:hidden;padding:2px 4px;position:absolute;right:2px;transition:filter .1s ease;z-index:1}.wg-entry:hover{filter:brightness(1.15)}.wg-entry-title{color:#eeeef5;font-size:11px;font-weight:600;line-height:1.4}.wg-entry-project,.wg-entry-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wg-entry-project{color:#818cf8;font-size:10px;line-height:1.3}.wg-entry-dur{color:#eeeef599;display:block;font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:10px;line-height:1.3}.timesheets-container .section-header{padding:0 16px}.ts-day-entries{padding:0}.ts-day-entries ion-item h3{padding-bottom:4px}.ts-empty{color:#7b7d9d;padding:48px 16px;text-align:center}.ts-empty ion-icon{display:block;font-size:48px;margin:0 auto 8px;opacity:.35}.generate-cta{align-items:center;background:#181d2e;border:1px dashed #1e2235;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:6px;justify-content:center;margin-bottom:28px;padding:28px 20px;transition:border-color .15s ease,background .15s ease;width:100%}.generate-cta:hover{background:#6366f10f;border-color:#6366f1}.generate-cta:hover .generate-cta-icon{color:#818cf8}.generate-cta:hover .generate-cta-label{color:#eeeef5}.generate-cta .generate-cta-icon{color:#7b7d9d;font-size:28px;transition:color .15s ease}.generate-cta .generate-cta-label{color:#7b7d9d;font-size:15px;font-weight:600;transition:color .15s ease}.generate-cta .generate-cta-sub{color:#7b7d9d;font-size:12px;opacity:.6}.config-panel{display:flex;flex-direction:column;gap:20px}.config-back{margin-bottom:-4px}.back-btn{background:none;border:none;color:#7b7d9d;cursor:pointer;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;font-weight:500;padding:0;transition:color .15s ease}.back-btn:hover{color:#eeeef5}.config-section{display:flex;flex-direction:column;gap:8px}.config-label{color:#7b7d9d;font-size:11px;font-weight:700;letter-spacing:.08em;margin-bottom:4px;text-transform:uppercase}.config-label .config-optional{font-size:10px;font-weight:400;letter-spacing:0;opacity:.7;text-transform:none}.filter-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#181d2e url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%237b7d9d' d='M6 8 1 3h10z'/%3E%3C/svg%3E") no-repeat right 12px center;border:1px solid #1e2235;border-radius:8px;color:#eeeef5;cursor:pointer;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;outline:none;padding:10px 36px 10px 12px;transition:border-color .15s ease;width:100%}.filter-select:focus{border-color:#6366f1}.filter-select:disabled{cursor:default;opacity:.4}.filter-select option{background:#181d2e;color:#eeeef5}.report-presets{display:flex;flex-wrap:wrap;gap:8px}.report-presets .preset-btn{background:#181d2e;border:1px solid #1e2235;border-radius:20px;color:#7b7d9d;cursor:pointer;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;font-weight:500;padding:6px 14px;transition:all .15s ease}.report-presets .preset-btn.active{background:#6366f1;border-color:#6366f1;color:#fff}.report-presets .preset-btn:not(.active):hover{border-color:#6366f1;color:#eeeef5}.custom-range{display:flex;gap:12px;margin-bottom:14px}.custom-range .date-field{display:flex;flex:1;flex-direction:column;gap:4px}.custom-range .date-field label{color:#7b7d9d;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.custom-range .date-input{background:#181d2e;border:1px solid #1e2235;border-radius:8px;color:#eeeef5;font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:13px;outline:none;padding:8px 10px;width:100%}.custom-range .date-input:focus{border-color:#6366f1}.custom-range .date-input::-webkit-calendar-picker-indicator{cursor:pointer;filter:invert(.6)}.report-stats{display:grid;gap:10px;grid-template-columns:repeat(3,1fr);margin-bottom:24px}.report-stats .stat-card{align-items:center;background:#181d2e;border:1px solid #1e2235;border-radius:12px;display:flex;flex-direction:column;gap:4px;padding:14px 12px}.report-stats .stat-card .stat-value{color:#eeeef5;font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:20px;font-weight:600;line-height:1}.report-stats .stat-card .stat-label{font-weight:600;letter-spacing:.06em}.report-stats .stat-card .stat-label,.section-title{color:#7b7d9d;font-size:11px;text-transform:uppercase}.section-title{font-weight:700;letter-spacing:.08em;margin-bottom:10px;margin-top:4px}.earnings-list{background:#181d2e;border:1px solid #1e2235;border-radius:12px;margin-bottom:24px;overflow:hidden}.earnings-list .earnings-row{align-items:center;display:flex;justify-content:space-between;padding:12px 16px}.earnings-list .earnings-row:not(:last-child){border-bottom:1px solid #1e2235}.earnings-list .earnings-row .earnings-currency{color:#7b7d9d;font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.earnings-list .earnings-row .earnings-amount{color:#818cf8;font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:17px;font-weight:600}.breakdown-list{display:flex;flex-direction:column;gap:12px}.breakdown-list .breakdown-item{background:#181d2e;border:1px solid #1e2235;border-radius:12px;padding:12px 14px}.breakdown-list .breakdown-header{align-items:center;display:flex;gap:10px;margin-bottom:10px}.breakdown-list .breakdown-header .project-dot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.breakdown-list .breakdown-header .project-info{flex:1;min-width:0}.breakdown-list .breakdown-header .project-info .project-name{color:#eeeef5;display:block;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breakdown-list .breakdown-header .project-info .client-name{color:#7b7d9d;display:block;font-size:11px;margin-top:1px}.breakdown-list .breakdown-header .breakdown-meta{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:2px}.breakdown-list .breakdown-header .breakdown-meta .breakdown-hours{color:#eeeef5;font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:14px;font-weight:600}.breakdown-list .breakdown-header .breakdown-meta .breakdown-earnings{color:#7b7d9d;font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:11px}.breakdown-list .breakdown-bar-track{background:#1e2235;border-radius:2px;height:4px;overflow:hidden}.breakdown-list .breakdown-bar-track .breakdown-bar-fill{border-radius:2px;height:100%;opacity:.75;transition:width .4s ease}.no-entries-state{color:#7b7d9d;font-size:14px;padding:32px 0;text-align:center}.result-header{margin-bottom:16px}.result-header .result-title{color:#eeeef5;font-size:17px;font-weight:700}.result-header .result-range{color:#7b7d9d;font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:12px;margin-top:2px}.save-btn{margin-bottom:32px;margin-top:8px}.saved-section{border-top:1px solid #1e2235;margin-top:32px;padding-top:24px}.no-saved{color:#7b7d9d;font-size:14px;padding:16px 0}.saved-list{display:flex;flex-direction:column;gap:8px}.saved-list .saved-item{align-items:center;background:#181d2e;border:1px solid #1e2235;border-left:3px solid var(--item-color,#1e2235);border-radius:12px;box-shadow:inset 4px 0 24px -8px color-mix(in srgb,var(--item-color,transparent) 15%,transparent);cursor:pointer;display:flex;gap:12px;padding:12px 14px;transition:border-color .15s ease,background .15s ease}.saved-list .saved-item.active,.saved-list .saved-item:hover{background:color-mix(in srgb,var(--item-color,#6366f1) 6%,#181d2e);border-color:var(--item-color,#6366f1)}.saved-list .saved-item .saved-item-logo{align-items:center;background:#10141e;border:1px solid #1e2235;border-radius:4px;display:flex;flex-shrink:0;height:36px;justify-content:center;overflow:hidden;width:36px}.saved-list .saved-item .saved-item-logo .saved-item-logo-img{height:100%;-o-object-fit:contain;object-fit:contain;padding:4px;width:100%}.saved-list .saved-item .saved-item-logo .saved-item-logo-icon{color:#7b7d9d;font-size:18px;opacity:.5}.saved-list .saved-item .saved-item-info{flex:1;min-width:0}.saved-list .saved-item .saved-item-info .saved-item-name{color:#eeeef5;display:block;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-list .saved-item .saved-item-info .saved-item-client{color:#7b7d9d;display:block;font-size:11px;margin-top:1px}.saved-list .saved-item .saved-item-info .saved-item-range{color:#7b7d9d;display:block;font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:11px;margin-top:1px;opacity:.7}.saved-list .saved-item .saved-item-meta{align-items:center;display:flex;flex-shrink:0;gap:10px}.saved-list .saved-item .saved-item-meta .saved-item-hours{color:#eeeef5;font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:13px;font-weight:600}.delete-btn{align-items:center;background:none;border:none;border-radius:4px;color:#7b7d9d;cursor:pointer;display:flex;font-size:16px;padding:4px;transition:color .15s ease}.delete-btn:hover,.error-message{color:var(--ion-color-danger)}.error-message{font-size:13px;margin-bottom:8px;margin-top:12px}.user-avatar{align-items:center;background:linear-gradient(135deg,#34d399,#21996d);border-radius:8px;color:#fff;display:flex;font-size:17px;font-weight:700;justify-content:center}.role-badge{border-radius:4px;font-size:11px;text-transform:capitalize}.role-badge--owner{--background:#fbbf24;--color:#080c14}.role-badge--admin{--background:#6366f1}.role-badge--member{--background:#181d2e;--color:#7b7d9d}@keyframes logo-spin-slow{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes logo-spin-rev{0%{transform:rotate(0)}to{transform:rotate(-1turn)}}@keyframes logo-pulse-glow{0%,to{filter:drop-shadow(0 0 12px rgba(0,255,200,.5))}50%{filter:drop-shadow(0 0 24px rgba(0,255,200,.9))}}.logo-full__brand-name,.logo-lockup__brand-name{background:linear-gradient(135deg,#0fc,#0af 60%,#7060ff);-webkit-background-clip:text;font-family:Rajdhani,sans-serif;font-weight:700;line-height:1;text-transform:uppercase;-webkit-text-fill-color:transparent;background-clip:text}.logo-full__brand-sub,.logo-full__tagline,.logo-lockup__brand-sub{color:#00ffc880;font-family:Share Tech Mono,monospace;text-transform:uppercase}.logo-full{align-items:center;display:flex;flex-direction:column;gap:20px}.logo-full__icon{animation:logo-pulse-glow 3s ease-in-out infinite;height:96px;width:96px}.logo-full__icon svg{height:100%;width:100%}.logo-full__icon .ring-outer{animation:logo-spin-slow 8s linear infinite;transform-box:fill-box;transform-origin:center}.logo-full__icon .ring-inner{animation:logo-spin-rev 5s linear infinite;transform-box:fill-box;transform-origin:center}.logo-full__wordmark{align-items:center;display:flex;flex-direction:column;gap:4px}.logo-full__brand-name{font-size:36px;letter-spacing:.12em}.logo-full__brand-sub{font-size:11px;letter-spacing:.38em}.logo-full__divider{background:linear-gradient(90deg,transparent,rgba(0,255,200,.3) 30%,rgba(0,140,255,.3) 70%,transparent);height:1px;width:100%}.logo-full__tagline{color:#ffffff4d;font-size:10px;letter-spacing:.22em}.logo-icon{display:block;height:28px;width:28px}.logo-lockup{align-items:center;display:flex;gap:12px}.logo-lockup__icon{display:block;filter:drop-shadow(0 0 8px rgba(0,255,200,.4));flex-shrink:0;height:40px;width:40px}.logo-lockup__text{display:flex;flex-direction:column;gap:2px}.logo-lockup__brand-name{font-size:20px;letter-spacing:.1em}.logo-lockup__brand-sub{font-size:9px;letter-spacing:.3em}ion-menu{--background:#10141e;--width:260px}ion-menu-button{display:block!important}ion-menu ion-toolbar{--background:#10141e;--border-color:#1e2235;--padding-top:10px;--padding-bottom:10px;--padding-start:20px;--padding-end:20px}ion-menu ion-content{--background:#10141e}.menu-brand .menu-brand-name{color:#eeeef5;display:block;font-size:16px;font-weight:700;letter-spacing:-.01em}.app-menu-inner{display:flex;flex-direction:column;height:100%}.menu-nav{flex:1;overflow-y:auto;padding:12px 10px}.menu-nav ion-menu-toggle{display:block}.menu-nav-item{align-items:center;border-radius:8px;color:#7b7d9d;display:flex;font-size:14px;font-weight:500;gap:12px;margin-bottom:2px;padding:10px 12px;text-decoration:none;transition:background .15s ease,color .15s ease}.menu-nav-item .menu-nav-icon{flex-shrink:0;font-size:18px}.menu-nav-item:hover{background:#181d2e;color:#eeeef5}.menu-nav-item.active{background:#6366f126;color:#818cf8}.menu-nav-item.active .menu-nav-icon{color:#818cf8}.menu-footer{border-top:1px solid #1e2235;display:flex;flex-direction:column;flex-shrink:0;gap:10px;padding:16px 20px}.menu-footer .menu-user-email{color:#7b7d9d;font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-logout-btn{align-items:center;background:none;border:none;border-radius:8px;color:#7b7d9d;cursor:pointer;display:flex;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:500;gap:10px;padding:8px 12px;text-align:left;transition:background .15s ease,color .15s ease;width:100%}.menu-logout-btn ion-icon{flex-shrink:0;font-size:18px}.menu-logout-btn:hover{background:#f872721a;color:#f87171}.app-tab-bar{background:#10141e;border-top:1px solid #1e2235;display:flex;height:56px;safe-area-inset-bottom:env(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}.tab-btn{align-items:center;color:#7b7d9d;display:flex;flex:1;flex-direction:column;font-size:10px;font-weight:500;gap:3px;justify-content:center;letter-spacing:.02em;position:relative;text-decoration:none;transition:color .2s ease}.tab-btn ion-icon{font-size:22px;transition:transform .2s ease}.tab-btn.active{color:#818cf8}.tab-btn.active ion-icon{transform:translateY(-1px)}.tab-btn.active:after{background:#6366f1;border-radius:0 0 9999px 9999px;content:"";height:2px;left:50%;position:absolute;top:0;transform:translate(-50%);width:24px}@keyframes ring-breathe{0%,to{box-shadow:0 0 0 1px #6366f180,0 0 24px #6366f126,0 4px 16px #0009}50%{box-shadow:0 0 0 3px #6366f140,0 0 48px #6366f11a,0 4px 16px #0009}}@keyframes timer-tick{0%,to{opacity:1}50%{opacity:.75}}.timer-widget{background:#181d2e;border:1px solid #1e2235;border-radius:16px;box-shadow:0 4px 16px #0009;padding:32px 24px 24px;transition:border-color .4s ease,box-shadow .4s ease}.timer-widget.is-running{animation:ring-breathe 2.5s ease-in-out infinite;border-color:#6366f166}.timer-display{margin-bottom:24px;padding:8px 0;text-align:center}.timer-time{color:#eeeef5;display:block;font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:52px;font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:4px;line-height:1;transition:color .3s ease}.is-running .timer-time{animation:timer-tick 2.5s ease-in-out infinite;color:#818cf8}.timer-controls{display:flex;flex-direction:column;gap:8px}.timer-project-select,.timer-task-select{width:100%}.timer-bottom-row{align-items:center;display:flex;gap:8px}.timer-description{flex:1}.timer-btn{flex-shrink:0;height:48px;width:48px}.onboarding-modal{--background:#f4f4f8}.onboarding-inner{background:#6366f1;gap:32px;height:100%;padding:48px 32px;text-align:center}.onboarding-inner,.onboarding-slide{align-items:center;display:flex;flex-direction:column;justify-content:center}.onboarding-slide{flex:1;gap:24px}.onboarding-icon{filter:drop-shadow(0 4px 16px rgba(99,102,241,.3));font-size:64px;line-height:1}.onboarding-title{color:#080c14;font-size:24px;font-weight:700;margin:0}.onboarding-body{color:#080c14;font-size:15px;line-height:1.5;margin:0;max-width:300px}.onboarding-dots{align-items:center;display:flex;gap:8px}.onboarding-dot{background:#080c1499;border-radius:9999px;height:8px;transition:background .25s ease,transform .25s ease;width:8px}.onboarding-dot.active{background:#fff;transform:scale(1.3)}.onboarding-nav{align-items:center;display:flex;justify-content:space-between;width:100%}.onboarding-btn-spacer{width:80px}.onboarding-btn-back{--color:#4a4d6e;min-width:80px}.onboarding-btn-next{--background:#6366f1;--background-activated:#4f46e5;--border-radius:12px;min-width:120px}.onboarding-slide-enter-active,.onboarding-slide-leave-active{transition:opacity .2s ease,transform .2s ease}.onboarding-slide-enter-from{opacity:0;transform:translate(24px)}.onboarding-slide-leave-to{opacity:0;transform:translate(-24px)}
