:root{color:#172033;--blue:#1d4ed8;--border:#dfe5ee;--muted:#697386;background:#f4f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{color:#172033;background:#f4f7fb;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}.btn{color:#243047;background:#fff;border:1px solid #ccd5e2;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:9px 14px;text-decoration:none;display:inline-flex}.btn:hover{background:#f8fafc}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.danger{color:#b91c1c;background:#fff1f2;border-color:#fecdd3}.btn.small{padding:6px 10px;font-size:13px}.btn.wide{width:100%}.icon-btn{color:#687387;background:0 0;border:0;padding:4px 8px;font-size:24px;line-height:1}.error{color:#b42318;background:#fff1f2;border:1px solid #fecdd3;border-radius:8px;margin:10px 0;padding:10px 12px}.success{color:#067647;background:#ecfdf3;border:1px solid #abefc6;border-radius:8px;margin-top:16px;padding:12px}.muted,.page-head p{color:var(--muted)}.login-page,.booking-page{background:linear-gradient(140deg,#e9efff,#f8fafc 45%,#edf8f3);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card,.booking-card{border:1px solid var(--border);background:#fff;border-radius:18px;width:min(760px,100%);padding:28px;box-shadow:0 16px 50px #1e293b1a}.login-card{max-width:410px}.login-card h1,.booking-card h1{margin:12px 0 4px}.login-card p{color:var(--muted);margin:0 0 24px}.login-card label{margin-bottom:6px;font-weight:600;display:block}.login-card input{border:1px solid #ccd5e2;border-radius:9px;width:100%;margin-bottom:12px;padding:12px}.muted-link{text-align:center;color:var(--muted);margin-top:16px;font-size:14px;display:block}.brand-mark{color:#fff;background:#1d4ed8;border-radius:11px;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.success-card{text-align:center}.admin-shell{grid-template-columns:230px 1fr;min-height:100vh;display:grid}.sidebar{color:#dbe4f3;background:#121a2a;flex-direction:column;height:100vh;padding:18px 14px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;padding:5px 7px 20px;display:flex}.brand small{color:#8291aa;margin-top:2px;display:block}.sidebar nav{flex-direction:column;gap:5px;display:flex}.sidebar nav button,.sidebar-bottom button,.sidebar-bottom a{color:#aebbd0;text-align:left;background:0 0;border:0;border-radius:8px;padding:10px 12px;text-decoration:none}.sidebar nav button:hover,.sidebar nav button.active{color:#fff;background:#24324b}.sidebar-bottom{border-top:1px solid #253149;flex-direction:column;margin-top:auto;padding-top:10px;display:flex}.workspace{min-width:0;padding:28px}.mobile-head{display:none}.page-head{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.page-head h1{margin:0;font-size:28px}.page-head p{margin:4px 0 0}.head-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.head-actions input,.head-actions select{background:#fff;border:1px solid #ccd5e2;border-radius:8px;min-height:38px;padding:7px 10px}.card,.calendar-card,.table-card{border:1px solid var(--border);background:#fff;border-radius:13px;box-shadow:0 2px 5px #0f172a06}.card{padding:20px}.card h2{margin-top:0}.calendar-card{padding:14px;overflow:auto}.stats{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px;display:grid}.stat{border:1px solid var(--border);text-align:left;background:#fff;border-radius:13px;padding:20px}.stat strong{color:#1d4ed8;font-size:32px;display:block}.stat span{color:#596579}.simple-list>div{border-bottom:1px solid #eef1f5;grid-template-columns:180px minmax(180px,1fr) 2fr;gap:14px;padding:11px 0;display:grid}.simple-list>div:last-child{border-bottom:0}.simple-list time,.simple-list span{color:#667085}.simple-list.compact{max-height:300px;overflow:auto}.event-content{padding:2px 4px;font-size:12px;overflow:hidden}.event-content b{font-size:12px}.event-content small{opacity:.9}.admin-calendar .fc{min-width:760px}.fc .fc-button-primary{background:#334155;border-color:#334155}.fc .fc-button-primary:not(:disabled).fc-button-active{background:#1d4ed8;border-color:#1d4ed8}.modal-backdrop{z-index:1000;background:#0f172a8c;place-items:center;padding:22px;display:grid;position:fixed;inset:0;overflow:auto}.modal{background:#fff;border-radius:16px;width:min(720px,100%);max-height:94vh;padding:22px;overflow:auto;box-shadow:0 30px 80px #00000040}.modal.large{width:min(900px,100%)}.modal.xlarge{width:min(1120px,100%)}.modal-head{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.modal-head h2{margin:0}.modal-head p{color:var(--muted);margin:4px 0}.grid2{grid-template-columns:1fr 1fr;gap:13px;display:grid}.grid3{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.span2{grid-column:span 2}.field{flex-direction:column;gap:5px;margin:10px 0;display:flex}.field>span,.field>label{color:#475467;font-size:13px;font-weight:650}.field input,.field select,.field textarea,.grid2 input,.grid2 select{background:#fff;border:1px solid #cfd7e3;border-radius:8px;width:100%;padding:9px 10px}.field textarea{resize:vertical}.modal-actions{border-top:1px solid #eef1f5;grid-template-columns:auto 1fr auto auto;gap:8px;margin-top:20px;padding-top:15px;display:grid}.recurrence{background:#f8fafc;border:1px solid #e6ebf2;border-radius:10px;margin:14px 0;padding:12px}.recurrence h3{margin:0 0 10px}.inline-field{align-items:center;gap:6px;display:flex}.inline-field input{width:100%;min-width:0}.weekday-row{flex-wrap:wrap;gap:12px;margin-top:10px;display:flex}.weekday-row label{align-items:center;gap:4px;display:flex}.check-field{color:#475467;align-items:center;gap:8px;margin:14px 0;display:flex}.booking-columns{grid-template-columns:1.6fr 1fr;gap:24px;display:grid}.booking-columns aside{border-left:1px solid #e7ebf1;padding-left:20px}.booking-columns h3{margin:18px 0 8px}.booking-columns h3:first-child{margin-top:0}.mini-card{background:#f8fafc;border-radius:8px;margin:6px 0;padding:9px 10px}.mini-card span,.task small,.attachment small{color:var(--muted);font-size:12px;display:block}.task{align-items:flex-start;gap:8px;padding:7px 0;display:flex}.task-add{grid-template-columns:1fr 130px auto;gap:5px;display:grid}.task-add input{border:1px solid #d2d9e3;border-radius:7px;min-width:0;padding:6px}.attachment{border:1px solid #e2e7ef;border-radius:8px;margin:6px 0;padding:8px 10px;text-decoration:none;display:block}.file-btn{margin-top:6px}.file-btn input{display:none}.history{font-size:13px}.history>div{grid-template-columns:140px 1fr;padding:5px 0;display:grid}.history time{color:var(--muted)}.table-card{overflow:auto}.table-card table{border-collapse:collapse;width:100%;min-width:800px}.table-card th{text-align:left;color:#667085;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid #e7ebf1;padding:12px 14px;font-size:12px}.table-card td{vertical-align:top;border-bottom:1px solid #eef1f5;padding:13px 14px}.table-card tbody tr{cursor:pointer}.table-card tbody tr:hover{background:#fafbfc}.table-card td small{color:#7a8494;margin-top:3px;display:block}.badge{color:#fff;white-space:nowrap;border-radius:999px;padding:4px 8px;font-size:12px}.cards-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.customer-card,.link-card{border:1px solid var(--border);background:#fff;border-radius:12px;padding:17px}.customer-card h3,.link-card h3{margin:0 0 6px}.customer-card p,.link-card p{color:var(--muted);min-height:20px}.contact{border-top:1px solid #eef1f5;margin-top:10px;padding-top:10px}.contact span{color:var(--muted);font-size:13px;display:block}.link-card code{word-break:break-all;background:#f6f8fb;border-radius:7px;padding:8px;font-size:11px;display:block}.card-actions{gap:7px;margin-top:12px;display:flex}.link-card>div:first-child{align-items:center;gap:7px;display:flex}.dot{background:#98a2b3;border-radius:50%;width:9px;height:9px}.dot.green{background:#12b76a}.import-card{max-width:900px}.import-card>input{margin-right:8px}.import-card hr{border:0;border-top:1px solid #e7ebf1;margin:20px 0}.mapping-row{grid-template-columns:1.2fr 1fr 1fr;align-items:center;gap:9px;padding:8px 0;display:grid}.mapping-row select{border:1px solid #ccd5e2;border-radius:7px;padding:7px}.settings-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.setting-row{grid-template-columns:45px 1fr auto;align-items:center;gap:8px;padding:7px 0;display:grid}.setting-row input[type=color]{background:0 0;border:0;width:40px;height:34px;padding:0}.setting-row input[type=text],.setting-row input:not([type]){border:1px solid #ccd5e2;border-radius:7px;padding:7px}.setting-row code{color:#667085;font-size:11px}.switch{color:#667085;gap:5px;font-size:12px;display:flex}.date-row{grid-template-columns:1fr auto 1fr auto;align-items:center;gap:8px;margin:8px 0;display:grid}.date-row input{border:1px solid #ccd5e2;border-radius:8px;padding:8px}.hp{position:absolute;left:-9999px}.public-shell{max-width:1500px;margin:auto;padding:22px}.public-header{justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px;display:flex}.public-header h1{margin:0}.public-header p{color:var(--muted);margin:4px 0}@media (max-width:900px){.admin-shell{display:block}.sidebar{display:none}.workspace{padding:14px}.mobile-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.mobile-head select{background:#fff;border:1px solid #ccd5e2;border-radius:8px;padding:8px}.stats{grid-template-columns:1fr 1fr}.settings-grid,.booking-columns{grid-template-columns:1fr}.booking-columns aside{border-top:1px solid #e7ebf1;border-left:0;padding:16px 0 0}.page-head{flex-direction:column}.grid2{grid-template-columns:1fr}.span2{grid-column:auto}.simple-list>div{grid-template-columns:1fr}.simple-list time{font-size:12px}.public-shell{padding:10px}.public-header{align-items:flex-start}.calendar-card{padding:7px}.modal-backdrop{padding:8px}.modal{padding:16px}.mapping-row,.date-row{grid-template-columns:1fr}.date-row span{display:none}}@media (max-width:520px){.stats{grid-template-columns:1fr}.head-actions{width:100%}.head-actions>*{flex:1}.booking-card{padding:18px}.settings-grid{grid-template-columns:1fr}}.mapping-help{background:#f6f7f9;border-radius:10px;margin:12px 0 16px;padding:12px 14px;font-size:.92rem;line-height:1.45}.muted{color:#667085;line-height:1.5}
