:root{--color-teal: #23b2b2;--color-light-blue: #28bbd2;--color-peach: #ef7c6b;--color-navy: #142946;--color-grey: #dce2e7;--color-off-white: #f5f7f6;--color-white: #ffffff;--bg-app: var(--color-off-white);--bg-surface: var(--color-white);--bg-inverse: var(--color-navy);--text-primary: var(--color-navy);--text-muted: #5a6b7b;--border: var(--color-grey);--accent: var(--color-teal);--accent-hover: #1c9797;--info: var(--color-light-blue);--danger: var(--color-peach);--focus-ring: var(--color-light-blue);--font-display: "Axiforma", "Segoe UI", system-ui, sans-serif;--font-body: "Raleway", system-ui, sans-serif;--radius: 10px}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-body);color:var(--text-primary);background:var(--bg-app);line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;margin:0 0 .5rem}a{color:var(--accent)}a:hover{color:var(--accent-hover)}button,input,select,textarea{font:inherit}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{background:var(--bg-inverse);color:var(--color-white);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.5rem}.topbar-brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:inherit}.topbar-brand img{width:32px;height:32px}.topbar-brand span{font-family:var(--font-display);font-weight:600;font-size:1.05rem}.topbar-actions{display:flex;align-items:center;gap:.75rem;font-size:.9rem;color:#c5d0da}.main{width:min(1280px,100%);margin:0 auto;padding:2rem 1.25rem 3rem;flex:1}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.page-header p{margin:.25rem 0 0;color:var(--text-muted)}.page-title{display:flex;flex-direction:column;min-width:0}.page-title-heading{display:flex;align-items:center;gap:.25rem;min-width:0}.page-title-heading h1{margin:0;line-height:1.2}.page-title-meta{margin:.35rem 0 0;padding-left:2.25rem;color:var(--text-muted)}.back-link{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:2rem;height:2rem;border-radius:8px;color:var(--text-muted);text-decoration:none;transition:color .15s ease,background .15s ease}.back-link:hover{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,white)}.back-chevron{width:1.25rem;height:1.25rem;display:block}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid transparent;border-radius:var(--radius);padding:.55rem 1rem;font-weight:600;cursor:pointer;text-decoration:none;transition:background .15s ease,border-color .15s ease,color .15s ease}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--color-white)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:var(--bg-surface);border-color:var(--border);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){border-color:var(--accent)}.btn-danger{background:transparent;border-color:var(--danger);color:var(--danger)}.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 12%,white)}.btn-ghost{background:transparent;color:#c5d0da;border:none;padding:.35rem .5rem}.btn-ghost:hover{color:#fff}.surface{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.filters{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem}.filters input,.filters select,.field input,.field select,.field textarea{width:100%;border:1px solid var(--border);border-radius:8px;padding:.55rem .7rem;background:#fff;color:var(--text-primary)}.filters input{flex:1 1 220px;min-width:180px;width:auto}.filters select{flex:0 1 auto;width:auto;min-width:160px}.table-wrap{overflow-x:auto}.alerts-table{padding:0}.table-wrap table{width:100%;border-collapse:collapse;font-size:.92rem}.table-wrap th,.table-wrap td{text-align:left;padding:.85rem 1rem;border-bottom:1px solid var(--border);vertical-align:middle}.alerts-table th{background:color-mix(in srgb,var(--color-grey) 35%,white);white-space:nowrap;font-size:.75rem}.table-wrap tbody tr:last-child td{border-bottom:none}.alerts-table tbody tr.alerts-row{cursor:pointer}.alerts-table tbody tr.alerts-row:hover td{background:color-mix(in srgb,var(--color-light-blue) 6%,white)}.alerts-table tbody tr.alerts-row:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.table-link{font-weight:600;color:var(--accent);text-decoration:underline;text-underline-offset:.15em;text-decoration-thickness:1px}.alerts-row:hover .table-link{color:var(--accent-hover)}.alerts-table .col-name{width:26%;min-width:10rem}.alerts-table .col-org{width:18%;min-width:8rem}.alerts-table .col-schedule{width:24%;min-width:10rem}.alerts-table .col-status,.alerts-table .col-last-run{vertical-align:top;white-space:nowrap}.alerts-table .col-status{width:9%}.alerts-table .col-last-run{width:16%;min-width:8rem}.alerts-table .col-actions{width:14%;white-space:nowrap;vertical-align:top}.schedule-cell{display:grid;gap:.1rem;line-height:1.35}.schedule-days{font-weight:600;font-size:.85rem;letter-spacing:.02em}.schedule-times{font-variant-numeric:tabular-nums}.schedule-tz{font-size:.8rem}.last-run-cell{display:grid;gap:.25rem;justify-items:start;align-content:start}.last-run-time{font-size:.78rem;line-height:1.3;white-space:nowrap}.action-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:.15rem 0;margin:0;font:inherit;font-size:.85rem;font-weight:600;color:var(--text-muted);cursor:pointer;text-decoration:none}.action-link:hover{color:var(--accent);text-decoration:underline;text-underline-offset:.15em}.action-link-danger{color:var(--danger)}.action-link-danger:hover{color:#a63d30}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}table{width:100%;border-collapse:collapse;font-size:.95rem}th,td{text-align:left;padding:.75rem .6rem;border-bottom:1px solid var(--border);vertical-align:top}th{color:var(--text-muted);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.pill{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.15rem .65rem;font-size:.8rem;font-weight:600}.pill:before{content:"";width:.45rem;height:.45rem;border-radius:50%;background:currentColor}.pill-enabled{background:color-mix(in srgb,var(--accent) 16%,white);color:#0f6e6e}.pill-disabled{background:var(--color-grey);color:var(--text-muted)}.pill-success{background:color-mix(in srgb,var(--accent) 16%,white);color:#0f6e6e}.pill-failed{background:color-mix(in srgb,var(--danger) 18%,white);color:#a63d30}.row-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .75rem}.alerts-table .row-actions{justify-content:flex-end;flex-wrap:nowrap;gap:0}.alerts-table .row-actions .action-link+.action-link:before{content:"";display:inline-block;width:1px;height:.85em;margin:0 .55rem;background:var(--border);vertical-align:-.05em}.empty{text-align:center;padding:3rem 1.5rem;background:radial-gradient(1200px 280px at 50% -40%,color-mix(in srgb,var(--color-light-blue) 28%,transparent),transparent),var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius)}.empty h2{margin-top:.5rem}.form-grid{display:grid;gap:1.5rem}.section{display:grid;gap:.85rem}.section h2{font-size:1.15rem}.subsection{display:grid;gap:.85rem;padding-top:.35rem}.subsection+.subsection{margin-top:.5rem;padding-top:1.15rem;border-top:1px solid var(--border)}.subsection h3{margin:0;font-size:1rem;font-weight:650}.checkbox-list{display:grid;gap:.65rem}.checkbox-option{display:flex;align-items:center;gap:.55rem;font-weight:600;font-size:.92rem;cursor:pointer}.checkbox-option input{width:1.05rem;height:1.05rem;accent-color:var(--accent);cursor:pointer}.section-note{color:var(--text-muted);margin:0;font-size:.92rem}.field{display:grid;gap:.35rem}.field label{font-weight:600;font-size:.9rem}.field-hint{color:var(--text-muted);font-size:.82rem}.field-error{color:#a63d30;font-size:.85rem}.color-field{display:flex;align-items:center;gap:.75rem;min-height:2.75rem;padding:.35rem .75rem .35rem .35rem;border:1px solid var(--border);border-radius:8px;background:#fff}.color-field .color-swatch{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:2.75rem;height:2.1rem;min-width:2.75rem;padding:0;border:1px solid color-mix(in srgb,var(--color-navy) 18%,transparent);border-radius:6px;background:transparent;cursor:pointer;flex-shrink:0}.color-field .color-swatch::-webkit-color-swatch-wrapper{padding:0}.color-field .color-swatch::-webkit-color-swatch{border:none;border-radius:5px}.color-field .color-swatch::-moz-color-swatch{border:none;border-radius:5px}.color-hex{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9rem;font-weight:600;letter-spacing:.02em;color:var(--text-primary);text-transform:uppercase}.row-2{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}@media(max-width:720px){.row-2{grid-template-columns:1fr}.page-header{flex-direction:column}.response-row{grid-template-columns:1fr max-content}.response-row .field:nth-child(2){grid-column:1 / -1}.recipient-row{grid-template-columns:1fr max-content}.recipient-row .field:nth-child(2){grid-column:1 / -1}.priority-row{grid-template-columns:5.5rem minmax(0,1fr)}.priority-row .priority-colour{grid-column:1 / -1}}.recipient-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(8rem,10rem) max-content;gap:.5rem;align-items:end}.response-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(9rem,12rem) max-content;gap:.5rem;align-items:end}.priority-row{display:grid;grid-template-columns:6.5rem minmax(0,1fr) minmax(9rem,12rem);gap:.5rem;align-items:end}.priority-row .priority-value input{width:100%}.time-row{display:flex;align-items:end;gap:.5rem}.time-row .field{flex:1 1 auto;min-width:0}.time-input-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1rem}.field .time-input{width:100%;max-width:14rem;min-height:2.75rem;padding:.55rem .85rem;font-size:1.05rem;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.03em;color:var(--text-primary);cursor:pointer}.time-local-hint{font-size:.88rem;font-variant-numeric:tabular-nums;white-space:nowrap}.time-row,.response-row{margin-top:.65rem}.btn-row-action{width:auto;justify-self:end;white-space:nowrap;padding-left:.85rem;padding-right:.85rem}.btn-add{width:100%;margin-top:.65rem}.btn-icon{width:1rem;height:1rem;flex-shrink:0}.field .time-input::-webkit-calendar-picker-indicator{cursor:pointer;width:1.1rem;height:1.1rem;opacity:.7;margin-left:.35rem}.field .time-input::-webkit-calendar-picker-indicator:hover{opacity:1}.field .time-input::-webkit-datetime-edit-fields-wrapper{padding:0}.field .time-input::-webkit-datetime-edit-hour-field,.field .time-input::-webkit-datetime-edit-minute-field,.field .time-input::-webkit-datetime-edit-ampm-field{padding:.15rem .2rem;border-radius:4px}.field .time-input::-webkit-datetime-edit-hour-field:focus,.field .time-input::-webkit-datetime-edit-minute-field:focus,.field .time-input::-webkit-datetime-edit-ampm-field:focus{background:color-mix(in srgb,var(--accent) 14%,white);color:var(--text-primary);outline:none}.days{display:flex;flex-wrap:wrap;gap:.4rem}.day-chip{border:1px solid var(--border);background:#fff;border-radius:8px;padding:.4rem .65rem;cursor:pointer;font-weight:600;font-size:.85rem}.day-chip.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,white);color:#0f6e6e}.presets{display:flex;flex-wrap:wrap;gap:.4rem}.callout{background:color-mix(in srgb,var(--info) 12%,white);border:1px solid color-mix(in srgb,var(--info) 35%,white);border-radius:var(--radius);padding:.85rem 1rem;color:var(--text-primary)}.error-banner{background:color-mix(in srgb,var(--danger) 14%,white);border:1px solid color-mix(in srgb,var(--danger) 40%,white);color:#7a2f26;border-radius:var(--radius);padding:.85rem 1rem;margin-bottom:1rem}.login{min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:radial-gradient(900px 420px at 15% 0%,color-mix(in srgb,var(--color-light-blue) 35%,transparent),transparent 60%),radial-gradient(700px 380px at 90% 100%,color-mix(in srgb,var(--color-teal) 28%,transparent),transparent 55%),var(--bg-app)}.login-card{width:min(420px,100%);background:var(--bg-surface);border:1px solid var(--border);border-radius:16px;padding:2rem;text-align:center}.login-card img{width:48px;height:48px;margin-bottom:1rem}.muted{color:var(--text-muted)}.form-actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:flex-end;margin-top:.5rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:1.25rem;background:color-mix(in srgb,var(--color-navy) 45%,transparent)}.modal{width:min(420px,100%);background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem;box-shadow:0 16px 40px color-mix(in srgb,var(--color-navy) 18%,transparent)}.modal h2{margin:0 0 .5rem;font-size:1.2rem}.modal p{margin:0;color:var(--text-muted);font-size:.95rem}.modal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.6rem;margin-top:1.25rem}.detail-grid{display:grid;gap:1rem}.kv{display:grid;grid-template-columns:160px 1fr;gap:.5rem;padding:.35rem 0;border-bottom:1px solid var(--border);font-size:.95rem}.kv dt{color:var(--text-muted);margin:0}.kv dd{margin:0;word-break:break-word}.loading{color:var(--text-muted);padding:2rem 0}.loading-screen{display:grid;place-items:center;min-height:16rem;padding:2.5rem 1.25rem}.loading-screen-full{min-height:100vh;background:radial-gradient(900px 420px at 15% 0%,color-mix(in srgb,var(--color-light-blue) 35%,transparent),transparent 60%),radial-gradient(700px 380px at 90% 100%,color-mix(in srgb,var(--color-teal) 28%,transparent),transparent 55%),var(--bg-app)}.loading-screen-inner{display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}.loading-screen-logo{width:48px;height:48px;margin-bottom:.25rem}.loading-spinner{width:2.75rem;height:2.75rem}.loading-spinner svg{width:100%;height:100%;animation:loading-spin .85s linear infinite}.loading-spinner-track{fill:none;stroke:color-mix(in srgb,var(--color-grey) 70%,white);stroke-width:3.5}.loading-spinner-arc{fill:none;stroke-width:3.5;stroke-linecap:round;stroke-dasharray:70 113;stroke-dashoffset:0}.loading-screen-label{margin:0;font-family:var(--font-body);font-size:.95rem;font-weight:600;color:var(--text-muted);letter-spacing:.01em}@keyframes loading-spin{to{transform:rotate(360deg)}}
