
.iva-brand {display:block;width:154px;max-width:100%;height:auto;}
.iva-sidebar-brand {display:block;margin:0 8px 22px;padding:12px 16px;background:#fff;border-radius:8px;width:186px;max-width:calc(100% - 16px);box-sizing:border-box;}
.iva-login-brand {width:220px;max-width:100%;margin:0 auto 28px;}
.iva-portal-brand {width:230px;max-width:75vw;margin:0 0 26px;}
.iva-transition {display:none;position:fixed;inset:0;z-index:20000;background:#fafbfc;align-items:center;justify-content:center;pointer-events:none;}
.iva-transition.is-running {display:flex;}
.iva-transition-content {width:min(380px,72vw);text-align:center;}
.iva-transition svg {display:block;width:100%;height:auto;}
.iva-transition-content>span {display:block;margin-top:22px;color:#6b7280;font:14px system-ui,sans-serif;}
/* IVA 2.1: readable navigation, clear permissions and shared calendar. */
.sidebar {width:280px;overflow-y:auto;}
.app-shell {grid-template-columns:280px minmax(0,1fr);}
.content {min-width:0;}
.nav, .nav-group, .nav-group-links {min-width:0;width:100%;}
.nav-group summary {white-space:nowrap;word-break:normal;overflow-wrap:normal;font-size:13px;}
.nav a, .brand strong {word-break:normal;overflow-wrap:normal;}
.area-home-link {text-decoration:none!important;color:inherit;}
.area-home-link>strong {color:#fff;}
.area-switch.current {font-weight:800!important;filter:brightness(1.16);outline:2px solid currentColor;outline-offset:-2px;}
.area-disabled {opacity:.42;cursor:not-allowed;pointer-events:none;display:block;}
.data-switch-group {border:1px solid #59616c;border-radius:8px;padding:8px;margin-top:12px;}
.data-switch-group .area-switch {min-height:0;padding:6px 8px;font-size:11px;}
.iva-rights {font-size:12px;color:#596570;padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:#fff;margin-bottom:16px;}
.iva-calendar-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:16px;}
.iva-calendar-month {padding:12px;min-width:0;}
.iva-calendar-month h2 {margin:0 0 14px;}
.iva-calendar-week {display:grid;grid-template-columns:repeat(7,minmax(0,1fr));}
.iva-calendar-week>span {text-align:center;padding:8px 0;font-size:12px;color:var(--muted);}
.iva-calendar-day {min-height:96px;border:1px solid #e7eaee;min-width:0;padding:3px;}
.iva-calendar-day.outside {background:#f4f5f7;}
.iva-calendar-day.today {box-shadow:inset 0 0 0 2px #00888e;}
.calendar-day-number {display:block;padding:4px;font-weight:700;color:var(--text);}
.iva-calendar-event {display:block;border-left:3px solid var(--category-color,#287b59);background:#f3f5f8;color:var(--text);padding:4px;margin:3px 0;font-size:11px;overflow-wrap:anywhere;}
.iva-calendar-event small {display:block;font-size:9px;color:#56616a;}
.iva-calendar-event.done {opacity:.55;text-decoration:line-through;}
.calendar-legend {display:flex;flex-wrap:wrap;gap:14px;margin:0 0 16px;}
.calendar-legend span {border-left:5px solid var(--category-color);padding-left:7px;font-size:12px;}
.calendar-toolbar, .calendar-toolbar form {display:flex;align-items:center;flex-wrap:wrap;gap:10px;}
.calendar-transfer {padding:10px 14px;font-size:12px;}
.calendar-transfer form {display:flex;gap:10px;margin-top:12px;flex-wrap:wrap;}
.calendar-voice label,.calendar-voice textarea {display:block;width:100%;margin:12px 0;}
.import-row {display:block;padding:8px 0;border-bottom:1px solid #eee;}
.bridge-token {display:block;overflow-wrap:anywhere;padding:14px;background:#f1f3f5;}
.permission-table td {padding:12px;}
.invoice-chart {display:flex;align-items:flex-end;gap:8px;height:210px;padding:12px 4px 0;}
.invoice-chart a {flex:1;min-width:0;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;height:100%;color:var(--text);font-size:11px;}
.invoice-chart .bar {width:70%;min-height:2px;background:#498b89;border-radius:4px 4px 0 0;display:block;}
.invoice-chart small {margin-top:7px;}
@media(max-width:800px){.sidebar{position:relative;width:100%;inset:auto;}.app-shell{display:block;}.content{padding:20px 14px;}.iva-sidebar-brand{width:160px;}.invoice-chart{gap:2px;}.nav-group summary{white-space:normal;}}
.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;}
body.calendar-mode{--accent:#147d81;--accent-dark:#0b5f63;}body.calendar-mode .sidebar{background:#183335!important;}
.iva-calendar-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,480px),1fr));align-items:start;}
.iva-calendar-event{overflow:hidden;overflow-wrap:normal;word-break:normal;}
.calendar-event-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.iva-calendar-event small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.data-switch-group{display:grid!important;grid-template-columns:1fr!important;gap:4px;}
.data-switch-group .area-switch{width:100%;white-space:nowrap;grid-column:1!important;}
.nav-group summary{font-size:12px;letter-spacing:.03em;padding-right:28px;position:relative;}
.nav-group-links a{white-space:normal;line-height:1.35;font-size:13px;}
.calendar-toolbar form{width:auto!important;display:flex!important;flex-direction:row;}
.calendar-toolbar select{width:auto;min-width:150px;}

/* Navigation must keep its natural height, including on short displays. */
.sidebar > * {flex-shrink:0;}
.sidebar .nav {flex:0 0 auto;overflow:visible;display:flex;flex-direction:column;gap:6px;padding:0;}
.sidebar .nav-group {flex:none;}
.sidebar .nav-group summary {font-size:13px;line-height:1.45;min-height:42px;padding:11px 32px 11px 12px;text-transform:none;letter-spacing:normal;white-space:normal;}
.sidebar .nav-group summary::after {position:absolute;right:12px;top:16px;}
.sidebar .nav > a {display:block;line-height:1.45;padding:11px 12px;min-height:42px;}
.sidebar .nav > a.nav-invoices,.sidebar .nav > a.nav-data {margin:4px 0;}
.sidebar .nav-group-links a {font-size:13px;line-height:1.45;}
.sidebar .area-switcher {margin-top:auto;padding-top:16px;}
.sidebar .sidebar-footer {margin-top:12px;}
.content {display:flex;flex-direction:column;min-height:100vh;}
.iva-rights {align-self:flex-end;margin:32px 0 0 auto;max-width:100%;text-align:right;}
.content > .iva-rights:last-child {margin-top:auto;padding-top:12px;}
.area-card-calendar .area-card-button {background:#147d81;}
.area-card-calendar {border-top:4px solid #147d81;}
.area-switch-calendar {background:#cce9e8!important;color:#174f52!important;}
.area-switch-calendar.current {background:#147d81!important;color:white!important;}
.area-card-grid {grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));}
.program-description {display:block;color:var(--muted);line-height:1.5;font-size:13px;}
.area-card {gap:14px;}
.iva-calendar-day[data-create-url] {cursor:pointer;}
.iva-calendar-day[data-create-url]:hover {background:#e9f5f4;box-shadow:inset 0 0 0 1px #147d81;}
.calendar-detail-list {margin:0;grid-template-columns:minmax(140px,200px) minmax(0,1fr);}
.calendar-detail-list dd {font-weight:600;overflow-wrap:anywhere;}
@media(max-width:600px) {.calendar-detail-list{grid-template-columns:1fr;}.calendar-detail-list dt{border-bottom:0;padding-bottom:0;}.calendar-detail-list dd{padding-top:4px;}.iva-rights{text-align:left;}}

.program-area-frame .area-card-wws {border-top:4px solid #a61f2d;}
.program-area-frame .area-card-lti {border-top:4px solid #174f86;}
.program-area-frame .area-card-womo {border-top:4px solid #5f7456;}
.program-area-frame .area-card-rehearsal {border-top:4px solid #ad551f;}
/* Configured area colors take precedence over the defaults above. */
.iva-feedback-button {position:fixed;right:20px;bottom:18px;z-index:1200;width:76px;height:52px;padding:8px;border:1px solid #bac3cb;border-radius:12px;background:white;box-shadow:0 4px 18px #10203026;cursor:pointer;}
.iva-feedback-button img {display:block;width:100%;height:100%;object-fit:contain;}
.iva-feedback-button:hover {box-shadow:0 4px 18px #10203045;}
.iva-feedback-button:focus-visible {outline:3px solid #147d81;outline-offset:3px;}
.iva-feedback-dialog {width:min(480px,calc(100% - 28px));max-height:85vh;overflow:auto;border:1px solid #cfd4d9;border-radius:12px;padding:24px;color:#1e2329;background:white;}
.iva-feedback-dialog::backdrop {background:#10203070;}
.iva-feedback-dialog form {display:flex;flex-direction:column;gap:14px;}
.iva-feedback-dialog label {font-weight:700;}
.iva-feedback-dialog textarea {display:block;margin-top:8px;min-height:130px;}
.iva-feedback-page {overflow-wrap:anywhere;font-size:12px;}
.iva-feedback-actions {display:flex;justify-content:flex-end;gap:10px;}
.iva-feedback-result {min-height:21px;color:#285b46;}
.iva-feedback-error {color:#9b2632;}
.iva-rights {margin-right:86px;}
.content > .iva-rights:last-child {margin-right:86px;}
.feedback-text {white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text);}
@media(max-width:600px){.iva-feedback-button{right:12px;bottom:12px;width:66px;height:46px;}.iva-rights,.content > .iva-rights:last-child{margin-right:72px;}.iva-feedback-actions{flex-wrap:wrap;}}

.program-area-frame .area-card-amp_planner {border-top:4px solid #7752a3;}
.program-area-frame .area-card-pixplip_planner {border-top:4px solid #168bac;}
.area-card-amp_planner .area-card-button {background:#7752a3;}
.area-card-pixplip_planner .area-card-button {background:#168bac;}
.area-card-coming-soon {cursor:default;}
.area-card-coming-soon:hover {transform:none;}
.area-switch-amp_planner {background:#e8def3;color:#50366f;}
.area-switch-pixplip_planner {background:#d9edf5;color:#165b70;}
.area-coming-soon {cursor:default;}

.calendar-today {border-top:4px solid var(--accent);padding:26px;}
.calendar-today h2 {font-size:26px;margin-top:6px;}
.calendar-today-label {text-transform:uppercase;font-size:12px;letter-spacing:.1em;font-weight:700;color:var(--accent);}
.calendar-today-row {display:flex;gap:18px;align-items:center;border-top:1px solid var(--border);padding:18px 0;}
.calendar-today-time {font-weight:700;font-size:17px;min-width:108px;}
.calendar-today-info {border-left:4px solid var(--category-color,var(--accent));padding-left:14px;min-width:0;}
.calendar-today-info>a {font-size:18px;font-weight:700;overflow-wrap:anywhere;}
.calendar-today-empty {padding:25px 0;}
.calendar-overdue {margin-top:20px;}.calendar-overdue>summary{cursor:pointer;color:#9b3737;font-weight:700;}
.calendar-view-switch {display:flex;flex-wrap:wrap;gap:10px;margin:0 0 16px;}
.compact-calendar {grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.compact-calendar .iva-calendar-day {min-height:70px;padding:2px;}
.compact-calendar .iva-calendar-month {padding:10px;overflow:hidden;}
.compact-calendar .iva-calendar-month h2 {font-size:16px;}
.compact-calendar .calendar-day-number {font-size:11px;padding:3px;}
.compact-calendar .iva-calendar-event {padding:3px 2px;font-size:10px;border-left-width:2px;}
.compact-calendar .iva-calendar-event small {font-size:8px;}
.calendar-check-form {display:inline-flex;align-items:center;margin:0;}
.calendar-check-form label {display:flex;cursor:pointer;padding:5px;}
.calendar-check-form input[type=checkbox] {width:20px;height:20px;margin:0;}
.calendar-group-tag {display:inline-block;border-left:4px solid var(--category-color,#147d81);padding:4px 8px;}
.iva-calendar-event.done {background:#e7e9ec!important;border-left-color:#9da4ac!important;color:#7a8189!important;opacity:.72;text-decoration:none;}
.is-complete .calendar-today-info>a,.is-complete td>a {color:#7c838c;}
.calendar-today-row.is-complete,.calendar-checklist tr.is-complete {background:#f0f1f3;}
.calendar-today-row.is-complete .calendar-today-info {border-left-color:#9da4ac;}
.calendar-kind-choice fieldset {border:0;padding:0;margin:0;}
.calendar-kind-choice legend {font-weight:700;font-size:16px;margin-bottom:12px;}
.calendar-kind-choice #id_kind {display:flex;gap:12px;flex-wrap:wrap;}
.calendar-kind-choice #id_kind label {display:flex;align-items:center;gap:10px;padding:16px 22px;border:1px solid var(--border);border-radius:8px;font-size:15px;background:#f6f8f9;cursor:pointer;}
.calendar-kind-choice #id_kind label:has(input:checked) {border-color:var(--accent);background:#e8f4f3;}
.field-help {font-size:12px;}
@media(max-width:1050px) and (min-width:801px){.compact-calendar{grid-template-columns:1fr;}}
@media(max-width:650px){.compact-calendar{grid-template-columns:1fr;}.calendar-today{padding:18px;}.calendar-today h2{font-size:22px;}.calendar-today-row{gap:9px;flex-wrap:wrap;}.calendar-today-time{font-size:14px;min-width:80px;}.calendar-today-info{flex:1 1 160px;}.calendar-today-info>a{font-size:16px;}.calendar-kind-choice #id_kind label{padding:12px 15px;}}

.area-switcher > .area-switch {text-transform:none;letter-spacing:normal;font-weight:600;line-height:1.35;display:block;}
.area-switcher > .area-coming-soon {grid-column:auto;padding:6px 7px;color:#30363d;}
.area-coming-soon small {display:block;font-size:10px;font-weight:400;color:inherit;margin-top:2px;}
.calendar-entry-form [hidden],.calendar-voice[hidden]{display:none!important;}
.calendar-title-hint{font-size:12px;color:#286351;grid-column:1/-1;}
