:root{
      --primary:#ec6f98;--primary2:#f49ab5;--blue:#2f9bd3;--blue2:#8fd4f3;
      --ink:#294157;--muted:#6c7f91;--bg:#fff8fb;--card:#fff;--border:#f0dce5;
      --danger:#c84862;--success:#24836a;--warning:#b77b17;
      --shadow:0 14px 38px rgba(66,96,128,.12);--soft-shadow:0 8px 22px rgba(236,111,152,.12)
    }
    *{box-sizing:border-box}
    html{min-height:100%}
    body{min-height:100vh;margin:0;display:flex;flex-direction:column;background:
      radial-gradient(circle at 6% 8%,rgba(244,154,181,.20),transparent 23rem),
      radial-gradient(circle at 95% 16%,rgba(143,212,243,.22),transparent 26rem),
      linear-gradient(180deg,#fffafd 0%,#f7fbff 100%);color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.48}
    a{color:#247fae;text-decoration:none}
    a:hover{text-decoration:none;color:var(--primary)}
    .topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:24px;min-height:88px;padding:8px 28px;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(236,111,152,.20);box-shadow:0 5px 20px rgba(52,108,145,.07)}
    .brand{display:flex;align-items:center;flex:0 0 auto;color:var(--ink)!important;text-decoration:none!important}
    .brand-logo{display:block;width:230px;max-width:32vw;height:67px;object-fit:contain;object-position:left center}
    .topbar nav{display:flex;align-items:center;flex-wrap:wrap;gap:7px;flex:1}
    .topbar nav a{display:inline-flex;align-items:center;gap:6px;padding:9px 11px;border-radius:13px;font-size:13px;font-weight:750;color:#446176;transition:.18s ease}
    .topbar nav a:hover{background:linear-gradient(135deg,#fff0f5,#edf9ff);color:var(--primary);transform:translateY(-1px)}
    .nav-icon{font-size:16px;line-height:1}
    .userbox{display:flex;align-items:flex-end;flex-direction:column;gap:1px;font-size:12px;min-width:150px}
    .userbox strong{color:var(--blue)}
    .userbox form{margin:0}
    .link-button,.danger-link{border:0;background:none;padding:0;color:#247fae;cursor:pointer;font:inherit}
    .danger-link{color:var(--danger)}
    .container{width:100%;max-width:1500px;margin:0 auto;padding:30px;flex:1}
    footer{margin-top:auto;text-align:center;color:#71869a;font-size:12px;padding:21px 18px;background:rgba(255,255,255,.75);border-top:1px solid rgba(47,155,211,.13)}
    footer strong{color:var(--primary)}
    .page-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}
    .page-header h1{margin:0;color:#2d5772;font-size:clamp(1.6rem,2.6vw,2.35rem);letter-spacing:-.025em}
    .page-header p{margin:6px 0 0;color:var(--muted)}
    .eyebrow{display:inline-flex;align-items:center;gap:6px;margin-bottom:6px;color:var(--primary);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
    .actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.actions form{margin:0}
    .button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;background:linear-gradient(135deg,var(--primary),#f38cad);color:#fff!important;padding:10px 17px;border-radius:999px;font-weight:800;cursor:pointer;font-size:14px;text-decoration:none!important;box-shadow:0 7px 16px rgba(236,111,152,.24);transition:.18s ease}
    .button:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(236,111,152,.30)}
    .button.secondary{background:#fff;color:#2583b3!important;border:1px solid #bfe2f3;box-shadow:none}
    .button.danger{background:linear-gradient(135deg,#c84862,#e86f7f)}
    .card{position:relative;background:rgba(255,255,255,.96);border:1px solid var(--border);border-radius:22px;padding:23px;box-shadow:var(--shadow);overflow:hidden}
    .card:before{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-48px;top:-48px;background:linear-gradient(135deg,rgba(244,154,181,.18),rgba(143,212,243,.15));pointer-events:none}
    .card h2{margin-top:0;color:#315f79}.card-header{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #f3e6ec;padding-bottom:12px;margin-bottom:8px}.card-header h2{margin:0}
    .two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.three-column{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.full-width{grid-column:1/-1}
    .stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:22px}
    .stat{position:relative;overflow:hidden;background:linear-gradient(145deg,#fff,#fff8fb);border:1px solid var(--border);border-radius:21px;padding:21px;box-shadow:var(--soft-shadow);display:grid;grid-template-columns:auto 1fr;gap:13px;text-decoration:none!important;transition:.18s ease}
    .stat:hover{transform:translateY(-3px);border-color:#c8e8f6}.stat-icon{display:grid;place-items:center;width:47px;height:47px;border-radius:16px;background:linear-gradient(135deg,#ffe8f0,#e5f6fe);font-size:24px}.stat strong{display:block;font-size:24px;color:#2a87b5}.stat span{color:var(--muted);font-size:13px}
    .list-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px 6px;border-bottom:1px solid #f1e4ea;color:var(--ink);text-decoration:none!important;border-radius:10px}.list-row:last-child{border-bottom:0}.list-row:hover{background:linear-gradient(90deg,#fff4f8,#f0faff)}
    .empty{color:var(--muted);font-style:italic}.badge{display:inline-block;padding:5px 10px;border-radius:999px;background:#eaf2f6;font-size:12px;white-space:nowrap;font-weight:700}.status-confirmed,.status-paid,.status-completed{background:#dcf5eb;color:#1f6d54}.status-requested,.status-draft{background:#fff0cc;color:#805b11}.status-cancelled,.status-overdue{background:#fbe0e6;color:#8c2940}.status-issued,.status-part_paid{background:#e1f2fb;color:#285e8a}
    .message{padding:13px 16px;border-radius:15px;margin-bottom:16px;background:#e9f5fb;border:1px solid #c9e8f7}.message.success{background:#e1f6ee;color:#185a3f}.message.error{background:#fbe1e7;color:#7d253a}.message.warning{background:#fff3d8;color:#73500b}
    .form-card{max-width:1120px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 23px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-weight:800;font-size:13px;color:#3a5a70}.field input,.field select,.field textarea,.search input,.service-picker select,.auth-card input,.auth-card select,.auth-card textarea,.form-control{width:100%;padding:11px 12px;border:1px solid #c9dce6;border-radius:13px;background:#fff;font:inherit;color:var(--ink);outline:none;transition:.15s ease}.field input:focus,.field select:focus,.field textarea:focus,.form-control:focus{border-color:var(--blue2);box-shadow:0 0 0 4px rgba(143,212,243,.22)}.field input[type=checkbox],.form-check-input{width:auto;accent-color:var(--primary)}.checkbox-field{justify-content:end}.field small{color:var(--muted)}.field-error,.errorlist{color:var(--danger);font-size:13px}.error-box{background:#fbe1e7;color:#7d253a;padding:12px;border-radius:13px;margin-bottom:15px}.form-card>.actions{margin-top:22px;border-top:1px solid var(--border);padding-top:17px}
    .auth-card{max-width:560px;margin:38px auto}.auth-card h1{color:#2d759b}.auth-card p label{display:block;font-weight:800;margin-bottom:4px}.auth-card .helptext{display:block;color:var(--muted);font-size:12px}.auth-intro{text-align:center;margin-bottom:20px}.auth-intro .mini-logo{width:260px;max-width:100%;height:auto}
    .practice-logo{max-width:250px;max-height:120px;object-fit:contain}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid #f1e5eb;vertical-align:top}th{font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:#617b8f;background:#f5fbfe}tfoot th{font-size:15px;color:var(--ink)}tr.clickable{cursor:pointer}tr.clickable:hover{background:#fff5f8}.nowrap{white-space:nowrap}.inline{display:inline}dl{display:grid;grid-template-columns:155px 1fr;gap:10px 15px}dt{font-weight:800;color:#536f82}dd{margin:0}.search{display:flex;gap:8px;margin-top:10px;max-width:550px}.public-header{text-align:center;max-width:800px;margin:0 auto 20px}.booking-card{max-width:780px;margin:0 auto}.service-picker{display:grid;gap:7px}.invoice-meta{display:flex;flex-wrap:wrap;gap:25px;margin-bottom:15px}.totals{display:grid;grid-template-columns:1fr auto;gap:8px 20px;border-top:1px solid var(--border);margin-top:15px;padding-top:15px}.hash{word-break:break-all;display:block;background:#f2f8fb;padding:10px;border-radius:9px;font-size:11px}
    .shift-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:800}.shift-day-chip{background:#fff0c8;color:#8a650e}.shift-night-chip{background:#e5e9ff;color:#4d5597}.shift-custom-chip{background:#e5f5fb;color:#28738f}.meta-line{font-size:12px;color:var(--muted)}.section-icon{font-size:23px;margin-right:6px}.hint-box{padding:14px 16px;border-radius:16px;background:linear-gradient(135deg,#fff1f6,#edf9ff);border:1px solid #eedde6;color:#526b7d;margin-bottom:18px}
    #calendar{min-height:760px}.fc .fc-button-primary{background:var(--blue);border-color:var(--blue);border-radius:10px}.fc .fc-button-primary:hover{background:#2585b8}.fc .absence{background:rgba(200,72,98,.18)!important}.fc .oncall{background:rgba(183,123,23,.20)!important}.fc .availability.shift-day{background:rgba(255,204,85,.18)!important}.fc .availability.shift-night{background:rgba(92,111,210,.18)!important}.fc .availability.shift-custom{background:rgba(47,155,211,.16)!important}
    @media(max-width:1160px){.topbar{align-items:flex-start;flex-wrap:wrap}.topbar nav{order:3;width:100%}.stats{grid-template-columns:repeat(2,1fr)}.three-column{grid-template-columns:1fr}.two-column{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.full-width{grid-column:auto}.brand-logo{max-width:250px}}
    @media(max-width:680px){.container{padding:18px}.page-header{align-items:flex-start;flex-direction:column}.stats{grid-template-columns:1fr}.topbar{padding:9px 16px}.brand-logo{width:190px;max-width:65vw;height:56px}.userbox{display:none}.topbar nav a{font-size:12px;padding:7px 8px}.card{padding:16px}dl{grid-template-columns:1fr}dd{margin-bottom:8px}}
