: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{inset: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;min-height:0;height:100%}ion-modal ion-content.content-sizing ion-nav,ion-modal ion-content.content-sizing ion-nav>.ion-page{position:relative;contain:layout style;height:auto}ion-modal ion-content.content-sizing ion-nav{display:grid}ion-modal ion-content.content-sizing ion-nav>.ion-page{grid-row:1;grid-column:1}.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{color-scheme:light;--brand-night: #24293E;--brand-slate: #2F3651;--brand-blue: #8EBBFF;--background: #F3F5FA;--surface: #FFFFFF;--elevated-surface: #FFFFFF;--primary: #285AA6;--secondary: var(--brand-slate);--accent: var(--brand-blue);--ink: var(--brand-night);--muted: #58647C;--text-muted: #606D84;--line: #E3E7F0;--success: #287152;--warning: #86551E;--error: #B33C50;--disabled: #E5E9F1;--disabled-text: #748097;--tint: #E8F0FF;--subtle: #EDF0F6;--on-primary: #FFFFFF;--hero: var(--brand-night);--hero-text: #F8FAFF;--hero-muted: #BDCDE9;--hero-accent: var(--brand-blue);--hero-tint: #FFFFFF12;--hero-separator: #FFFFFF26;--success-bg: #E8F3EE;--error-bg: #FFF0F2;--warning-bg: #FFF4E5;--music-chord: #784800;--ion-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--ion-background-color: var(--background);--ion-text-color: var(--ink)}html[data-theme=dark]{color-scheme:dark;--background: #191E30;--surface: var(--brand-night);--elevated-surface: var(--brand-slate);--primary: var(--brand-blue);--secondary: #BACBE7;--ink: #F2F5FD;--muted: #B8C2D9;--text-muted: #A5B0C9;--line: #39425D;--success: #91D0B3;--warning: #E2BE8D;--error: #FFABB5;--disabled: #343C55;--disabled-text: #9AA6C1;--tint: #303D5B;--subtle: #22283C;--on-primary: var(--brand-night);--hero: var(--brand-slate);--hero-muted: #C3CFE7;--success-bg: #223F37;--error-bg: #432A38;--warning-bg: #403627;--music-chord: #FFD58A}:root,html[data-theme=dark]{--paper: var(--background);--music-bg: var(--surface);--music-ink: var(--ink);--music-heading: var(--muted);--primary-hover: color-mix(in srgb, var(--primary) 88%, var(--ink));--background-overlay: color-mix(in srgb, var(--background) 96%, transparent);--success-border: color-mix(in srgb, var(--success) 24%, var(--success-bg));--error-border: color-mix(in srgb, var(--error) 24%, var(--error-bg));--warning-border: color-mix(in srgb, var(--warning) 24%, var(--warning-bg))}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:var(--ion-font-family);font-size:15px}button,input,select,textarea{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--primary);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(27px,3vw,38px);font-weight:600;letter-spacing:-1.3px;line-height:1.2;margin-bottom:12px}h2{font-weight:600}label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}input:not([type=range]):not([type=checkbox]),select,textarea{width:100%;min-height:46px;border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:11px 13px;color:var(--ink)}textarea{resize:vertical;line-height:1.6}input::placeholder,textarea::placeholder{color:var(--muted)}.muted{color:var(--muted);line-height:1.65}.eyebrow{display:block;font-size:10px;letter-spacing:1.9px;font-weight:700;margin-bottom:15px;color:var(--primary)}.primary,.secondary{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:12px 20px;border-radius:8px;font-weight:600;font-size:13px;white-space:normal}.primary{background:var(--primary);color:var(--on-primary);border:1px solid var(--primary);box-shadow:none}.primary:hover{background:var(--primary-hover)}.secondary{background:var(--surface);color:var(--ink);border:1px solid var(--line)}.small{min-height:38px;padding:8px 14px}.full{width:100%}.brand{display:flex;align-items:center;font-size:26px;font-weight:650;letter-spacing:-1px}.brand-symbol{display:grid;place-items:center;width:36px;height:36px;background:var(--tint);color:var(--primary);border-radius:9px;font-size:24px;margin-right:11px}.brand-dot{color:var(--accent)}.message{border-radius:8px;padding:13px 16px;line-height:1.65;font-size:13px;margin-bottom:20px;overflow-wrap:anywhere}.error{background:var(--error-bg);color:var(--error);border:1px solid var(--error-border)}.success{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.text-button{background:none;border:0;min-height:40px;color:var(--primary);padding:8px 0;font-weight:600;font-size:13px}.message .text-button{float:right;padding:0 8px}.danger{color:var(--error)}.icon-button{background:var(--surface);border:1px solid var(--line);border-radius:6px;min-height:40px;min-width:40px;font-size:19px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.login-shell{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.login-story{background:var(--hero);color:var(--hero-text);padding:45px 10%;display:flex;flex-direction:column;position:relative;overflow:hidden}.login-story .brand-symbol{background:var(--hero-tint);color:var(--hero-accent)}.story-body{margin:auto 0;padding:70px 0}.eyebrow.light{color:var(--hero-muted);font-size:10px}.story-body h1{font-family:var(--ion-font-family);font-weight:400;font-size:clamp(40px,5.2vw,74px);letter-spacing:-2px;line-height:1.1;margin:28px 0}.story-body em{color:var(--hero-accent);font-weight:400}.story-body p{color:var(--hero-muted);line-height:1.9;font-size:14px}.login-story>small{color:var(--hero-muted);font-size:11px}.music-staff{display:flex;gap:35px;margin-top:55px;padding:17px 0;border-block:1px solid var(--hero-separator);max-width:330px;color:var(--hero-accent);font-family:var(--ion-font-family)}.login-panel{display:flex;align-items:center;justify-content:center;position:relative;padding:70px 35px;background:var(--surface)}.login-form{max-width:350px;width:100%}.login-form h2{font-size:31px;letter-spacing:-.7px;margin-bottom:10px}.login-form .muted{font-size:13px;margin-bottom:34px}.login-form form label{margin-top:22px}.login-form .primary{margin-top:28px}.access-note{font-size:11px;color:var(--muted);text-align:center;line-height:1.8;margin-top:23px;padding-inline:12px}.login-foot{position:absolute;bottom:35px;text-align:center;color:var(--muted);font-size:11px}.app-shell{display:flex;min-height:100vh}.sidebar{width:240px;position:fixed;inset:0 auto 0 0;background:var(--surface);border-right:1px solid var(--line);padding:34px 24px 22px;display:flex;flex-direction:column}.sidebar .brand{margin-bottom:57px}.sidebar-caption{font-size:9px;color:var(--muted);font-weight:600;letter-spacing:1.5px;margin:0 12px 17px}.sidebar nav{display:flex;flex-direction:column;gap:7px}.sidebar nav button{display:flex;align-items:center;gap:14px;background:none;border:none;border-radius:8px;padding:14px;text-align:left;color:var(--muted);font-size:13px;min-height:46px}.sidebar nav button span{font-size:19px;line-height:1}.sidebar nav button.active{background:var(--tint);color:var(--primary);font-weight:650}.sidebar-bottom{margin-top:auto}.team-note{font-family:var(--ion-font-family);color:var(--muted);font-size:18px;line-height:1.5;padding:32px 12px}.team-note strong{font-weight:400;color:var(--primary)}.account{border-top:1px solid var(--line);padding:23px 0 12px;display:flex;gap:10px;align-items:center}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--tint);color:var(--primary);font-weight:650;flex-shrink:0}.account strong{font-size:11px;display:block;max-width:140px;overflow-wrap:anywhere}.account small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.logout{background:none;border:0;color:var(--muted);text-align:left;min-height:44px;font-size:11px;padding-left:46px}.workspace{margin-left:240px;flex:1;min-width:0}.topbar{height:78px;border-bottom:1px solid var(--line);background:var(--surface);padding:0 46px;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted)}.breadcrumb{color:var(--primary);margin-left:13px}.role-badge{font-size:10px;background:var(--tint);border:1px solid var(--line);color:var(--primary);padding:6px 10px;border-radius:6px;white-space:nowrap}.page-body{max-width:1350px;padding:43px 46px;margin:0 auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:31px}.page-heading .eyebrow{font-size:9px;margin-bottom:13px}.page-heading p{font-size:12px;margin-bottom:0}.library-banner{display:flex;align-items:center;gap:22px;background:var(--tint);border:1px solid var(--line);border-radius:11px;padding:26px 30px;position:relative;overflow:hidden;margin-bottom:33px}.banner-icon{width:58px;height:58px;display:grid;place-items:center;background:var(--tint);border:1px solid var(--line);color:var(--primary);border-radius:12px;font-size:32px;flex-shrink:0}.library-banner .eyebrow{font-size:8px;color:var(--primary);margin-bottom:8px}.library-banner h2{font-family:var(--ion-font-family);font-size:23px;font-weight:400;letter-spacing:-.3px;margin-bottom:9px}.library-banner p{font-size:11px;color:var(--muted);margin-bottom:0;line-height:1.7}.banner-decoration{margin-left:auto;font-family:var(--ion-font-family);font-size:92px;color:var(--accent);line-height:1;transform:rotate(14deg)}.library-controls{display:flex;align-items:center;gap:16px;margin-bottom:24px}.search-box{display:flex;align-items:center;position:relative;flex:1;max-width:460px}.search-box>span{position:absolute;left:16px;font-size:24px;color:var(--muted)}.search-box input{padding-left:44px!important;font-size:12px;border-radius:8px!important}.result-count{margin-left:auto;color:var(--muted);font-size:11px;white-space:nowrap}.library-controls .text-button{font-size:11px}.song-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.song-card{background:var(--surface);text-align:left;border:1px solid var(--line);border-radius:10px;padding:22px 22px 0;transition:border-color .15s,transform .15s;overflow:hidden;min-height:216px}.song-card:hover{border-color:var(--primary);transform:translateY(-2px)}.card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:21px}.song-art{width:43px;height:43px;background:var(--tint);color:var(--primary);border-radius:8px;display:grid;place-items:center;font-size:27px}.key-badge{background:var(--subtle);color:var(--primary);border-radius:5px;padding:5px 9px;min-width:30px;text-align:center;font-size:11px;font-weight:600}.song-card h2{font-size:16px;font-weight:600;letter-spacing:-.2px;margin-bottom:9px;overflow-wrap:anywhere}.song-card>p{font-size:11px;color:var(--muted);min-height:14px;margin-bottom:23px;overflow-wrap:anywhere}.card-bottom{border-top:1px solid var(--subtle);display:flex;justify-content:space-between;align-items:center;padding:13px 0;color:var(--primary);font-size:10px}.card-bottom>span:last-child{font-size:17px}.library-foot{color:var(--muted);font-size:10px;text-align:center;margin:37px 0 0}.empty-state{text-align:center;background:var(--surface);border:1px dashed var(--line);border-radius:10px;padding:40px 20px}.empty-state>span{font-size:40px;color:var(--accent)}.empty-state h2{font-size:22px;margin-top:20px}.empty-state p{font-size:13px}.pagination{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:24px;font-size:12px}.loading{color:var(--primary);font-size:12px}.mobile-nav{display:none}.panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:24px;margin-bottom:20px}.metadata{display:grid;grid-template-columns:2fr 2fr 1fr;gap:20px}.section-head{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:23px}.section-head select{width:130px}.section-head>input{width:180px;flex:1}.section-number{font-size:12px;border-radius:50%;background:var(--tint);min-width:28px;height:28px;display:grid;place-items:center}.section-actions{display:flex;gap:5px}.line-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,.7fr);gap:25px;border-top:1px solid var(--line);padding:21px 0}.field-caption{font-size:8px;letter-spacing:1px;color:var(--muted);display:block;margin:4px 0 11px}.chord-fields{display:flex;align-items:flex-end;gap:8px;margin-bottom:10px}.chord-fields label{min-width:0;flex:1;font-size:10px;margin:0}.chord-fields input{margin-top:5px;padding:8px!important}.chord-fields .icon-button{margin-bottom:3px}.line-input .text-button{font-size:10px}.editor-footer{display:flex;align-items:center;gap:14px;flex-wrap:wrap;position:sticky;bottom:0;background:var(--background-overlay);border-top:1px solid var(--line);padding:15px 0;z-index:2}.editor-footer .primary{margin-left:auto}.editor-footer .muted{font-size:11px}.preview,.song-sheet{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:35px 40px;margin-top:25px;overflow-wrap:anywhere}.preview h3,.song-sheet h2{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);margin:30px 0 15px}.preview h2{font-family:var(--ion-font-family)}.music-line{margin:0;line-height:1.8;min-height:2.8em;white-space:pre-wrap}.glyph{display:inline-flex;flex-direction:column;vertical-align:bottom;position:relative;padding-top:1.1em;line-height:1.8;min-height:2.8em}.chord{position:absolute;top:0;left:0;font-size:.67em;line-height:1.5;font-weight:650;color:var(--primary);white-space:nowrap}.lyrics-only .glyph{padding-top:0;min-height:1.8em}.lyrics-only .music-line{min-height:1.8em}.preview .music-line{font-size:18px}.preview .glyph{padding-top:1.2em}.song-sheet>section{margin-bottom:30px}.back{margin-bottom:20px}.viewer-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-bottom:20px;border-bottom:1px solid var(--line)}.toggle{border:1px solid var(--line);background:var(--surface);min-height:42px;border-radius:7px;padding:9px 14px;font-size:12px;color:var(--primary)}.toggle.chosen{background:var(--tint);border-color:var(--line);color:var(--primary)}.font-control{margin:0 auto 0 15px;display:flex;align-items:center;gap:12px;font-size:11px;color:var(--muted)}.font-control input{width:100px}.viewer-toolbar>.muted{font-size:10px}.dot-separator{padding:0 8px}.sheet-footer{font-size:10px;color:var(--muted);margin-top:20px}.user-form{max-width:600px}.user-form h2{font-size:21px;margin-bottom:25px}.user-form label{margin-top:20px}.user-form p{font-size:11px}.form-actions{display:flex;gap:12px;margin-top:25px;justify-content:flex-end}.checkbox{display:flex;align-items:center;gap:10px}.checkbox input{width:18px;height:18px}.user-row{display:flex;align-items:center;gap:18px;padding:18px;flex-wrap:wrap}.user-info{flex:1;min-width:150px;overflow-wrap:anywhere}.user-info strong{font-size:13px;display:block}.user-info small{font-size:11px;color:var(--muted);display:block;margin-top:5px}.user-row>span:not(.avatar):not(.role-badge){font-size:11px}.inactive{color:var(--error)}@media(min-width:1500px){.page-body{padding-top:55px}.song-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1100px){.sidebar{width:205px;padding-inline:18px}.workspace{margin-left:205px}.topbar{padding-inline:28px}.page-body{padding:32px 28px}.song-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metadata{grid-template-columns:1fr 1fr}.metadata>div:last-child{grid-column:span 2}.line-editor{grid-template-columns:1fr}.banner-decoration{display:none}}@media(max-width:720px){.sidebar{display:none}.workspace{margin-left:0}.topbar{height:62px;padding:0 20px;font-size:10px}.breadcrumb{margin-left:5px}.page-body{padding:27px 18px 110px}.page-heading{align-items:flex-start;flex-wrap:wrap;gap:17px;margin-bottom:25px}.page-heading .primary{width:100%}.page-heading h1{font-size:30px}.page-heading p{font-size:12px}.library-banner{padding:20px;gap:15px;margin-bottom:23px}.banner-icon{width:43px;height:43px;font-size:24px}.library-banner h2{font-size:20px;line-height:1.25}.library-banner p{font-size:11px}.library-controls{gap:8px;flex-wrap:wrap}.search-box{min-width:100%;max-width:none}.result-count{margin-left:0;margin-right:auto}.song-grid{gap:12px}.song-card{padding:17px 16px 0;min-height:208px}.song-card h2{font-size:15px;line-height:1.4}.song-card>p{line-height:1.5}.card-top{margin-bottom:18px}.song-art{width:36px;height:36px;font-size:23px}.mobile-nav{position:fixed;bottom:0;left:0;right:0;background:var(--surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;justify-content:space-around;border-top:1px solid var(--line);padding:7px 7px max(8px,env(safe-area-inset-bottom));z-index:10}.mobile-nav button{background:none;border:0;display:flex;flex-direction:column;gap:3px;align-items:center;color:var(--muted);min-height:46px;min-width:55px;font-size:21px;padding:5px 9px}.mobile-nav button span{font-size:9px}.mobile-nav button.active{color:var(--primary)}.metadata{grid-template-columns:1fr;padding:20px}.metadata>div:last-child{grid-column:auto}.section-editor{padding:18px}.section-head{gap:8px}.section-head select{width:calc(100% - 40px)}.section-head>input{width:100%}.section-actions{margin-left:auto}.chord-fields{max-width:300px}.editor-footer{bottom:69px;gap:10px}.editor-footer .muted{display:none}.editor-footer .primary,.editor-footer .secondary{flex:1;font-size:11px;padding:12px}.preview,.song-sheet{padding:22px 19px}.font-control{margin:10px 0;flex:1}.viewer-toolbar{gap:8px}.viewer-toolbar .toggle{flex:1;font-size:11px}.user-row{gap:12px}.user-row .role-badge{margin-left:46px}.user-row .secondary{margin-left:auto}.login-shell{display:block}.login-story{padding:25px;min-height:0}.login-story .brand{font-size:24px}.story-body{padding:30px 0 0}.story-body h1{font-size:38px;margin:12px 0 14px;letter-spacing:-1px}.story-body h1 br{display:none}.story-body h1 em{display:block}.story-body p,.music-staff,.login-story>small{display:none}.story-body .eyebrow{font-size:8px;margin-bottom:10px}.login-panel{padding:38px 25px 75px;min-height:55vh}.login-foot{bottom:22px}.login-form h2{font-size:27px}.login-form .muted{margin-bottom:26px}}.mobile-nav button .nav-icon{font-size:21px}@media(max-width:720px){.mobile-nav{transition:transform .18s ease,visibility .18s ease}.mobile-nav.nav-hidden{transform:translateY(calc(100% + 1px));visibility:hidden;pointer-events:none}}.editor-help{font-size:12px;line-height:1.75;color:var(--muted);margin-bottom:14px;max-width:850px}.editor-help code{background:var(--tint);color:var(--primary);border-radius:4px;padding:2px 4px}.inline-song-editor{font-family:Consolas,Courier New,monospace;font-size:15px;line-height:1.9;min-height:230px;tab-size:2}.text-issues{margin:14px 0 0;padding:12px 18px 12px 32px}.text-issues li+li{margin-top:6px}.preview-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:28px 0 14px}.preview-controls .eyebrow{margin:0 auto 0 0}.preview,.song-sheet{background:var(--music-bg);color:var(--music-ink);border-color:var(--line);overflow-wrap:normal}.preview{margin-top:0}.preview h3,.song-sheet h2{color:var(--music-heading);font-family:var(--ion-font-family)}app-song-line{display:block;min-width:0}.music-line{font-family:Consolas,Courier New,monospace;white-space:normal;line-height:1.8;min-height:3.2em;margin:0 0 .3em}.music-chunk{display:inline-grid;grid-template-rows:1.4em auto;grid-template-columns:minmax(0,max-content);vertical-align:top;max-width:100%;min-width:0}.music-word{display:inline-block;vertical-align:top;max-width:100%;white-space:normal}.chord-labels{display:flex;gap:.8ch;align-items:baseline;min-height:1.4em;padding-inline-end:.8ch;white-space:pre;min-width:0}.chord-labels:empty{padding:0}.music-line .chord{position:static;display:inline;color:var(--music-chord);font-size:.78em;line-height:1.6;font-weight:700;white-space:pre}.lyric-fragment{white-space:pre-wrap;overflow-wrap:anywhere;min-width:0}.music-line.lyrics-only{min-height:1.8em;white-space:pre-wrap}.song-sheet>section{margin-bottom:0}.song-sheet>section+section{margin-top:1em}.song-sheet>section>h2{margin:0 0 8px;line-height:1.4}.preview h3{margin:20px 0 8px;line-height:1.4}.music-line.chords-only{min-height:1.6em;line-height:1.6;margin-bottom:.15em}.music-line.chords-only .music-chunk{grid-template-rows:auto}.music-line.chords-only .lyric-fragment{display:none}.music-line.chords-only .chord-labels{min-height:1.6em;flex-wrap:wrap;row-gap:.15em;white-space:normal}.music-line.instrumental-blank{display:none}@media(max-width:720px){.preview-controls .eyebrow{width:100%;margin-bottom:5px}.preview-controls button{flex:1}.inline-song-editor{font-size:16px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:8px 12px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:8px;font-size:11px;font-weight:600}.theme-icon{font-size:20px;line-height:1}.header-actions{display:flex;align-items:center;gap:14px;flex-shrink:0}.topbar-title{min-width:0;line-height:1.6}.login-theme-toggle{position:absolute;top:26px;right:30px}.preview,.song-sheet{background:var(--music-bg);color:var(--music-ink);border-color:var(--line)}.preview h2{color:var(--music-ink)}.preview h3,.song-sheet h2{color:var(--music-heading)}.music-line .chord{color:var(--music-chord)}input[type=range],input[type=checkbox]{accent-color:var(--primary)}.heading-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.connection-state{font-size:11px;color:var(--muted);margin:0 0 18px}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.service-card{text-align:left;color:var(--ink);cursor:pointer;min-width:0;overflow-wrap:anywhere}.service-card h2,.next-service h2{font-family:var(--ion-font-family);font-size:28px;margin:15px 0}.service-card p,.next-service p{font-size:13px;line-height:1.7}.next-service .primary,.next-service .secondary{margin:8px 10px 0 0}.service-actions,.service-search,.global-key-form{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:20px 0}.service-actions label{margin:0}.services-list-heading{align-items:flex-end}.services-list-heading h1{margin-bottom:0}.service-filters{align-items:flex-end}.service-filters>div{min-width:0;max-width:100%}.service-filters label{margin-bottom:6px}@media(max-width:480px){.service-filters>div,.service-filters>button{width:100%}}.global-key-form label{white-space:nowrap}.global-key-form select{width:auto;min-width:85px}.setlist{list-style:none;padding:0;display:flex;flex-direction:column;gap:12px;margin-bottom:30px}.setlist-row{display:flex;align-items:center;gap:14px;margin:0;min-width:0;flex-wrap:wrap;padding:18px}.setlist-title{flex:1;min-width:80px;text-align:left;overflow-wrap:anywhere}.setlist-title strong{display:block;font-size:16px}.setlist-title small{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:6px}.song-choices>div{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}.song-choices span{overflow-wrap:anywhere;min-width:0;font-size:13px}.song-choice-info{flex:1;min-width:0;overflow-wrap:anywhere}.song-choice-info strong{display:block;font-size:14px;line-height:1.5}.song-choice-info small{display:block;color:var(--muted);font-size:12px;line-height:1.5;margin-top:4px}.service-search input{flex:1;min-width:130px}.occurrence-nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:25px}.occurrence-nav .toggle{max-width:100%;overflow-wrap:anywhere;text-align:left}.arrangement-editor ol{padding:0;list-style:none;counter-reset:section}.arrangement-editor li{display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--line);counter-increment:section}.arrangement-editor li:before{content:counter(section)".";color:var(--muted);font-size:12px}.arrangement-editor li>span{flex:1;min-width:0;overflow-wrap:anywhere}app-services{display:block;min-width:0}@media(max-width:720px){.service-grid{grid-template-columns:1fr}.service-card{padding:20px}.setlist-row{gap:10px;padding:14px}.setlist-row .section-actions{width:100%;justify-content:flex-end}.global-key-form{width:100%;margin:5px 0}.global-key-form .primary{width:100%}.service-actions>button{flex:1}.mobile-nav button{min-width:0;flex:1;padding:5px 3px}.mobile-nav button span{font-size:9px}.topbar{height:calc(62px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}.page-body{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right));padding-bottom:calc(110px + env(safe-area-inset-bottom))}input,textarea,select{font-size:16px}.service-form input[type=datetime-local]{min-width:0;max-width:100%;display:block}.panel{min-width:0}.login-shell{padding-top:env(safe-area-inset-top)}}.warning{background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning)}.message ul{margin:8px 0 0;padding-left:20px}.import-form label{margin-top:20px}.import-form>label:first-child{margin-top:0}.import-form .primary{margin-top:20px}.import-form>p:last-child{font-size:12px;margin:12px 0 0}.transpose-controls{display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding:20px 0}.transpose-controls label{display:flex;align-items:center;gap:12px;margin:0}.transpose-field{display:flex;align-items:center;gap:12px}.transpose-mode{display:flex;gap:8px;flex-wrap:wrap}.transpose-controls select{width:auto;min-width:130px}.transpose-controls>span{font-size:12px;color:var(--muted)}.chord-correction h2,.history-panel h2,.conflict-panel h2{font-size:21px;margin:0 0 15px}.chord-correction input{max-width:260px}.chord-correction p{font-size:13px;line-height:1.7}.music-line .chord-button{border:0;background:transparent;padding:0;cursor:pointer;border-radius:3px;text-decoration:underline dotted;text-underline-offset:3px}.music-line .chord-button:hover{background:var(--tint)}.revision-list{display:flex;flex-direction:column;gap:8px}.revision-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);padding:14px 18px;min-height:48px;text-align:left}.revision-row span{font-size:12px;color:var(--muted)}.revision-row small{font-size:11px;color:var(--muted);margin-left:auto}.revision-detail{margin-top:28px}.revision-detail>h3{font-size:15px;line-height:1.6}.revision-detail>.primary,.revision-detail>.secondary{margin-top:20px}.history-panel .section-head{justify-content:space-between}@media(max-width:720px){.heading-actions{width:100%;flex-wrap:wrap}.heading-actions button{flex:1}.transpose-controls{gap:15px}.transpose-controls label{flex-wrap:wrap;width:100%}.transpose-controls select{flex:1}.form-actions{flex-wrap:wrap}.form-actions button{flex:1}.revision-row{gap:10px}.revision-row small{margin-left:0}.import-form{padding:18px}}@media(max-width:720px){.header-actions{gap:8px}.topbar .theme-label{display:none}.topbar .theme-toggle{padding:8px}.topbar .breadcrumb{display:block;margin:0}.login-theme-toggle{top:17px;right:24px}.login-panel{padding-top:85px}}.primary,.secondary,.theme-toggle,input:not([type=range]):not([type=checkbox]),select,textarea,.toggle{border-radius:12px}.panel,.song-card,.library-banner,.preview,.song-sheet{border-radius:18px}.icon-button{border-radius:50%;color:var(--primary);background:var(--tint);border-color:transparent;min-width:44px;min-height:44px}.brand-mark{width:38px;height:38px;border-radius:11px;margin-right:11px;display:block;flex-shrink:0}.story-body h1,.team-note strong,.library-banner h2{font-weight:600}.story-body em{font-style:normal}.story-body h1{letter-spacing:-2.5px}.brand-dot{color:var(--primary)}.login-story .brand-dot{color:var(--hero-accent)}.library-banner{background:var(--tint);border-color:transparent}.library-banner h2{font-weight:650}.next-service{background:var(--hero);color:var(--hero-text);border:0;border-radius:24px;padding:32px}.next-service .eyebrow{color:var(--hero-accent)}.next-service .muted{color:var(--hero-muted)}.next-service .primary{background:var(--hero-accent);border-color:var(--hero-accent);color:var(--brand-night)}.next-service .secondary{background:var(--hero-tint);border-color:var(--hero-separator);color:var(--hero-text)}.next-service h2{font-weight:650;letter-spacing:-.7px}.service-card h2{font-weight:650}.sidebar .brand{margin-bottom:42px}.song-art.alt{background:var(--tint);color:var(--primary)}.song-card{color:var(--ink)}.icon-button.danger{color:var(--error)}.song-card:focus-visible,.service-card:focus-visible{outline:3px solid var(--primary);outline-offset:3px}@media(max-width:720px){.next-service{padding:24px}.brand-mark{width:34px;height:34px}.login-story{background:var(--hero)}}#music-print{display:none}@media print{@page{size:A4;margin:15mm}html,body{height:auto!important;overflow:visible!important;background:#fff!important;color:#000!important}body>*:not(#music-print){display:none!important}#music-print{display:block!important;position:static!important;font-family:Arial,sans-serif;color:#000;background:#fff}#music-print h1{font-size:24pt;margin:0 0 8pt}#music-print>p{font-size:10pt;margin:0 0 16pt;color:#333}#music-print .song-sheet{margin:0;padding:0;border:0;background:#fff!important;color:#000!important;box-shadow:none}#music-print .song-sheet h2{color:#333!important;break-after:avoid}#music-print .music-line{break-inside:avoid;color:#000!important}#music-print .chord{color:#000!important;text-decoration:none;border:0;padding:0;background:transparent}}.remember-session{display:flex!important;align-items:center;gap:12px;min-height:44px;margin:16px 0!important;font-size:15px}.remember-session input[type=checkbox]{width:20px;height:20px;margin:0;padding:0;flex:none;accent-color:var(--primary)}.session-restoring{display:grid;place-items:center;min-height:100%;padding:32px;background:var(--background);color:var(--ink)}.session-restore-content{max-width:520px;width:100%;text-align:center}.session-restore-content .brand-mark{margin:0 auto 24px;width:52px;height:52px}.session-restore-content h1{font-size:27px}.session-restore-content .form-actions{justify-content:center;flex-wrap:wrap}.session-cookie-note{font-size:12px;line-height:1.6;margin:0 0 18px}
