:root{--primary-blue: #0066cc;--primary-blue-dark: #004499;--primary-blue-light: #3388dd;--primary-blue-pale: #e6f2ff;--secondary-navy: #1e3a5f;--secondary-teal: #1a7a7a;--secondary-green: #2d7d32;--secondary-orange: #f57c00;--secondary-purple: #9333ea;--neutral-white: #ffffff;--neutral-light-gray: #f8f9fa;--neutral-gray: #e9ecef;--neutral-medium-gray: #6c757d;--neutral-dark-gray: #495057;--neutral-charcoal: #212529;--neutral-black: #000000;--bg-primary: var(--neutral-white);--bg-secondary: var(--neutral-light-gray);--bg-tertiary: var(--neutral-gray);--bg-dark: var(--neutral-charcoal);--bg-accent: var(--primary-blue-pale);--text-primary: var(--neutral-charcoal);--text-secondary: var(--neutral-dark-gray);--text-muted: var(--neutral-medium-gray);--text-light: var(--neutral-white);--text-accent: var(--primary-blue);--border-light: #dee2e6;--border-medium: #ced4da;--border-dark: var(--neutral-medium-gray);--border-accent: var(--primary-blue);--success: #28a745;--success-light: #d4edda;--warning: #ffc107;--warning-light: #fff3cd;--error: #dc3545;--error-light: #f8d7da;--info: var(--primary-blue);--info-light: var(--primary-blue-pale);--link-color: var(--primary-blue);--link-hover: var(--primary-blue-dark);--button-primary: var(--primary-blue);--button-primary-hover: var(--primary-blue-dark);--button-secondary: var(--neutral-gray);--button-secondary-hover: var(--neutral-medium-gray);--shadow-light: rgba(0, 0, 0, .1);--shadow-medium: rgba(0, 0, 0, .15);--shadow-dark: rgba(0, 0, 0, .3);--overlay-light: rgba(255, 255, 255, .9);--overlay-dark: rgba(0, 0, 0, .5);--background-color: var(--bg-primary);--card-background: var(--bg-secondary);--border-color: var(--border-light);--primary-color: var(--primary-blue);--primary-dark: var(--primary-blue-dark);--secondary-color: var(--button-secondary);--secondary-hover: var(--button-secondary-hover);--success-color: var(--success);--warning-color: var(--warning);--error-color: var(--error);--info-color: var(--info);font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:var(--text-primary);background-color:var(--bg-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:var(--link-color);text-decoration:inherit}a:hover{color:var(--link-hover)}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:Crimson Text,serif;font-weight:600;letter-spacing:.025em;color:var(--text-primary)}h1{font-size:3.2em;line-height:1.1}h2{font-size:2.4em;line-height:1.2}h3{font-size:1.8em;line-height:1.3}h4{font-size:1.4em;line-height:1.4}h5{font-size:1.2em;line-height:1.4}h6{font-size:1em;line-height:1.4}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--button-primary);color:var(--text-light);cursor:pointer;transition:all .25s ease}button:hover{background-color:var(--button-primary-hover);border-color:var(--border-accent)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:var(--text-primary);background-color:var(--bg-primary)}a:hover{color:var(--link-hover)}button{background-color:var(--button-primary)}}@media (prefers-color-scheme: dark){:root{--bg-primary: var(--neutral-charcoal);--bg-secondary: #2d3748;--bg-tertiary: #4a5568;--text-primary: var(--neutral-white);--text-secondary: var(--neutral-light-gray);--text-muted: var(--neutral-gray);--border-light: #4a5568;--border-medium: #2d3748}}@media print{body,.ticket-read-page{width:100%;margin:0;padding:0;background:#fff!important;color:#222!important;font-family:Segoe UI,Arial,sans-serif;font-size:12pt}.ticket-read-page{max-width:7.5in;margin:0 auto;padding:.5in .75in;box-shadow:none;border:none;background:#fff}.ticket-read-header{display:block;border-bottom:2px solid #444;margin-bottom:.25in;padding-bottom:.15in;background:none}.header-actions{display:none!important}.ticket-read-content{width:100%;margin:0;padding:0}.info-section{margin-bottom:.25in;page-break-inside:avoid;background:none;border:none;box-shadow:none;padding:0}.field-group,.description-content,.comments-content,.updates-list{margin:.1in 0;padding:0;background:none;border:none}.field{display:flex;flex-direction:row;align-items:baseline;margin-bottom:.08in;font-size:11pt}.field label{font-weight:700;margin-right:.15in;min-width:1.2in;color:#222}.ticket-type,.ticket-status{font-size:11pt;font-weight:400;background:none;color:inherit;padding:0;border-radius:0}.update-item{border-bottom:1px solid #ccc;padding-bottom:.08in;margin-bottom:.08in;page-break-inside:avoid}.update-header{display:flex;flex-direction:row;align-items:center;font-size:10pt;margin-bottom:.05in}.update-date{font-weight:700;margin-right:.2in;color:#444}.ld-badge.assessed{background:#f7e6a2;color:#222;font-weight:700;border-radius:.1in;padding:.05in .15in;margin-left:.1in;font-size:10pt}.update-field label{font-weight:700;margin-right:.1in;color:#222}.update-content{color:#222;font-size:10.5pt}.time-field label{font-weight:700;margin-right:.08in;color:#222}.time-field span{color:#222;font-size:10pt}h1,h2,h5{color:#222;font-family:Segoe UI,Arial,sans-serif;font-weight:700;margin-top:.1in;margin-bottom:.08in;page-break-after:avoid}h1{font-size:18pt}h2{font-size:14pt}h5{font-size:12pt}@page{size:8.5in 11in;margin:.5in}}.ticket-read-page{min-height:100vh;background-color:var(--bg-secondary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;color:var(--text-primary)}.ticket-read-header{background:var(--bg-primary);border-bottom:1px solid var(--border-light);padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 1px 3px #0000001a}.ticket-read-header h1{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.header-actions{display:flex;gap:.5rem}.print-btn,.close-btn{padding:.375rem .75rem;border:1px solid var(--border-light);border-radius:4px;background:var(--bg-primary);cursor:pointer;font-size:.8125rem;transition:all .2s ease;color:var(--text-secondary)}.print-btn:hover{background-color:var(--bg-accent);border-color:var(--primary-blue);color:var(--primary-blue)}.close-btn:hover{background-color:var(--danger-light);border-color:var(--danger);color:var(--danger)}.ticket-read-content{padding:1rem;max-width:1400px;margin:0 auto}.ticket-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;margin-bottom:1rem}.info-section{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:6px;padding:1rem;box-shadow:0 1px 2px #0000000d}.info-section.full-width{grid-column:1 / -1}.info-section h2{margin:0 0 .75rem;font-size:1rem;font-weight:600;color:var(--text-primary);border-bottom:1px solid var(--border-light);padding-bottom:.375rem}.field-group{display:flex;flex-direction:column;gap:.5rem}.field{display:grid;grid-template-columns:100px 1fr;gap:.5rem;align-items:start}.field label{font-weight:500;color:var(--text-secondary);font-size:.8125rem}.field span{color:var(--text-primary);word-wrap:break-word;font-size:.875rem}.ticket-type{border-radius:3px;font-size:.6875rem;font-weight:600;text-transform:uppercase;display:inline-block}.ticket-type.normal{background-color:var(--primary-blue-pale);color:var(--primary-blue)}.ticket-type.special-repair{background-color:var(--danger-light);color:var(--danger)}.ticket-status{font-size:11pt;font-weight:400;display:inline}.description-content,.comments-content{background-color:var(--bg-secondary);border:1px solid var(--border-light);border-radius:4px;padding:.75rem;white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace;font-size:.8125rem;line-height:1.4;color:var(--text-primary);min-height:2rem}.updates-list{display:flex;flex-direction:column;gap:.75rem}.update-item{background-color:var(--bg-secondary);border:1px solid var(--border-light);border-radius:4px;padding:.75rem}.update-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;border-bottom:1px solid var(--border-light);padding-bottom:.375rem}.update-date{font-size:.8125rem;background:none;color:#222;font-size:.8rem;@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}}.update-date .ld-badge{padding:.125rem .375rem;border-radius:3px;font-size:.6875rem;font-weight:600;text-transform:uppercase}.update-date .ld-badge.assessed{background-color:var(--success-light);color:var(--success)}.update-date .ld-badge.not-assessed{background-color:var(--warning-light);color:var(--warning)}.update-date .update-details{display:flex;flex-direction:column;gap:.5rem}.update-date .update-field{display:flex;flex-direction:column;gap:.25rem}.update-date .update-field label{font-weight:500;color:var(--text-secondary);font-size:.75rem}.update-date .update-content{color:var(--text-primary);font-size:.8125rem;line-height:1.4;background-color:var(--bg-primary);padding:.375rem;border-radius:3px;border:1px solid var(--border-light)}.update-date .update-times{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem;margin-top:.25rem}.update-date .time-field{display:flex;flex-direction:column;gap:.125rem}.update-date .time-field label{font-weight:500;color:var(--text-secondary);font-size:.6875rem}.update-date .time-field span{color:var(--text-primary);font-size:.75rem}.update-date .loading-container,.update-date .error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;text-align:center}.update-date .loading-spinner{width:32px;height:32px;border:3px solid var(--border-light);border-top:3px solid var(--primary-blue);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:.75rem}.update-date .error-container h2{color:var(--danger);margin-bottom:.5rem;font-size:1.25rem}.update-date .error-container p{color:var(--text-secondary);margin-bottom:1rem}.update-date .error-container button{padding:.5rem 1rem;background-color:var(--primary-blue);color:var(--text-light);border:none;border-radius:4px;cursor:pointer;font-size:.8125rem;font-weight:500}.update-date .error-container button:hover{background-color:var(--primary-blue-dark)}@media print{.update-date .ticket-read-page{background-color:#fff}.update-date .ticket-read-header{box-shadow:none;border-bottom:2px solid #000;padding:.5rem 1rem}.update-date .header-actions{display:none}.update-date .ticket-read-content{padding:.5rem}.update-date .info-section{border:1px solid #000;box-shadow:none;page-break-inside:avoid;margin-bottom:.5rem;padding:.5rem}.update-date .description-content,.update-date .comments-content,.update-date .update-content{background-color:transparent;border:1px solid #ccc}.update-date .update-item{background-color:transparent;border:1px solid #ccc;page-break-inside:avoid}}@media (max-width: 768px){.update-date .ticket-info-grid{grid-template-columns:1fr}.update-date .ticket-read-header{flex-direction:column;align-items:flex-start;gap:.75rem;padding:.75rem 1rem}.update-date .header-actions{align-self:flex-end}.update-date .field{grid-template-columns:1fr;gap:.25rem}.update-date .update-times{grid-template-columns:1fr}.update-date .ticket-read-content{padding:.75rem}}
