:root{font-family:Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5;font-weight:400;color:#1f2933;background:radial-gradient(circle at top,#f3f6fb,#e6ebf2 45%,#dde4ec)}*{box-sizing:border-box}body{margin:0;min-width:320px}pre{margin:0;padding:1rem;overflow-x:auto;border-radius:.75rem;background:#0f172a;color:#e2e8f0;font-size:.9rem}.page{min-height:100vh;display:grid;place-items:center;padding:2rem}.panel{width:min(960px,100%);padding:2rem;border:1px solid #d8e1eb;border-radius:1.5rem;background:#ffffffe0;box-shadow:0 24px 60px #0f172a1f}.app-shell{display:grid;gap:2rem}.app-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.app-header-title{display:grid;gap:.35rem}.app-brand{color:#0f172a;text-decoration:none;font-size:.95rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.app-header-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;justify-content:flex-end}.user-button{padding:.7rem 1rem;border:1px solid #c7d2de;border-radius:999px;background:#fff;color:#1f2933;font:inherit;font-weight:600;cursor:pointer}.user-button:hover{border-color:#9fb3c8;color:#0f172a}.app-title,h2,h3{margin:0}.app-nav{display:flex;flex-wrap:wrap;gap:.75rem}.nav-link,.back-link{color:#0f4c81;text-decoration:none;font-weight:600}.nav-link.current{color:#0f172a}.logout-button{padding:.7rem 1rem;border:1px solid #c7d2de;border-radius:999px;background:#fff;color:#1f2933;font:inherit;font-weight:600;cursor:pointer}.logout-button:hover{border-color:#9fb3c8;color:#0f172a}.page-section{display:grid;gap:1rem}.eyebrow{margin:0 0 .5rem;color:#486581;font-size:.9rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}h1{margin:0;font-size:clamp(2.5rem,5vw,4rem)}.lede{max-width:42rem;margin:1rem 0 2rem;color:#52606d}.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.section-heading.compact{align-items:center}.section-meta{margin:0;color:#52606d}.action-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.status-card{display:grid;gap:.75rem;padding:1.25rem;border-radius:1rem;background:#f8fafc;border:1px solid #d9e2ec}.status-card h2,.status-card h4{margin:0}.status{margin:0;font-weight:700}.status.ok{color:#166534}.status.pending{color:#92400e}.status.error,.error{color:#b42318}.message-card,.detail-card{padding:1rem 1.25rem;border-radius:1rem;border:1px solid #d9e2ec;background:#f8fafc}.admin-card-list{display:grid;gap:1rem}.admin-card{display:grid;gap:.85rem}.admin-card-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem}.admin-card-handle{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:1px solid #c7d2de;border-radius:.65rem;background:#fff;color:#486581;font:inherit;font-weight:700;letter-spacing:.08em;cursor:grab;-webkit-user-select:none;user-select:none}.admin-card-handle:active{cursor:grabbing}.admin-card-title-button{display:inline-flex;align-items:center;gap:.5rem;min-width:0;padding:0;border:0;background:transparent;color:#0f172a;font:inherit;text-align:left;cursor:pointer}.admin-card-title-button:hover{color:#0f4c81}.admin-card-title-text{font-size:1.05rem;font-weight:700}.admin-card-chevron{color:#486581;font-size:.9rem;font-weight:700}.admin-card-summary{justify-self:end;text-align:right}.admin-card-stack{display:grid;gap:1rem}.admin-card.dragging{opacity:.65}.admin-card.drop-before{box-shadow:inset 0 3px #0f4c81}.admin-card.drop-after{box-shadow:inset 0 -3px #0f4c81}.admin-card-body[hidden]{display:none}.error-card{border-color:#f3c7c0;background:#fff5f3}.success-card{border-color:#b7dfc5;background:#f3fbf5}.maintenance-card{border-color:#f4bf75;background:#fff8ed}.table-scroll{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.clients-table{table-layout:fixed}.data-table th,.data-table td{padding:.85rem .75rem;border-bottom:1px solid #d9e2ec;text-align:left;vertical-align:top}.data-table th{color:#486581;font-size:.9rem}.clients-table th:nth-child(1),.clients-table td:nth-child(1){width:22%}.clients-table th:nth-child(2),.clients-table td:nth-child(2){width:14%}.clients-table th:nth-child(3),.clients-table td:nth-child(3){width:10%}.clients-table th:nth-child(4),.clients-table td:nth-child(4){width:18%}.clients-table th:nth-child(5),.clients-table td:nth-child(5){width:26%}.clients-table th:nth-child(6),.clients-table td:nth-child(6){width:8%}.truncate-cell{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-layout{display:grid;gap:1rem}.quick-links-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.quick-link-card{display:grid;gap:.75rem;padding:1rem;border-radius:.9rem;border:1px solid #d9e2ec;background:#fff}.quick-link-card p{margin:0;color:#52606d}.invoice-actions{flex-wrap:nowrap}.invoice-actions .button-link{flex:1 1 0}.auth-shell{display:grid;gap:2rem;width:min(640px,100%)}.auth-copy{display:grid;gap:.5rem}.auth-form,.stacked-form{display:grid;gap:1rem}.admin-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;align-items:end}.checkbox-field{display:flex;align-items:center;gap:.6rem;padding-top:1.35rem;color:#52606d;font-weight:600}.checkbox-field input{width:1rem;height:1rem;margin:0}.switch{position:relative;display:inline-flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none}.switch-inline{padding:.2rem 0}.switch-input{position:absolute;opacity:0;pointer-events:none}.switch-ui{position:relative;flex:none;width:2.8rem;height:1.6rem;border-radius:999px;background:#c7d2de;transition:background-color .15s ease}.switch-thumb{position:absolute;top:.16rem;left:.16rem;width:1.28rem;height:1.28rem;border-radius:999px;background:#fff;box-shadow:0 1px 3px #0f172a40;transition:transform .15s ease}.switch-input:checked+.switch-ui{background:#0f4c81}.switch-input:checked+.switch-ui .switch-thumb{transform:translate(1.2rem)}.switch-input:focus-visible+.switch-ui{outline:2px solid #0f4c81;outline-offset:2px}.switch-text{color:#1f2933;font-weight:600}.switch-state{color:#52606d;font-size:.9rem;font-weight:600}.switch-field{justify-content:space-between;width:100%;padding-top:.5rem}.switch-field .switch-text{margin-right:auto}.admin-user-list{display:grid;gap:1rem}.admin-user-list.compact{gap:.75rem}.admin-user-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border-radius:.9rem;border:1px solid #d9e2ec;background:#fff}.admin-user-row-main{display:grid;gap:.45rem;min-width:0}.admin-user-row-actions{display:flex;align-items:center;gap:.5rem;flex:none}.admin-user-modal{width:min(42rem,100%)}.admin-user-form-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.admin-log-list{display:grid;gap:.75rem}.backup-entry-list{display:grid;gap:.75rem;margin-top:1rem}.admin-user-card{display:grid;gap:1rem;padding:1rem;border-radius:.9rem;border:1px solid #d9e2ec;background:#fff}.admin-log-card{display:grid;gap:.35rem;padding:.9rem 1rem;border-radius:.9rem;border:1px solid #d9e2ec;background:#fff}.admin-log-button{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.admin-log-button:hover{border-color:#9fb3c8;background:#f8fafc}.admin-log-button:focus-visible{outline:2px solid #0f4c81;outline-offset:2px}.backup-entry-card{display:grid;gap:.6rem;padding:.9rem 1rem;border-radius:.9rem;border:1px solid #d9e2ec;background:#fff}.admin-log-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.admin-log-action{margin:0;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.admin-log-metadata{margin:0;color:#334e68;font-size:.95rem;word-break:break-word}.admin-log-modal{width:min(36rem,100%)}.admin-log-detail{gap:.85rem}.admin-log-detail .form-actions{margin-top:.25rem}.admin-log-detail-text{margin:0;color:#334e68;word-break:break-word;white-space:pre-wrap}.backup-warning{margin:0 0 .85rem;color:#7c2d12;font-weight:600}.backup-result{display:grid;gap:.75rem;margin-top:.85rem;padding:1rem;border-radius:.9rem;border:1px solid #d9e2ec;background:#fff}.backup-result.success{border-color:#b7dfc5;background:#f3fbf5}.backup-result.failure{border-color:#f3c7c0;background:#fff5f3}.admin-user-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.admin-user-name{margin:0;font-weight:700}.admin-badges{display:flex;flex-wrap:wrap;gap:.5rem}.status-pill{display:inline-flex;align-items:center;padding:.25rem .6rem;border-radius:999px;background:#e6ebf2;color:#334e68;font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.status-pill.active{background:#d1fae5;color:#166534}.status-pill.inactive{background:#fee2e2;color:#b42318}.status-pill.neutral{background:#e6ebf2;color:#334e68}.status-pill.admin{background:#dbeafe;color:#1d4ed8}.message-title{margin:0;font-weight:700}.temporary-password{margin:0;padding:.75rem .9rem;border-radius:.75rem;border:1px dashed #9fb3c8;background:#fff;font-family:monospace;word-break:break-all}@media(max-width:640px){.admin-card-header{grid-template-columns:auto 1fr}.admin-card-summary{grid-column:1 / -1;justify-self:start;text-align:left}.admin-card-title-button{min-width:0}.admin-user-row{align-items:flex-start;flex-direction:column}.admin-user-row-actions{width:100%;justify-content:flex-start}}.editor-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.field{display:grid;gap:.4rem}.field span{color:#52606d;font-size:.9rem;font-weight:600}.field input,.field select{width:100%;padding:.7rem .85rem;border:1px solid #c7d2de;border-radius:.75rem;background:#fff;color:#1f2933;font:inherit}.field-wide{grid-column:1 / -1}.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.button-link,.button-primary,.button-warning,.button-secondary,.button-danger{display:inline-flex;align-items:center;justify-content:center;padding:.7rem 1rem;border-radius:999px;border:1px solid transparent;font:inherit;font-weight:600;text-decoration:none;cursor:pointer}.button-link,.button-primary{background:#0f4c81;color:#fff}.button-warning{background:#92400e;color:#fff}.button-secondary{border-color:#c7d2de;background:#fff;color:#1f2933}.button-danger{border-color:#e6b4ab;background:#fff5f3;color:#b42318}.button-link:disabled,.button-primary:disabled,.button-warning:disabled,.button-secondary:disabled,.button-danger:disabled,.user-button:disabled,.logout-button:disabled,.field input:disabled,.field select:disabled{opacity:.65;cursor:not-allowed}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin:0}.compact-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.detail-grid dt{margin:0 0 .25rem;color:#52606d;font-size:.9rem}.detail-grid dd{margin:0;font-weight:600;word-break:break-word}.item-list{display:grid;gap:1rem}.finalize-stack{display:grid;gap:.75rem}.inline-action-panel{display:grid;gap:.75rem;padding:.9rem;border:1px solid #d9e2ec;border-radius:.9rem;background:#fff}.inline-textarea{width:100%;min-height:5.5rem;padding:.7rem .85rem;border:1px solid #c7d2de;border-radius:.75rem;background:#fff;color:#1f2933;font:inherit;resize:vertical}.workflow-divider{height:1px;background:#d9e2ec;margin:1.25rem 0}.audit-list{display:grid;gap:.75rem;margin:0;padding:0;list-style:none}.audit-item{padding-top:.75rem;border-top:1px solid #d9e2ec}.audit-item:first-child{padding-top:0;border-top:0}.audit-item-header{display:flex;flex-wrap:wrap;gap:.5rem .75rem;align-items:baseline;justify-content:space-between}.audit-item-header span{color:#52606d;font-size:.9rem}.audit-item p{margin:.35rem 0 0;color:#334e68}.item-card{padding:1rem;border-radius:.9rem;border:1px solid #d9e2ec;background:#fff}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1rem;background:#0f172a6b;z-index:20}.dialog-panel{width:min(28rem,100%);display:grid;gap:1rem;padding:1.25rem;border:1px solid #d9e2ec;border-radius:1rem;background:#fff;box-shadow:0 24px 60px #0f172a2e}.dialog-actions{display:flex;flex-wrap:wrap;gap:.75rem}.client-modal{width:min(72rem,100%)}.client-form-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.client-form-grid .field-wide{grid-column:1 / -1}.client-form-grid .postcode-city-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;grid-column:1 / -1}.switch-field{align-items:center;padding-top:.5rem}.accountant-export-validation{margin:0}.accountant-export-actions{align-items:center}@media(max-width:640px){.page{padding:1rem}.panel{padding:1.25rem}.app-header,.section-heading{flex-direction:column}.app-header-actions{width:100%;justify-content:flex-start}.user-button{width:100%}.admin-card-header{grid-template-columns:auto minmax(0,1fr)}.admin-card-summary{grid-column:1 / -1;justify-self:start;text-align:left}}
