@charset "UTF-8";.pc-header{display:flex;align-items:center;gap:10px;padding:6px 8px 6px 4px;background:var(--section-header, #1e3a8a);color:var(--text-on-blue, #fff);border-bottom:1px solid rgba(0,0,0,.25)}.pc-header h1{font-size:14px;margin:0;font-weight:600}.pc-header .pc-menu{display:flex;gap:2px;margin-left:0;font-size:11.5px;align-self:stretch;position:relative}.pc-header .pc-menu-item{position:relative}.pc-header .pc-menu-item>button{height:24px;padding:0 10px;background:transparent;color:#fff;border:0;font-size:12px;cursor:pointer;border-radius:4px;display:inline-flex;align-items:center}.pc-header .pc-menu-item>button:hover,.pc-header .pc-menu-item.open>button{background:#ffffff24}.pc-header .pc-dropdown{position:absolute;top:100%;left:0;z-index:1100;background:#fff;color:#111;min-width:180px;border:1px solid #cfd4dc;border-radius:4px;box-shadow:0 6px 18px #0000002e;padding:4px 0}.pc-header .pc-dropdown.wide{min-width:220px}.pc-header .pc-dropdown button{display:block;width:100%;text-align:left;background:transparent;border:0;padding:6px 14px;font-size:12px;cursor:pointer;color:#111}.pc-header .pc-dropdown button .kbd{float:right;color:#6b7280;font-size:10px;background:#f3f4f6;padding:1px 5px;border-radius:3px;border:1px solid #e5e7eb;margin-left:8px}.pc-header .pc-dropdown button:hover{background:#eef2ff}.pc-header .pc-dropdown button.current{background:#e0f2fe;font-weight:600}.pc-header .pc-dropdown .sep{height:1px;background:#e5e7eb;margin:4px 0}.pc-header .pc-grow{flex:1}.pc-header .pc-goto{display:flex;gap:6px;align-items:center}.pc-header .pc-goto input,.pc-header .pc-goto button{background:#fff;color:#111;border:1px solid #d1d5db;padding:3px 10px;font-size:12px;border-radius:2px}.pc-header .pc-goto button:hover{background:#f3f4f6;cursor:pointer}.pc-header>button{box-sizing:border-box;height:24px;min-height:24px;padding:0 12px;margin:0;font-size:12px;font-weight:500;font-family:inherit;border-radius:4px;border:1px solid #d1d5db;background:#fff;color:#111;cursor:pointer;line-height:1;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;transition:background .1s,border-color .1s;vertical-align:middle}.pc-header>button:hover{background:#f3f4f6;border-color:#9ca3af}.pc-header>button[disabled]{opacity:.55;cursor:default}.pc-header>button.primary{background:var(--btn-primary-bg, #2b5797);color:#fff;border-color:var(--btn-primary-border, #1e4276)}.pc-header>button.primary:hover{background:var(--btn-primary-hover, #1e4276);border-color:var(--btn-primary-hover, #1e4276)}.pc-header>button.success{background:var(--btn-success-bg, #047857);color:#fff;border-color:var(--btn-success-border, #065f46)}.pc-header>button.success:hover{background:var(--btn-success-hover, #065f46);border-color:var(--btn-success-hover, #065f46)}.pc-header>button.danger{background:#fff;color:var(--btn-danger-bg, #dc2626);border-color:var(--btn-danger-bg, #dc2626);font-weight:600}.pc-header>button.danger:hover{background:var(--btn-danger-bg, #dc2626);color:#fff;border-color:var(--btn-danger-border, #b91c1c)}.pc-status-bar{display:flex;align-items:center;gap:3px;padding:4px 12px;background:#9ca3af}.pc-status-spacer{flex:1}.pc-status-goto{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:#1f2937}.pc-status-goto input{height:24px;box-sizing:border-box;width:110px;padding:0 8px;border:1px solid #6b7280;background:#fff;border-radius:4px;font-size:12px}.pc-status-goto button{height:24px;padding:0 12px;border:1px solid #6b7280;background:#d1d5db;color:#1f2937;font-weight:600;border-radius:4px;cursor:pointer;font-size:12px;display:inline-flex;align-items:center;justify-content:center}.pc-status-goto button:hover{background:#e5e7eb}.pc-status-btn{height:24px;padding:0 20px;border:1px solid #6b7280;background:#d1d5db;color:#1f2937;cursor:pointer;font-weight:600;letter-spacing:.03em;border-radius:4px;font-size:12px;display:inline-flex;align-items:center;justify-content:center}.pc-status-btn:hover{background:#e5e7eb}.pc-status-btn.is-active{background:#fff;color:#1e40af;border-color:#1e40af;box-shadow:inset 0 0 0 1px #1e40af}.pc-status-btn.complete.is-active{color:#065f46;border-color:#065f46;box-shadow:inset 0 0 0 1px #065f46}.pc-tabs{display:flex;gap:0;background:#fff;border-bottom:1px solid var(--border-light, #d1d5db);padding:0 8px}.pc-tab{height:30px;padding:0 14px;font-size:12px;font-family:inherit;cursor:pointer;border:none;border-bottom:3px solid transparent;background:transparent;color:var(--text-primary, #111);display:inline-flex;align-items:center;white-space:nowrap;transition:border-color .15s,color .15s}.pc-tab:hover{border-bottom-color:#a0bdd8}.pc-tab.active{font-weight:600;color:#2b5797;border-bottom-color:#2b5797}.pc-tabs-row{display:flex;justify-content:space-between;align-items:center;background:#fff;border-bottom:1px solid var(--border-light, #d1d5db);padding-right:10px}.pc-tabs-row .pc-tabs{border-bottom:0}.pc-tabs-goto{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:#1f2937}.pc-tabs-goto input{height:24px;box-sizing:border-box;width:110px;padding:0 8px;border:1px solid #9ca3af;background:#fff;border-radius:4px;font-size:12px}.pc-tabs-goto button{height:24px;padding:0 12px;border:1px solid #9ca3af;background:#f3f4f6;color:#1f2937;font-weight:600;border-radius:4px;cursor:pointer;font-size:12px;display:inline-flex;align-items:center;justify-content:center}.pc-tabs-goto button:hover{background:#e5e7eb}.pc-action-bar{display:flex;gap:6px;padding:6px 12px;background:#3a6db0;color:#fff}.pc-action-bar .pc-action-btn{height:24px;padding:0 12px;background:#f4f4f4;border:1px solid #88a3c9;color:#222;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.pc-action-bar .pc-action-btn:hover:not([disabled]){background:#dcdcdc}.pc-action-bar .pc-action-btn[disabled]{background:#b8c7da;color:#556;cursor:default}.job-bar{display:flex;align-items:center;gap:12px;padding:6px 12px;background:#fff;border-bottom:1px solid #d0d7de;font-size:12px}.job-bar__left{flex:1;min-width:0}.job-bar__left strong{font-weight:600}.job-bar__right{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.job-bar__right label{color:var(--text-secondary, #6b7280);font-size:11px}.job-bar__right input[type=text]{height:24px;padding:0 12px;font-size:12px;border:1px solid #d1d5db;border-radius:4px;background:#fff;width:7em}.job-bar__right>button{box-sizing:border-box;height:24px;padding:0 12px;font-size:12px;font-weight:500;background:#fff;color:#111;border:1px solid #d1d5db;border-radius:4px;cursor:pointer;line-height:1;display:inline-flex;align-items:center}.job-bar__right>button:hover{background:#f3f4f6}.job-bar__placeholder{color:var(--text-secondary, #6b7280)}:root{color-scheme:light;--btn-height: 24px;--btn-padding-x: 12px;--btn-font-size: 12px;--btn-radius: 4px;--btn-border: #d1d5db;--btn-bg: #ffffff;--btn-hover: #f3f4f6;--btn-active: #e5e7eb;--btn-primary-bg: #2b5797;--btn-primary-border: #1e4276;--btn-primary-hover: #1e4276;--btn-success-bg: #047857;--btn-success-border: #065f46;--btn-success-hover: #065f46;--btn-danger-bg: #dc2626;--btn-danger-border: #b91c1c;--btn-danger-text: #ffffff;--btn-danger-hover: #b91c1c;--grid-header-bg: #f3f4f6;--grid-header-border: #d1d5db;--grid-header-text: #111;--grid-footer-bg: #e5e7eb;--grid-footer-border: #9ca3af;--grid-row-border: #e5e7eb;--grid-row-alt-bg: #fafafa;--af-blue: #2b5797;--af-blue-dark: #1e4276;--af-blue-darker: #152f55;--af-blue-light: #3a6faa;--af-blue-pale: #dce5ee;--af-blue-hover: #cdd8e4;--af-blue-selected: #316AC5;--app-bg: #f0f0f0;--panel-bg: #ffffff;--panel-border: #c0c8d0;--border-light: #d4d8dc;--border-medium: #b8c0c8;--surface-raised: #f8f9fa;--section-header: #2b5797;--page-toolbar-bg: #f0f0f0;--page-toolbar-border: #ddd;--page-toolbar-text: var(--text-primary);--blue-banner: #2b5797;--nav-bg: #1e293b;--text-primary: #1a1a1a;--text-secondary: #444444;--text-muted: #888888;--text-on-blue: #ffffff;--text-link: #2b5797;--grid-header-bg: #f4f5f7;--grid-header-border:#dde0e4;--grid-alt-row: #f7f9fb;--grid-hover: #e3eaf2;--grid-selected: #316AC5;--grid-selected-text:#ffffff;--positive: #388e3c;--positive-light: #d1fae5;--positive-text: #065f46;--negative: #d32f2f;--negative-light: #fef2f2;--negative-text: #991b1b;--warning: #ef6c00;--warning-light: #fff7ed;--warning-text: #9a3412;--caution: #f9a825;--caution-light: #fef3c7;--caution-text: #92400e;--info: #1976d2;--info-light: #dbeafe;--info-text: #1e40af;--accent-green: var(--positive);--accent-red: var(--negative);--accent-orange: var(--warning);--accent-yellow: var(--caution);--status-bar-bg: var(--grid-header-bg);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:12px;line-height:1.35;background:var(--app-bg);color:var(--text-primary)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--app-bg)}body{color:var(--text-primary)}button,input,select,textarea{font:inherit}a{color:var(--af-blue);text-decoration:none}a:hover{text-decoration:underline}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f0f0f0}::-webkit-scrollbar-thumb{background:#bbb;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#999}.af-panel{border:1px solid var(--panel-border);background:var(--panel-bg);margin-bottom:8px}.af-panel-header{background:var(--section-header);color:var(--text-on-blue);padding:4px 10px;font-size:11px;font-weight:600;text-align:center;letter-spacing:.02em}.af-panel-body{padding:8px 10px}.af-grid{width:100%;border-collapse:collapse;font-size:11px}.af-grid th{background:var(--grid-header-bg);border:1px solid var(--grid-header-border);padding:3px 6px;text-align:left;font-weight:600;white-space:nowrap;position:sticky;top:0;z-index:1}.af-grid td{border:1px solid var(--border-light);padding:2px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.af-grid tr:nth-child(2n){background:var(--grid-alt-row)}.af-grid tr:hover{background:var(--grid-hover)}.af-grid tr.selected{background:var(--grid-selected)!important;color:var(--grid-selected-text)}.af-kv{display:grid;grid-template-columns:auto 1fr;gap:3px 8px;align-items:center;font-size:11px}.af-kv-label{font-weight:600;color:var(--text-secondary);white-space:nowrap;padding:2px 0}.af-kv-label.required{color:var(--accent-red)}.af-kv-value{padding:2px 0}.af-input{width:100%;padding:3px 6px;border:1px solid var(--border-medium);background:#fff;font-size:11px;color:var(--text-primary)}.af-input:focus{border-color:var(--af-blue);outline:none;box-shadow:0 0 0 1px #2b579733}.af-select{padding:2px 4px;border:1px solid var(--border-medium);background:#fff;font-size:11px}.af-btn{box-sizing:border-box;height:var(--btn-height);min-height:var(--btn-height);margin:0;padding:0 var(--btn-padding-x);border:1px solid var(--btn-border);border-radius:var(--btn-radius);background:var(--btn-bg);color:#111;font-size:var(--btn-font-size);font-weight:500;font-family:inherit;cursor:pointer;white-space:nowrap;line-height:1;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;transition:background .1s,border-color .1s}.af-btn:hover:not(:disabled){background:var(--btn-hover);border-color:#9ca3af}.af-btn:active:not(:disabled){background:var(--btn-active)}.af-btn:disabled{opacity:.55;cursor:default}.af-btn-primary{background:var(--btn-primary-bg);color:#fff;border-color:var(--btn-primary-border);font-weight:600}.af-btn-primary:hover:not(:disabled){background:var(--btn-primary-hover);border-color:var(--btn-primary-hover)}.af-btn-danger{background:#fff;color:var(--btn-danger-bg);border-color:var(--btn-danger-bg);font-weight:600}.af-btn-danger:hover:not(:disabled){background:var(--btn-danger-bg);color:var(--btn-danger-text);border-color:var(--btn-danger-border)}.af-btn-success{background:var(--btn-success-bg);color:#fff;border-color:var(--btn-success-border);font-weight:600}.af-btn-success:hover:not(:disabled){background:var(--btn-success-hover);border-color:var(--btn-success-hover)}.af-btn-positive{background:#fff;color:var(--positive, #047857);border-color:var(--positive, #047857)}.af-btn-positive:hover:not(:disabled){background:#ecfdf5}.af-btn-group{display:flex;gap:4px}.af-toolbar{display:flex;align-items:center;gap:4px;padding:4px 6px;background:#f0f2f4;border:1px solid var(--border-light);margin-bottom:4px}.af-toolbar-sep{width:1px;height:20px;background:#c0c8d0;margin:0 4px}.af-tabs{display:flex;border-bottom:1px solid var(--panel-border);background:#f8f9fa}.af-tab{padding:6px 16px;border:1px solid transparent;border-bottom:none;background:transparent;font-size:11px;cursor:pointer;white-space:nowrap;color:var(--text-secondary)}.af-tab:hover{background:#e8ecf0}.af-tab.active{background:#fff;border-color:var(--panel-border);border-bottom:1px solid #fff;margin-bottom:-1px;font-weight:600;color:var(--text-primary)}.af-badge{display:inline-block;padding:1px 6px;font-size:10px;font-weight:600;border-radius:2px;white-space:nowrap}.af-badge-new{background:var(--info-light);color:var(--info-text)}.af-badge-progress{background:var(--caution-light);color:var(--caution-text)}.af-badge-complete{background:var(--positive-light);color:var(--positive-text)}.af-badge-cancelled{background:var(--negative-light);color:var(--negative-text)}.af-badge-draft{background:var(--surface-raised);color:var(--text-secondary)}.af-badge-posted{background:var(--info-light);color:var(--info-text)}.chip--new{background:#dbeafe;color:#1e40af}.chip--estimating{background:#e0f2fe;color:#075985}.chip--authority{background:#fef9c3;color:#854d0e}.chip--booked-in{background:#fef3c7;color:#92400e}.chip--in-progress{background:#fed7aa;color:#9a3412}.chip--qc{background:#f3e8ff;color:#7e22ce}.chip--complete{background:#d1fae5;color:#065f46}.chip--invoiced{background:#f1f5f9;color:#334155}.chip--closed,.chip--default{background:#e5e7eb;color:#374151}.af-check{color:var(--accent-green);font-weight:700}.af-cross{color:var(--accent-red);font-weight:700}.af-dash{color:var(--accent-red)}.af-loading{padding:20px;text-align:center;color:var(--text-muted);font-style:italic}.af-error{padding:8px 12px;background:#fef2f2;border:1px solid #fecaca;color:var(--accent-red);font-size:11px;margin-bottom:8px}.af-empty{padding:20px;text-align:center;color:var(--text-muted)}.af-context-menu{position:fixed;background:#f8f8f8;border:1px solid #888;min-width:180px;padding:2px 0;z-index:9999;box-shadow:2px 2px 6px #00000026}.af-context-item{display:flex;justify-content:space-between;padding:4px 12px;font-size:11px;color:#1a1a1a;cursor:pointer;white-space:nowrap}.af-context-item:hover{background:#316ac5;color:#fff}.af-context-item.bold{font-weight:600}.af-context-item .shortcut{color:#888;margin-left:20px}.af-context-item:hover .shortcut{color:#ddd}.af-context-sep{height:1px;background:silver;margin:2px 4px}.af-modal-overlay{position:fixed;inset:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:10000}.af-modal{background:#fff;border:1px solid #888;min-width:400px;max-width:90vw;max-height:85vh;overflow-y:auto;box-shadow:4px 4px 12px #0003}.af-modal-header{background:var(--section-header);color:#fff;padding:6px 12px;font-weight:600;font-size:12px;display:flex;justify-content:space-between;align-items:center}.af-modal-body{padding:12px}.af-modal-footer{padding:8px 12px;border-top:1px solid var(--border-light);display:flex;justify-content:flex-end;gap:6px}.af-text-right{text-align:right}.af-text-center{text-align:center}.af-text-muted{color:var(--text-muted)}.af-text-red{color:var(--accent-red)}.af-text-green{color:var(--accent-green)}.af-text-bold{font-weight:600}.af-text-small{font-size:10px}.af-mt-4{margin-top:4px}.af-mt-8{margin-top:8px}.af-mb-4{margin-bottom:4px}.af-mb-8{margin-bottom:8px}.af-gap-4{gap:4px}.af-flex{display:flex}.af-flex-col{display:flex;flex-direction:column}.af-flex-1{flex:1}.af-flex-between{display:flex;justify-content:space-between;align-items:center}.af-nowrap{white-space:nowrap}.af-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.af-currency:before{content:"\a3"}
