/* One dimension scale for workspace, public forms and informational pages. */
:root{--layout-content:1120px;--layout-reading:760px;--layout-narrow:470px;--layout-gap:16px;--layout-control:44px;--layout-radius:var(--ax-radius-m);--layout-gutter:clamp(18px,3vw,36px)}
@media screen{
.axel-site *,.axel-public *{box-sizing:border-box}
.axel-workspace .shell>main{max-width:var(--layout-content);padding:32px var(--layout-gutter) 40px}
.axel-workspace .shell>header{height:auto;min-height:72px;padding:14px var(--layout-gutter);gap:16px}
.axel-workspace .headeractions{gap:12px;min-width:0;flex-wrap:wrap}
.axel-workspace .shell>footer{width:calc(100% - 2 * var(--layout-gutter));max-width:calc(var(--layout-content) - 2 * var(--layout-gutter));margin:0 auto;padding:20px 0;gap:12px;flex-wrap:wrap;font-size:var(--ax-text-xs)}
.axel-workspace .pagehead{gap:16px;margin-bottom:24px;align-items:center;flex-wrap:wrap}
.axel-workspace .pagehead>.actions{gap:8px;flex-wrap:wrap}
.axel-workspace .btn,.axel-workspace .subtle,.axel-public .btn{min-height:var(--layout-control);padding:10px 16px;font-size:14px;border-radius:var(--ax-radius-m);max-width:100%}
.axel-workspace .stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}
.axel-workspace .stat{min-width:0;padding:18px;border-radius:var(--layout-radius)}
.axel-workspace .statvalue{font-size:28px;overflow-wrap:anywhere}
/* Dashboard: today's work leads; month numbers sit below as a compact row. */
.axel-workspace .grid+.stats-compact{margin-top:20px}
.axel-workspace .stats-compact{gap:12px}
.axel-workspace .stats-compact .stat{padding:14px 16px}
.axel-workspace .stats-compact .statvalue{font-size:22px;margin:6px 0 2px}
.axel-workspace .stats-compact .stat-detail{display:none}
.axel-workspace .grid{grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:20px}
.axel-workspace .bottomgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.axel-workspace .panel,.axel-workspace .projectcard{min-width:0;border-radius:var(--layout-radius)}
.axel-workspace .panelhead{padding:18px 20px;gap:12px;flex-wrap:wrap}
.axel-workspace .session{padding:16px 20px}
.axel-workspace .projectcard{padding:20px}
.axel-workspace .cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:16px}
.axel-workspace .toolbar:not(.agenda-period-toolbar){gap:12px;margin-bottom:20px;flex-wrap:wrap}
.axel-workspace .toolbar>.search{width:min(100%,320px);min-width:0;max-width:100%;flex:0 1 320px}
.axel-workspace .toolbar .filter{min-width:140px;max-width:100%;min-height:var(--layout-control);font-size:14px}
.axel-workspace .request-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));padding:0 20px 20px;gap:16px}
.axel-workspace .request-card{padding:18px}
.axel-workspace .formgrid,.axel-public .formgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.axel-workspace .formgrid>*,.axel-public .formgrid>*{min-width:0;max-width:100%}
.axel-workspace label,.axel-public label{min-width:0;overflow-wrap:anywhere}
.axel-workspace label input:not([type=checkbox]):not([type=radio]),.axel-workspace label select,.axel-workspace label textarea,.axel-public label input:not([type=checkbox]):not([type=radio]),.axel-public label select,.axel-public label textarea{box-sizing:border-box;min-width:0;max-width:100%;width:100%;min-height:var(--layout-control);padding:10px 12px;font-size:14px;border-radius:var(--ax-radius-m)}
.axel-workspace input[type=date],.axel-public input[type=date]{appearance:none;-webkit-appearance:none;min-inline-size:0;max-inline-size:100%;inline-size:100%;overflow:hidden}
.axel-workspace input[type=date]::-webkit-date-and-time-value,.axel-public input[type=date]::-webkit-date-and-time-value{min-width:0;text-align:left}
.axel-workspace .modal{width:560px;max-width:100%;max-height:calc(100dvh - 40px);padding:24px;border-radius:var(--ax-radius-l)}
.axel-workspace .modal.modal-wide{width:920px}
.axel-workspace .profile-setup{max-width:var(--layout-reading);padding:24px;margin-inline:auto}
.axel-workspace .profile-photo-editor{gap:16px;padding:16px;flex-wrap:wrap}
.axel-workspace .formfoot{gap:10px;flex-wrap:wrap}
.axel-workspace .next-steps,.axel-workspace .setup-card{padding:20px;margin-bottom:24px}
.axel-workspace .next-actions{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px}
#sidebar>.profile{flex-shrink:0;margin:0;padding:12px;border:1px solid var(--line);border-radius:var(--layout-radius);background:var(--light);min-height:70px;gap:10px}
#sidebar>.profile>div{min-width:0;overflow-wrap:anywhere}
#sidebar>.profile strong{font-size:14px;line-height:1.4}
#sidebar>.profile small{font-size:12px;line-height:1.4;margin-top:4px}
#sidebar>.navlabel{margin-top:24px;margin-bottom:10px}
#sidebar .sidebar-signature{justify-content:center;gap:8px;border-top:1px solid var(--line);padding:16px 4px 0;font-size:25px;line-height:1.4;letter-spacing:-1px;min-height:52px}
#sidebar .brand-by{font:500 12px/1.4 var(--ax-font);color:var(--muted);letter-spacing:0;margin-right:2px}
#sidebar .sidebar-signature .brandmark{width:26px;height:29px;border-radius:var(--ax-radius-m);font-size:24px}
#sidebar .sidebar-signature .brandmark>span{font-size:12px;top:-7px;right:-4px}
.axel-public .standalone-content{width:100%;max-width:var(--layout-reading);min-height:0;padding:32px var(--layout-gutter) 40px;margin:0 auto}
.axel-login .standalone-content{max-width:var(--layout-narrow);margin:clamp(24px,6vh,64px) auto;padding-top:0}
.axel-payment .standalone-content{max-width:560px;margin:clamp(24px,8vh,80px) auto;padding-top:0}
.axel-public .auth-panel,.axel-public .payment-panel,.axel-public .consent-panel{padding:24px;margin-top:24px}
.axel-public .booking-panel{padding:24px;border-radius:var(--layout-radius)}
.axel-public .artist-public-hero{padding:24px 0 28px}
.axel-public .artist-profile-photo{width:100px;height:100px;margin-bottom:18px}
.axel-public .booking-panel fieldset{padding:20px 0}
.axel-public .booking-panel legend{font-size:17px}
.axel-public .standalone-content>footer{margin:24px 0 0;padding:16px 0;gap:12px;font-size:12px;flex-wrap:wrap;letter-spacing:0}
.axel-public nav a{padding:8px;margin:0;font-size:13px;min-height:44px}
.axel-public .booking-flashes .cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:16px}
.axel-site{background:var(--axel-f7f6f2);color:var(--axel-282d2a)}
.axel-site .marketing{padding-inline:var(--layout-gutter)}
.axel-site .marketing-wrap{max-width:var(--layout-content)}
.axel-site .marketing-header{padding:24px 0;gap:20px;flex-wrap:wrap}
.axel-site .marketing-hero{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px;padding:64px 0}
.axel-site .marketing h1{font-size:clamp(36px,4.8vw,60px)}
.axel-site .marketing-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.axel-site .marketing-card{min-width:0;padding:24px;border-radius:var(--layout-radius)}
.axel-site .marketing-section{padding:32px 0}
.axel-site .marketing-final{padding:28px}
.axel-site .product-preview{min-width:0;padding:24px;border-radius:var(--ax-radius-l)}
.axel-site .information,.axel-site .pricing-page,.axel-site .operations-page{padding:32px var(--layout-gutter) 40px}
.axel-site .information-content{max-width:var(--layout-reading);margin:0 auto}
.axel-site .information article{padding:32px 0;font-size:15px;line-height:1.8;overflow-wrap:anywhere}
.axel-site .information header,.axel-site .pricing-page header,.axel-site .operations-page header{gap:16px;flex-wrap:wrap}
.axel-site .information nav{gap:16px}
.axel-site .pricing-content{max-width:900px;margin:auto}
.axel-site .operations-content{max-width:var(--layout-content);margin:auto}
.axel-site .plans-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:820px;margin:24px 0}
.axel-site .plan-card{min-width:0;padding:24px;border-radius:var(--layout-radius)}
.axel-site .operations-page input:not([type=checkbox]):not([type=radio]),.axel-site .operations-page select,.axel-site .operations-page textarea{box-sizing:border-box;min-width:0;max-width:100%;min-height:44px}
.axel-site .operations-page form{max-width:760px}
.axel-site a,.axel-public p{overflow-wrap:anywhere}
@media(max-width:1100px){.axel-workspace .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.axel-workspace .grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:850px){.axel-workspace .shell>header{min-height:65px;gap:8px}.axel-workspace .headeractions{gap:8px}.axel-workspace .bottomgrid{grid-template-columns:minmax(0,1fr)}#sidebar>.profile{padding-right:32px}.axel-site .marketing-hero{grid-template-columns:minmax(0,1fr);gap:28px;padding:40px 0}.axel-site .marketing-grid{grid-template-columns:minmax(0,1fr)}.axel-site .product-preview{max-width:560px}}
@media(max-width:650px){.axel-workspace .shell>main{padding-top:24px}.axel-workspace .pagehead{align-items:flex-start;gap:12px;margin-bottom:20px}.axel-workspace .panelhead,.axel-workspace .session{padding:16px}.axel-workspace .formgrid,.axel-public .formgrid,.axel-site .plans-grid{grid-template-columns:minmax(0,1fr)}.axel-workspace .toolbar>.search{flex-basis:100%}.axel-workspace .modal{padding:20px}.axel-workspace .profile-setup,.axel-public .booking-panel{padding:20px}.axel-workspace label input:not([type=checkbox]):not([type=radio]),.axel-workspace label select,.axel-workspace label textarea,.axel-public label input:not([type=checkbox]):not([type=radio]),.axel-public label select,.axel-public label textarea{font-size:16px}.axel-public .standalone-content{padding-top:24px}.axel-public .auth-panel,.axel-public .payment-panel,.axel-public .consent-panel{padding:20px}.axel-site .information,.axel-site .pricing-page,.axel-site .operations-page{padding-top:24px}.axel-site .marketing-card,.axel-site .product-preview,.axel-site .plan-card{padding:20px}.axel-site .marketing-final{padding:24px}.axel-site .marketing-header nav{gap:12px}}
}

