:root{--photo-ink:#253349;--photo-muted:#7a8495;--photo-accent:#de8546;--photo-free:#4e82cd;--photo-pending:#eab553;--photo-confirmed:#4a9a7d;--photo-busy:#a5aebb;--photo-border:#e9ecf2}
.photo-workspace{max-width:1550px;margin:0 auto;color:var(--photo-ink)}
.photo-hero{display:flex;align-items:center;gap:18px;padding:25px 27px;margin-bottom:20px;border:1px solid #f2ded0;border-radius:22px;background:linear-gradient(120deg,#fffaf5,#fff 64%,#eef4fd)}
.photo-hero-icon{display:grid;place-items:center;flex:0 0 62px;height:62px;background:#f9e4d3;color:#c47236;border-radius:21px}
.photo-hero-icon .icon{width:30px;height:30px}.photo-eyebrow{font-size:10px;font-weight:750;letter-spacing:1.7px;color:#ba7f50}
.photo-hero h1{font-size:28px;line-height:1.25;margin:6px 0 7px;letter-spacing:-.8px}.photo-hero p{color:var(--photo-muted);font-size:13px;margin:0;line-height:1.6}.photo-hero>.actions{margin-left:auto;justify-content:flex-end;flex-wrap:wrap}
.photo-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:21px}
.photo-stat{display:flex;align-items:center;gap:16px;padding:19px 22px;background:white;border:1px solid var(--photo-border);border-radius:18px}
.photo-stat-icon{display:grid;place-items:center;width:43px;height:43px;background:#eef4fc;border-radius:14px;color:var(--photo-free)}
.photo-stat:nth-child(2) .photo-stat-icon{background:#fff5df;color:#ba8e38}.photo-stat:nth-child(3) .photo-stat-icon{background:#edf7f1;color:var(--photo-confirmed)}
.photo-stat small{display:block;color:var(--photo-muted);font-size:12px}.photo-stat strong{display:block;font-size:27px;letter-spacing:-1px;margin:3px 0}.photo-stat p{margin:0;font-size:11px;color:var(--photo-muted)}
.photo-grid-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:19px;align-items:start}.photo-calendar-panel,.photo-day-panel,.photo-bookings-panel{border-radius:20px;overflow:hidden;border:1px solid var(--photo-border);box-shadow:0 3px 15px #34496904}
.photo-calendar-panel{padding:22px}.photo-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.photo-calendar-head h2{font-size:22px;text-transform:capitalize;letter-spacing:-.6px;margin:5px 0 0}
.photo-month-controls{display:flex;align-items:center;gap:4px}.photo-month-controls input{border:0;outline:0;background:#f4f6fa;color:var(--photo-ink);padding:9px 10px;border-radius:10px;font-size:12px;max-width:150px}
.photo-month-controls .icon-btn{width:32px;height:32px}.photo-legend{display:flex;flex-wrap:wrap;gap:11px 17px;margin-bottom:17px;font-size:10px;color:#7b8596}.photo-legend span{display:flex;align-items:center;gap:6px}
.photo-legend i,.photo-day-dots i{width:7px;height:7px;display:inline-block;border-radius:50%;background:var(--photo-busy);flex-shrink:0}
.photo-legend .free,.photo-day-dots .free{background:var(--photo-free)}.photo-legend .pending,.photo-day-dots .pending{background:var(--photo-pending)}.photo-legend .confirmed,.photo-day-dots .confirmed{background:var(--photo-confirmed)}
.photo-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));margin-bottom:8px;text-align:center;font-size:11px;color:#8490a2}.photo-weekdays span:nth-child(n+6){color:#b09a8a}
.photo-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.photo-calendar-day{border:1px solid #e8edf5;border-radius:12px;background:#fff;text-align:left;padding:11px 9px;min-width:0;min-height:105px;color:var(--photo-ink);display:flex;flex-direction:column;cursor:pointer;transition:box-shadow .15s,border-color .15s,background .15s;font-family:inherit}
.photo-calendar-day:hover:not(:disabled){border-color:#93b4e7;box-shadow:0 2px 9px #4e82cd16}.photo-calendar-day.available{background:#f4f8fe;border-color:#e1eaf9}.photo-calendar-day.full{background:#f7faf8;border-color:#e4efe8}.photo-calendar-day.off{background:#f8f9fb;color:#98a0ae;border-color:#f0f1f4}
.photo-calendar-day.outside{background:#fafbfc;color:#ced3dd;border-color:transparent;opacity:.7;cursor:default}.photo-calendar-day.is-selected{outline:2px solid #df945d;outline-offset:0;border-color:#df945d;box-shadow:0 3px 14px #de854613}.photo-calendar-day.is-today .photo-day-top>b{background:#4e73cf;color:white;border-radius:7px;padding:3px 6px;margin:-3px -6px}
.photo-day-top{display:flex;justify-content:space-between;align-items:center;gap:2px;width:100%}.photo-day-top>b{font-size:14px;font-weight:650}.photo-day-top>small{font-size:10px;color:#8490a2;font-weight:600}.photo-day-top small span{color:#b0b9c6}.photo-day-dots{display:flex;gap:4px;margin-top:14px;min-height:7px}.photo-day-caption{display:block;font-size:9px;line-height:1.4;color:#8390a5;margin-top:9px;overflow-wrap:anywhere}.available .photo-day-caption{color:#628cc7}.photo-has-busy{font-size:8px;color:#a2aabb;margin-top:4px}
.photo-calendar-foot{display:flex;align-items:center;gap:7px;border-top:1px solid #eef0f5;margin-top:17px;padding-top:14px;font-size:10px;line-height:1.6;color:#98a2b1}.photo-calendar-foot .icon{width:14px;height:14px;flex-shrink:0}
.photo-day-head{padding:22px 20px 17px;border-bottom:1px solid #eef0f5}.photo-day-head h2{font-size:19px;line-height:1.3;text-transform:capitalize;margin:8px 0 12px}.photo-day-summary{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-bottom:14px}.photo-day-summary>span:last-child{font-size:10px;color:#8c97a9}.photo-day-head .btn{width:100%;justify-content:center}
.photo-day-slots{padding:14px;display:grid;gap:10px}.photo-slot{border:1px solid #e7edf6;border-left:3px solid var(--photo-busy);background:#fafbfc;border-radius:13px;padding:14px 12px;min-width:0}.photo-slot.free{border-left-color:var(--photo-free);background:#f7faff}.photo-slot.pending{border-left-color:var(--photo-pending);background:#fffcf4}.photo-slot.confirmed{border-left-color:var(--photo-confirmed);background:#f6fbf8}.photo-slot header{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:10px}.photo-slot header strong{font-size:14px;white-space:nowrap}.photo-slot strong span{font-size:11px;color:#8e97a7;font-weight:500}.photo-slot .badge{font-size:9px;padding:4px 6px;white-space:nowrap}.photo-slot>b{display:block;font-size:12px;line-height:1.45;margin:4px 0;overflow-wrap:anywhere}.photo-slot p{margin:5px 0 12px;color:#8c97a9;font-size:10px;line-height:1.5;overflow-wrap:anywhere}.photo-slot>small{font-size:10px;color:#a2aab7}.photo-slot .btn{font-size:11px}
.photo-panel-empty{display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;padding:29px 15px;font-size:12px;color:#8d98aa;line-height:1.6}.photo-panel-empty .icon{width:30px;height:30px;color:#d4bbaa}.photo-panel-empty b{font-size:12px;color:#6f7b8f}.photo-panel-empty p{font-size:11px;margin:0}
.photo-busy-list{margin:0 19px 15px;padding:14px;background:#f3f5f8;border-radius:12px;display:grid;gap:8px}.photo-busy-list>b{font-size:11px;color:#7d8899}.photo-busy-list>span{display:flex;align-items:center;gap:7px;font-size:11px;color:#8f98a7}.photo-busy-list .icon{width:14px;height:14px}.photo-travel-note,.photo-live-note{font-size:10px;line-height:1.6;color:#8d98aa;display:flex;align-items:center;gap:7px;padding:0 20px 17px;margin:0}.photo-live-note{padding:0;margin-top:16px}.photo-travel-note .icon,.photo-live-note .icon{width:14px;height:14px;flex-shrink:0}
.photo-warning{font-size:12px;line-height:1.65;background:#fff7ec;color:#9b7043;border:1px solid #f3dfc7;border-radius:12px;padding:13px 15px;margin:12px 0}.photo-day-panel>.photo-warning{margin:0 16px 17px;font-size:10px}
.photo-bookings-panel{margin-top:22px;padding:22px}.photo-bookings-panel>header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.photo-bookings-panel h2{font-size:20px;margin:6px 0}.photo-bookings-panel h2 small{margin-left:6px;font-size:12px;color:#9da7b6;font-weight:500}.photo-list-controls{display:flex;gap:8px;align-items:center}.photo-list-controls input,.photo-list-controls select{font:inherit;font-size:11px;padding:10px 12px;border-radius:10px;border:1px solid #e7ebf2;background:#fbfcfd;min-width:0;width:auto}
.photo-booking-row{font:inherit;width:100%;display:grid;grid-template-columns:130px minmax(0,1fr) auto 18px;gap:17px;align-items:center;text-align:left;padding:15px 2px;border:0;border-top:1px solid #eef0f5;background:white;color:var(--photo-ink);cursor:pointer}.photo-booking-row:hover{background:#fbfcff}.photo-booking-date b{display:block;font-size:12px}.photo-booking-date small{display:block;color:#91a0b5;font-size:11px;margin-top:5px}.photo-booking-person b{display:block;font-size:12px}.photo-booking-person small{display:block;font-size:11px;color:#8e9aab;line-height:1.5;margin-top:4px;overflow-wrap:anywhere}.photo-booking-row>.icon{width:16px;color:#aab5c6}
.photo-slot-editor{display:grid;gap:8px;margin:18px 0}.photo-slot-edit-row{display:grid;grid-template-columns:18px minmax(0,1fr) 10px minmax(0,1fr) auto 30px;gap:7px;align-items:center}.photo-slot-edit-row>b{font-size:11px;color:#a1aaba}.photo-slot-edit-row>input{padding:9px;border:1px solid #e0e5ee;border-radius:9px;width:100%;min-width:0;font-family:inherit;font-size:12px}.photo-slot-edit-row>label{display:flex;align-items:center;gap:4px;font-size:11px;color:#8c98aa;white-space:nowrap}.photo-slot-edit-row label input{width:14px;height:14px;accent-color:#de8546}.photo-slot-edit-row>small{font-size:9px;color:#b38b56;text-align:center}.photo-slot-edit-row input[readonly]{background:#f6f7fa;color:#8b96a8}.photo-slot-edit-row .icon-btn{height:30px;width:30px}.photo-slot-edit-row>span{font-size:10px;color:#adb6c4}
.photo-booking-time{display:flex;align-items:center;gap:15px;background:#f4f7fc;border-radius:15px;padding:16px 19px;margin-bottom:22px}.photo-booking-time>.icon{width:27px;height:27px;color:#5d82ba}.photo-booking-time>div{flex:1;min-width:0}.photo-booking-time b{display:block;text-transform:capitalize;font-size:14px}.photo-booking-time span:not(.badge){display:block;margin-top:5px;font-size:12px;color:#92a0b3}.photo-booking-time.pending{background:#fff9ec}.photo-booking-time.confirmed{background:#f0f9f4}
.photo-detail-fields{display:grid;gap:18px;margin:18px 0}.photo-detail-fields>div{border-bottom:1px solid #eef0f5;padding-bottom:14px}.photo-detail-fields small{display:block;font-size:11px;color:#99a4b5;margin-bottom:7px}.photo-detail-fields b,.photo-detail-fields p,.photo-detail-fields>div>span{font-size:13px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.photo-detail-fields p{margin:0}.photo-detail-fields .btn{display:block;margin-top:10px}.photo-detail-fields .photo-refusal{color:#a46d54}.photo-link-list{display:grid;gap:14px;margin-top:18px}.photo-link-card{border:1px solid #e8edf4;border-radius:15px;padding:17px}.photo-link-card header{display:flex;align-items:center;justify-content:space-between;gap:12px}.photo-link-card b{font-size:13px}.photo-link-card p{font-size:11px;line-height:1.6;color:#8e9bad;margin:10px 0 15px}.photo-link-card .actions{flex-wrap:wrap}.photo-link-card .btn{font-size:11px}
.photo-public{margin:0;background:#f5f6f8;font:14px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--photo-ink);min-height:100vh}.photo-public *{box-sizing:border-box}.photo-public button,.photo-public input,.photo-public select,.photo-public textarea{font:inherit}.photo-public button{cursor:pointer}.photo-public button:disabled{cursor:default;opacity:.6}.photo-public .icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.photo-public .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:#fff;border:1px solid #e3e8f0;border-radius:10px;padding:10px 14px;color:#66758c;font-size:12px;font-weight:600;text-decoration:none}.photo-public .btn.primary{background:#4e73cf;border-color:#4e73cf;color:#fff}.photo-public .btn.soft{background:#eef3fc;color:#4e73cf;border-color:#e5ecfa}.photo-public .btn.small{font-size:11px;padding:8px 10px}.photo-public .icon-btn{display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:#8b98ae;cursor:pointer;width:32px;height:32px}.photo-public .actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.photo-public .badge{display:inline-flex;border-radius:8px;font-size:10px;padding:5px 8px;background:#f0f3f8;color:#8d98ab;font-weight:600}.photo-public .badge.green{background:#edf7f0;color:#4a9173}.photo-public .badge.orange{background:#fff4da;color:#b58b31}.photo-public .badge.red{background:#fcefeb;color:#bc7359}.photo-public .badge.blue{background:#eef4fd;color:#608dcd}.photo-public .panel{background:white;border:1px solid var(--photo-border);border-radius:20px}.photo-public-shell{max-width:1150px;margin:0 auto;padding:30px 24px}.photo-public-brand{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:25px;font-size:12px;color:#8d97a7}.photo-public-brand b{font-size:14px;color:#67748a;font-weight:650}.photo-public-brand span{color:#ad9a89;font-size:10px;letter-spacing:1px}.photo-public-header{display:flex;gap:20px;align-items:center;margin:0 0 28px}.photo-public-header h1{font-size:30px;letter-spacing:-.8px;margin:4px 0 8px}.photo-public-header p{font-size:12px;color:#8994a6;margin:0;max-width:650px}.photo-public-header .photo-hero-icon{width:62px;height:62px}.photo-public .photo-grid-layout{grid-template-columns:minmax(0,1fr) 300px}.photo-public .photo-calendar-day{min-height:102px}.photo-public .photo-calendar-head{flex-wrap:wrap}.photo-public .photo-month-controls input{font-size:11px}.photo-public footer.photo-public-footer{font-size:10px;text-align:center;color:#a4adba;padding:22px 15px}.photo-public .photo-calendar-head h2{margin:0;font-size:20px}.photo-public-error{padding:25px;line-height:1.7;border:1px solid #f1ded2;background:#fffaf7;border-radius:16px;color:#a57150;font-size:13px}.photo-public-error button{margin-top:14px}.photo-public-loading{font-size:13px;color:#a8b3c3;padding:45px;text-align:center}
.photo-public dialog{border:1px solid #e4e8f0;border-radius:20px;box-shadow:0 20px 90px #1e2d3f2b;color:var(--photo-ink);padding:0;width:min(560px,calc(100vw - 24px));max-height:92vh;overflow:auto}.photo-public dialog::backdrop{background:#24334b66;backdrop-filter:blur(4px)}.photo-public .modal-head{padding:20px 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf0f5;gap:16px}.photo-public .modal-head h2{font-size:19px;margin:0;line-height:1.3}.photo-public .modal-body{padding:23px}.photo-public .modal-foot{display:flex;gap:10px;justify-content:space-between;padding:18px 23px;border-top:1px solid #edf0f5}.photo-public .field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}.photo-public .field>label{font-size:11px;color:#8290a4;font-weight:600}.photo-public .field input,.photo-public .field select,.photo-public .field textarea{width:100%;border:1px solid #e2e7f0;background:#fbfcff;border-radius:10px;padding:11px 13px;outline:none;color:var(--photo-ink);font-size:13px;line-height:1.5}.photo-public .field input:focus,.photo-public .field select:focus,.photo-public .field textarea:focus{border-color:#83a1da;box-shadow:0 0 0 3px #4e73cf0e}.photo-public .field textarea{min-height:80px;resize:vertical}.photo-public .fieldrow{display:grid;grid-template-columns:1fr 1fr;gap:12px}.photo-public .note{font-size:11px;color:#95a0b2;line-height:1.6}.photo-public .error{font-size:12px;line-height:1.7;background:#fdf0ea;color:#b07550;padding:12px 14px;border-radius:10px;margin-bottom:16px}.photo-public .photo-receipt-note{margin:18px 0;padding:15px;border:1px solid #daede1;background:#f5fbf7;border-radius:13px;font-size:12px;color:#5b8971}.photo-public #photo-public-toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 30px);padding:13px 20px;background:#314765;color:#fff;border-radius:13px;box-shadow:0 8px 28px #32405c1f;font-size:12px;z-index:99;pointer-events:none;opacity:0;transition:opacity .15s}.photo-public #photo-public-toast.visible{opacity:1}.photo-public .photo-consent{font-size:10px;color:#96a0b0;line-height:1.7}.photo-public .photo-receipt-row{display:flex;justify-content:space-between;gap:14px;align-items:center;border-bottom:1px solid #edf0f5;padding:14px 0}.photo-public .photo-receipt-row b{display:block;font-size:13px}.photo-public .photo-receipt-row small{display:block;color:#9ba5b5;margin-top:5px;font-size:11px}.photo-public .photo-receipt-row button{flex-shrink:0}.photo-public button:focus-visible,.photo-calendar-day:focus-visible{outline:3px solid #dba372;outline-offset:3px}
@media(min-width:1500px){.photo-calendar-day{min-height:118px}}
@media(max-width:1180px){.photo-grid-layout{grid-template-columns:minmax(0,1fr) 270px;gap:14px}.photo-calendar-panel{padding:18px}.photo-calendar-head{flex-wrap:wrap}.photo-calendar-day{padding:10px 7px}.photo-day-caption{font-size:8px}.photo-hero{padding:22px}.photo-hero h1{font-size:25px}.photo-hero>.actions{max-width:220px}.photo-slot header{flex-wrap:wrap}}
@media(max-width:960px){.photo-grid-layout,.photo-public .photo-grid-layout{grid-template-columns:1fr}.photo-day-panel .photo-day-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-day-head .btn{width:auto}.photo-day-head .photo-day-summary{justify-content:flex-start;gap:15px}.photo-calendar-day,.photo-public .photo-calendar-day{min-height:110px}.photo-bookings-panel>header{flex-wrap:wrap}.photo-hero{flex-wrap:wrap}.photo-hero>.actions{width:100%;max-width:none;margin:0 0 0 80px;justify-content:flex-start}.photo-busy-list{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.photo-busy-list>b{margin-right:8px}}
@media(max-width:600px){.photo-hero{padding:18px;gap:12px;border-radius:17px}.photo-hero-icon,.photo-public-header .photo-hero-icon{flex-basis:43px;width:43px;height:43px;border-radius:14px}.photo-hero-icon .icon{width:23px;height:23px}.photo-hero h1,.photo-public-header h1{font-size:22px}.photo-hero p{font-size:11px}.photo-hero>.actions{margin-left:0}.photo-hero .btn{font-size:11px;padding:9px 11px}.photo-stats{gap:8px}.photo-stat{display:block;padding:13px 10px;border-radius:13px}.photo-stat-icon{width:28px;height:28px;border-radius:9px;margin-bottom:9px}.photo-stat-icon .icon{width:17px;height:17px}.photo-stat small{font-size:9px}.photo-stat strong{font-size:24px}.photo-stat p{font-size:8px}.photo-calendar-panel,.photo-public .photo-calendar-panel{padding:14px 11px;border-radius:17px}.photo-calendar-head{gap:13px;padding:0 4px;margin-bottom:16px}.photo-calendar-head h2,.photo-public .photo-calendar-head h2{font-size:19px}.photo-calendar-head .photo-eyebrow{font-size:8px}.photo-month-controls{width:100%;justify-content:space-between}.photo-legend{font-size:8px;gap:8px 10px;padding:0 3px}.photo-legend i{width:5px;height:5px}.photo-calendar-grid{gap:4px}.photo-calendar-day,.photo-public .photo-calendar-day{min-height:71px;padding:9px 5px;border-radius:9px}.photo-day-top>b{font-size:12px}.photo-day-top>small{font-size:8px}.photo-day-top small span{display:none}.photo-day-dots{gap:2px;margin-top:14px}.photo-day-dots i{width:4px;height:4px}.photo-day-caption,.photo-has-busy{display:none}.photo-calendar-day.is-today .photo-day-top>b{padding:2px 4px;margin:-2px -4px}.photo-calendar-foot{font-size:8px;padding-top:12px;margin-top:13px}.photo-day-head{padding:19px 18px}.photo-day-panel .photo-day-slots{grid-template-columns:1fr}.photo-slot{padding:15px}.photo-slot header{flex-wrap:nowrap}.photo-bookings-panel{padding:18px 14px}.photo-list-controls{width:100%}.photo-list-controls select{max-width:140px}.photo-list-controls input{flex:1;width:100px}.photo-booking-row{grid-template-columns:83px minmax(0,1fr) 12px;gap:11px;padding:15px 0}.photo-booking-row>.badge{grid-column:2;grid-row:2;justify-self:start;font-size:9px;padding:3px 7px}.photo-booking-row>.icon{grid-column:3;grid-row:1}.photo-booking-person b{font-size:11px}.photo-booking-person small{font-size:10px}.photo-booking-date b,.photo-booking-date small{font-size:10px}.photo-booking-row>.photo-booking-date{grid-row:1 / span 2}.photo-slot-edit-row{grid-template-columns:13px minmax(0,1fr) 6px minmax(0,1fr) 55px 21px;gap:4px}.photo-slot-edit-row>input{padding:7px 2px;font-size:11px}.photo-slot-edit-row>label{font-size:9px}.photo-slot-edit-row .icon-btn{width:21px;height:26px}.photo-slot-edit-row>small{font-size:8px}.photo-booking-time{padding:14px;gap:10px;flex-wrap:wrap}.photo-booking-time>.badge{margin-left:36px}.photo-link-card{padding:13px}.photo-public-shell{padding:20px 12px}.photo-public-header{gap:12px;align-items:flex-start;margin-bottom:21px}.photo-public-header h1{font-size:24px;margin-top:3px}.photo-public-header p{font-size:10px}.photo-public-brand{margin-bottom:24px}.photo-public-brand b{font-size:12px}.photo-public-brand>.btn{font-size:10px;padding:7px 9px}.photo-public .modal-body{padding:19px}.photo-public .fieldrow{grid-template-columns:1fr;gap:0}.photo-live-note{font-size:9px;align-items:flex-start}.photo-travel-note{font-size:10px}}
@media(prefers-reduced-motion:reduce){.photo-calendar-day,.photo-public #photo-public-toast{transition:none}}
@media print{.photo-print h1{font-size:23px}.photo-print>p{font-size:10px;color:#777}.photo-print table{table-layout:fixed;width:100%}.photo-print th,.photo-print td{font-size:10px;white-space:normal;overflow-wrap:anywhere;padding:9px 7px}.photo-print th:nth-child(1){width:17%}.photo-print th:nth-child(2){width:29%}.photo-print th:nth-child(3){width:35%}.photo-print th:nth-child(4){width:19%}.photo-print tr{break-inside:avoid}}

/* Availability copying: readable on desktop and installed mobile apps. */
.photo-day-head>.btn{margin-top:8px;margin-right:5px}
.photo-copy-explanation{display:flex;align-items:flex-start;gap:9px;padding:13px 15px;border:1px solid #dce9f8;background:#f3f7fd;border-radius:12px;font-size:12px;line-height:1.65;color:#526580;margin:14px 0 20px}
.photo-copy-explanation .icon{flex-shrink:0;margin-top:3px}
.photo-copy-summary{display:flex;gap:15px;flex-wrap:wrap;margin:18px 0 12px;font-size:13px}.photo-copy-summary span{color:#7b8596}
.photo-copy-days{display:grid;gap:10px}.photo-copy-day{border:1px solid #dce9e0;border-radius:12px;padding:13px 15px;background:#f9fcfa}.photo-copy-day.is-skipped{border-color:#eadfc8;background:#fffcf6}
.photo-copy-day header{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.photo-copy-day header small,.photo-copy-day header b{display:block}.photo-copy-day header small{color:#7b8596;font-size:11px;margin-bottom:4px}.photo-copy-day header b{font-size:13px}.photo-copy-day p{font-size:12px;line-height:1.6;margin:8px 0 0;color:#66768b}
.photo-copy-times{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px}.photo-copy-times span{font-size:11px;background:#e9f0fd;color:#4e73b7;border-radius:6px;padding:5px 7px}.photo-copy-times .is-blocked{background:#edf0f4;color:#7e8795}.photo-copy-day .photo-copy-reason{color:#9f7440}.photo-copy-day .photo-warning{margin-top:10px}
@media(max-width:520px){.photo-copy-day{padding:12px}.photo-copy-day header{flex-wrap:wrap}.photo-copy-day header .badge{font-size:10px}.photo-copy-explanation{padding:11px;font-size:11px}}

/* HR_INTERFACE_013_BEGIN */
@media screen {
  .photo-hero { background:#fff; border-color:#dfe7f1; border-radius:12px; padding:23px; box-shadow:0 2px 8px #18385903; }
  .photo-hero h1 { font-size:30px; color:#17263e; font-weight:700; }
  .photo-hero p { color:#6c829d; font-size:13px; }
  .photo-hero-icon { background:#edf5ff; color:#0867f9; border-radius:11px; }
  .photo-eyebrow { color:#6283ae; }
  .photo-stat { border-color:#dfe7f1; border-radius:12px; box-shadow:none; }
  .photo-stat-icon { color:#0867f9; background:#edf5ff; }
  .photo-stat small { color:#6b819c; font-size:12px; }
  .photo-stat strong { color:#172b46; }
  .photo-stat p { color:#7b8fa9; font-size:11px; }
  .photo-calendar-panel,.photo-day-panel,.photo-bookings-panel { border-color:#dfe7f1; border-radius:12px; box-shadow:0 2px 8px #18385903; }
  .photo-calendar-head { background:#f8fbff; border-color:#e1e9f3; }
  .photo-calendar-head h2,.photo-day-head h2 { color:#243d5c; }
  .photo-month-controls input { border-color:#d5e2f3; border-radius:7px; color:#385674; font-size:13px; }
  .photo-calendar-day { border-color:#e5ecf5; }
  .photo-calendar-day:hover:not(:disabled) { background:#f0f6ff; border-color:#a4c7f8; }
  .photo-calendar-day.is-selected { border-color:#0867f9; box-shadow:inset 0 0 0 1px #0867f9; background:#edf5ff; }
  .photo-calendar-day.is-today .photo-day-top>b { background:#0867f9; color:#fff; }
  .photo-day-top>b { color:#375575; }
  .photo-calendar-foot { background:#f8fbff; color:#6d88a8; border-color:#e1eaf7; }
  .photo-day-head { background:#f8fbff; border-color:#e1e9f3; }
  .photo-slot { border-radius:9px; }
  .photo-slot header strong { color:#284766; font-size:13px; }
  .photo-slot p,.photo-slot>small { font-size:11px; }
  .photo-booking-row:hover { background:#f2f7ff; }
  .photo-booking-person b { color:#2c4665; font-size:12px; }
  .photo-live-note { background:#f1f7ff; color:#53779f; }
  .photo-link-card { border-color:#dce7f5; border-radius:10px; }
  .photo-push-banner { border-color:#dce7f5; border-radius:10px; }
  body.photo-public { background:#eff4fa; color:#17263e; font-family:Inter,"Segoe UI",Arial,sans-serif; font-size:14px; }
  .photo-public-hero { background:#fff; border:1px solid #dfe7f1; border-radius:12px; color:#17263e; box-shadow:none; }
  .photo-public-hero h1 { color:#17263e; }
  .photo-public-hero p { color:#687e98; }
  .photo-public-hero:after { display:none; }
  .photo-public-brand { color:#0867f9; }
  .photo-public .photo-public-monthbar { border-color:#dfe7f1; border-radius:10px; }
  .photo-public button:not(.photo-calendar-day):not(.photo-slot button),.photo-public input,.photo-public select,.photo-public textarea { border-radius:7px; }
  .photo-public .btn.primary,.photo-public .photo-public-submit { background:#0867f9; border-color:#0867f9; color:#fff; }
  .photo-public .btn.primary:hover { background:#0056d9; }
  #photo-public-modal { border-color:#d7e3f1; border-radius:14px; box-shadow:0 25px 90px #14263e2e; }
  #photo-public-modal::backdrop { background:#14263e66; backdrop-filter:blur(2px); }
  #photo-public-toast { background:#142b49; }
  @media(max-width:800px) { .photo-hero{padding:20px}.photo-hero h1{font-size:26px}.photo-hero>.actions{gap:7px}.photo-hero .btn{white-space:normal}.photo-stat small{font-size:11px} }
  @media(max-width:540px) { .photo-hero{padding:19px 16px}.photo-hero p{font-size:12px}.photo-month-controls input{font-size:12px}.photo-public-hero{border-radius:11px}.photo-calendar-day.is-selected{box-shadow:inset 0 0 0 1px #0867f9}.photo-day-top>b{font-size:11px} }
}
/* HR_INTERFACE_013_END */
