@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,d09GMgABAAAAAAaEABMAAAAADFgAAAYdAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbbhwoP0hWQVJpBmA/U1RBVIE4AFwvbBEICoJ8gkMLFAAwhCoBNgIkAyIEIAWGUAdiDAcbvgpRVHJOI/viwCYyfSFrJjFIG8raYpYj9+IeSF0s6zD+Lk/4OGrZHhHV+wvt2ffuWPwlA51lIICIosSVmyOKEs5Uzlx3NKeXIgn1ssCydUybDV0IHga+SszIyfrQe9bLTFNxjayzgs76hNsDoSYtRe32fiJ4gxBjrP8L+w//zzHjv7Yqyr9o2vOBDXhCo2jMtr4uwAK/gV1U0PxAq/EAD+yW9EoKOL1KLw8rHrFgCSgRTQRzBzpeXVhweEDlyfY8gIoOa2CQJzrTAHIIoitTMVV2dyFwpJ2iAEQTpSkhPitxD3YwuZHEagTcAhyKAcBmUyPdhTovJThOw6HYiaF2M/J7erdi2OUutor6ES6Ac88AvfZvKpb6fJoArohb524042j6Jij36NI7P8Pb7s721naN9gcTtcjXQP4l+8BKEzFVGMxxoHqlq8Ul4LGneFJBDFaOdKpLPcg8P14YSDwIcn75hdlyJLTBlZ4voL6tT46yC/njunXqpJ0/bSvmrH1o3kRlwZ+j0DBogkF3KbDRVBlbOc+fY5HVXwPoT9hfekPnyZMaEmenYLMSg5npqegFOsgXsBv1IoF9aIVfSCNHkk6+gIzILsiYuhWQCfUtZEpbkRntQxBZgw7MwFbMcRvwJrAnBlDqs7isLtL7pO84Xru1i7ah7tckH1Wreqq6K9u0amxU1bcff/s2Y1ni3rh2I8zHzqkm3PGvv3mzC6NDBz/UcOBIg+nm88rxN8MbdtypvHUL5o1c2zG0urYpRmW+VHZdiba6GXN/3v0B3i3nt4RBsbfAu8ftLqRcTIlZ4VYheFTAS5nXLS65VZrbuW3daF2Ze1ChyGXWZN6u9nUuH1LfyTERifZXEpIueMe28vF8FOoTnsONzw+1djo9P71lZGx1vM8mH/BhvSa2HDsRZ1+Ul+RmpnPOIaEuwWnZZdkgQWAAyCDDZ1wk+0sh7wseAAwA6UlHxbftCgYAAwKAgwIAEA7ACfHIRbV7J6dwF/ZzcRRmAjXUYKAGWAlDCCFmKnH+LJEQfHKEmVrfmKwSEab36AcubXQBoDYJV/aRV+funFD8wAXLSLYbwr9+DR+h/qZIKCfeqRG5ghHpdY0zcV2nuz5iJMhAFjaTDwOcoyKGG9JHrCfdp4cC+kCvUrxc7+bliIMiHj95sPIbUeWZEP/HLnN2tlr9EBeRiktHuWvErx98fRz1MuEvHO3FDRgtsSzL/P0hsDLK2n5/uHMOjvTst0HD6t+80ZN798j7j//kjqHxIOZDFPR/FxurFD6/HxGbB799RPHLx5F89MoBOub9jVuOWtmPH3o9H3r26DIuff+LqPLwff/xryDRmiAYmjxiK0GwS9XU+k8QpUrHsCTs4qH89Fv44ubWbQmOE51M7J8Pt8+h+NKt3zZpa2L9zZqcRlyEc4MaNGdfjQCxgIygn78ne4yAzcLWA3zAJ6RRGbijvHr1W+XN8ywrG0EoZSySb0/A9KsllI7Q/Pq8hLu76tfTy5cF4X8bQxTtYp2vr6/+1oI4AhgAlNYFryt62VaX9ktO6VsAeDLeWx6fff4vdV1ts7N6+gw9GCsQnqPB0QUttB9nEc7Aaf4XM0NQ90VJ+HV1rG04znGCmXcpPCA9+nxdMPgPlT7Dz83NMfZuMJaNeRqbc+tjd2QER/b0B44d7nv5Rif7VC8svYkx9SKWwb3YzN2M3cY8jSNLl+PYZqfjxNTxOLXVCmfmduDc0ty1kLbjeiGfIrDFJXWPTTMD5TKupR8cpZgJeXTofId8NoUj6E8XfAc2k4WPdbCberDYAp8Q7L5dUo8wE8cs9QINZYvwXKzvBS4v/n+fQZkGrrFysKEIuFBgjQpxiHH1XA+ZBI+C+oAoxhYKECc42rGOc8L4mYhsiThGfFjOcKmFubPpDgwnY1918Fwo8ouenDJxvGP96HFWJ28hiOy251oKjkcbGz2POMme8CTMThx6wqOPsFtPI6j6HhDyDTxFQYnL88FcXGAGHl3ZuueRbEuxbK6Hc84ZDvRrREtLzyjj8Xkd/uShR1b0sYd8Nh8/c8znxCnadxQcf2nFVWIyw1g+4StXav9j75s+CQAA)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-vietnamese-wght-normal-CHiFlh_0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-ext-wght-normal-Dg-wlmqe.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-wght-normal-CaVRRdDk.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--navy:#13215a;--navy-2:#1f3a8a;--gold:#e8b23a;--gold-dark:#b8862b;--bg:#edf0f8;--surface:#fff;--text:#0f1b3d;--muted:#5b6478;--line:#e4e8f2;--chip:#eef1f8;--success-bg:#e3f4e8;--success:#1d7a3e;--warn-bg:#fdf0d2;--warn:#8a5b00;--danger-bg:#fbe3e3;--danger:#a12525;--radius:20px;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:Hanken Grotesk Variable,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--navy-2)}.logo{letter-spacing:-.01em;line-height:.92}.logo .eyebrow{letter-spacing:.12em;margin-bottom:.35em;font-size:.32em;font-weight:600;display:block}.logo .strong{font-weight:800;display:block}.logo .light{color:var(--gold);font-weight:300;display:block}.logo .cross{margin-left:.15em;font-weight:300}.shell{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--navy);color:#fff;flex-direction:column;height:100vh;padding:28px 18px;display:flex;position:sticky;top:0}.sidebar .logo{padding:0 12px;font-size:24px}.sidebar .admin-tag{letter-spacing:.12em;padding:10px 12px 0;font-size:11px;font-weight:700}.sidebar nav{flex-direction:column;gap:4px;margin-top:36px;display:flex}.sidebar a{color:#fff;opacity:.92;border-radius:12px;justify-content:space-between;align-items:center;padding:12px;font-weight:500;text-decoration:none;display:flex}.sidebar a:hover{background:#ffffff0f}.sidebar a.active{background:var(--navy-2);opacity:1;font-weight:700}.sidebar a.soon{opacity:.45}.count{background:var(--gold);color:var(--navy);border-radius:999px;place-items:center;min-width:22px;height:22px;padding:0 6px;font-size:12px;font-weight:800;display:inline-grid}.sidebar .who{opacity:.85;margin-top:auto;padding:0 12px;font-size:13px}.sidebar .who button{color:var(--gold);cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;text-decoration:underline}.main{width:100%;max-width:1240px;padding:36px 40px 60px}.page-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.kicker{letter-spacing:.12em;color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:700}h1{letter-spacing:-.02em;margin:4px 0 6px;font-size:34px}h2{margin:0;font-size:20px}.sub{color:var(--muted);margin:0}.card{background:var(--surface);border-radius:var(--radius);margin-bottom:20px;padding:24px}.card-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.btn{border:2px solid var(--navy);background:var(--navy);color:#fff;cursor:pointer;white-space:nowrap;border-radius:999px;padding:10px 20px;font-weight:700}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.outline{color:var(--navy);background:#fff}.btn.gold{background:var(--gold);border-color:var(--gold);color:var(--navy)}.btn.danger{color:var(--danger);border-color:var(--danger);background:#fff}.btn.small{padding:6px 14px;font-size:14px}.btn.block{width:100%;padding:14px}.link-btn{color:var(--navy-2);cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.field label{flex-direction:column;gap:6px;font-size:14px;font-weight:700;display:flex}.field label>input,.field label>select,.field label>textarea{font-size:16px;font-weight:400}.check{cursor:pointer;align-items:flex-start;gap:10px;font-weight:600;display:flex}.check input{width:18px;height:18px;accent-color:var(--navy);flex-shrink:0;margin:2px 0 0}.field input,.field select,.field textarea,.search{background:#fff;border:1.5px solid #d3d8e4;border-radius:14px;padding:12px 14px}.field textarea{resize:vertical;min-height:110px}.field input:focus,.field select:focus,.field textarea:focus,.search:focus{outline:2px solid var(--navy-2);border-color:#0000}.field .error{color:var(--danger);font-size:13px}.search{background:var(--chip);border-color:#0000;min-width:280px}.form-error{background:var(--danger-bg);color:var(--danger);border-radius:12px;margin-bottom:16px;padding:12px 14px}.notice{background:var(--warn-bg);color:var(--warn);border-radius:12px;margin-bottom:16px;padding:12px 14px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{background:var(--chip);cursor:pointer;border:0;border-radius:999px;padding:8px 14px;font-weight:600}.chip.on{background:var(--navy);color:#fff}.chip small{opacity:.8;font-weight:400;display:block}.badge{background:var(--chip);color:var(--navy);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-block}.badge.approved{background:var(--success-bg);color:var(--success)}.badge.invited,.badge.pending,.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.suspended,.badge.rejected{background:var(--danger-bg);color:var(--danger)}table{border-collapse:collapse;width:100%}th{text-align:left;letter-spacing:.1em;color:var(--muted);text-transform:uppercase;padding:10px 8px;font-size:12px}td{border-top:1px solid var(--line);vertical-align:middle;padding:12px 8px}tr.clickable{cursor:pointer}tr.clickable:hover td{background:#f7f8fc}.person{align-items:center;gap:12px;display:flex}.person .name{font-weight:700}.person .meta{color:var(--muted);font-size:13px}.avatar{object-fit:cover;width:40px;height:40px;color:var(--navy);background:#c9d3ec;border-radius:50%;flex-shrink:0;place-items:center;font-size:14px;font-weight:700;display:grid}.avatar.lg{border:3px solid var(--gold);width:72px;height:72px;font-size:22px}.queue-item{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.queue-item:first-of-type{border-top:0}.empty{color:var(--muted);padding:12px 0}.stats{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px;display:grid}.stat{background:var(--surface);border-radius:var(--radius);padding:20px}.stat.primary{background:var(--navy);color:#fff}.stat .label{font-size:14px;font-weight:600}.stat .value{letter-spacing:-.02em;font-size:40px;font-weight:800}.grid-2{grid-template-columns:1fr 1fr;gap:20px;display:grid}dl.facts{grid-template-columns:160px 1fr;gap:10px 16px;margin:0;display:grid}dl.facts dt{color:var(--muted)}dl.facts dd{margin:0;font-weight:600}dialog{border-radius:var(--radius);border:0;width:min(520px,92vw);padding:28px}dialog::backdrop{background:#0f1b3d73}.auth{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.auth .brand{background:var(--navy);color:#fff;place-items:center;display:grid}.auth .brand .logo{font-size:64px}.auth .panel{background:#fff;place-items:center;padding:40px;display:grid}.auth form{width:min(400px,100%)}.auth h1{margin-bottom:8px}.auth .hint{color:var(--muted);margin-top:16px;font-size:14px}.center{place-items:center;min-height:100vh;display:grid}table.rota td{padding:6px}table.rota td.when{white-space:nowrap;font-size:13px;font-weight:700}table.rota tr.sunday td.when{color:var(--navy-2)}table.rota td.flagged .cell-input{border-color:var(--gold);background:var(--warn-bg)}.cell-input{background:#fff;border:1.5px solid #d3d8e4;border-radius:10px;width:100%;min-width:150px;padding:8px 10px;font-size:14px}.cell-input:disabled{background:var(--chip);color:var(--muted)}.meta{color:var(--muted)}table.availability th,table.availability td{text-align:center;padding:6px;font-size:13px}table.availability th:first-child,table.availability td:first-child{text-align:left;white-space:nowrap}table.availability td.yes{color:var(--success);font-weight:800}table.availability td.no{color:var(--danger);font-weight:800}table.availability td.unknown{color:#b7bdcb}.print-page{color:#000;background:#fff;min-height:100vh;padding:40px;font-family:Calibri,Carlito,Hanken Grotesk Variable,sans-serif}.print-page .approval{text-align:right;margin-bottom:36px;font-size:13px}.print-page .signature{text-align:center;border-bottom:1.5px solid #000;min-width:260px;padding:24px 0 2px;display:inline-block}.print-page h1{text-align:center;letter-spacing:0;margin:0 0 12px;font-size:18px}.print-page table{border:2px solid #000}.print-page th{color:#fff;letter-spacing:0;text-align:center;background:#000;border-right:1px solid #c00;padding:18px 8px;font-size:14px}.print-page td{text-align:center;border:1.5px solid #000;padding:12px 8px;font-size:13px}.print-page td.day{text-align:left;font-weight:700}.print-page td.sunday{background:gray}@media print{@page{size:A4 landscape;margin:12mm}.no-print{display:none!important}.print-page{padding:0}.print-page td.sunday,.print-page th{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.compose-grid{grid-template-columns:1.35fr 1fr;align-items:start;gap:20px;display:grid}.phone-preview{background:var(--navy)}.push{background:#fff;border-radius:16px;align-items:center;gap:12px;margin-top:10px;padding:12px 14px;display:flex}.push-icon{background:var(--navy);width:38px;height:38px;color:var(--gold);border-radius:9px;flex-shrink:0;place-items:center;font-size:11px;font-weight:800;display:grid}.push strong{font-size:14px;display:block}.push span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:260px;font-size:13px;display:block;overflow:hidden}@media (width<=1100px){.compose-grid{grid-template-columns:1fr}}