/* Clickable profile photo with explicit, reversible draft actions. */
.axel-workspace .profile-photo-editor{align-items:center;gap:20px}
.profile-photo-control{position:relative;flex:0 0 auto;max-width:100%}
.profile-photo-trigger{display:flex;flex-direction:column;align-items:center;gap:10px;width:148px;max-width:100%;padding:12px;background:var(--paper);border:1px solid var(--line);border-radius:var(--ax-radius-m)}
.profile-photo-trigger:hover{border-color:var(--deep)}
.profile-photo-trigger .profile-photo-preview,.profile-photo-placeholder{width:96px;height:96px;border-radius:50%;flex-shrink:0}
.profile-photo-trigger .profile-photo-preview{margin:0;object-fit:cover}
.profile-photo-placeholder{display:flex;align-items:center;justify-content:center;border:1px dashed var(--deep);background:var(--light);color:var(--deep)}
.profile-photo-placeholder .icon{width:28px;height:28px}
.profile-photo-action{font-size:12px;font-weight:600;color:var(--deep)}
.profile-photo-options{position:absolute;top:calc(100% + 8px);left:0;z-index:5;display:grid;width:188px;max-width:calc(100vw - 80px);padding:4px;border:1px solid var(--line);border-radius:var(--ax-radius-m);background:var(--paper);box-shadow:var(--ax-shadow-2)}
.profile-photo-options button{min-height:44px;padding:10px 12px;text-align:left;font-size:14px;border-radius:var(--ax-radius-s)}
.profile-photo-options button:hover,.profile-photo-options button:focus-visible{background:var(--light)}
.profile-photo-options[hidden],.profile-photo-input[hidden],.profile-photo-placeholder[hidden],.profile-photo-trigger .profile-photo-preview[hidden]{display:none}
.profile-photo-copy{flex:1;min-width:160px;overflow-wrap:anywhere}
.profile-photo-copy .hint{font-size:13px;line-height:1.6;margin:8px 0 0}
#profile-photo-message:empty{display:none}
.profile-photo-visibility{margin-bottom:6px}
@media(max-width:650px){.profile-photo-copy{flex:none;min-width:0;width:100%}.axel-workspace .profile-photo-editor{align-items:flex-start;gap:16px}}

