/* Arsen Salon v1.9 — focused calendar, financial and form refinements.
   Built on the approved warm neutral visual system; no eyebrow headings. */
:root{--v19-ink:#372d26;--v19-muted:#78695d;--v19-border:#e8e0d7;--v19-brown:#604a39}
#main,.main-content{min-width:0}
.page-heading .heading-actions:empty{display:none}
/* Calendar: time column, natural list controls, clear appointment blocks. */
.calendar-workspace{display:flex;flex-direction:column;gap:13px;min-width:0}
.calendar-workbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;background:#fff;padding:12px;border:1px solid var(--v19-border);border-radius:12px}
.calendar-date-controls{display:flex;gap:7px;align-items:center;min-width:0;flex-wrap:wrap}
.calendar-workbar input,.calendar-workbar select{background:#fff;border:1px solid #e3dbd3;border-radius:9px;min-height:42px;padding:8px 11px;color:var(--v19-ink);font-size:14px}
.calendar-workbar select{width:min(270px,100%);max-width:100%}
.calendar-date-controls .secondary{min-width:44px;min-height:42px;padding:7px 12px}
.calendar-wrap{border:1px solid #e5ddd5;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #3c261008}
.calendar-header{height:auto;min-height:57px;padding:14px 20px;background:#fcfaf7;border-bottom:1px solid #e9e2da;justify-content:space-between;gap:12px;display:flex;align-items:center}
.calendar-header strong{font-size:15px;font-weight:740;color:#4a3628}
.calendar-count{color:#807265;font-size:12px;padding:5px 10px;background:#efe8df;border-radius:7px;white-space:nowrap}
.calendar-scroll{height:min(650px,68vh);overflow-y:auto;scrollbar-color:#c6b5a4 #faf9f7;overscroll-behavior:contain}
.calendar-grid{position:relative;margin:0!important;min-height:0!important;height:auto;isolation:isolate}
.calendar-time-row{position:absolute;display:flex;align-items:center;width:100%;left:0;right:0;margin:0;border:0;border-bottom:1px solid #eee9e2;background:transparent;border-radius:0;padding:0 14px 0 84px;text-align:left;color:#63564a;z-index:0;box-sizing:border-box;transition:background .12s}
.calendar-time-row:nth-child(even){background:#fdfcfa}
.calendar-time-row:hover{background:#f5efe8}
.calendar-time-row:focus-visible{outline:2px solid #8f7258;outline-offset:-2px}
.calendar-tick{position:absolute;left:13px!important;top:50%!important;transform:translateY(-50%);font-size:12px;font-variant-numeric:tabular-nums;color:#8c7e70;pointer-events:none;font-weight:650;letter-spacing:0}
.calendar-time-row:nth-child(even) .calendar-tick{font-weight:500;color:#a29689}
.calendar-time-row:after{content:'';position:absolute;left:72px;top:0;bottom:0;border-left:1px solid #ece4dd}
.calendar-row-add{display:none;pointer-events:none;position:absolute;right:24px;font-size:12px;color:#77563a;border:1px solid #dacbb9;padding:5px 9px;border-radius:7px;background:#fff}
@media(hover:hover) and (pointer:fine){.calendar-time-row:hover .calendar-row-add{display:block}}
.calendar-appt{position:absolute;left:86px!important;right:14px!important;display:flex;align-items:center;gap:13px;background:#ece3d7!important;border:1px solid #cbb89f!important;border-left:4px solid #9d7f60!important;border-radius:9px;box-shadow:0 1px 2px #3727190b;padding:6px 12px;overflow:hidden;color:#3e3128!important;z-index:2;min-width:0;touch-action:none;cursor:grab}
.calendar-appt .appt-time{font-weight:760;font-size:13px;font-variant-numeric:tabular-nums;color:#674e39;min-width:48px}
.calendar-appt .appt-main{min-width:0;display:flex;gap:2px;flex-direction:column}
.calendar-appt b{font-size:13px;font-weight:735;line-height:1.3;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}
.calendar-appt small{font-size:12px;color:#796554;display:block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}
.calendar-appt:hover{filter:brightness(.975);box-shadow:0 3px 8px #47311e1c}
.calendar-appt.dragging{opacity:.65;z-index:10}
/* Salary page: employee sees only their own amount; manager can record payouts. */
.salary-page{max-width:1000px;margin-inline:auto}
.salary-page .panel-body{padding:20px}
.salary-toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:20px}
.salary-toolbar>.form-field{flex:1;min-width:min(100%,175px)}
.salary-toolbar .form-field label{display:block;font-size:12px;color:var(--v19-muted);margin:0 0 8px}
.salary-toolbar input,.salary-toolbar select{min-height:45px;background:white;border:1px solid #e4d8cd;border-radius:8px;width:100%;padding:9px 12px}
.salary-identity{display:flex;flex-direction:column;gap:3px;min-width:170px;align-self:center}
.salary-identity span{font-size:12px;color:var(--v19-muted)}
.salary-identity strong{font-size:17px;color:var(--v19-ink)}
.salary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0 19px}
.salary-grid>div{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 15px;border-radius:9px;border:1px solid #e9e1d8;background:#fcfaf8;color:#76675b;font-size:13px;min-width:0;flex-wrap:wrap}
.salary-grid>div:first-child{grid-column:1/-1;background:#eee5dc;color:#513c2e;font-weight:650}
.salary-grid b{color:#342a24;font-size:16px;font-variant-numeric:tabular-nums}
.salary-grid>div:last-child{background:#e9eee8;border-color:#d1dfd0;color:#3a6047}
.salary-grid>div:last-child b{color:#2d6344}
.loading-message{padding:24px;color:var(--v19-muted);text-align:center}
/* Revenue overview, moving supporting figures into disclosure panels. */
.finance-hero{gap:12px;margin-bottom:18px}
.finance-hero>div{border:1px solid var(--v19-border);background:#fff;border-radius:11px}
.finance-hero>div:first-child{background:#efe6dc}
.finance-hero strong{font-variant-numeric:tabular-nums}
.finance-breakdown>.panel{border:1px solid var(--v19-border);overflow:hidden}
.finance-breakdown .panel-header{background:#fcfaf8;border-bottom:1px solid #eee7de;padding:13px 20px}
.finance-collection{margin:14px 0 18px;padding:17px 20px;background:#fff;border:1px solid var(--v19-border);border-radius:11px}
.finance-collection-title{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:11px;font-size:13px;color:#6d5f54}
.finance-collection-title strong{font-size:15px;color:#3c3027}
.finance-meter{height:11px;border-radius:999px;background:#e7ded5;display:flex;overflow:hidden}
.finance-meter span{height:100%;background:#80624a;display:block;min-width:0}
.finance-meter span+span{background:#c2a78d}
.finance-meter-labels{display:flex;justify-content:space-between;gap:10px;color:#807468;font-size:12px;margin-top:10px;flex-wrap:wrap}
.finance-extra-details{border:1px solid #e7dfd6;border-radius:10px;background:white;overflow:hidden;margin-top:16px}
.finance-extra-details>summary{font-weight:650;font-size:13px;color:#655446;padding:16px;cursor:pointer}
.finance-extra-details>.panel-body{border-top:1px solid #eee7df}
/* Secret fields have a keyboard accessible visibility button. */
.secret-field{position:relative;display:block;width:100%;min-width:0}
.secret-field input{padding-right:51px!important;width:100%;min-width:0}
.secret-toggle{position:absolute;right:5px;top:50%;transform:translateY(-50%);border:0;border-radius:8px;min-height:38px;min-width:40px;background:transparent;color:#746354;display:grid;place-items:center;cursor:pointer}
.secret-toggle:hover,.secret-toggle[aria-pressed="true"]{color:#4d3929;background:#f3ece4}
.secret-toggle:focus-visible{outline:2px solid #8d6b51;outline-offset:1px}
/* Better forms without changing existing form logic. */
.sheet .form-field>label{font-weight:640;color:#625448;font-size:13px}
.sheet .form-grid input,.sheet .form-grid select,.sheet .form-grid textarea{min-height:43px}
.sheet .form-actions{position:sticky;bottom:-41px;z-index:3;background:#fff;border-top:1px solid #ede5dc;padding:14px 0 0;margin-top:18px}
.sheet .new-service-name:not([hidden]){display:block;margin-top:10px}
.sidebar-logout{display:none!important}
@media(max-width:850px){.finance-hero{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-hero>div:last-child{grid-column:1/-1}.salary-page{max-width:100%}}
@media(max-width:760px){.calendar-workbar{flex-direction:column;align-items:stretch}.calendar-workbar select{width:100%}.calendar-date-controls{flex-wrap:nowrap;width:100%}.calendar-date-controls input{flex:1;min-width:0}.calendar-scroll{height:min(62vh,580px)}.calendar-appt{left:77px!important;right:8px!important;gap:7px;padding:7px 9px}.calendar-appt .appt-time{min-width:42px}.calendar-time-row{padding-left:74px}.calendar-time-row:after{left:69px}.calendar-tick{left:9px!important}.salary-grid{grid-template-columns:1fr}.salary-grid>div:first-child{grid-column:1/-1}.salary-toolbar{align-items:stretch}.salary-toolbar>*{width:100%;min-width:0}.finance-hero{grid-template-columns:1fr}.finance-hero>div:last-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.calendar-time-row,.calendar-appt{transition:none}}
.calendar-outside{border:1px solid #e8d8c5;background:#faf4eb;border-radius:10px;padding:14px 17px;display:grid;gap:9px}
.calendar-outside>strong{font-size:13px;font-weight:680;color:#6c513d}
.calendar-outside>div{display:flex;flex-wrap:wrap;gap:8px}
.calendar-outside-item{background:#fff;border:1px solid #d9c7b5;border-radius:8px;min-height:40px;padding:9px 12px;font-size:13px;color:#5b4534;text-align:left}
.calendar-outside-item:hover{background:#efe4d8}
.calendar-now-line{position:absolute;z-index:4;left:72px;right:10px;height:2px;pointer-events:none;background:#b25d4f;box-shadow:0 1px 2px #9a3e3020}
.calendar-now-line:before{content:'';display:block;position:absolute;left:11px;top:-5px;width:11px;height:11px;border-radius:50%;background:#b25d4f}
.calendar-now-line span{position:absolute;left:-68px;top:-9px;background:#b25d4f;color:#fff;border-radius:5px;font-size:10px;font-variant-numeric:tabular-nums;font-weight:650;padding:2px 4px}
/* Consistent tactile presentation across existing business screens. */
.employee-tile,.item-card,.debt-card{border:1px solid #e8dfd5;transition:border-color .15s,background-color .15s}
.employee-tile:hover,.item-card:hover,.debt-card:hover{border-color:#d0bdaa;background:#fefcf9}
.employee-tile:focus-visible,.item-card:focus-within,.debt-card:focus-within{outline:2px solid #93745b;outline-offset:2px}
.fund-row,.rent-person{min-height:68px}
.panel{border-color:#e8e0d7}
.panel-header h2{color:#46362a;font-weight:730}
.list-row{gap:12px}
.list-row strong{overflow-wrap:anywhere}
@media(max-width:760px){.calendar-now-line{left:68px;right:8px}.calendar-now-line span{left:-63px}.calendar-header{padding:12px 14px}}
