:root{font-feature-settings:"cv11", "ss01", "ss03", "cv02", "cv03", "cv04";letter-spacing:-.005em;color:#0f172a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f1f5f9;font-family:Inter,Inter var,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-weight:400;line-height:1.4}code,pre,kbd,samp{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}*{box-sizing:border-box}body{margin:0}button,input,select,textarea,::placeholder{font:inherit;letter-spacing:inherit}.app-shell{color:#0f172a;width:100%;margin:0;padding:10px 12px}.app-header{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:12px;display:flex}.app-header h1{letter-spacing:-.02em;color:#0f172a;margin:0;font-size:1.45rem;font-weight:700}.app-header p{color:#475569;letter-spacing:-.005em;margin:4px 0 0;font-size:.9rem}.header-actions{align-items:center;gap:8px;display:flex}.header-user{align-items:center;margin-left:2px;display:inline-flex}.header-user .cl-userButtonAvatarBox,.header-user .cl-avatarBox{width:32px;height:32px}.panel{background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:10px;padding:12px;box-shadow:0 1px 2px #0f172a0a}.panel h2{letter-spacing:.02em;text-transform:uppercase;color:#475569;margin:0 0 8px;font-size:.85rem;font-weight:600}.csv-import{color:#1d4ed8;cursor:pointer;background:#eff6ff;border:1px solid #2563eb;border-radius:6px;padding:7px 10px;font-size:.85rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.csv-import input{opacity:0;cursor:pointer;position:absolute;inset:0}.add-client-form{grid-template-columns:1.2fr 1.6fr 1.4fr 2fr auto;gap:8px;display:grid}.add-client-form input,.add-client-form button{border:1px solid #cbd5e1;border-radius:6px;padding:7px 8px;font-size:.85rem}.add-client-form button{color:#fff;background:#2563eb;border-color:#2563eb;font-weight:600}.reset-actions{flex-wrap:wrap;gap:8px;display:flex}.reset-actions button{color:#1f2937;background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;padding:7px 10px;font-size:.8rem}.reset-actions .danger{color:#991b1b;background:#fef2f2;border-color:#fca5a5}.reset-hint{color:#6b7280;margin:8px 0 0;font-size:.78rem}.table-container{overflow:auto}table{border-collapse:collapse;table-layout:fixed;width:100%}th,td{text-align:left;border:1px solid #e5e7eb;padding:6px;font-size:.82rem;overflow:hidden}tbody td{padding:3px}thead th{z-index:1;color:#0f172a;vertical-align:top;letter-spacing:-.005em;background:#f8fafc;font-weight:700;position:sticky;top:0}tbody tr{transition:background-color .12s}tbody tr:hover{background:#f8fafc}col.col-client-code{width:78px}col.col-name{width:20%}col.col-source{width:18%}col.col-notes{width:auto}col.col-tracking{width:72px}.notes-cell{position:relative}.notes-cell input{padding-right:32px}.delete-client-button{color:#94a3b8;cursor:pointer;opacity:0;pointer-events:none;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;padding:0;transition:color .16s,background-color .16s,border-color .16s,opacity .18s,transform .24s cubic-bezier(.22,1,.36,1);display:inline-flex;position:absolute;top:50%;right:6px;overflow:hidden;transform:translateY(-50%)translate(8px)}tbody tr:hover .delete-client-button,.notes-cell:focus-within .delete-client-button,.delete-client-button:focus-visible{opacity:1;pointer-events:auto;transform:translateY(-50%)translate(0)}.delete-client-button:hover:not(:disabled),.delete-client-button:focus-visible:not(:disabled){color:#b91c1c;background:#fef2f2;border-color:#fecaca;outline:none}.delete-client-button:disabled{opacity:.6;cursor:not-allowed}.delete-client-icon{display:block}.delete-client-spinner{color:#94a3b8;justify-content:center;align-items:center;font-size:.85rem;display:inline-flex}.tracking-col-header{padding:4px 2px}.tracking-col-header-title{text-align:center;word-break:break-word;white-space:normal;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-weight:700;line-height:1.15;display:flex;position:relative}.tracking-col-header-title .tracking-col-label{flex-direction:column;align-items:center;line-height:1.15;display:flex}.header-edit-button{color:#64748b;cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:20px;height:20px;margin:0;padding:0;transition:opacity .16s,transform .16s,color .16s,background-color .16s;display:inline-flex;position:absolute;top:0;right:2px;transform:translate(-2px)}.tracking-col-header:hover .header-edit-button,.tracking-col-header:focus-within .header-edit-button{opacity:1;transform:translate(0)}.header-edit-button:hover,.header-edit-button:focus-visible{color:#1d4ed8;background:#eff6ff;outline:none}.header-edit-icon{display:block}.period-pill{text-align:center;color:#0e7490;word-break:break-word;background:#ecfeff;border:1px solid #a5f3fc;border-radius:4px;justify-content:center;align-items:center;margin-top:4px;padding:2px 6px;font-size:.72rem;font-weight:600;line-height:1.2;display:flex}.period-pill-due{color:inherit;white-space:nowrap}.period-pill-empty{color:#6b7280;background:#f3f4f6;border-color:#e5e7eb;font-weight:500}.inline-period-editor{flex-direction:column;gap:4px;margin-top:4px;display:flex}.inline-period-editor .period-input,.inline-period-editor .period-date{border:1px solid #cbd5e1;border-radius:4px;width:100%;padding:3px 6px;font-size:.76rem}.inline-period-actions{gap:4px;display:flex}.inline-period-actions button{color:#1f2937;cursor:pointer;background:#f8fafc;border:1px solid #cbd5e1;border-radius:4px;padding:3px 6px;font-size:.72rem}.inline-period-actions button[type=submit]{color:#fff;background:#2563eb;border-color:#2563eb;font-weight:600}tbody td input[type=text],tbody td input:not([type]){width:100%}td input{background:0 0;border:1px solid #0000;border-radius:4px;padding:2px 6px;font-size:.82rem}td input:focus{background:#eff6ff;border-color:#60a5fa;outline:none}.checkbox-cell{text-align:center;padding:0}.checkbox-cell.not-applicable{color:#9ca3af;background:repeating-linear-gradient(45deg,#f9fafb,#f9fafb 4px,#f3f4f6 4px 8px)}.checkbox-cell.applicability-cell.applicable,.checkbox-cell.lodge-cell.lodged{background:#d1fae5}.cell-toggle-button{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;width:100%;height:100%;min-height:28px;padding:0;display:inline-flex}.toggleable-cell{cursor:pointer}.cell-toggle-button:hover,.cell-toggle-button:focus-visible{color:#1d4ed8;background:#2563eb14;outline:none}.checkbox-cell.lodge-cell.lodged .cell-toggle-button{color:#047857}.checkbox-cell.lodge-cell.lodged .cell-toggle-button:hover,.checkbox-cell.lodge-cell.lodged .cell-toggle-button:focus-visible{background:#05966924}.cell-tick{pointer-events:none;font-size:.95rem;font-weight:700;line-height:1}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mode-toggle{background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;display:inline-flex;overflow:hidden}.mode-toggle button{color:#1f2937;cursor:pointer;background:0 0;border:none;padding:6px 10px;font-size:.8rem;font-weight:500}.mode-toggle button+button{border-left:1px solid #cbd5e1}.mode-toggle button.active{color:#fff;background:#2563eb;font-weight:700}.empty-state{text-align:center;color:#6b7280;padding:16px}.status{color:#1e40af;margin-top:4px;font-size:.82rem}.modal-backdrop{z-index:50;background:#0f172a73;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-card{background:#fff;border-radius:10px;width:min(600px,100%);max-height:calc(100vh - 48px);overflow:auto;box-shadow:0 15px 40px #0f172a40}.modal-header{justify-content:space-between;align-items:center;padding:14px 18px 8px;display:flex}.modal-header h2{color:#111827;margin:0;font-size:1rem}.modal-close{cursor:pointer;color:#6b7280;background:0 0;border:none;font-size:1.3rem;line-height:1}.modal-body{flex-direction:column;gap:12px;padding:4px 18px 12px;display:flex}.modal-warning{color:#92400e;background:#fef3c7;border:1px solid #fcd34d;border-radius:6px;margin:0;padding:10px 12px;font-size:.85rem}.payg-toggle{color:#1f2937;background:#f8fafc;border:1px solid #e5e7eb;border-radius:6px;align-items:center;gap:8px;padding:8px 10px;font-size:.82rem;display:flex}.period-editor{flex-direction:column;gap:8px;display:flex}.period-editor-row{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;grid-template-columns:1.1fr 1.5fr 1fr;align-items:center;gap:8px;padding:8px;display:grid}.period-editor-label{color:#111827;flex-direction:column;font-size:.82rem;font-weight:600;display:flex}.period-previous{color:#6b7280;margin-top:2px;font-size:.72rem;font-weight:400}.period-input,.period-date{background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:6px 8px;font-size:.85rem}.typed-confirmation{color:#991b1b;background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;flex-direction:column;gap:6px;padding:10px 12px;font-size:.85rem;display:flex}.typed-confirmation input{border:1px solid #fca5a5;border-radius:6px;padding:6px 8px;font-size:.85rem}.modal-error{color:#b91c1c;margin:0;font-size:.82rem}.modal-footer{background:#f9fafb;border-top:1px solid #f3f4f6;justify-content:flex-end;gap:8px;padding:10px 18px 14px;display:flex}.modal-footer button{color:#1f2937;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:7px 14px;font-size:.85rem;font-weight:500}.modal-footer button.danger{color:#fff;background:#dc2626;border-color:#dc2626;font-weight:700}.modal-footer button:disabled{opacity:.6;cursor:not-allowed}@media (width<=960px){.app-header{flex-direction:column;align-items:flex-start}.add-client-form,.period-editor-row{grid-template-columns:1fr}}.auth-loading{color:#4b5563;justify-content:center;align-items:center;min-height:100vh;font-size:.95rem;display:flex}.auth-signin-screen{background:#f1f5f9;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-signin-card{flex-direction:column;align-items:center;gap:12px;width:100%;max-width:440px;display:flex}.auth-signin-title{color:#111827;margin:0;font-size:1.6rem}.auth-signin-subtitle{color:#4b5563;margin:0 0 8px;font-size:.9rem}