/* Profile form: coordinated rows, compact photo and a separate account section. */
.axel-workspace .modal.settings-panel{width:720px;padding:24px}
.settings-panel .modalhead{margin-bottom:16px;align-items:flex-start}
.settings-panel .modalhead h2{font-size:20px;line-height:1.4}
.settings-content,.profile-editor{min-width:0;max-width:100%}
.profile-editor .profile-section{padding:20px 0;border-bottom:1px solid var(--line);min-width:0}
.profile-editor .profile-section:first-child{padding-top:0}
.profile-section-heading{margin-bottom:16px}
.profile-section-heading h3{font-size:16px;line-height:1.4;letter-spacing:-.2px;margin:0;color:var(--ink)}
.profile-section-heading p,.profile-field-help{font-size:13px;line-height:1.6;color:var(--muted);margin:6px 0 0}
.profile-field-help{margin-top:12px}
.profile-editor .formgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.profile-editor .formgrid>label{min-width:0;font-size:13px;line-height:1.5}
.profile-editor label small{display:block;color:var(--muted);font-size:12px;line-height:1.5;margin-top:6px}
.profile-editor input:not([type=checkbox]):not([type=radio]),.profile-editor select{min-height:44px}
.profile-editor textarea{min-height:88px}
.profile-editor .profile-photo-editor{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:16px;border:0;background:transparent;padding:0;margin:0 0 14px}
.profile-editor .profile-photo-trigger{width:112px;padding:8px;gap:8px;border-radius:var(--ax-radius-m)}
.profile-editor .profile-photo-preview,.profile-editor .profile-photo-placeholder{width:80px;height:80px}
.profile-editor .profile-photo-action{font-size:var(--ax-text-xs);line-height:1.4}
.profile-editor .profile-photo-copy{min-width:0;width:auto}
.profile-editor .profile-photo-copy strong{font-size:14px}
.profile-editor .profile-photo-copy .hint{font-size:12px;line-height:1.5;margin-top:6px}
.profile-editor .profile-photo-visibility{margin:0 0 4px;font-size:13px;line-height:1.6;gap:10px;align-items:flex-start}
.profile-editor .profile-photo-visibility+.hint{font-size:12px;line-height:1.5;margin:0;color:var(--muted)}
.profile-editor .availability-field{border:0;padding:0;margin:18px 0 0;min-width:0}
.profile-editor .availability-field legend{font-size:13px;font-weight:600;padding:0;margin-bottom:10px}
.profile-editor .day-options{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.profile-editor .day-options .checkline{display:flex;justify-content:center;align-items:center;gap:6px;margin:0;padding:8px 6px;border:1px solid var(--line);border-radius:var(--ax-radius-m);min-height:44px;font-size:12px;line-height:1.4}
.profile-editor .day-options input[type=checkbox]{width:18px;height:18px;margin:0;flex-shrink:0}
.profile-editor .profile-confirm{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;align-items:start;font-size:13px;line-height:1.6;padding:16px 0;margin:0}
.profile-editor .profile-confirm input[type=checkbox]{margin:2px 0 0}
.profile-editor .formfoot{margin-top:4px;gap:10px}
.profile-editor .formfoot .btn{flex:0 1 auto;min-height:44px;white-space:normal}
.settings-preferences{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.settings-panel .settings-appearance{padding:14px 16px;margin:0 0 22px;font-size:13px;line-height:1.6}
.settings-appearance p{margin-top:4px}
.settings-panel .settings-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:0}
.settings-panel .settings-links>*{min-width:0;width:100%;min-height:48px;padding:10px 12px;font-size:13px;line-height:1.5;white-space:normal;overflow-wrap:anywhere}
.settings-panel .settings-links>:last-child{grid-column:1/-1;justify-self:start;justify-content:center;width:auto;min-width:132px;margin-top:4px}
@media(max-width:650px){.axel-workspace .modal.settings-panel{padding:20px}.profile-editor .formgrid{grid-template-columns:minmax(0,1fr);gap:14px}.profile-editor .day-options{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-editor .profile-photo-editor{grid-template-columns:104px minmax(0,1fr);gap:12px}.profile-editor .profile-photo-trigger{width:104px}.settings-panel .settings-links{grid-template-columns:minmax(0,1fr)}}
@media(max-width:360px){.profile-editor .profile-photo-editor{grid-template-columns:minmax(0,1fr);gap:12px}}

/* Agenda "now" marker: a fine ink line with the Axel asterisk between finished and upcoming sessions. */
.axel-workspace .now-line{display:flex;align-items:center;gap:8px;padding:6px 20px;color:var(--ax-accent-text);font-size:var(--ax-text-xs);font-weight:600;font-variant-numeric:tabular-nums}
.axel-workspace .now-line>span{font-size:18px;line-height:1}
.axel-workspace .now-line::after{content:"";flex:1;border-top:1.5px solid currentColor;opacity:.7}
.axel-workspace .agenda-period-toolbar>.actions>.btn .icon{width:20px;height:20px;margin:0}

/* Forms: readable labels, calm fields, a clear focus ring and an explicit invalid state. */
.axel-workspace label,.axel-public label{font-size:var(--ax-text-sm);font-weight:550;color:var(--ax-ink-2)}
.axel-workspace label input:not([type=checkbox]):not([type=radio]),.axel-workspace label select,.axel-workspace label textarea,.axel-public label input:not([type=checkbox]):not([type=radio]),.axel-public label select,.axel-public label textarea{min-height:var(--layout-control);padding:10px 12px;border:1px solid var(--ax-line);border-radius:var(--ax-radius-s);background:var(--ax-surface);color:var(--ax-ink);font-weight:400;transition:border-color .15s}
.axel-workspace label :is(input,select,textarea):hover,.axel-public label :is(input,select,textarea):hover{border-color:var(--ax-muted)}
.axel-workspace label :is(input,select,textarea):focus-visible,.axel-public label :is(input,select,textarea):focus-visible{outline:2px solid var(--ax-accent-text);outline-offset:1px;border-color:var(--ax-accent-text)}
.axel-workspace label :is(input,select,textarea):user-invalid,.axel-public label :is(input,select,textarea):user-invalid{border-color:var(--ax-danger);outline-color:var(--ax-danger)}
.axel-workspace ::placeholder,.axel-public ::placeholder{color:var(--ax-muted);opacity:.8}

/* Dialogs: the larger radius and deeper shadow mark them as the top layer; they open with a short settle. */
.axel-workspace .modal{border-radius:var(--ax-radius-l);background:var(--ax-chrome);border-color:var(--ax-line)}
.axel-workspace .modalhead h2{font-size:var(--ax-text-xl);font-weight:650;letter-spacing:-.4px}
.axel-workspace .overlay:not([hidden]) .modal{animation:ax-settle .18s ease-out}
@keyframes ax-settle{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.axel-workspace .overlay:not([hidden]) .modal{animation:none}.axel-workspace label :is(input,select,textarea){transition:none}}
.axel-workspace label:has(>input:is([type=checkbox],[type=radio])),.axel-public label:has(>input:is([type=checkbox],[type=radio])){font-weight:400;color:var(--ax-ink)}
