/*! tailwindcss v4.1.15 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-100:oklch(93.6% .032 17.717);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-800:oklch(47.6% .114 61.907);--color-green-100:oklch(96.2% .044 156.743);--color-green-800:oklch(44.8% .119 151.328);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-800:oklch(43.8% .218 303.724);--color-gray-50:#f8fafc;--color-gray-100:#f1f5f9;--color-gray-200:#e2e8f0;--color-gray-300:#cbd5e1;--color-gray-500:#64748b;--color-gray-600:#475569;--color-gray-700:#334155;--color-gray-800:#1e293b;--color-gray-900:#0f172a;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--font-weight-medium:500;--font-weight-semibold:600;--radius-md:.375rem;--radius-lg:.5rem;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-primary-light:#dbeafe;--color-brand:#133353;--color-accent:#4a9eff;--color-accent-light:#eff6ff;--color-accent-lighter:#f0f9ff;--color-accent-border:#93c5fd;--color-success:#16a34a;--color-success-hover:#15803d;--color-success-light:#dcfce7;--color-success-dark:#166534;--color-success-bright:#10b981;--color-success-darker:#059669;--color-success-bg:#f0fdf4;--color-success-bg-light:#d1fae5;--color-error:#dc2626;--color-error-hover:#b91c1c;--color-error-light:#fee2e2;--color-error-lighter:#fef2f2;--color-error-dark:#991b1b;--color-error-bright:#ef4444;--color-error-border:#fca5a5;--color-error-bg:#fecaca;--color-error-darkest:#7f1d1d;--color-warning:#f59e0b;--color-warning-hover:#d97706;--color-warning-light:#fef3c7;--color-warning-dark:#92400e;--color-warning-bright:#eab308;--color-warning-bg:#fefce8;--color-info:#3b82f6;--color-info-light:#eff6ff;--color-indigo:#4f46e5;--color-indigo-light:#c7d2fe;--color-indigo-bg:#e0e7ff;--color-purple:#9b59b6;--color-purple-bg:#f3e8ff;--color-purple-border:#e9d5ff;--color-purple-dark:#6b21a8;--color-violet:#7c3aed;--color-violet-mid:#8b5cf6;--color-amber-dark:#a16207;--color-text-primary:#1e3a5f;--color-text-secondary:#64748b;--color-text-tertiary:#94a3b8;--color-text-muted:#cbd5e1;--color-text-dark:#1f2937;--color-text-near-black:#111827;--color-text-medium:#374151;--color-text-body:#2d2a2e;--color-text-hint:#6b7280;--color-text-disabled:#95a5a6;--color-text-placeholder:#7f8c8d;--color-text-subtle:#bdc3c7;--color-bg-primary:#fff;--color-bg-secondary:#f7f5f7;--color-bg-tertiary:#e5e7eb;--color-bg-hover:#e5e7eb;--color-bg-white-soft:#fefefe;--color-bg-ultra-light:#f9fafb;--color-bg-disabled:#f5f5f5;--color-bg-warm:#faf8fa;--color-bg-mid:#e9ecef;--color-bg-cool-light:#f3f4f6;--color-bg-skeleton:#f5f6f8;--color-bg-deep:#0a1929;--color-bg-error-soft:#fff5f5;--color-bg-success-soft:#e8f5e9;--color-bg-info-soft:#e0f2fe;--color-bg-warning-soft:#fffbeb;--color-bg-purple-soft:#e9d5f5;--color-bg-blue-soft:#c3e4ff;--color-bg-green-soft:#f1f8e9;--color-border-light:#e5e7eb;--color-border-medium:#d1d5db;--color-border-dark:#9ca3af;--color-border-input:#e1e5e9;--color-border-generic:#ddd;--color-border-accent:#bfdbfe;--color-orange-light:#fff7ed;--color-orange-dark:#9a3412;--color-tooltip-bg:#2c3e50;--color-accent-deep:#1e3a8a;--color-accent-mid:#2980b9;--color-success-green:#4ade80;--color-orange-mid:#f97316;--color-orange-warm:#fed7aa;--color-sky-blue:#3498db;--color-green-legacy:#27ae60;--color-red-legacy:#e74c3c;--color-red-bright:#c00}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-2\.5{height:calc(var(--spacing)*2.5)}.min-h-screen{min-height:100vh}.w-2\.5{width:calc(var(--spacing)*2.5)}.w-auto{width:auto}.flex-1{flex:1}.border-collapse{border-collapse:collapse}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.rounded{border-radius:.25rem}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-border-light{border-color:var(--color-border-light)}.border-gray-300{border-color:var(--color-gray-300)}.bg-bg-cool-light{background-color:var(--color-bg-cool-light)}.bg-bg-primary{background-color:var(--color-bg-primary)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-border-dark{background-color:var(--color-border-dark)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-green-100{background-color:var(--color-green-100)}.bg-orange-light{background-color:var(--color-orange-light)}.bg-purple-100{background-color:var(--color-purple-100)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-600{background-color:var(--color-red-600)}.bg-warning-light{background-color:var(--color-warning-light)}.bg-white{background-color:var(--color-white)}.bg-yellow-100{background-color:var(--color-yellow-100)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-bg-primary{color:var(--color-bg-primary)}.text-blue-800{color:var(--color-blue-800)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-green-800{color:var(--color-green-800)}.text-orange-dark{color:var(--color-orange-dark)}.text-purple-800{color:var(--color-purple-800)}.text-red-800{color:var(--color-red-800)}.text-text-dark{color:var(--color-text-dark)}.text-text-near-black{color:var(--color-text-near-black)}.text-warning-dark{color:var(--color-warning-dark)}.text-white{color:var(--color-white)}.text-yellow-800{color:var(--color-yellow-800)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media (hover:hover){.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-red-700:hover{background-color:var(--color-red-700)}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.focus\:ring-gray-500:focus{--tw-ring-color:var(--color-gray-500)}.focus\:ring-red-500:focus{--tw-ring-color:var(--color-red-500)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}}:root{--color-overlay:#00000080}.btn{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:.875rem;font-weight:500;text-decoration:none;transition:background-color .2s,border-color .2s,opacity .2s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);color:#fff;border:none}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.btn-success{background-color:var(--color-success);color:#fff;border:none}.btn-success:hover:not(:disabled){background-color:var(--color-success-hover)}.btn-danger{background-color:var(--color-error);color:#fff;border:none}.btn-danger:hover:not(:disabled){background-color:var(--color-error-hover)}.btn-secondary{background-color:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-border-light)}.btn-secondary:hover:not(:disabled){background-color:var(--color-bg-hover)}.btn-outline{color:var(--color-primary);border:1px solid var(--color-primary);background-color:#fff}.btn-outline:hover:not(:disabled){background-color:var(--color-primary-light)}.btn-outline-danger{color:var(--color-error);border:1px solid var(--color-error-light);background-color:#fff}.btn-outline-danger:hover:not(:disabled){background-color:var(--color-error-lighter)}.btn-sm{gap:4px;padding:6px 12px;font-size:.75rem}.btn-lg{gap:8px;padding:10px 20px;font-size:1rem}.btn-full{width:100%}.charge-badge{border-radius:.25rem;justify-content:center;align-items:center;min-height:20px;margin-right:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:600;line-height:1;display:inline-flex}.charge-badge-ne{background-color:var(--color-warning-light);color:var(--color-warning-dark)}.charge-badge-na{background-color:var(--color-primary-light);color:var(--color-primary-hover)}.charge-badge-cto{background-color:var(--color-purple-border);color:var(--color-purple-dark)}.charge-badge-aft,.charge-badge-min,.charge-badge-urg,.charge-badge-default{background-color:var(--color-bg-cool-light);color:var(--color-text-medium)}.payment-badge{border-radius:.25rem;justify-content:center;align-items:center;min-height:20px;padding:.25rem .5rem;font-size:.75rem;font-weight:600;line-height:1;display:inline-flex}.payment-badge-paid{background-color:var(--color-success-light);color:var(--color-success-dark)}.payment-badge-overdue{background-color:var(--color-error-light);color:var(--color-error-dark)}.payment-badge-not-paid{background-color:var(--color-warning-light);color:var(--color-warning-dark)}.payment-badge-sent{background-color:var(--color-primary-light);color:var(--color-primary-hover)}.payment-badge-not-sent{color:#9a3412;background-color:#fed7aa}.payment-badge-draft{background-color:var(--color-bg-cool-light);color:var(--color-text-medium)}.payment-badge-voided,.payment-badge-deleted{background-color:var(--color-error-light);color:var(--color-error-dark)}.payment-badge-authorised{background-color:var(--color-purple-bg);color:var(--color-purple-dark)}.payment-badge-unbilled{background-color:var(--color-warning-light);color:var(--color-warning-dark)}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg-warm);color:var(--color-text-body);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.app{flex-direction:column;width:100vw;max-width:100%;min-height:100vh;padding:35px 35px 0;display:flex;position:relative}.app header{margin-bottom:30px}.error-close:hover{background-color:#fff3}.error-notification-container{pointer-events:none;z-index:1000;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:500px;display:flex;position:fixed;top:20px;left:50%;transform:translate(-50%)}.container{text-align:center;background:#fff;border-radius:12px;margin-bottom:30px;padding:30px;box-shadow:0 2px 8px #0000001a}.app header h1{color:var(--color-brand);justify-content:center;align-items:center;margin-bottom:8px;font-size:2.2rem;font-weight:600;display:flex}.app header p{color:var(--color-text-placeholder);font-size:1rem}.app main{flex:1;padding:0 10px 20px}.container{max-width:1200px;margin:0 auto;padding:20px}.header{border-bottom:1px solid var(--color-border-input);background:#fff;margin-bottom:30px;padding:20px 0}.header h1{color:var(--color-brand);font-size:2rem;font-weight:600}.customers-grid{flex-direction:column;gap:25px;margin-top:25px;display:flex}.organisation-card-container{width:100%}.organisation-card{background:#fff;border-radius:12px;flex-direction:column;gap:25px;width:100%;padding:30px;transition:transform .2s,box-shadow .2s;display:flex;position:relative;box-shadow:0 2px 8px #2d2a2e14}.organisation-header{border-bottom:1px solid var(--color-border-light);padding-bottom:20px}.organisation-title-section{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;display:flex}.organisation-content{grid-template-columns:1fr 1fr 1fr;align-items:start;gap:25px;display:grid}.organisation-info-card{grid-column:1}.organisation-stats-card{grid-column:3}@media (max-width:768px){.organisation-content{grid-template-columns:1fr;gap:20px}.organisation-card{gap:20px;padding:20px}.organisation-title-section{flex-direction:column;align-items:flex-start}.stats-grid{grid-template-columns:1fr;gap:15px}}.organisation-info-card,.organisation-stats-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:8px;padding:20px;position:relative}.section-title{color:var(--color-brand);border-bottom:2px solid var(--color-accent);margin-bottom:15px;padding-bottom:5px;font-size:1rem;font-weight:600}.stat-item,.stat-item-full{text-align:center}@media (max-width:768px){.stats-grid{grid-template-columns:1fr}.stat-item-full{grid-column:1/-1}}.stat-value{justify-content:center;align-items:center;gap:8px;min-height:2rem;margin-bottom:5px;font-size:1.6rem;font-weight:600;display:flex;position:relative}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse-skeleton{0%,to{opacity:1;background-color:#c8c8c833}50%{opacity:.6;background-color:#c8c8c866}}@keyframes pulse-text{0%,to{opacity:.4}50%{opacity:1}}.loading-skeleton{background-color:#c8c8c833;border-radius:4px;min-width:40px;min-height:1em;animation:1.5s ease-in-out infinite pulse-skeleton;display:inline-block}.loading-pulse,.skeleton-pulse{animation:1.5s ease-in-out infinite pulse-text}.status-pulse-dot{box-shadow:0 0 rgba(var(--status-glow-rgb),.35),0 0 8px rgba(var(--status-glow-rgb),.35);animation:1.9s ease-in-out infinite statusDotPulse}@keyframes statusDotPulse{0%{box-shadow:0 0 rgba(var(--status-glow-rgb),.4),0 0 8px rgba(var(--status-glow-rgb),.35);transform:scale(1)}55%{box-shadow:0 0 0 5px rgba(var(--status-glow-rgb),0),0 0 14px rgba(var(--status-glow-rgb),.5);transform:scale(1.16)}to{box-shadow:0 0 rgba(var(--status-glow-rgb),0),0 0 8px rgba(var(--status-glow-rgb),.35);transform:scale(1)}}.skeleton-box{background:linear-gradient(90deg,var(--color-bg-mid)25%,var(--color-bg-secondary)50%,var(--color-bg-mid)75%);background-size:200% 100%;border-radius:4px;animation:1.5s ease-in-out infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.stat-value.revenue{color:var(--color-green-legacy)}.stat-value.hours{color:var(--color-accent)}.stat-value.entries,.stat-value.customers{color:var(--color-purple)}.stat-label{color:var(--color-text-placeholder);font-size:.8rem;font-weight:500}.empty-state-card{opacity:.9}.empty-state-card .organisation-name{font-size:1.3rem;font-weight:600}.empty-state-card .organisation-content{grid-template-columns:1fr}.empty-state-info{border-left:4px solid var(--color-red-legacy)}.empty-state-section-title{color:var(--color-brand);margin-bottom:15px;font-size:1rem;font-weight:600}.period-section{margin-top:10px}.year-group{margin-bottom:25px}.year-group:last-child{margin-bottom:0}.year-header{border-bottom:2px solid var(--color-border-input);margin-bottom:15px;padding-bottom:8px}.year-header h3{color:var(--color-brand);margin:0;font-size:1.3rem;font-weight:600}.organisation-name{color:var(--color-brand);flex:1;margin:0;font-size:1.4rem;font-weight:700}.billing-summary{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.total-amount{color:var(--color-green-legacy);white-space:nowrap;font-size:1.5rem;font-weight:700}.period-breakdown{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:15px;width:100%;margin-top:20px;display:grid}@media (max-width:1200px){.period-breakdown{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}@media (max-width:768px){.period-breakdown{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}}.period-item{background:var(--color-bg-warm);text-align:center;border-left:4px solid var(--color-border-generic);border-radius:8px;flex-direction:column;justify-content:space-between;align-items:stretch;min-height:120px;padding:12px 10px;transition:all .2s;display:flex;position:relative}.period-item.loading{border-left:4px solid var(--color-accent);opacity:.7;pointer-events:none}.period-item.loaded-data{border-left:4px solid var(--color-green-legacy);background:var(--color-bg-warm)}.period-item.error{border-left:4px solid var(--color-red-legacy);background:var(--color-bg-warm)}.period-item.future-period{background:var(--color-bg-warm);border-left:4px solid var(--color-text-disabled);opacity:.6}.period-item.empty-period{border-left:4px solid var(--color-text-disabled);background:var(--color-bg-warm);opacity:.7}.future-period-content{flex:1;justify-content:center;align-items:center;min-height:80px;display:flex}.future-period-text{color:var(--color-text-disabled);text-align:center;font-size:.85rem;font-weight:500}.period-name{color:var(--color-brand);flex-shrink:0;min-height:20px;margin-bottom:8px;font-size:.85rem;font-weight:600}.period-stats{flex-direction:column;flex:1;justify-content:space-between;gap:4px;display:flex}.period-stat-item{text-align:center}.period-stat-value{margin-bottom:1px;font-size:1rem;font-weight:600;line-height:1.1}.period-stat-value span{animation:.3s ease-in-out fadeIn}.period-stat-value.revenue{color:var(--color-green-legacy);font-size:1.2rem;font-weight:700}.period-stat-value.hours{color:var(--color-accent)}.period-stat-value.entries{color:var(--color-purple)}.period-stat-label{color:var(--color-text-placeholder);text-transform:uppercase;font-size:.6rem;font-weight:500;line-height:1}.error-overlay{z-index:9999;background-color:#0000001a;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.error-banner{background:linear-gradient(135deg,var(--color-error-bright)0%,var(--color-error-bright)100%);color:#fff;border-radius:12px;align-items:center;gap:16px;max-width:500px;margin:20px 5vw;padding:24px 32px;animation:.4s cubic-bezier(.68,-.55,.265,1.55) errorBounceIn;display:flex;box-shadow:0 8px 32px #ee5a524d}.error-banner .error-icon{flex-shrink:0;font-size:2rem}.error-banner .error-content h3{margin:0 0 8px;font-size:1.1rem;font-weight:600}.error-banner .error-content p{opacity:.9;margin:0 0 16px;font-size:.9rem;line-height:1.4}.error-banner .retry-button{color:#fff;cursor:pointer;background:#fff3;border:1px solid #ffffff4d;border-radius:6px;padding:8px 16px;font-size:.85rem;font-weight:500;transition:all .2s}.error-banner .retry-button:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-1px)}@keyframes errorBounceIn{0%{opacity:0;transform:scale(.3)translateY(-50px)}50%{opacity:1;transform:scale(1.05)translateY(0)}70%{transform:scale(.95)}to{transform:scale(1)}}.period-name{color:var(--color-text-hint);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:.85rem;font-weight:600}.period-amount{color:var(--color-brand);margin-bottom:2px;font-size:1rem;font-weight:700}.organisation-details{color:var(--color-text-placeholder);margin-bottom:15px;padding-bottom:5px;font-size:.8rem}.organisation-details-title{color:var(--color-brand);text-transform:uppercase;letter-spacing:.5px;margin:0 0 10px;font-size:.9rem;font-weight:600}.contact-row{align-items:center;gap:5px;margin-bottom:8px;display:flex}.contact-email{color:var(--color-text-disabled);margin-left:5px}.id-watermark{color:var(--color-gray-300);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:1;font-family:monospace;font-size:11px;position:absolute;bottom:6px;right:16px}.uuid-watermark{color:var(--color-text-subtle);opacity:.6;pointer-events:none;z-index:1;font-family:monospace;font-size:.7rem;position:absolute;bottom:15px;right:20px}.uuid-watermark.contact-subcard{color:var(--color-text-subtle);opacity:.6;pointer-events:none;z-index:1;background:0 0;border:none;margin:0;padding:0;font-family:monospace;font-size:.7rem;position:absolute;bottom:15px;right:20px}.status-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:12px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-block}.status-badge-card{z-index:2;position:absolute;top:15px;right:20px}.status-badge.status-active{color:#155724;background:#d4edda;border:1px solid #c3e6cb}.status-badge.status-dormant{color:#383d41;background:#e2e3e5;border:1px solid #d6d8db}.status-badge.status-not-active{color:#856404;background:#fff3cd;border:1px solid #ffeeba}.status-badge.status-archived{color:#721c24;background:#f8d7da;border:1px solid #f5c6cb}.status-badge.status-gdprrequest{color:#856404;background:#fff3cd;border:1px solid #ffeeba}.contact-link{color:#007bff;text-decoration:none;transition:color .2s}.contact-link:hover{color:#0056b3;text-decoration:underline}.payment-type-note{color:var(--color-text-hint);font-size:.85em;font-style:italic}.not-specified{color:var(--color-text-disabled);font-size:.9em;font-style:italic}.app-footer{justify-content:flex-end;align-items:center;min-height:50px;margin:20px -35px 0;padding:12px 20px;display:flex}.calendar-modal{z-index:1000;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.calendar-overlay{background:var(--color-overlay);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);width:100%;height:100%;position:absolute;top:0;left:0}.calendar-content{background:#fff;border-radius:16px;width:90%;max-width:800px;max-height:80vh;padding:24px;position:relative;overflow-y:auto;box-shadow:0 20px 40px #2d2a2e26}.calendar-header h3{color:var(--color-brand);margin:0;font-size:1.5rem}.close-button{color:var(--color-text-placeholder);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;padding:0;font-size:2rem;transition:all .2s;display:flex}.close-button:hover{background:var(--color-bg-tertiary);color:var(--color-brand)}.calendar-loading{color:var(--color-text-placeholder);justify-content:center;align-items:center;gap:12px;padding:40px;display:flex}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:20px;display:grid}.calendar-day{aspect-ratio:1;border:1px solid var(--color-border-light);cursor:pointer;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;padding:8px;transition:all .2s;display:flex}.calendar-day:hover{background:var(--color-bg-tertiary);border-color:var(--color-accent)}.day-number{color:var(--color-brand);margin-bottom:4px;font-size:.9rem;font-weight:600}.day-amount{color:var(--color-green-legacy);text-align:center;font-size:.7rem;font-weight:700}.calendar-summary{text-align:center;background:var(--color-bg-tertiary);color:var(--color-brand);border-radius:8px;padding:16px;font-size:1.1rem}.calendar-error{text-align:center;color:var(--color-red-legacy);padding:40px}.aria-datepicker-container{flex-direction:column;gap:4px;width:100%;display:flex}.aria-datepicker-group{border:1px solid var(--color-border-medium);background:#fff;border-radius:6px;align-items:center;transition:border-color .2s,box-shadow .2s;display:flex;position:relative}.aria-datepicker-group:focus-within{border-color:var(--color-info);box-shadow:0 0 0 3px #3b82f61a}.aria-datepicker-group.error{border-color:var(--color-error-bright)}.aria-datepicker-group.disabled{background:var(--color-bg-ultra-light);border-color:var(--color-border-light);opacity:.6}.aria-datefield{flex:1;align-items:center;min-height:38px;padding:8px 12px;display:flex}.aria-date-segment{border-radius:2px;outline:none;padding:2px 1px;font-family:monospace;font-size:.875rem;transition:background-color .2s}.aria-date-segment:focus{background:var(--color-primary-light);color:var(--color-primary-hover)}.aria-date-segment.placeholder{color:var(--color-border-dark);font-style:italic}.aria-datepicker-button{cursor:pointer;color:var(--color-text-hint);background:0 0;border:none;align-items:center;gap:2px;padding:8px;transition:color .2s;display:flex}.aria-datepicker-button:hover:not(:disabled){color:var(--color-info)}.aria-datepicker-button:disabled{opacity:.5;cursor:not-allowed}.calendar-popover{z-index:1000;justify-content:center;align-items:center;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.calendar-backdrop{cursor:pointer;background:#0000004d;position:absolute;top:0;right:0;bottom:0;left:0}.calendar-container{z-index:1001;background:#fff;border:1px solid #e5e7eb80;border-radius:16px;width:90%;max-width:380px;padding:24px;position:relative;box-shadow:0 10px 30px #0000001f,0 4px 6px #0000000d}.datepicker-input-container{align-items:center;width:100%;display:flex}.aria-calendar{flex-direction:column;gap:8px;width:100%;height:100%;display:flex}.calendar-header{border-bottom:1px solid var(--color-bg-secondary);justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:8px;display:flex}.calendar-selectors{align-items:center;gap:8px;display:flex}.calendar-month-select,.calendar-year-select{min-width:80px}.calendar-month-select .aria-select-trigger,.calendar-year-select .aria-select-trigger{border:1px solid var(--color-border-light);min-height:32px;color:var(--color-text-near-black);cursor:pointer;background:#fff;border-radius:6px;padding:6px 8px;font-size:.875rem;font-weight:600;transition:all .2s}.calendar-month-select .aria-select-trigger:hover,.calendar-year-select .aria-select-trigger:hover{background:var(--color-bg-ultra-light);border-color:var(--color-border-medium)}.calendar-month-select .aria-select-trigger:focus,.calendar-year-select .aria-select-trigger:focus{border-color:var(--color-info);outline:none;box-shadow:0 0 0 3px #3b82f61a}.calendar-nav-button{cursor:pointer;color:var(--color-text-hint);background:0 0;border:none;border-radius:6px;padding:6px;transition:all .2s}.calendar-nav-button:hover{background:var(--color-bg-cool-light);color:var(--color-text-medium)}.calendar-grid-wrapper{width:100%}.calendar-weekdays-container{grid-template-columns:repeat(7,1fr);gap:1px;margin-bottom:2px;display:grid}.calendar-weekday{text-align:center;color:#5f6368;text-transform:uppercase;background-color:var(--color-bg-secondary);padding:8px 4px;font-size:.75rem;font-weight:500}.calendar-cells-container{flex:1;width:100%}.calendar-grid{border-collapse:collapse;width:100%;height:100%}.calendar-cell{width:14.28%;padding:1px}.calendar-cell-button{cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:100%;height:36px;font-size:.85rem;font-weight:500;transition:all .15s;display:flex}.calendar-cell-button:hover:not(.disabled):not(.outside-month){background:#e8f0fe;transform:scale(1.05)}.calendar-cell-button.selected{color:#fff;background:#1a73e8;transform:scale(1.05);box-shadow:0 2px 8px #1a73e84d}.calendar-cell-button.disabled{color:#dadce0;cursor:not-allowed}.calendar-cell-button.outside-month{color:#dadce0}.calendar-cell-button.unavailable{color:var(--color-error-bright);text-decoration:line-through}.error-notification{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;pointer-events:auto;border-radius:12px;width:100%;min-width:360px;max-width:480px;margin:0 auto;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;transform:translateY(-30px)scale(.95);box-shadow:0 4px 12px #e74c3c4d}.error-notification.visible{opacity:1;transform:translateY(0)scale(1)}.error-notification.hidden{opacity:0;transform:translateY(-30px)scale(.95)}.error-notification-content{background:linear-gradient(135deg,var(--color-red-legacy),#c0392b);color:#fff;border-radius:12px;align-items:flex-start;gap:12px;width:100%;padding:16px 20px;display:flex}.error-notification:hover{transform:translateY(-4px)scale(1.02);box-shadow:0 8px 20px #e74c3c66}.error-icon{flex-shrink:0;margin-top:2px}.error-text{flex-grow:1}.error-title{margin-bottom:4px;font-size:.9rem;font-weight:600}.error-message{opacity:.9;word-wrap:break-word;white-space:pre-wrap;max-width:100%;font-size:.8rem;line-height:1.5}.error-close{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:4px;transition:background-color .2s}.error-close:hover{background:#fff3}.error-timer-bar{background:#ffffff4d;border-bottom-right-radius:6px;border-bottom-left-radius:6px;height:3px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.error-timer-progress{background:linear-gradient(90deg,#ffffffe6,#ffffffb3);border-bottom-right-radius:6px;border-bottom-left-radius:6px;height:100%;transition:width .1s linear;box-shadow:0 0 8px #ffffff4d}.loading{min-height:200px;color:var(--color-text-placeholder);justify-content:center;align-items:center;font-size:1.1rem;display:flex}.error{color:#c92a2a;background:#fee;border:1px solid #fcc;border-radius:4px;margin:20px 0;padding:15px}.filters{background:#fff;border-radius:8px;margin-bottom:20px;padding:20px;box-shadow:0 2px 4px #0000001a}.filters h3{color:var(--color-brand);align-items:center;margin-bottom:15px;font-size:1.25rem;font-weight:600;display:flex}.aria-select-label,.aria-datepicker-label{color:var(--color-text-medium);margin-bottom:4px;font-size:.875rem;font-weight:600}.filter-row{flex-wrap:wrap;align-items:center;gap:15px;display:flex}.filter-group{flex-direction:column;gap:5px;display:flex}.filter-group label{color:var(--color-text-placeholder);align-items:center;font-size:.9rem;font-weight:500;display:flex}.filter-group select,.filter-group input,.filter-group .date-picker-input{border:1px solid var(--color-border-generic);border-radius:4px;padding:8px 12px;font-size:.9rem}.date-picker-input{cursor:pointer;background:#fff;width:120px}.date-picker-input.compact{width:90px;padding:6px 8px;font-size:.85rem}.date-picker-input:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 2px #3498db33}.date-picker-input.disabled{background-color:var(--color-bg-disabled);color:#999;cursor:not-allowed}.date-picker-input.error{border-color:var(--color-red-legacy)}.react-datepicker{border:1px solid var(--color-border-generic);border-radius:8px;font-family:inherit;box-shadow:0 4px 6px #0000001a}.react-datepicker__header{background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-generic);border-radius:8px 8px 0 0}.react-datepicker__current-month{color:var(--color-brand);font-weight:600}.react-datepicker__day--selected{background-color:var(--color-accent);color:#fff}.react-datepicker__day--selected:hover{background-color:#1976d2}.react-datepicker__day:hover{background-color:#ecf0f1}.aria-datepicker-container{flex-direction:column;display:flex}.aria-datepicker-label{color:var(--color-text-body);align-items:center;margin-bottom:5px;font-size:.9rem;font-weight:500;display:flex}.aria-datepicker-group{align-items:center;display:flex;position:relative}.aria-datepicker-field{border:1px solid var(--color-border-generic);background:#fff;border-radius:4px;width:120px;padding:8px 32px 8px 12px;font-size:.9rem}.aria-datepicker-field.compact{width:90px;padding:6px 28px 6px 8px;font-size:.85rem}.aria-datepicker-field:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 2px #3498db33}.aria-datepicker-field.disabled{background-color:var(--color-bg-disabled);color:#999;cursor:not-allowed}.aria-datepicker-field.error{border-color:var(--color-red-legacy)}.aria-datepicker-group.disabled{opacity:.6}.aria-datepicker-icon{color:#666;pointer-events:none;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.aria-datepicker-error{color:var(--color-red-legacy);margin-top:4px;font-size:.8rem}.filter-group .aria-datepicker-container{width:100%}.filter-group .aria-datepicker-label{margin-bottom:5px}.filter-group-datepicker .aria-datepicker-label{color:var(--color-text-body);font-size:.9rem;font-weight:500}.stats-overview{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px;display:grid}.stat-card{text-align:center;background:#fff;border-radius:8px;padding:16px;box-shadow:0 2px 8px #2d2a2e14}.stat-value{color:var(--color-accent);margin-bottom:5px;font-size:2rem;font-weight:700}.stat-label{color:var(--color-text-placeholder);font-size:.9rem}.spinner-small{border:2px solid #f3f3f3;border-top:2px solid var(--color-accent);border-radius:50%;width:12px;height:12px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.api-status-banner{z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;min-width:400px;max-width:500px;transition:all .3s;animation:.3s ease-out fadeIn;position:fixed;top:20px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #00000026}.api-status-banner:hover{transform:translate(-50%)translateY(-2px);box-shadow:0 8px 25px #0003}@keyframes fadeOut{0%{opacity:1;transform:translate(-50%)translateY(0)}to{opacity:0;transform:translate(-50%)translateY(-10px)}}.api-status-content{justify-content:space-between;align-items:center;gap:15px;padding:16px 20px;display:flex}.api-status-loading{background:#f8f9faf2;border:1px solid #dee2e6cc}.api-status-error{background:#fef2f2f2;border:1px solid #fca5a5cc}.api-status-warning{background:#fffbebf2;border:1px solid #fbbf24cc}.error-boundary-viewport{background:var(--color-overlay);z-index:9999;justify-content:center;align-items:center;width:100vw;height:100vh;padding:0 5%;display:flex;position:fixed;top:0;left:0}.error-boundary{text-align:center;border:2px solid var(--color-red-legacy);background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:80vh;padding:48px;animation:.5s cubic-bezier(.68,-.55,.265,1.55) errorSlideIn;overflow-y:auto;box-shadow:0 4px 24px #2d2a2e14}@keyframes errorSlideIn{0%{opacity:0;transform:translateY(30px)scale(.8)}to{opacity:1;transform:translateY(0)scale(1)}}.error-boundary-icon{margin-bottom:24px}.error-boundary-icon .error-icon{color:var(--color-red-legacy);margin:0 auto;font-size:4rem;display:block}.error-boundary h2{color:var(--color-red-legacy);margin:0 0 16px;font-size:1.8rem;font-weight:700}.error-boundary p{color:var(--color-text-placeholder);margin:0 0 32px;font-size:1.1rem;line-height:1.6}.error-boundary-actions{justify-content:center;align-items:center;gap:16px;margin-bottom:32px;display:flex}.error-boundary-btn{cursor:pointer;border:none;border-radius:10px;align-items:center;gap:10px;padding:14px 28px;font-size:1rem;font-weight:600;text-decoration:none;transition:all .3s;display:flex;position:relative;overflow:hidden}.error-boundary-btn.primary{background:linear-gradient(135deg,var(--color-accent)0%,#1976d2 100%);color:#fff;box-shadow:0 4px 16px #3498db4d}.error-boundary-btn.primary:hover{background:linear-gradient(135deg,#1976d2,#21618c);transform:translateY(-3px);box-shadow:0 8px 24px #3498db66}.error-boundary-btn.primary:active{transform:translateY(-1px)}.error-boundary-btn.secondary{color:var(--color-brand);border:1px solid var(--color-text-subtle);background:linear-gradient(135deg,#ecf0f1,#d5dbdb);box-shadow:0 4px 16px #0000001a}.error-boundary-btn.secondary:hover{background:linear-gradient(135deg,#d5dbdb 0%,var(--color-text-subtle)100%);transform:translateY(-3px);box-shadow:0 8px 24px #00000026}.error-boundary-btn.secondary:active{transform:translateY(-1px)}.error-boundary-details{text-align:left;margin-top:24px;padding:24px}.error-boundary-details h3{color:#495057;text-align:center;margin:0 0 16px;font-size:1.1rem;font-weight:600}.error-boundary-text{background:var(--color-bg-secondary);border:1px solid var(--color-bg-mid);border-radius:8px;padding:16px}.error-boundary-text p{color:#495057;word-break:break-word;margin:0 0 12px;font-size:.9rem;line-height:1.5}.error-boundary-text p:last-child{margin-bottom:0}.error-boundary-text strong{color:var(--color-brand);font-weight:600}.yearly-period-card{border:1px solid var(--color-border-input);background:#fff;border-radius:8px;margin-bottom:20px;overflow:hidden}.yearly-header{background:var(--color-bg-tertiary);cursor:pointer;border-left:4px solid var(--color-text-subtle);align-items:center;min-height:70px;padding:16px 20px;transition:all .2s;display:flex}.yearly-header:hover{background:var(--color-bg-mid)}.yearly-header.loading{border-left:4px solid var(--color-accent);opacity:.7}.yearly-header.loaded-data{border-left:4px solid var(--color-green-legacy);background:#f1f8e9}.yearly-header.loaded-data:hover{background:#e8f5e0}.yearly-header.error{border-left:4px solid var(--color-red-legacy);background:var(--color-error-lighter)}.yearly-header.empty-period{border-left:4px solid var(--color-text-disabled);background:var(--color-bg-warm);opacity:.7}.yearly-header.empty-period:hover{background:var(--color-bg-mid)}.yearly-header-content{justify-content:space-between;align-items:center;width:100%;display:flex}.year-title{color:var(--color-brand);align-items:center;gap:10px;font-size:1.2rem;font-weight:600;display:flex}.year-title svg:last-child{transition:transform .2s}.year-title h3{font-size:inherit;margin:0}.yearly-stats{gap:30px;display:flex}.yearly-stat-item{text-align:center;min-width:80px}.yearly-stat-value{color:var(--color-green-legacy);justify-content:center;align-items:center;height:1.4em;margin-bottom:2px;font-size:1.1rem;font-weight:700;line-height:1.2;display:flex}.yearly-stat-label{color:var(--color-text-placeholder);text-transform:uppercase;letter-spacing:.5px;font-size:.8rem}.sub-periods-container{background:var(--color-bg-white-soft);opacity:1;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:15px;max-height:none;padding:20px;transition:all .3s;display:grid;overflow:visible}.sub-periods-container.collapsing{opacity:0;max-height:0;padding-top:0;padding-bottom:0;overflow:hidden}.yearly-period-card .sub-periods-wrapper{transition:all .3s}@media (max-width:768px){.sub-periods-container{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;padding:15px}.yearly-stats{gap:20px}.yearly-header-content{flex-direction:column;align-items:stretch;gap:10px}}.aria-select-container{flex-direction:column;gap:4px;display:flex;position:relative}.aria-select-label{color:var(--color-text-medium);margin-bottom:4px;font-size:.875rem;font-weight:600}.aria-select-trigger{border:1px solid var(--color-border-medium);cursor:pointer;background:#fff;border-radius:6px;justify-content:space-between;align-items:center;min-height:38px;padding:8px 12px;font-size:.875rem;transition:all .2s;display:flex}.aria-select-trigger:hover:not(.disabled){border-color:var(--color-border-dark)}.aria-select-trigger:focus{border-color:var(--color-info);outline:none;box-shadow:0 0 0 3px #3b82f61a}.aria-select-trigger.open{border-color:var(--color-info);box-shadow:0 0 0 3px #3b82f61a}.aria-select-trigger.error{border-color:var(--color-error-bright)}.aria-select-trigger.disabled{background:var(--color-bg-ultra-light);border-color:var(--color-border-light);opacity:.6;cursor:not-allowed}.aria-select-value{text-align:left;color:var(--color-text-medium);flex:1}.aria-select-trigger.disabled .aria-select-value{color:var(--color-border-dark)}.aria-select-icon{color:var(--color-text-hint);transition:transform .2s}.aria-select-icon.rotated{transform:rotate(180deg)}.select-popover{z-index:1000;border:1px solid var(--color-border-light);background:#fff;border-radius:8px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow:hidden;box-shadow:0 10px 15px -3px #2d2a2e14}.aria-listbox{max-height:200px;margin:0;padding:4px;list-style:none;overflow-y:auto}.aria-option{cursor:pointer;color:var(--color-text-medium);border-radius:4px;padding:8px 12px;font-size:.875rem;transition:background-color .2s}.aria-option:hover:not(.disabled){background:var(--color-bg-cool-light)}.aria-option.focused{background:var(--color-bg-tertiary)}.aria-option.selected{background:var(--color-info);color:#fff}.aria-option.disabled{opacity:.5;cursor:not-allowed}.aria-select-error{color:var(--color-error-bright);margin-top:4px;font-size:.75rem}.filter-group-select{min-width:200px}.filter-group-select .aria-select-trigger{min-width:inherit}.aria-combobox-container{width:100%;position:relative}.aria-combobox-label{color:var(--color-text-body);margin-bottom:6px;font-size:14px;font-weight:600;display:block}.aria-combobox-input-group{align-items:center;display:flex;position:relative}.aria-combobox-input{border:2px solid var(--color-border-generic);color:var(--color-text-body);background-color:#fff;border-radius:8px;outline:none;flex:1;padding:12px 40px 12px 12px;font-size:14px;transition:border-color .2s,box-shadow .2s}.aria-combobox-input:hover:not(:disabled){border-color:#bbb}.aria-combobox-input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.aria-combobox-input-group.error .aria-combobox-input{border-color:#dc3545}.aria-combobox-input-group.disabled .aria-combobox-input{background-color:var(--color-bg-secondary);color:var(--color-text-hint);cursor:not-allowed}.aria-combobox-button{cursor:pointer;color:#666;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;transition:color .2s,transform .2s;display:flex;position:absolute;right:8px}.aria-combobox-button:hover:not(:disabled){color:var(--color-text-body)}.aria-combobox-button:disabled{color:#ccc;cursor:not-allowed}.aria-combobox-button svg.rotate-180{transform:rotate(180deg)}.aria-combobox-popover{z-index:1000;border:2px solid var(--color-border-generic);background:#fff;border-top:none;border-radius:0 0 8px 8px;max-height:200px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #00000026}.aria-combobox-error{color:#dc3545;margin-top:4px;font-size:12px}@media (max-width:480px){.sub-periods-container{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:10px;padding:12px}.yearly-header{padding:12px 16px}.yearly-stats{justify-content:space-around}}.worklog-floating-card-overlay{z-index:100;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.floating-card-backdrop{background-color:var(--color-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:.2s ease-out fadeIn;position:fixed;top:0;right:0;bottom:0;left:0}.worklog-floating-card{background:#fff;border-radius:16px;flex-direction:column;width:1200px;max-width:95vw;max-height:90vh;animation:.3s ease-out slideUp;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 60px #2d2a2e33,0 0 0 1px #2d2a2e1a}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.floating-card-header{border-bottom:1px solid var(--color-border-light);background:linear-gradient(to bottom,var(--color-bg-primary),var(--color-bg-ultra-light));justify-content:space-between;align-items:flex-start;padding:1.5rem 2rem;display:flex}.floating-card-title{color:var(--color-text-near-black);align-items:center;margin:0;font-size:1.25rem;font-weight:600;display:flex}.floating-card-subtitle{color:var(--color-text-hint);margin-top:.25rem;font-size:.875rem}.floating-card-close{width:2rem;height:2rem;color:var(--color-text-hint);cursor:pointer;background:0 0;border:none;border-radius:.5rem;justify-content:center;align-items:center;transition:all .2s;display:flex}.floating-card-close:hover{background:var(--color-bg-cool-light);color:var(--color-text-near-black)}.floating-card-content{flex:1;overflow-y:auto}.floating-card-loading{justify-content:center;align-items:center;padding:3rem;display:flex}.floating-card-error{background:var(--color-error-lighter);border:1px solid var(--color-error-bg);border-radius:.5rem;margin:1.5rem 2rem;padding:1rem}.floating-card-body{flex-direction:column;gap:1.5rem;padding:1.5rem 2rem 2rem;display:flex}.calendar-section{background:var(--color-bg-ultra-light);border:1px solid var(--color-border-light);border-radius:12px;padding:1.5rem}.calendar-header-controls{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.back-to-month-btn{border:1px solid var(--color-border-medium);color:var(--color-text-medium);cursor:pointer;background:#fff;border-radius:.5rem;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.back-to-month-btn:hover{background:var(--color-bg-cool-light);border-color:var(--color-border-dark)}.view-mode-indicator{color:var(--color-text-hint);font-size:.875rem;font-weight:500}.calendar-wrapper{border:1px solid var(--color-border-light);background:#fff;border-radius:8px;padding:1rem}.calendar-legend{border-top:1px solid var(--color-border-light);gap:1rem;padding-top:.5rem;display:flex}.legend-item{color:var(--color-text-hint);align-items:center;gap:.5rem;font-size:.875rem;display:flex}.legend-color{border:1px solid var(--color-border-medium);border-radius:.25rem;width:1rem;height:1rem}.legend-color.has-data{background:var(--color-primary-light);border-color:var(--color-accent-border)}.legend-color.outside-period{background:var(--color-bg-cool-light);border-color:var(--color-border-light)}.calendar-cell-button{cursor:pointer;background:#fff;border:2px solid #0000;border-radius:.5rem;flex-direction:column;justify-content:flex-start;align-items:center;width:100%;min-height:60px;padding:.5rem .25rem;transition:all .2s;display:flex;position:relative}.calendar-cell-button:hover:not(.disabled):not(.outside-month){background:var(--color-bg-ultra-light);border-color:var(--color-border-light)}.calendar-cell-button.has-worklog-data{background:var(--color-accent-light);border-color:var(--color-primary-light)}.calendar-cell-button.has-worklog-data:hover{background:var(--color-primary-light);border-color:var(--color-accent-border);box-shadow:0 2px 4px #3b82f61a}.calendar-cell-button.selected{color:#fff;background:var(--color-info)!important;border-color:var(--color-primary)!important}.calendar-cell-button.outside-month{opacity:.3;cursor:default}.calendar-cell-button.disabled{opacity:.5;cursor:not-allowed}.cell-date{margin-bottom:.25rem;font-size:.875rem;font-weight:500}.cell-worklog-indicators{flex-direction:column;gap:.125rem;width:100%;font-size:.625rem;display:flex}.worklog-count{background:var(--color-info);color:#fff;text-align:center;border-radius:.25rem;padding:.125rem .25rem;font-weight:600}.worklog-hours{background:var(--color-success-bright);color:#fff;text-align:center;border-radius:.25rem;padding:.125rem .25rem;font-weight:600}.calendar-cell-button.selected .worklog-count,.calendar-cell-button.selected .worklog-hours{color:#fff;background:#ffffff4d}.worklog-calendar-container{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #2d2a2e14}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.calendar-title{color:var(--color-text-near-black);margin:0;font-size:1.125rem;font-weight:600}.clear-date-filter-btn{background:var(--color-bg-cool-light);border:1px solid var(--color-border-medium);color:var(--color-text-medium);cursor:pointer;border-radius:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s}.clear-date-filter-btn:hover{background:var(--color-bg-tertiary);border-color:var(--color-border-dark)}.react-aria-Calendar{width:100%;max-width:900px}.calendar-nav{justify-content:space-between;align-items:center;margin-bottom:1rem;padding:0 .5rem;display:flex}.calendar-nav-btn{border:1px solid var(--color-border-medium);width:2.5rem;height:2.5rem;color:var(--color-text-medium);cursor:pointer;background:#fff;border-radius:.5rem;justify-content:center;align-items:center;font-size:1rem;transition:all .2s;display:flex}.calendar-nav-btn:hover{background:var(--color-bg-ultra-light);border-color:var(--color-border-dark)}.calendar-nav-btn:disabled{opacity:.5;cursor:not-allowed}.calendar-heading{color:var(--color-text-near-black);margin:0;font-size:1rem;font-weight:600}.calendar-grid{border-collapse:separate;border-spacing:.25rem;width:100%}.react-aria-CalendarGridHeader{color:var(--color-text-hint);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.react-aria-CalendarHeaderCell{text-align:center;padding:.5rem}.react-aria-CalendarCell{padding:0}.react-aria-CalendarCell[data-outside-month]{opacity:.3}.react-aria-CalendarCell[data-disabled]{opacity:.5;cursor:not-allowed}.react-aria-CalendarCell[data-selected] .calendar-cell-content{background:var(--color-info);border-color:var(--color-primary);color:#fff}.react-aria-CalendarCell[data-selected] .cell-date{color:#fff;font-weight:700}.react-aria-CalendarCell[data-selected] .worklog-badge{color:#fff;background:#ffffff4d}.react-aria-CalendarCell[data-selected] .entry-issue{color:#fff}.react-aria-CalendarCell[data-selected] .entry-hours{color:#ffffffe6}.react-aria-CalendarCell[data-hovered]:not([data-disabled]):not([data-outside-month]) .calendar-cell-content{background:var(--color-bg-ultra-light);border-color:var(--color-border-light)}.react-aria-CalendarCell[data-focus-visible] .calendar-cell-content{outline:2px solid var(--color-info);outline-offset:2px}.calendar-cell-content{cursor:pointer;background:#fff;border:2px solid #0000;border-radius:.5rem;flex-direction:column;min-height:120px;padding:.5rem;transition:all .2s;display:flex}.calendar-cell-content.has-worklogs{background:var(--color-accent-light);border-color:var(--color-primary-light)}.calendar-cell-content.has-worklogs:hover{background:var(--color-primary-light);border-color:var(--color-accent-border);box-shadow:0 2px 4px #3b82f61a}.cell-date{color:var(--color-text-near-black);margin-bottom:.5rem;font-size:.875rem;font-weight:600}.cell-worklog-info{flex-direction:column;flex-grow:1;gap:.375rem;display:flex}.worklog-badge{text-align:center;border-radius:.375rem;padding:.125rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.worklog-badge.count{background:var(--color-info);color:#fff}.worklog-badge.hours{background:var(--color-success-bright);color:#fff}.worklog-entries{flex-direction:column;gap:.25rem;margin-top:.375rem;font-size:.75rem;display:flex}.worklog-entry{background:#fff;border-radius:.25rem;justify-content:space-between;align-items:center;gap:.25rem;padding:.25rem .375rem;display:flex}.worklog-entry.more{color:var(--color-text-hint);background:0 0;justify-content:center;font-style:italic}.entry-issue{color:var(--color-info);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:600;overflow:hidden}.entry-hours{color:var(--color-success-bright);white-space:nowrap;margin-left:auto;font-weight:600}.calendar-selection-info{background:var(--color-accent-light);border:1px solid var(--color-primary-light);border-radius:.5rem;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem 1rem;display:flex}.selection-label{color:var(--color-text-hint);font-size:.875rem;font-weight:500}.selection-date{color:var(--color-info);font-size:.875rem;font-weight:600}.stats-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.stat-card{border:1px solid var(--color-border-light);background:#fff;border-radius:8px;padding:1rem;box-shadow:0 1px 2px #0000000d}.stat-card.total{background:linear-gradient(135deg,var(--color-accent-light)0%,var(--color-primary-light)100%);border-color:var(--color-accent-border)}.stat-card.billed{background:linear-gradient(135deg,var(--color-success-bg)0%,var(--color-success-light)100%);border-color:#86efac}.stat-card.unbilled{background:linear-gradient(135deg,var(--color-error-lighter)0%,var(--color-error-light)100%);border-color:var(--color-error-border)}.stat-label{color:var(--color-text-hint);margin-bottom:.5rem;font-size:.875rem;font-weight:500}.stat-value{color:var(--color-text-near-black);white-space:nowrap;margin:0;font-size:2rem;font-weight:700}.stat-detail{color:var(--color-text-hint);margin-top:.25rem;font-size:.875rem}.worklogs-section{border:1px solid var(--color-border-light);background:#fff;border-radius:12px;padding:1.5rem}.worklogs-heading{color:var(--color-text-near-black);margin-bottom:1rem;font-size:1rem;font-weight:600}.worklogs-table-wrapper{border:1px solid var(--color-border-light);border-radius:8px;overflow-x:auto}.worklogs-table{border-collapse:collapse;table-layout:auto;width:100%;font-size:.875rem}.worklogs-table thead{background:var(--color-bg-tertiary);border-bottom:2px solid var(--color-bg-tertiary)}.worklogs-table th{text-align:left;color:var(--color-text-hint);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;width:1%;padding:.75rem 1rem;font-size:.75rem;font-weight:600}.worklogs-table th.text-right{text-align:right}.worklogs-table th.text-center{text-align:center}.worklogs-table tbody tr{border-bottom:1px solid var(--color-bg-cool-light);transition:background .15s}.worklogs-table tbody tr:hover{background:var(--color-bg-warm)}.worklogs-table tbody tr:last-child{border-bottom:none}.worklogs-table td{color:var(--color-text-medium);padding:.75rem 1rem}.issue-cell{min-width:180px}.issue-key{color:var(--color-text-near-black);margin-bottom:.25rem;font-weight:600}.issue-summary{color:var(--color-text-hint);font-size:.75rem}.comment-cell{text-overflow:ellipsis;white-space:nowrap;max-width:250px;overflow:hidden}.author-cell{color:var(--color-text-hint)}.date-cell{color:var(--color-text-hint);white-space:nowrap}.hours-cell{color:var(--color-text-near-black);white-space:nowrap;font-weight:600}.invoice-cell{min-width:120px;max-width:180px}.invoice-number{color:var(--color-indigo);margin-bottom:.25rem;font-weight:600}.invoice-details{color:var(--color-text-hint);align-items:center;gap:.5rem;font-size:.75rem;display:flex}.invoice-line-item{color:var(--color-border-dark);text-overflow:ellipsis;white-space:nowrap;margin-top:.25rem;font-size:.75rem;overflow:hidden}.no-invoice{color:var(--color-border-dark);font-size:.75rem}.amount-cell{color:var(--color-text-near-black);white-space:nowrap;font-weight:600}.status-cell{white-space:nowrap}.no-worklogs{text-align:center;color:var(--color-text-hint);padding:3rem}.worklogs-table a:visited{color:inherit}.worklogs-table a.text-blue-600:visited{color:var(--color-primary)}.invoice-number a:visited{color:var(--color-indigo)}@media (max-width:768px){.worklog-floating-card{border-radius:0;width:100%;max-width:100%;max-height:100vh}.floating-card-header,.floating-card-body{padding:1rem 1.5rem}.stats-grid{grid-template-columns:1fr}.calendar-section{padding:1rem}.worklogs-table{font-size:.75rem}.worklogs-table th,.worklogs-table td{padding:.5rem}.comment-cell{max-width:150px}}.inline-flex{display:inline-flex}.items-center{align-items:center}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.mr-1{margin-right:.25rem}.mb-1{margin-bottom:.25rem}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.flex{display:flex}.flex-wrap{flex-wrap:wrap}.flex-col{flex-direction:column}.opacity-50{opacity:.5}.bg-blue-100{background-color:var(--color-primary-light)}.text-blue-800{color:var(--color-primary-hover)}.bg-purple-100{background-color:var(--color-purple-bg)}.text-purple-800{color:var(--color-purple-dark)}.bg-indigo-100{background-color:var(--color-indigo-bg)}.text-indigo-800{color:#3730a3}.bg-orange-100{background-color:#ffedd5}.text-orange-800{color:#9a3412}.text-red-800{color:var(--color-error-dark)}.text-yellow-800{color:#854d0e}.bg-pink-100{background-color:#fce7f3}.text-pink-800{color:#9f1239}.bg-teal-100{background-color:#ccfbf1}.text-teal-800{color:#115e59}.bg-amber-100{background-color:var(--color-warning-light)}.text-amber-800{color:var(--color-warning-dark)}.bg-gray-100{background-color:var(--color-bg-cool-light)}.text-gray-800{color:var(--color-text-dark)}.bg-green-100{background-color:var(--color-success-bg-light)}.text-green-700{color:#047857}.text-green-600{color:var(--color-success-darker)}.text-green-800{color:#065f46}.bg-cyan-100{background-color:#cffafe}.text-cyan-800{color:#155e75}.bg-yellow-100{background-color:var(--color-warning-light)}.text-yellow-700{color:#a16207}.bg-red-100{background-color:var(--color-error-light)}.text-red-700{color:var(--color-error-hover)}.app-layout{background-color:var(--color-bg-warm);min-height:100vh;display:flex}.sidebar{background:linear-gradient(180deg,#0a1929 0%,var(--color-brand)100%);color:#fff;z-index:200;flex-direction:column;width:260px;height:100vh;display:flex;position:fixed;top:0;left:0;box-shadow:2px 0 8px #0000001a}.sidebar-header{border-bottom:1px solid #ffffff1a;padding:24px 20px}.sidebar-logo{color:#fff;justify-content:center;align-items:center;display:flex}.sidebar-logo .logo-img{filter:brightness(0)invert();width:auto;height:50px}.sidebar-logo h1{margin:0;font-size:1.4rem;font-weight:600}.sidebar-nav{flex-direction:column;flex:1;gap:4px;min-height:0;padding:20px 12px;display:flex;overflow-y:auto}.nav-section-label{text-transform:uppercase;letter-spacing:.05em;color:#ffffff80;margin-top:8px;padding:16px 16px 8px;font-size:.75rem;font-weight:600}.sidebar-footer{background:#0000001a;border-top:1px solid #ffffff1a;flex-shrink:0;padding:16px 12px}.nav-item{color:#fffc;border-radius:8px;align-items:center;gap:12px;padding:12px 16px;font-size:.95rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.nav-item:hover{color:#fff;background-color:#ffffff1a}.nav-item.active{color:#fff;border-left:3px solid var(--color-accent);background-color:#13335380}.nav-dropdown{margin-bottom:4px}.dropdown-toggle{cursor:pointer;background:0 0;border:none;justify-content:space-between;width:100%}.dropdown-toggle svg:last-child{opacity:.6;margin-left:auto}.dropdown-toggle:hover svg:last-child{opacity:1}.dropdown-menu{border-left:2px solid #ffffff1a;margin-top:4px;margin-left:12px;padding-left:8px;animation:.2s ease-out slideDown;overflow:hidden}@keyframes slideDown{0%{opacity:0;max-height:0;transform:translateY(-10px)}to{opacity:1;max-height:500px;transform:translateY(0)}}.submenu-item{margin-bottom:2px;padding:10px 14px;font-size:.9rem;animation:.3s ease-out fadeIn}.submenu-item svg{width:18px;height:18px}.submenu-item.active{border-left:2px solid var(--color-accent);margin-left:-2px}.main-content{flex-direction:column;flex:1;min-height:100vh;margin-left:260px;display:flex}.top-bar{border-bottom:1px solid var(--color-border-light);z-index:50;background:#fff;justify-content:flex-end;align-items:center;gap:16px;padding:12px 20px;display:flex;position:sticky;top:0;box-shadow:0 2px 4px #2d2a2e0d}.content-area{flex:1;padding:35px;overflow-y:auto}.bottom-bar{border-top:1px solid var(--color-border-light);z-index:50;background:#fff;justify-content:center;align-items:center;gap:16px;padding:12px 20px;display:flex;position:sticky;bottom:0;box-shadow:0 -2px 4px #2d2a2e0d}.page-container{max-width:1600px;margin:0 auto}.page-header{margin-bottom:30px}.page-header h1{color:var(--color-brand);align-items:center;margin:0;font-size:2.2rem;font-weight:600;display:flex}@media (max-width:1024px){.sidebar{width:220px}.main-content{margin-left:220px}.content-area{padding:20px}}@media (max-width:768px){.sidebar{width:70px}.sidebar-logo h1{display:none}.sidebar-nav{padding:20px 8px}.nav-item span{display:none}.nav-item{justify-content:center;padding:12px}.main-content{margin-left:70px}.content-area{padding:15px}}@keyframes slideInFromRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideOutToRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.ticket-list{flex-direction:column;gap:9px;max-height:230px;display:flex;overflow-y:auto}.ticket-row{background-color:var(--color-bg-secondary);border-radius:6px;align-items:center;gap:10px;min-height:38px;padding:8px 12px;display:flex}.ticket-row__key{white-space:nowrap;font-size:.85rem;font-weight:600}.ticket-row__key--activity{color:var(--color-success)}.ticket-row__key--progress{color:var(--color-primary-hover)}.ticket-row__summary{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.85rem;overflow:hidden}.ticket-row__trailing{color:var(--color-text-secondary);white-space:nowrap;font-size:.75rem}.ticket-row__badge{white-space:nowrap;border-radius:12px;padding:2px 10px;font-size:.8rem;font-weight:600}.ticket-row__badge--activity{color:var(--color-success);background-color:var(--color-success-light)}.ticket-list__empty{color:var(--color-text-secondary);text-align:center;padding:20px 0;font-size:.875rem}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}
