:root{color:#172033;background:#f4f6f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;line-height:1.5;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.artist-select{min-height:116px}.field-hint{color:#627084;font-size:12px;font-weight:700}.search-field{align-items:center;display:flex;gap:8px;max-width:220px}.search-field input{min-width:0}.event-type-row h3 svg{color:#176d5a;vertical-align:text-bottom}.artist-phone{color:#344156!important;font-weight:800;margin-top:6px!important}.artist-row{display:grid;grid-template-columns:minmax(0,1fr) auto}.artist-row-main{min-width:0}.artist-row-statuses{align-items:flex-end;display:flex;flex-direction:column;gap:8px}.public-link-text{color:#0d4f9e!important;font-size:12px;font-weight:800;margin-top:8px!important;overflow-wrap:anywhere}.booking-artists{margin-top:6px!important}.artist-payments{display:grid;gap:12px}.artist-payments-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.artist-payments-header span{color:#344156;font-size:14px;font-weight:900}.artist-payment-list{display:grid;gap:10px}.artist-payment-row{align-items:end;background:#fbfcfd;border:1px solid #d9e0e8;border-radius:8px;display:grid;gap:10px;grid-template-columns:minmax(150px,1.2fr) minmax(130px,.8fr) auto minmax(140px,1fr) 40px;padding:12px}.artist-payment-paid{align-self:center;min-height:42px}.finance-panel{display:grid;gap:12px;margin-top:18px}.finance-panel h3{font-size:16px;margin:0}.loss-card{border-color:#efb3b3!important}.loss-card strong{color:#a32828}.public-schedule-page{background:#f4f6f8;min-height:100vh;padding:28px}.public-schedule-shell{background:#fff;border:1px solid #d9e0e8;border-radius:8px;box-shadow:0 14px 38px #17203314;display:grid;gap:18px;margin:0 auto;max-width:920px;padding:24px}.public-schedule-header{align-items:flex-start;display:flex;gap:20px;justify-content:space-between}.public-schedule-header h1{font-size:28px;line-height:1.15;margin:0}.public-schedule-header p:not(.section-kicker){color:#435065;font-weight:800;margin:8px 0 0}.public-schedule-header svg{color:#176d5a}.public-schedule-filters{align-items:end;display:grid;gap:14px;grid-template-columns:repeat(2,minmax(160px,1fr)) auto}.public-schedule-actions{display:flex;gap:8px}.public-schedule-list{display:grid;gap:12px}.public-schedule-card{background:#fbfcfd;border:1px solid #d9e0e8;border-radius:8px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));padding:16px}.public-schedule-card div{display:grid;gap:4px}.public-schedule-card span{color:#627084;font-size:12px;font-weight:800;text-transform:uppercase}.public-schedule-card strong{color:#172033;overflow-wrap:anywhere}.public-schedule-address{grid-column:1 / -1}.public-schedule-address a{align-items:center;color:#0d4f9e;display:inline-flex;font-weight:900;gap:7px;width:fit-content}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}.app-shell{min-height:100vh}.topbar{align-items:center;background:#fff;border-bottom:1px solid #d9e0e8;display:flex;justify-content:space-between;min-height:76px;padding:14px 28px}.topbar h1,.login-panel h1{font-size:22px;line-height:1.2;margin:0}.topbar-label,.section-kicker{color:#627084;font-size:12px;font-weight:700;margin:0 0 4px;text-transform:uppercase}.topbar-nav{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.topbar-nav a,.icon-text-button,.primary-button,.secondary-button,.danger-button,.icon-button{align-items:center;border:1px solid transparent;border-radius:8px;display:inline-flex;font-weight:700;gap:8px;justify-content:center;min-height:40px;padding:8px 12px;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.topbar-nav a,.icon-text-button,.secondary-button,.icon-button{background:#f7f9fb;border-color:#d9e0e8;color:#2d3b4f}.topbar-nav a.active,.topbar-nav a:hover,.icon-text-button:hover,.secondary-button:hover,.icon-button:hover{background:#e8f1ff;border-color:#8fb8ef;color:#0d4f9e}.primary-button{background:#176d5a;color:#fff}.primary-button:hover{background:#105846}.danger-button{background:#fff2f2;border-color:#efb3b3;color:#a32828}.danger-button:hover{background:#ffe2e2}.page{margin:0 auto;max-width:1240px;padding:28px}.panel{background:#fff;border:1px solid #d9e0e8;border-radius:8px;box-shadow:0 8px 24px #1720330f;padding:20px}.dashboard-grid{display:grid;gap:20px;grid-template-columns:minmax(300px,420px) minmax(0,1fr)}.section-header{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.section-header h2,.calendar-header h2{font-size:20px;margin:0}.calendar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.icon-button{aspect-ratio:1;padding:0;width:40px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{color:#627084;font-size:12px;font-weight:800;margin-bottom:8px;text-align:center}.calendar-days{gap:6px}.calendar-day,.calendar-empty{aspect-ratio:1;border-radius:8px;min-width:0}.calendar-day{background:#f7f9fb;border:1px solid #d9e0e8;color:#172033;font-weight:800;position:relative}.calendar-day:hover{border-color:#8fb8ef}.calendar-day.selected{background:#17324d;border-color:#17324d;color:#fff}.calendar-day.today{box-shadow:inset 0 0 0 2px #e0a72d}.calendar-day.marked:after{background:#d65f3d;border-radius:999px;bottom:7px;content:"";height:6px;left:50%;position:absolute;transform:translate(-50%);width:6px}.bookings-panel{min-height:540px}.booking-list,.event-type-list{display:grid;gap:12px}.booking-card,.event-type-row{background:#fbfcfd;border:1px solid #d9e0e8;border-radius:8px;padding:16px}.booking-main,.event-type-row{align-items:flex-start;display:flex;gap:14px;justify-content:space-between}.booking-time{color:#176d5a;font-weight:900}.booking-card h3,.event-type-row h3{font-size:17px;margin:4px 0}.booking-card p,.event-type-row p{color:#627084;margin:0}.booking-meta{align-items:center;color:#435065;display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.booking-meta a,.detail-grid a{align-items:center;color:#0d4f9e;display:inline-flex;font-weight:800;gap:6px}.card-actions,.form-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.status,.pill{border-radius:999px;display:inline-flex;font-size:12px;font-weight:900;padding:5px 10px;white-space:nowrap}.status-pending{background:#fff7df;color:#8a5d00}.status-confirmed,.pill.active{background:#e4f8ef;color:#126247}.status-cancelled,.pill.muted{background:#eef1f4;color:#5d6675}.status-completed{background:#e7f0ff;color:#0d4f9e}.error-banner{background:#fff2f2;border:1px solid #efb3b3;border-radius:8px;color:#8f2020;font-weight:700;grid-column:1 / -1;margin-bottom:14px;padding:12px 14px}.loading-line,.empty-state{color:#627084;font-weight:700;padding:16px 0}.empty-state{align-items:flex-start;display:grid;gap:12px}.login-page{align-items:center;background:linear-gradient(90deg,rgb(23 109 90 / .08),transparent),#f4f6f8;display:grid;min-height:100vh;padding:24px}.login-panel{background:#fff;border:1px solid #d9e0e8;border-radius:8px;box-shadow:0 18px 42px #1720331f;display:grid;gap:16px;margin:0 auto;max-width:420px;padding:28px;width:100%}.form-grid,.stacked-form{display:grid;gap:16px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-wide{grid-column:1 / -1}label{color:#344156;display:grid;font-size:14px;font-weight:800;gap:7px}input,select,textarea{background:#fff;border:1px solid #cfd8e3;border-radius:8px;color:#172033;min-height:42px;padding:9px 11px;width:100%}textarea{min-height:110px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#176d5a;box-shadow:0 0 0 3px #176d5a24;outline:none}.checkbox-row{align-items:center;display:flex;gap:10px}.checkbox-row input{min-height:auto;width:auto}.form-panel{max-width:920px}.detail-panel{max-width:900px}.detail-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid>div{background:#fbfcfd;border:1px solid #d9e0e8;border-radius:8px;display:grid;gap:4px;padding:14px}.detail-grid span{color:#627084;font-size:12px;font-weight:800;text-transform:uppercase}.detail-grid strong{overflow-wrap:anywhere}.comment-box{background:#fffaf0;border:1px solid #ead9ad;border-radius:8px;margin:16px 0 0;padding:14px;white-space:pre-wrap}.event-types-layout{display:grid;gap:20px;grid-template-columns:minmax(280px,420px) minmax(0,1fr)}.event-type-row{align-items:center}.analytics-page{display:grid;gap:20px}.analytics-heading,.analytics-period{align-items:center;display:flex;justify-content:space-between}.analytics-heading h2{font-size:26px;margin:0}.analytics-heading>svg{color:#176d5a}.analytics-period{color:#627084;font-size:14px;font-weight:700}.analytics-filters{align-items:end;display:grid;gap:16px;grid-template-columns:repeat(4,minmax(150px,1fr)) auto}.analytics-filter-actions{display:flex;gap:8px}.analytics-metrics{display:grid;gap:12px;grid-template-columns:repeat(5,minmax(0,1fr))}.analytics-metric{background:#fff;border:1px solid #d9e0e8;border-radius:8px;display:grid;gap:6px;min-height:102px;padding:14px}.analytics-metric span{color:#627084;font-size:12px;font-weight:800}.analytics-metric strong{color:#172033;font-size:19px;overflow-wrap:anywhere}.analytics-charts{display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-chart-panel{min-height:290px}.analytics-chart-panel h3{font-size:16px;margin:0 0 18px}.analytics-bar-chart{display:grid;gap:13px}.analytics-bar-row{align-items:center;display:grid;gap:10px;grid-template-columns:minmax(72px,.8fr) minmax(80px,2fr) auto}.analytics-bar-label{color:#435065;font-size:12px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analytics-bar-track{background:#edf1f5;border-radius:4px;height:12px;overflow:hidden}.analytics-bar-fill{background:#176d5a;border-radius:4px;height:100%}.analytics-bar-row strong{color:#344156;font-size:12px;min-width:40px;text-align:right}.analytics-table-wrap{overflow-x:auto}.analytics-table-wrap table{border-collapse:collapse;min-width:980px;width:100%}.analytics-table-wrap th,.analytics-table-wrap td{border-bottom:1px solid #e6ebf0;padding:12px 10px;text-align:left;vertical-align:middle;white-space:nowrap}.analytics-table-wrap th{color:#627084;font-size:11px;text-transform:uppercase}.analytics-table-wrap td{color:#344156;font-size:13px;font-weight:700}.analytics-table-wrap tbody tr:hover{background:#f7fbff}.analytics-table-wrap td a{display:block}@media(max-width:880px){.topbar{align-items:flex-start;flex-direction:column}.topbar-nav{justify-content:flex-start;width:100%}.dashboard-grid,.event-types-layout,.analytics-charts{grid-template-columns:1fr}.analytics-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){.page{padding:16px}.topbar{padding:14px 16px}.topbar-nav a,.icon-text-button,.primary-button,.secondary-button,.danger-button{width:100%}.section-header,.booking-main,.event-type-row{align-items:stretch;flex-direction:column}.form-grid,.detail-grid,.analytics-filters,.artist-payment-row,.public-schedule-filters,.public-schedule-card{grid-template-columns:1fr}.artist-row,.public-schedule-header{align-items:stretch;flex-direction:column;grid-template-columns:1fr}.artist-row-statuses,.public-schedule-actions{align-items:stretch;flex-direction:column}.public-schedule-actions button{width:100%}.analytics-filter-actions{flex-direction:column}.analytics-filter-actions button{width:100%}.analytics-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-heading{align-items:flex-start}.calendar-days{gap:4px}}
