*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit}hr{border-top-width:1px;color:inherit;height:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.mx-auto{margin-left:auto;margin-right:auto}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mt-0\.5{margin-top:.125rem}.mt-4{margin-top:1rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-9{height:2.25rem}.h-full{height:100%}.h-px{height:1px}.w-full{width:100%}.w-px{width:1px}.max-w-6xl{max-width:72rem}.flex-1{flex:1 1}.shrink-0{flex-shrink:0}.border-separate{border-collapse:initial}.border-spacing-0{--tw-border-spacing-x:0px;--tw-border-spacing-y:0px;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y)}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-dashed{border-style:dashed}.border-\[color\:var\(--error-color\)\]{border-color:#e53e3e;border-color:var(--error-color)}.border-\[var\(--border-color\)\]{border-color:#e2e8f0;border-color:var(--border-color)}.border-\[var\(--input-border-color\)\]{border-color:#cbd5e0;border-color:var(--input-border-color)}.border-transparent{border-color:#0000}.bg-\[color\:var\(--error-color\)\]{background-color:#e53e3e;background-color:var(--error-color)}.bg-\[color\:var\(--secondary-color\)\]{background-color:#edf2f7;background-color:var(--secondary-color)}.bg-\[color\:var\(--success-color\)\]{background-color:#38a169;background-color:var(--success-color)}.bg-\[var\(--border-color\)\]{background-color:#e2e8f0;background-color:var(--border-color)}.bg-\[var\(--card-bg\)\]{background-color:#fff;background-color:var(--card-bg)}.bg-\[var\(--input-bg-color\)\]{background-color:#fff;background-color:var(--input-bg-color)}.bg-\[var\(--primary-color\)\]{background-color:#5b8af7;background-color:var(--primary-color)}.bg-\[var\(--secondary-color\)\]{background-color:#edf2f7;background-color:var(--secondary-color)}.bg-transparent{background-color:initial}.p-0{padding:0}.p-1{padding:.25rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.py-8{padding-bottom:2rem;padding-top:2rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pt-0{padding-top:0}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-2xl{font-size:1.5rem;line-height:2rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.italic{font-style:italic}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-\[color\:var\(--error-color\)\]{color:#e53e3e;color:var(--error-color)}.text-\[color\:var\(--text-color\)\]{color:#2d3748;color:var(--text-color)}.text-\[var\(--button-text-color\)\]{color:#fff;color:var(--button-text-color)}.text-\[var\(--input-text-color\)\]{color:#4a5568;color:var(--input-text-color)}.text-\[var\(--text-color\)\]{color:#2d3748;color:var(--text-color)}.text-white{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-opacity-70{--tw-text-opacity:0.7}.text-opacity-80{--tw-text-opacity:0.8}.opacity-70{opacity:.7}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-soft{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-soft{--tw-shadow:0 10px 30px #0f172a14;--tw-shadow-colored:0 10px 30px var(--tw-shadow-color)}.outline{outline-style:solid}.blur{--tw-blur:blur(8px)}.blur,.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-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--background-color:#f8f9fa;--text-color:#2d3748;--primary-color:#5b8af7;--secondary-color:#edf2f7;--accent-color:#4db6ac;--border-color:#e2e8f0;--button-bg-color:var(--primary-color);--button-text-color:#fff;--link-color:var(--primary-color);--input-bg-color:#fff;--input-border-color:#cbd5e0;--input-text-color:#4a5568;--table-header-bg:#e9ecef;--table-border-color:#e2e8f0;--card-bg:#fff;--card-border-color:#00000014;--error-color:#e53e3e;--success-color:#38a169;--logo-filter:none;--button-shadow:0 2px 4px #0000001a;--card-shadow:0 2px 8px #0000000d;--focus-ring-color:#5b8af766;--hover-bg-color:#f0f5ff;--selected-bg-color:#5b8af726}.dark-theme{--background-color:#0b1220;--text-color:#eef2f7;--primary-color:#38bdf8;--secondary-color:#172338;--accent-color:#22d3ee;--border-color:#364761;--button-bg-color:var(--accent-color);--button-text-color:#fff;--link-color:#7dd3fc;--input-bg-color:#1f2d49;--input-border-color:#415371;--input-text-color:#f8fafc;--table-header-bg:#22324c;--table-border-color:#334862;--card-bg:#1a2740;--card-border-color:#334155;--error-color:#fb7185;--success-color:#4ade80;--logo-filter:brightness(1.2) contrast(1.1);--hover-bg-color:#22324a;--focus-ring-color:#38bdf899;--selected-bg-color:#2563eb3d;--button-shadow:0 4px 6px #0000004d,0 0 8px #38bdf84d;--card-shadow:0 4px 12px #00000080,0 0 2px #38bdf833}.island-theme{--background-color:#f0e6d2;--text-color:#3d2c1e;--primary-color:#3a9188;--secondary-color:#f7efe2;--accent-color:#3a9188;--border-color:#c4b7a6;--button-bg-color:var(--accent-color);--button-text-color:#fff;--link-color:#2a6a62;--input-bg-color:#fff9ed;--input-border-color:#d1c0a8;--input-text-color:#3d2c1e;--table-header-bg:#e6d7c3;--table-border-color:#c4b7a6;--card-bg:#f7efe2;--card-border-color:#d1c0a8;--error-color:#9c4a31;--success-color:#4f7942;--logo-filter:sepia(10%) saturate(80%);--hover-bg-color:#e6d7c3;--button-shadow:0 2px 4px #3d2c1e26;--card-shadow:0 3px 6px #3d2c1e1a;--focus-ring-color:#3a918866}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8f9fa;background-color:var(--background-color);color:#2d3748;color:var(--text-color);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;transition:background-color .3s ease,color .3s ease}button{box-shadow:0 2px 4px #0000001a;box-shadow:var(--button-shadow)}button:hover:not(:disabled){box-shadow:0 2px 4px #0000001a,0 0 0 2px #5b8af766;box-shadow:var(--button-shadow),0 0 0 2px var(--focus-ring-color);transform:translateY(-1px)}.card,.modal-content,fieldset{box-shadow:0 2px 8px #0000000d;box-shadow:var(--card-shadow)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.error-message{color:#e53e3e}.loading-message{color:#5b8af7;color:var(--primary-color)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0009}.modal-content{animation:modal-appear .3s ease-out;background-color:#fff;background-color:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:8px;box-shadow:0 2px 8px #0000000d;box-shadow:var(--card-shadow);color:#2d3748;color:var(--text-color);max-height:90vh;max-width:90%;overflow-y:auto;padding:20px}@keyframes modal-appear{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.form-group{margin-bottom:15px}.form-group,.form-group label{color:#2d3748;color:var(--text-color)}.form-group label{align-items:center;display:flex;font-weight:600;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{background-color:#fff;background-color:var(--input-bg-color);border:1px solid #cbd5e0;border:1px solid var(--input-border-color);border-radius:6px;box-sizing:border-box;color:#4a5568;color:var(--input-text-color);font-family:inherit;font-size:inherit;padding:10px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.form-group textarea{font-family:inherit;font-size:inherit;min-height:40px}.form-group textarea[style*="resize: none"]{overflow:hidden;transition:height .2s ease}.full-width-grid-item .form-group{margin-bottom:20px}.full-width-grid-item .form-group textarea{background-color:#fff;background-color:var(--input-bg-color);border:2px solid #cbd5e0;border:2px solid var(--input-border-color);border-radius:8px;font-size:.95em;padding:12px}.full-width-grid-item .form-group textarea:focus{background-color:#fafafa;border-color:#5b8af7;border-color:var(--primary-color);box-shadow:0 0 0 3px #5b8af766;box-shadow:0 0 0 3px var(--focus-ring-color)}.form-group textarea{word-wrap:break-word;line-height:1.4;resize:vertical}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#5b8af7;border-color:var(--primary-color);box-shadow:0 0 0 3px #5b8af766;box-shadow:0 0 0 3px var(--focus-ring-color);outline:none}.item-row{align-items:center;background-color:#fff;background-color:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:6px;display:flex;flex-wrap:wrap;margin-bottom:.75rem;padding:.75rem;transition:box-shadow .2s ease}.item-row:hover{box-shadow:0 2px 8px #0000000d;box-shadow:var(--card-shadow)}.item-row label{margin-bottom:.5rem;margin-right:1rem}.item-row input[type=number]{width:80px}.item-row input[type=text]{min-width:150px}.remove-button{align-items:center;background-color:#e53e3e;background-color:var(--error-color);border-radius:.25rem;color:#f8f9fa;color:var(--background-color);display:inline-flex;font-size:.875rem;justify-content:center;margin-left:auto;min-width:fit-content;padding:.5rem .75rem;white-space:nowrap}.remove-button:hover{opacity:.85}button{background-color:#5b8af7;border:1px solid #0000;border-radius:6px;color:#fff;font-weight:500;letter-spacing:.01em;margin:.5rem;padding:.6rem 1.2rem;transition:all .2s ease}button[type=submit]{background-color:#5b8af7;background-color:var(--primary-color);border-color:#5b8af7;border-color:var(--primary-color);color:#f8f9fa;color:var(--background-color)}button[type=submit]:hover:not(:disabled){opacity:.85}button[type=submit]:disabled{background-color:#e2e8f0;background-color:var(--border-color);color:#2d3748;color:var(--text-color);cursor:not-allowed;opacity:.6}button[type=button]:not(.remove-button):not(.auth-button):not(.close-button):not(.load-version-button):not(.version-history-button){background-color:#edf2f7;background-color:var(--secondary-color);border:1px solid #e2e8f0;border:1px solid var(--border-color);color:#2d3748;color:var(--text-color)}button[type=button]:not(.remove-button):not(.auth-button):not(.close-button):not(.load-version-button):not(.version-history-button):hover:not(:disabled){background-color:#f0f5ff;background-color:var(--hover-bg-color)}fieldset{background-color:#fff;background-color:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:8px;color:#2d3748;color:var(--text-color);margin-bottom:1.5rem;min-width:0;padding:1.25rem;transition:box-shadow .2s ease}fieldset:hover{box-shadow:0 2px 8px #0000000d;box-shadow:var(--card-shadow)}legend{align-items:center;background-color:#fff;background-color:var(--card-bg);color:#2d3748;color:var(--text-color);display:flex;font-weight:600;margin-bottom:10px;padding:0 .75rem}.checkbox-group{display:flex;gap:8px;margin:10px 0}.checkbox-group input[type=checkbox]{accent-color:#5b8af7;accent-color:var(--primary-color);height:auto;width:auto}.checkbox-group label{cursor:pointer;font-weight:400;margin-bottom:0}.fab-labor-fields-grid,.line-item-fields-grid{grid-gap:18px;align-items:end;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.full-width-grid-item{grid-column:1/-1;min-width:100%}.line-item-details-section,.line-item-labor-section{background-color:color-mix(in srgb,#fff 92%,#edf2f7);background-color:color-mix(in srgb,var(--card-bg) 92%,var(--secondary-color));border:1px solid color-mix(in srgb,#e2e8f0 80%,#0000);border:1px solid color-mix(in srgb,var(--border-color) 80%,#0000);border-radius:12px;padding:14px;transition:box-shadow .2s ease,border-color .2s ease}.line-item-details-section:hover,.line-item-labor-section:hover{border-color:color-mix(in srgb,#e2e8f0 60%,#0000);border-color:color-mix(in srgb,var(--border-color) 60%,#0000);box-shadow:0 2px 8px #0000000d;box-shadow:var(--card-shadow)}.tooltip-icon{color:color-mix(in srgb,#2d3748 65%,#0000);color:color-mix(in srgb,var(--text-color) 65%,#0000);cursor:pointer;display:inline-block;line-height:1;transition:all .2s ease}.tooltip-icon,.tooltip-text{border:1px solid color-mix(in srgb,#e2e8f0 70%,#0000);font-size:.85em}.tooltip-text{background-color:color-mix(in srgb,#fff 96%,#0000);box-shadow:0 12px 28px #0f172a1f;color:#2d3748;font-weight:400;margin-left:-110px;transform:translateY(6px)}.tooltip-text:after{border:5px solid #0000;border-top-color:color-mix(in srgb,#fff 96%,#0000)}.tooltip-container:hover .tooltip-icon{border-color:color-mix(in srgb,#e2e8f0 50%,#0000);border-color:color-mix(in srgb,var(--border-color) 50%,#0000);color:#2d3748;color:var(--text-color)}.tooltip-container:hover .tooltip-text{transform:translateY(0)}.no-items-message{background-color:#edf2f7;background-color:var(--secondary-color);border:1px dashed #e2e8f0;border:1px dashed var(--border-color);border-radius:6px;color:#2d3748;color:var(--text-color);padding:15px}.add-line-item-button{background-color:#4db6ac;background-color:var(--accent-color);border:1px solid #4db6ac;border:1px solid var(--accent-color);border-radius:6px;box-shadow:0 2px 4px #0000001a;box-shadow:var(--button-shadow);color:#fff;color:var(--button-text-color);cursor:pointer;font-weight:500;padding:.6rem 1.2rem;transition:all .2s ease}.add-line-item-button:hover:not(:disabled){box-shadow:0 2px 4px #0000001a,0 0 0 2px #5b8af766;box-shadow:var(--button-shadow),0 0 0 2px var(--focus-ring-color);transform:translateY(-1px)}.add-line-item-button:disabled{background-color:#e2e8f0;background-color:var(--border-color);box-shadow:none;color:#2d3748;color:var(--text-color);cursor:not-allowed;opacity:.6}.auth-button{background-color:#5b8af7;border-radius:6px;box-shadow:0 2px 4px #0000001a;box-shadow:var(--button-shadow);color:#fff;color:var(--button-text-color);display:inline-block;font-weight:500;padding:.6rem 1.2rem;text-decoration:none;transition:all .2s ease}.auth-button:hover{box-shadow:0 2px 4px #0000001a,0 0 0 2px #5b8af766;box-shadow:var(--button-shadow),0 0 0 2px var(--focus-ring-color);transform:translateY(-1px)}.auth-button.login{background-color:#5b8af7;background-color:var(--primary-color)}.auth-button.register{background-color:#4db6ac}.line-item-section-fieldset{background-color:color-mix(in srgb,#fff 96%,#0000);background-color:color-mix(in srgb,var(--card-bg) 96%,#0000);border:1px solid color-mix(in srgb,#e2e8f0 75%,#0000);border:1px solid color-mix(in srgb,var(--border-color) 75%,#0000);border-radius:14px;box-shadow:0 2px 8px #0000000d;box-shadow:var(--card-shadow);color:#2d3748;color:var(--text-color);margin-bottom:1.5rem;padding:1.5rem;transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}.line-item-section-fieldset:hover{box-shadow:0 2px 8px #0000000d,0 0 0 1px #5b8af7;box-shadow:var(--card-shadow),0 0 0 1px var(--primary-color)}.line-item-section-fieldset legend{align-items:center;background-color:#fff;display:flex;font-weight:600;margin-bottom:10px;padding:0 .75rem}.auth-form-container,.line-item-section-fieldset legend{background-color:var(--card-bg);color:#2d3748;color:var(--text-color)}.auth-form-container{border:1px solid #e2e8f0;border:1px solid var(--border-color);box-shadow:0 2px 8px #0000000d;box-shadow:var(--card-shadow);margin:40px auto;max-width:500px;padding:30px;transition:background-color .3s ease,color .3s ease}.auth-error{background-color:#e53e3e1a;border-left:4px solid #e53e3e;border-left:4px solid var(--error-color);color:#e53e3e}.auth-error,.auth-success{border-radius:6px;font-weight:500;margin-bottom:20px;padding:12px}.auth-success{background-color:#38a1691a;border-left:4px solid #38a169;border-left:4px solid var(--success-color);color:#38a169;color:var(--success-color)}.profile-info{background-color:#edf2f7;background-color:var(--secondary-color);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:6px;margin-bottom:20px;padding:15px}@media (max-width:768px){.fab-labor-fields-grid,.line-item-fields-grid{gap:15px;grid-template-columns:1fr}.full-width-grid-item .form-group textarea{font-size:1em;padding:14px}}.hover\:bg-\[color\:var\(--error-color\)\]:hover{background-color:#e53e3e;background-color:var(--error-color)}.hover\:bg-\[var\(--hover-bg-color\)\]:hover{background-color:#f0f5ff;background-color:var(--hover-bg-color)}.hover\:text-white:hover{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:brightness-95:hover{--tw-brightness:brightness(.95);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)}.focus-visible\:outline-none:focus-visible{outline:2px solid #0000;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-\[var\(--focus-ring-color\)\]:focus-visible{--tw-ring-color:var(--focus-ring-color)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.data-\[state\=active\]\:border[data-state=active]{border-width:1px}.data-\[state\=active\]\:border-\[var\(--border-color\)\][data-state=active]{border-color:#e2e8f0;border-color:var(--border-color)}.data-\[state\=active\]\:bg-\[var\(--card-bg\)\][data-state=active]{background-color:#fff;background-color:var(--card-bg)}.data-\[state\=active\]\:text-\[var\(--text-color\)\][data-state=active]{color:#2d3748;color:var(--text-color)}.data-\[state\=active\]\:shadow[data-state=active]{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.data-\[state\=active\]\:ring-1[data-state=active]{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.data-\[state\=active\]\:ring-\[var\(--focus-ring-color\)\][data-state=active]{--tw-ring-color:var(--focus-ring-color)}@media (min-width:768px){.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(0\2c 2fr\)_minmax\(0\2c 1fr\)\]{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-between{justify-content:space-between}}.tooltip-container{margin-left:6px}.tooltip-icon{border:1px solid color-mix(in srgb,var(--border-color) 70%,#0000);border-radius:999px;color:color-mix(in srgb,var(--text-color) 60%,#0000);font-size:12px;line-height:1.2;padding:0 4px}.tooltip-text{background-color:color-mix(in srgb,var(--card-bg) 96%,#0000);border:1px solid color-mix(in srgb,var(--border-color) 70%,#0000);border-radius:10px;bottom:125%;box-shadow:0 10px 24px #0f172a1f;color:var(--text-color);font-size:12px;left:50%;opacity:0;padding:8px 12px;position:absolute;text-align:center;transform:translateX(-50%);transition:opacity .2s ease,transform .2s ease;visibility:hidden;width:220px;z-index:1}.tooltip-text:after{border-color:color-mix(in srgb,var(--card-bg) 96%,#0000) #0000 #0000 #0000;border-style:solid;border-width:5px;content:"";left:50%;margin-left:-5px;position:absolute;top:100%}.tooltip-container:hover .tooltip-text{opacity:1;transform:translateX(-50%) translateY(-4px);visibility:visible}.line-item-card{border-radius:8px;margin-bottom:24px;padding:20px}.line-item-card h4{font-size:1.1rem;margin-bottom:16px}.line-item-grid{grid-gap:24px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}@media (max-width:600px){.line-item-grid{grid-template-columns:1fr}}.line-item-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:10px;box-shadow:var(--card-shadow);margin-bottom:32px;padding:24px}.line-item-card h4{color:var(--text-color);font-size:1.25rem;font-weight:600;margin-bottom:20px}.line-item-card fieldset{border:none;margin:0;padding:0}.line-item-card legend{color:var(--text-color);font-size:1rem;font-weight:600;margin-bottom:12px}.line-item-card .form-group{display:flex;flex-direction:column;margin-bottom:20px}.line-item-card label{color:var(--text-color);font-size:.875rem;font-weight:500;margin-bottom:4px}.line-item-card input,.line-item-card select{background-color:var(--input-bg-color);border:1px solid var(--input-border-color);border-radius:4px;color:var(--input-text-color);font-size:.9rem;padding:8px 10px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.line-item-card input:focus,.line-item-card select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--focus-ring-color)}.line-item-grid{gap:24px}.inline-field{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:1fr auto}.material-form{background:#fff;background:var(--bg-primary,#fff);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:8px;padding:20px}.material-form h3{color:#333;color:var(--text-primary,#333);margin-bottom:20px;margin-top:0}.material-form .form-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:15px}.material-form .form-group{display:flex;flex-direction:column}.material-form label{color:#333;color:var(--text-primary,#333);font-size:.95em;font-weight:600;margin-bottom:5px}.material-form label .required{color:#dc3545;margin-left:2px}.material-form input{background:#fff;background:var(--bg-primary,#fff);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:6px;color:#333;color:var(--text-primary,#333);font-size:1em;padding:10px 12px;transition:border-color .2s ease}.material-form input:focus{border-color:#007bff;border-color:var(--primary-color,#007bff);box-shadow:0 0 0 3px #007bff1a;outline:none}.material-form input:disabled{background-color:#e9ecef;background-color:var(--bg-secondary,#e9ecef);cursor:not-allowed;opacity:.6}.material-form .form-error{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;color:#721c24;font-size:.95em;margin-bottom:15px;padding:12px}.material-form .form-actions{display:flex;gap:10px;justify-content:flex-start;margin-top:20px}.material-form .submit-button{background-color:#28a745;background-color:var(--primary-color,#28a745);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1em;font-weight:600;padding:10px 20px;transition:background-color .2s ease}.material-form .submit-button:hover{background-color:#218838;background-color:var(--primary-hover,#218838)}.material-form .submit-button:disabled{background-color:#6c757d;cursor:not-allowed;opacity:.6}.material-form .cancel-button{background-color:#6c757d;background-color:var(--bg-secondary,#6c757d);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:6px;color:#fff;cursor:pointer;font-size:1em;padding:10px 20px;transition:all .2s ease}.material-form .cancel-button:hover{background-color:#5a6268}.material-form .helper-text{color:#666;color:var(--text-secondary,#666);font-size:.85em;font-style:italic;margin-top:3px}@media (max-width:768px){.material-form .form-row{grid-template-columns:1fr}.material-form .form-actions{flex-direction:column}.material-form .cancel-button,.material-form .submit-button{width:100%}}@media (prefers-color-scheme:dark){.material-form{--bg-primary:#1e1e1e;--bg-secondary:#2d2d2d;--text-primary:#e0e0e0;--text-secondary:#a0a0a0;--border-color:#404040;--primary-color:#4dabf7;--primary-hover:#339af0}.material-form .form-error{background-color:#5c1f1f;border-color:#721c24;color:#f8d7da}}.theme-dark .material-form{--bg-primary:#1e1e1e;--bg-secondary:#2d2d2d;--text-primary:#e0e0e0;--text-secondary:#a0a0a0;--border-color:#404040;--primary-color:#4dabf7;--primary-hover:#339af0}.theme-light .material-form{--bg-primary:#fff;--bg-secondary:#f8f9fa;--text-primary:#333;--text-secondary:#666;--border-color:#ddd;--primary-color:#28a745;--primary-hover:#218838}.material-import{background:#f5f5f5;background:var(--bg-secondary,#f5f5f5);border-radius:8px;margin-bottom:20px;padding:20px}.material-import h3{margin-bottom:15px;margin-top:0}.material-import h3,.material-import h4{color:#333;color:var(--text-primary,#333)}.material-import h4{margin-bottom:10px;margin-top:15px}.material-import hr{border:none;border-top:1px solid #ddd;border-top:1px solid var(--border-color,#ddd);margin:20px 0}.import-actions-top{display:flex;flex-wrap:wrap;gap:10px}.upload-section{background:#fff;background:var(--bg-primary,#fff);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:6px;padding:15px}.file-input-row{align-items:center;display:flex;gap:15px;margin-bottom:15px}.file-name{color:#666;color:var(--text-secondary,#666);font-size:.9em}.import-options{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:15px}.import-options label{align-items:center;display:flex;font-size:.9em;gap:8px}.import-options select{border:1px solid #ccc;border:1px solid var(--border-color,#ccc);border-radius:4px;padding:5px 10px}.import-actions{display:flex;gap:10px;margin-top:15px}.btn-primary{background:#007bff;background:var(--primary-color,#007bff);border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:8px 16px}.btn-primary:hover:not(:disabled){background:#0056b3;background:var(--primary-hover,#0056b3)}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.btn-secondary{background:#f0f0f0;background:var(--bg-secondary,#f0f0f0);border:1px solid #ccc;border:1px solid var(--border-color,#ccc);border-radius:4px;color:#333;color:var(--text-primary,#333);cursor:pointer;padding:8px 16px}.btn-secondary:hover:not(:disabled){background:#e0e0e0;background:var(--bg-hover,#e0e0e0)}.btn-secondary:disabled{cursor:not-allowed;opacity:.6}.error-message{background:#fee;border:1px solid #fcc;border-radius:4px;color:#c00;margin:15px 0;padding:10px 15px}.warning-message{background:#fff8e1;border:1px solid #ffe082;border-radius:4px;color:#856404;margin:15px 0;padding:10px 15px}.success-message{background:#e8f5e9;border:1px solid #a5d6a7;border-radius:4px;color:#2e7d32;font-weight:500;margin:15px 0;padding:10px 15px}.preview-section{background:#fff;background:var(--bg-primary,#fff);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:6px;margin-top:20px;padding:15px}.mapping-notes{background:#e3f2fd;border:1px solid #90caf9;border-radius:4px;font-size:.9em;margin-bottom:15px;padding:10px 15px}.mapping-notes ul{margin:5px 0 0;padding-left:20px}.mapping-table{border-collapse:collapse;margin-bottom:15px;width:100%}.mapping-table td,.mapping-table th{border-bottom:1px solid #ddd;border-bottom:1px solid var(--border-color,#ddd);padding:10px;text-align:left}.mapping-table th{background:#f5f5f5;background:var(--bg-secondary,#f5f5f5);font-weight:600}.mapping-table select{border:1px solid #ccc;border:1px solid var(--border-color,#ccc);border-radius:4px;padding:6px 10px;width:100%}.sample-values{color:#666;color:var(--text-secondary,#666);font-size:.85em;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-result{border-radius:6px;margin-top:20px;padding:15px}.import-result.success{background:#e8f5e9;border:1px solid #a5d6a7}.import-result.error{background:#ffebee;border:1px solid #ef9a9a}.import-result h4{margin-top:0}.result-summary{display:flex;flex-wrap:wrap;gap:20px;margin:15px 0}.summary-item{background:#fff;border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:4px;padding:10px 15px}.summary-item .label{color:#666;color:var(--text-secondary,#666);display:block;font-size:.85em}.summary-item .value{font-size:1.5em;font-weight:600}.summary-item.created .value{color:#2e7d32}.summary-item.updated .value{color:#1565c0}.summary-item.skipped .value{color:#f57c00}.summary-item.errors .value{color:#c62828}.result-errors,.result-warnings{margin-top:15px}.result-warnings h5{color:#856404}.result-errors h5{color:#c62828}.result-errors ul,.result-warnings ul{margin:10px 0;max-height:200px;overflow-y:auto;padding-left:20px}.result-errors li,.result-warnings li{font-size:.9em;margin-bottom:5px}li.more{font-style:italic}.helper-text,li.more{color:#666;color:var(--text-secondary,#666)}.helper-text{font-size:.9em;margin-bottom:15px}.btn-text{background:none;border:none;color:#007bff;color:var(--primary-color,#007bff);cursor:pointer;font-size:.9em;padding:0}.btn-text:hover{text-decoration:underline}.extraction-results{background:#fff;background:var(--bg-primary,#fff);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:6px;margin-top:20px;padding:15px}.extraction-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.extraction-header h4{margin:0}.extraction-notes{background:#e3f2fd;border:1px solid #90caf9;border-radius:4px;font-size:.9em;margin-bottom:15px;padding:10px 15px}.extraction-notes ul{margin:5px 0 0;padding-left:20px}.materials-preview-table{margin-bottom:15px;overflow-x:auto}.materials-preview-table table{border-collapse:collapse;min-width:600px;width:100%}.materials-preview-table td,.materials-preview-table th{border-bottom:1px solid #ddd;border-bottom:1px solid var(--border-color,#ddd);padding:10px 12px;text-align:left}.materials-preview-table th{background:#f5f5f5;background:var(--bg-secondary,#f5f5f5);font-weight:600;position:sticky;top:0}.materials-preview-table th:first-child{width:40px}.materials-preview-table tbody tr:hover{background:#f8f9fa;background:var(--bg-hover,#f8f9fa)}.materials-preview-table tbody tr.selected{background:#e3f2fd}.materials-preview-table .material-name{font-weight:500;max-width:300px}.materials-preview-table .cost-sheet,.materials-preview-table .cost-sqft{font-family:monospace;text-align:right}.materials-preview-table .dimensions{color:#666;color:var(--text-secondary,#666);white-space:nowrap}.materials-preview-table .sku{color:#666;color:var(--text-secondary,#666);font-size:.85em}.import-settings{align-items:center;border-top:1px solid #eee;border-top:1px solid var(--border-color,#eee);display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:15px;padding:10px 0}.import-settings label{align-items:center;display:flex;font-size:.9em;gap:8px}.import-settings select{border:1px solid #ccc;border:1px solid var(--border-color,#ccc);border-radius:4px;padding:6px 10px}.selected-count{color:#666;color:var(--text-secondary,#666);font-size:.9em}.result-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.result-header h4{margin:0}.result-summary .summary-item{min-width:80px;text-align:center}.result-summary .summary-item .value{display:block;font-size:1.8em;font-weight:700;line-height:1}.result-summary .summary-item .label{display:block;font-size:.75em;letter-spacing:.5px;margin-top:4px;text-transform:uppercase}.result-summary .summary-item.total .value{color:#333;color:var(--text-primary,#333)}.processed-materials{margin:15px 0;max-height:250px;overflow-y:auto}.processed-materials h5{margin-bottom:10px;margin-top:0}.processed-materials ul{list-style:none;margin:0;padding:0}.processed-materials li{align-items:center;border-bottom:1px solid #eee;border-bottom:1px solid var(--border-color,#eee);display:flex;font-size:.9em;gap:10px;padding:6px 10px}.processed-materials .action-badge{border-radius:3px;display:inline-block;font-size:.75em;font-weight:600;padding:2px 8px;text-transform:uppercase}.processed-materials .action-created .action-badge{background:#c8e6c9;color:#2e7d32}.processed-materials .action-updated .action-badge{background:#bbdefb;color:#1565c0}.processed-materials .action-skipped .action-badge{background:#ffe0b2;color:#e65100}@media (prefers-color-scheme:dark){.material-import{--bg-primary:#1e1e1e;--bg-secondary:#2d2d2d;--text-primary:#e0e0e0;--text-secondary:#a0a0a0;--border-color:#404040;--primary-color:#4dabf7;--primary-hover:#339af0;--bg-hover:#3d3d3d}.extraction-notes{border-color:#2c5282}.extraction-notes,.materials-preview-table tbody tr.selected{background:#1a3a5c}}.material-admin-page{margin:0 auto;max-width:1400px;padding:20px}.material-admin-page h2{color:#333;color:var(--text-primary,#333);font-size:2em;margin-bottom:20px}.material-filter-bar{grid-gap:12px;align-items:end;background:#f8f9fa;background:var(--bg-secondary,#f8f9fa);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:8px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:10px;padding:12px}.material-filter-bar .filter-field{display:flex;flex-direction:column;gap:6px}.material-filter-bar label{color:#666;color:var(--text-secondary,#666);font-size:.85em;font-weight:600}.material-filter-bar input{background:#fff;background:var(--bg-primary,#fff);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:6px;color:#333;color:var(--text-primary,#333);font-size:.95em;padding:8px 10px}.material-filter-bar .filter-actions{align-items:end;display:flex}.material-filter-bar .filter-actions button{background:#fff;background:var(--bg-primary,#fff);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:6px;cursor:pointer;padding:8px 12px;transition:background-color .2s ease}.material-filter-bar .filter-actions button:hover{background-color:#f5f5f5;background-color:var(--bg-hover,#f5f5f5)}.filter-count{color:#666;color:var(--text-secondary,#666);margin:6px 0 16px}.bulk-actions-bar{align-items:center;background:#f8f9fa;background:var(--bg-secondary,#f8f9fa);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:8px;display:flex;justify-content:space-between;margin-bottom:16px;padding:10px 12px}.bulk-actions-bar .bulk-delete-button{background-color:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:8px 14px;transition:background-color .2s ease}.bulk-actions-bar .bulk-delete-button:disabled{cursor:not-allowed;opacity:.6}.bulk-actions-bar .bulk-delete-button:hover:not(:disabled){background-color:#c82333}.material-admin-page .add-material-button{background-color:#007bff;background-color:var(--primary-color,#007bff);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1em;margin-bottom:15px;padding:10px 20px;transition:background-color .2s ease}.material-admin-page .add-material-button:hover{background-color:#0056b3;background-color:var(--primary-hover,#0056b3)}.materials-table{background:#fff;background:var(--bg-primary,#fff);border-collapse:collapse;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-top:20px;overflow:hidden;width:100%}.materials-table thead{background:#f8f9fa;background:var(--secondary-color,#f8f9fa)}.materials-table th{border-bottom:2px solid #ddd;border-bottom:2px solid var(--border-color,#ddd);font-weight:600;text-align:left}.materials-table td,.materials-table th{color:#333;color:var(--text-primary,#333);padding:12px 15px}.materials-table td{border-bottom:1px solid #eee;border-bottom:1px solid var(--border-color,#eee)}.materials-table tbody tr{transition:background-color .2s ease}.materials-table tbody tr:hover{background-color:#f5f5f5;background-color:var(--bg-hover,#f5f5f5)}.materials-table .checkbox-cell{text-align:center;width:40px}.materials-table .checkbox-cell input{cursor:pointer}.materials-table tbody tr.selected-row{background-color:#007bff14}.materials-table .editable-cell{cursor:pointer}.materials-table .editable-cell.editing{cursor:default}.inline-edit input{border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:4px;font-size:.95em;padding:6px 8px;width:120px}.inline-edit input.input-error{border-color:#dc3545}.inline-edit-error{color:#dc3545;font-size:.8em;margin-top:4px}.inline-display{align-items:center;display:inline-flex;gap:8px}.inline-saving{animation:spin .8s linear infinite;border:2px solid #007bff4d;border-radius:50%;border-top-color:#007bffe6;display:inline-block;height:12px;width:12px}.materials-table .actions-cell{display:flex;gap:8px;justify-content:flex-start}.materials-table .edit-button{background-color:#007bff;background-color:var(--primary-color,#007bff);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9em;padding:6px 12px;transition:background-color .2s ease}.materials-table .edit-button:hover{background-color:#0056b3;background-color:var(--primary-hover,#0056b3)}.materials-table .delete-button{background-color:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9em;padding:6px 12px;transition:background-color .2s ease}.materials-table .delete-button:hover{background-color:#c82333}.empty-state{background:#fff;background:var(--bg-primary,#fff);border-radius:8px;font-style:italic;margin-top:20px}.empty-state,.loading-state{color:#666;color:var(--text-secondary,#666);padding:40px;text-align:center}.loading-state{font-size:1.1em}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;color:#721c24;margin-bottom:15px;padding:12px}.delete-confirmation-overlay{align-items:center;background-color:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.delete-confirmation{background-color:#fff;background-color:var(--bg-primary,#fff);border-radius:8px;box-shadow:0 4px 20px #0000004d;color:#333;color:var(--text-primary,#333);max-width:450px;padding:25px;width:90%}.delete-confirmation h3{color:#dc3545;margin-bottom:15px;margin-top:0}.delete-confirmation p{line-height:1.5;margin-bottom:12px}.delete-material-list{color:#333;color:var(--text-primary,#333);margin:10px 0 12px;max-height:200px;overflow-y:auto;padding-left:20px}.delete-more{color:#666;color:var(--text-secondary,#666);font-size:.9em;margin-top:-6px}.delete-confirmation strong{color:#dc3545}.delete-confirmation-buttons{display:flex;gap:10px;justify-content:space-between;margin-top:20px}.delete-confirmation-buttons button{border-radius:6px;cursor:pointer;flex:1 1;font-size:1em;padding:10px 15px;transition:all .2s ease}.delete-confirmation-buttons .cancel-button{background-color:#6c757d;background-color:var(--bg-secondary,#6c757d);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);color:#fff}.delete-confirmation-buttons .cancel-button:hover{background-color:#5a6268}.delete-confirmation-buttons .confirm-delete-button{background-color:#dc3545;border:none;color:#fff}.delete-confirmation-buttons .confirm-delete-button:hover{background-color:#c82333}.delete-confirmation-buttons button:disabled{cursor:not-allowed;opacity:.6}.material-form-section{background:#f8f9fa;background:var(--bg-secondary,#f8f9fa);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:8px;margin-bottom:20px;padding:20px}@media (max-width:768px){.material-admin-page{padding:10px}.materials-table{font-size:.9em}.materials-table td,.materials-table th{padding:8px 10px}.delete-confirmation{padding:20px;width:95%}.materials-table .actions-cell{flex-direction:column;gap:5px}.material-filter-bar{grid-template-columns:1fr}.bulk-actions-bar{align-items:flex-start;flex-direction:column;gap:10px}}@keyframes spin{to{transform:rotate(1turn)}}@media (prefers-color-scheme:dark){.material-admin-page{--bg-primary:#1e1e1e;--bg-secondary:#2d2d2d;--text-primary:#e0e0e0;--text-secondary:#a0a0a0;--border-color:#404040;--primary-color:#4dabf7;--primary-hover:#339af0;--bg-hover:#3d3d3d;--secondary-color:#2d2d2d}.error-message{background-color:#5c1f1f;border-color:#721c24;color:#f8d7da}}.theme-dark .material-admin-page{--bg-primary:#1e1e1e;--bg-secondary:#2d2d2d;--text-primary:#e0e0e0;--text-secondary:#a0a0a0;--border-color:#404040;--primary-color:#4dabf7;--primary-hover:#339af0;--bg-hover:#3d3d3d;--secondary-color:#2d2d2d}.theme-light .material-admin-page{--bg-primary:#fff;--bg-secondary:#f8f9fa;--text-primary:#333;--text-secondary:#666;--border-color:#ddd;--primary-color:#007bff;--primary-hover:#0056b3;--bg-hover:#f5f5f5;--secondary-color:#f8f9fa}.job-controls{background-color:initial;border:0;border-radius:0;box-shadow:none;margin-bottom:0;padding:0}.job-controls .action-buttons{display:flex;flex-direction:column;gap:12px}.job-controls .primary-actions{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.job-controls .secondary-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.job-controls .job-primary-button{border-radius:999px;box-shadow:0 10px 18px -14px color-mix(in srgb,var(--text-color) 35%,#0000);height:36px;padding:0 16px}.job-controls .secondary-actions button{border-radius:999px;height:34px;padding:0 12px}.job-controls .current-job-info{color:color-mix(in srgb,var(--text-color) 75%,#0000);flex-grow:1;font-size:.9rem;margin-left:0}.job-controls .error-message{color:var(--error-color);margin-top:10px}.job-name-form{max-width:500px}.job-name-form div{margin-bottom:10px}.job-name-form label{display:block;font-weight:600;margin-bottom:6px}.job-name-form input,.job-name-form textarea{width:100%}.job-name-form .button-group{display:flex;flex-wrap:wrap;gap:10px}.modal-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.job-list-container{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;color:var(--text-color);max-height:90vh;max-width:1200px;overflow-y:auto;padding:20px;position:relative;width:90%}.job-list-header{border-bottom:1px solid var(--border-color)}.job-list-header .close-button{background:none;border:none;color:var(--text-color);cursor:pointer;font-size:24px}.job-list-header .close-button:hover{opacity:.7}.filter-controls{margin-bottom:15px}.filter-controls select{border-radius:4px;margin-left:5px;padding:8px}.jobs-table{background-color:var(--card-bg);border-collapse:collapse;color:var(--text-color);width:100%}.jobs-table td,.jobs-table th{border:1px solid var(--border-color);padding:10px;text-align:left}.jobs-table th{background-color:var(--table-header-bg)}.jobs-table tr:hover{background-color:var(--hover-bg-color);cursor:pointer}.status-badge{border:1px solid;border-radius:12px;display:inline-block;font-size:.8em;font-weight:700;padding:3px 8px;text-align:center}.status-badge.draft{color:#ffa726}.status-badge.submitted{color:#42a5f5}.status-badge.approved{color:#66bb6a}.status-badge.rejected{color:#ef5350}.status-badge.completed{color:#ab47bc}.status-badge.archived{color:#78909c}.jobs-table .delete-button,.jobs-table .edit-button{border:none;border-radius:4px;color:var(--button-text-color);cursor:pointer;margin-right:5px;padding:5px 10px}.jobs-table .edit-button{background-color:var(--primary-color)}.jobs-table .edit-button:hover{opacity:.85}.jobs-table .delete-button{background-color:var(--error-color)}.jobs-table .delete-button:hover{opacity:.85}.confirm-delete{align-items:center;display:inline-flex;gap:5px}.confirm-delete span{font-size:.9em;margin-right:5px}.confirm-delete button{border:none;border-radius:3px;cursor:pointer;font-size:.8em;padding:2px 8px}.confirm-delete .confirm-yes{background-color:#dc3545;color:#fff}.confirm-delete .confirm-no{background-color:#6c757d;color:#fff}.version-history-container{background-color:#fff;border-radius:5px;max-height:90vh;max-width:1200px;overflow-y:auto;padding:20px;position:relative;width:90%}.version-history-header{margin-bottom:20px}.version-history-header .close-button{background:none;border:none;color:var(--text-color);cursor:pointer;font-size:24px}.version-history-content{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 2fr;height:calc(90vh - 100px)}.version-list{border-right:1px solid var(--border-color);overflow-y:auto;padding-right:15px}.version-list h3{color:var(--text-color);margin-top:0}.version-list ul{list-style:none;margin:0;padding:0}.version-list li{background-color:var(--secondary-color);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;margin-bottom:10px;padding:10px;transition:background-color .2s}.version-list li:hover{background-color:var(--hover-bg-color)}.version-list li.selected{background-color:var(--selected-bg-color);border-color:var(--primary-color);color:#fff}.version-item{display:flex;flex-direction:column}.version-number{font-weight:700}.version-date{color:var(--text-color);font-size:.8em;opacity:.7}.version-details{overflow-y:auto;padding-left:15px}.version-details h3{color:var(--text-color);margin-top:0}.version-summary{border-bottom:1px solid var(--border-color);margin-bottom:20px;padding-bottom:15px}.cost-summary{background-color:var(--secondary-color);border:1px solid var(--border-color);border-radius:4px;margin:15px 0;padding:10px}.load-version-button{font-size:1em;margin-top:10px;padding:8px 15px}.job-data-preview{background-color:#f8f8f8;border:1px solid #ddd;border-radius:4px;margin-top:20px;padding:10px}.data-preview{font-family:monospace;font-size:.9em;max-height:300px;overflow-y:auto;padding:10px}.version-controls{display:flex;justify-content:center;margin-top:20px}.version-history-button{background-color:var(--secondary-color);border:1px solid var(--border-color);border-radius:4px;color:var(--text-color);cursor:pointer;font-size:1em;padding:8px 15px}.version-history-button:hover{background-color:var(--hover-bg-color)}.job-list-modal{background-color:#fff;border-radius:4px;box-shadow:0 2px 10px #0003;left:50%;max-height:80vh;max-width:900px;overflow-y:auto;padding:20px;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:1000}.job-list-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:10px}.job-list-table{border-collapse:collapse;margin-top:10px;width:100%}.job-list-table td,.job-list-table th{border:1px solid var(--border-color);padding:10px;text-align:left}.job-list-table th{background-color:var(--table-header-bg);font-weight:700}.job-list-table tr:hover{background-color:var(--hover-bg-color);cursor:pointer}.error-message{font-weight:700}.version-history-viewer{background:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;box-shadow:0 2px 10px #0006;color:var(--text-color);left:50%;max-height:80vh;max-width:1000px;overflow-y:auto;padding:20px;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:1000}.version-history-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:10px}.close-button{background:none;border:none;color:var(--text-color);cursor:pointer;font-size:24px;padding:0}.close-button:hover{opacity:.7}.version-table-container{overflow-x:auto;width:100%}table{background-color:var(--card-bg);border-collapse:collapse;width:100%}table td,table th{border-bottom:1px solid var(--border-color);padding:8px;text-align:left}table th{background-color:var(--table-header-bg);color:var(--text-color);position:sticky;top:0;z-index:10}table tr:hover{background-color:var(--hover-bg-color)}.debug-price{position:relative}.debug-alt-price{color:var(--text-color);display:block;font-size:.8em;opacity:.6}.price-cell{font-weight:600;min-width:100px;text-align:right;white-space:nowrap}.load-version-button{background-color:var(--primary-color);border:none;border-radius:4px;color:var(--background-color);cursor:pointer;padding:5px 10px}.load-version-button:hover{opacity:.85}.error-message{margin:10px 0}.change-note-cell{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}tr:hover .change-note-cell{background-color:var(--hover-bg-color);color:var(--text-color);overflow:visible;position:relative;white-space:normal;z-index:10}.job-costing-form{margin:0 auto;max-width:100%;padding:0;text-align:left}.job-costing-form fieldset{border:none;margin-bottom:24px;padding:0}.job-costing-form legend{color:var(--text-color);font-weight:600;padding:0 6px}.job-info-section{background-color:initial}.required-indicator{color:#ff4040;margin-left:4px}.form-card{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--card-shadow);padding:22px}.stage-divider{align-items:center;color:color-mix(in srgb,var(--text-color) 70%,#0000);display:flex;font-size:.78rem;font-weight:600;gap:12px;letter-spacing:.12em;margin:26px 0 16px;text-transform:uppercase}.stage-divider:after,.stage-divider:before{background:linear-gradient(90deg,#0000,color-mix(in srgb,var(--border-color) 70%,#0000));content:"";flex:1 1;height:1px}.stage-divider:after{transform:scaleX(-1)}.form-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:12px}.form-label{align-items:center;color:var(--text-color);display:flex;font-weight:600;gap:6px}.form-select{background-color:var(--input-bg-color);border:1px solid var(--input-border-color);border-radius:8px;color:var(--input-text-color);font-size:14px;height:40px;padding:0 10px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.form-select:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--focus-ring-color);outline:none}.line-items-container{margin-bottom:2rem}.line-item-card{margin-bottom:1.5rem}.line-item-card h4{border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-top:0;padding-bottom:.75rem}.line-item-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.no-items-message{background-color:color-mix(in srgb,var(--card-bg) 85%,var(--secondary-color));border-radius:14px;color:color-mix(in srgb,var(--text-color) 70%,#0000);font-style:italic;padding:1rem;text-align:center}.remove-button{background-color:color-mix(in srgb,var(--error-color) 85%,#fff);border:none;border-radius:999px;color:#fff;cursor:pointer;font-size:18px;height:28px;line-height:28px;text-align:center;transition:transform .2s ease,opacity .2s ease;width:28px}.remove-button:hover{opacity:.9;transform:translateY(-1px)}.form-group label{display:block}.form-group input,.form-group select{font-size:14px;width:100%}.placeholder-selected{color:color-mix(in srgb,var(--text-color) 65%,#0000)}.additional-costs-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:20px}.form-actions{display:flex;justify-content:center;margin-top:2rem}.tooltip-container{display:inline-block;margin-left:5px;position:relative}.tooltip-icon{color:var(--primary-color);cursor:help;font-size:14px}.delivery-misc-container{align-items:flex-start;display:flex;gap:20px;margin-bottom:20px}.delivery-misc-container>fieldset{flex:1 1;min-width:0}@media (max-width:768px){.line-item-grid{grid-template-columns:1fr}.delivery-misc-container{flex-direction:column}}.line-item-calculated-cost{border-top:1px dashed color-mix(in srgb,var(--border-color) 80%,#0000);display:flex;flex-wrap:wrap;font-size:.9rem;gap:12px;justify-content:space-between;margin-top:12px;padding-top:12px}.dashboard-ticker{background:linear-gradient(90deg,color-mix(in srgb,var(--secondary-color) 92%,#0000),color-mix(in srgb,var(--card-bg) 85%,#0000),color-mix(in srgb,var(--secondary-color) 92%,#0000));border-bottom:1px solid color-mix(in srgb,var(--border-color) 80%,#0000);margin:-8px -24px 12px;overflow:hidden;padding:6px 0;position:sticky;top:72px;z-index:30}.dashboard-ticker__track{animation:dashboard-ticker-scroll 24s linear infinite;display:flex;width:max-content}.dashboard-ticker__content{align-items:center;display:flex;gap:16px;padding:0 24px}.dashboard-ticker__item{color:color-mix(in srgb,var(--text-color) 75%,#0000);font-size:.65rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.dashboard-ticker__pill{border:1px solid color-mix(in srgb,var(--border-color) 75%,#0000);color:color-mix(in srgb,var(--text-color) 70%,#0000);padding:2px 10px;white-space:nowrap}.dashboard-ticker__button,.dashboard-ticker__pill{border-radius:999px;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.dashboard-ticker__button{background-color:color-mix(in srgb,var(--card-bg) 80%,#0000);border:1px solid color-mix(in srgb,var(--border-color) 70%,#0000);height:28px;padding:0 10px}.dashboard-ticker:hover .dashboard-ticker__track{animation-play-state:paused}.job-actions-sticky{background:linear-gradient(180deg,color-mix(in srgb,var(--card-bg) 94%,#0000),#0000);margin:-12px -24px 12px;padding:12px 24px 0;position:sticky;top:104px;z-index:20}.job-actions-collapsible{background-color:color-mix(in srgb,var(--card-bg) 95%,#0000);border:1px solid color-mix(in srgb,var(--border-color) 80%,#0000);border-radius:16px;box-shadow:var(--card-shadow)}.job-actions-summary{align-items:center;color:var(--text-color);cursor:pointer;display:flex;gap:16px;justify-content:space-between;list-style:none;padding:14px 18px}.job-actions-summary::-webkit-details-marker{display:none}.job-actions-title{display:block;font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.job-actions-subtitle{color:color-mix(in srgb,var(--text-color) 70%,#0000);display:block;font-size:.85rem}.job-actions-hint{color:color-mix(in srgb,var(--text-color) 60%,#0000);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.job-actions-panel{padding:12px 18px 18px}.job-actions-collapsible[open] .job-actions-summary{border-bottom:1px solid color-mix(in srgb,var(--border-color) 70%,#0000)}.recent-jobs__header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.recent-jobs__toggle{margin-top:2px}.recent-jobs__status{color:color-mix(in srgb,var(--text-color) 75%,#0000);font-size:.85rem}.recent-jobs__status--error{color:var(--error-color)}.recent-jobs__list{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.recent-jobs__item{background:color-mix(in srgb,var(--card-bg) 90%,#0000);border:1px solid color-mix(in srgb,var(--border-color) 75%,#0000);border-radius:12px;display:flex;flex-direction:column;gap:4px;padding:10px 12px;text-align:left;transition:border-color .2s ease,transform .2s ease;width:100%}.recent-jobs__item:hover{border-color:color-mix(in srgb,var(--primary-color) 60%,#0000);transform:translateY(-1px)}.recent-jobs__name{color:var(--text-color);font-size:.95rem;font-weight:600}.recent-jobs__meta{color:color-mix(in srgb,var(--text-color) 65%,#0000);display:flex;font-size:.75rem;gap:10px;justify-content:space-between;letter-spacing:.08em;text-transform:uppercase}@keyframes dashboard-ticker-scroll{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@media (max-width:720px){.dashboard-ticker{top:64px}.job-actions-sticky{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px;top:88px}.dashboard-ticker__content{gap:10px}.dashboard-ticker__pill,.job-actions-hint{display:none}}.version-footer{background-color:#f5f5f5;background-color:var(--footer-bg,#f5f5f5);border-top:1px solid #ddd;border-top:1px solid var(--border-color,#ddd);color:#666;color:var(--footer-text,#666);font-size:.875rem;margin-top:40px;padding:20px;text-align:center}.version-footer__content{margin:0 auto;max-width:1200px}.version-footer__copyright{color:#666;color:var(--footer-text,#666);margin:0 0 8px}.version-footer__version{color:#999;color:var(--footer-text-secondary,#999);font-family:Monaco,Courier New,monospace;font-size:.8rem;letter-spacing:.5px;margin:0}[data-theme=dark] .version-footer{background-color:#1a1a1a;background-color:var(--footer-bg,#1a1a1a);border-top-color:#444;border-top-color:var(--border-color,#444)}[data-theme=dark] .version-footer,[data-theme=dark] .version-footer__copyright{color:#ccc;color:var(--footer-text,#ccc)}[data-theme=dark] .version-footer__version{color:#999;color:var(--footer-text-secondary,#999)}[data-theme=island] .version-footer{background-color:#0f172a;background-color:var(--footer-bg,#0f172a);border-top-color:#1e293b;border-top-color:var(--border-color,#1e293b)}[data-theme=island] .version-footer,[data-theme=island] .version-footer__copyright{color:#cbd5e1;color:var(--footer-text,#cbd5e1)}[data-theme=island] .version-footer__version{color:#64748b;color:var(--footer-text-secondary,#64748b)}.auth-form-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin:2rem auto;max-width:400px;padding:2rem;text-align:center}.auth-form{gap:1rem}.auth-form,.form-group{display:flex;flex-direction:column}.form-group{align-items:center;margin-bottom:1rem}.form-group label{font-weight:500;margin-bottom:.5rem;text-align:center}.form-group input{border:1px solid #ccc;border-radius:4px;font-size:1rem;padding:.75rem}.auth-form input{color:var(--input-text-color)}.auth-form input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--focus-ring-color);outline:none}.checkbox-group{align-items:center;flex-direction:row;gap:.5rem}.checkbox-group input{margin:0}.auth-button{background-color:var(--primary-color);border:none;color:var(--background-color);cursor:pointer;font-size:1rem;padding:.75rem;transition:opacity .3s;width:100%}.auth-button:hover:not(:disabled){opacity:.85}.auth-button:disabled{background-color:var(--border-color);color:var(--text-color);cursor:not-allowed;opacity:.6}.auth-error{background-color:color-mix(in srgb,var(--error-color) 15%,#0000);border:1px solid var(--error-color);border-radius:4px;color:var(--error-color);margin-bottom:1rem;padding:.75rem;text-align:center}.auth-links{margin-top:1rem;text-align:center}.auth-links a{color:var(--link-color);text-decoration:none}.auth-links a:hover{text-decoration:underline}.auth-logo{background-color:var(--card-bg);border-radius:12px;box-shadow:0 4px 12px #00000014;display:block;height:120px;margin:0 auto 2rem;padding:12px;transition:transform .2s ease,box-shadow .2s ease;width:auto}.auth-logo:hover{box-shadow:0 6px 16px #0000001f;transform:scale(1.02)}.App{background-color:var(--background-color);color:var(--text-color);display:flex;flex-direction:column;min-height:100vh;text-align:center;transition:background-color .3s ease,color .3s ease}.app-navbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(180deg,color-mix(in srgb,var(--card-bg) 94%,#0000),color-mix(in srgb,var(--card-bg) 88%,#0000));border-bottom:1px solid var(--border-color);box-shadow:0 6px 24px #0f172a14;justify-content:space-between;padding:12px 24px;position:sticky;top:0;z-index:50}.app-navbar,.app-navbar__left{align-items:center;display:flex}.app-navbar__left{gap:24px}.app-navbar__brand{align-items:center;color:var(--text-color);display:flex;font-weight:600;gap:12px;text-decoration:none}.app-navbar__logo{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--card-shadow);height:40px;object-fit:contain;padding:5px;width:40px}.app-navbar__links{align-items:center;display:flex;gap:16px}.app-navbar__link{border-radius:999px;color:var(--text-color);font-size:.95rem;padding:6px 10px;text-decoration:none;transition:background-color .2s ease,color .2s ease}.app-navbar__link.active{background-color:color-mix(in srgb,var(--secondary-color) 85%,#0000);color:var(--text-color)}.app-navbar__link:hover{background-color:var(--hover-bg-color)}.app-navbar__right{align-items:center;display:flex;gap:12px}.theme-toggle{align-items:center;background-color:color-mix(in srgb,var(--secondary-color) 85%,#0000);border:1px solid color-mix(in srgb,var(--border-color) 70%,#0000);border-radius:999px;display:flex;gap:8px;padding:4px 8px}.theme-toggle__label{color:color-mix(in srgb,var(--text-color) 75%,#0000);font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.app-navbar__auth,.app-navbar__user{align-items:center;display:flex;gap:10px}.app-navbar__user-badge{align-items:center;background-color:color-mix(in srgb,var(--secondary-color) 60%,#0000);border:1px solid var(--border-color);border-radius:999px;display:flex;gap:12px;padding:6px 12px 6px 6px;transition:background-color .2s ease}.app-navbar__user-badge:hover{background-color:color-mix(in srgb,var(--secondary-color) 80%,#0000)}.app-navbar__avatar{align-items:center;background:linear-gradient(135deg,var(--primary-color),#6366f1);background:linear-gradient(135deg,var(--primary-color),var(--accent-color,#6366f1));border:2px solid var(--card-bg);border-radius:50%;box-shadow:0 2px 8px #00000026;display:flex;flex-shrink:0;height:36px;justify-content:center;overflow:hidden;width:36px}.app-navbar__avatar-img{height:100%;object-fit:cover;width:100%}.app-navbar__avatar-initials{color:#fff;font-size:.95rem;font-weight:600;text-transform:uppercase}.app-navbar__user-info{align-items:flex-start;display:flex;flex-direction:column;gap:1px;min-width:0}.app-navbar__user-name{color:var(--text-color);font-size:.9rem;font-weight:600;max-width:150px;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.app-navbar__user-name:hover{color:var(--primary-color);text-decoration:underline}.app-navbar__user-email{color:color-mix(in srgb,var(--text-color) 60%,#0000);font-size:.75rem;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:768px){.app-navbar__user-email{display:none}.app-navbar__user-name{max-width:100px}}.app-navbar__icon,.app-navbar__profile{color:var(--text-color)}.app-navbar__profile{font-weight:600;text-decoration:none}.app-navbar__profile:hover{text-decoration:underline}.app-main-header{align-items:center;background-color:var(--secondary-color);border-bottom:1px solid var(--border-color);display:flex;flex-direction:column;justify-content:center;padding:1rem}.main-logo{filter:var(--logo-filter);height:80px;margin-bottom:1rem}.App-header{background-color:#282c34;border-bottom:1px solid var(--border-color);color:#fff;justify-content:space-between;padding:10px 20px;transition:background-color .3s ease,color .3s ease,border-color .3s ease}.App-header,.nav-left{align-items:center;display:flex}.App-header .App-logo{height:50px;margin-right:15px;pointer-events:none}.nav-brand{color:#fff;font-size:1.4em;font-weight:700;text-decoration:none}.nav-right{align-items:center;display:flex;gap:20px}.nav-links{gap:15px}.nav-links a{border-radius:4px;color:#fff;padding:5px 10px;text-decoration:none;transition:background-color .2s ease}.nav-links a.active,.nav-links a:hover{background-color:#5a5f6b}.user-info{align-items:center;display:flex;gap:8px}.user-icon{font-size:1.2em;vertical-align:middle}.user-info span{font-weight:700}.user-profile-link{color:inherit;text-decoration:none}.user-profile-link:hover{color:inherit;text-decoration:underline}.logout-button{background-color:#61dafb;border-radius:4px;color:#282c34;font-weight:700;padding:5px 10px;transition:background-color .2s ease}.logout-button:hover{background-color:#4fa8c5}@media (max-width:900px){.app-navbar,.app-navbar__left{align-items:flex-start;flex-direction:column;gap:12px}.app-navbar__links{flex-wrap:wrap}.app-navbar__right{justify-content:space-between;width:100%}}.theme-toggle-button{background:none;border:1px solid #fff;border-radius:4px;color:#fff;cursor:pointer;padding:5px 10px}.nav-brand a{color:var(--text-color);font-size:1.2rem;font-weight:700;text-decoration:none}.nav-links{align-items:center;display:flex;gap:1rem}.App-logo{background-color:#fff;border-radius:6px;box-shadow:0 2px 4px #0000001a;filter:var(--logo-filter);height:60px;margin-right:1rem;padding:5px;pointer-events:none;transition:transform .2s ease,filter .2s ease}.App-logo:hover{filter:brightness(1.1);transform:scale(1.05)}.large-logo{background-color:#fff;border-radius:6px;box-shadow:0 2px 4px #0000001a;filter:var(--logo-filter);height:auto;padding:5px;transition:transform .2s ease,filter .2s ease;width:80px}.large-logo:hover{filter:brightness(1.1);transform:scale(1.05)}main{background-color:var(--background-color);flex-grow:1;padding:20px}.App-footer,main{color:var(--text-color)}.App-footer{align-items:center;background-color:var(--secondary-color);border-top:1px solid var(--border-color);display:flex;font-size:.8rem;justify-content:center;margin-top:auto;padding:10px;transition:background-color .3s ease,color .3s ease,border-color .3s ease}.App-footer img{filter:var(--logo-filter);height:30px;margin-right:.5rem}.App-footer .footer-logo{height:30px;margin-right:10px}.App-footer .version-info{font-family:monospace;font-size:.7rem;margin-left:15px;opacity:.7}a{color:var(--link-color);text-decoration:none}a:hover{text-decoration:underline}button{background-color:var(--button-bg-color);border:1px solid var(--button-bg-color);border-radius:.25rem;color:var(--button-text-color);cursor:pointer;padding:.5rem 1rem;transition:opacity .2s ease}button:hover{opacity:.9}input,select,textarea{background-color:var(--input-bg-color);border:1px solid var(--input-border-color);border-radius:.25rem;color:var(--input-text-color);padding:.375rem .75rem}.card{background-color:var(--card-bg);border:1px solid var(--card-border-color);border-radius:.25rem;margin-bottom:1rem;padding:1rem}.error-message{background-color:color-mix(in srgb,var(--error-color) 15%,#0000);border:1px solid var(--error-color);border-radius:.25rem;color:var(--error-color)}.error-message,.success-message{margin-bottom:1rem;padding:.75rem}.success-message{background-color:color-mix(in srgb,var(--success-color) 15%,#0000);border:1px solid var(--success-color);border-radius:.25rem;color:var(--success-color)}.auth-links{gap:1rem}.auth-links,.profile-link{align-items:center;display:flex}.profile-link{color:var(--text-color);gap:.5rem}.user-avatar{border-radius:50%;height:30px;object-fit:cover;width:30px}.logout-button{background-color:initial;border:none;color:var(--link-color);cursor:pointer;padding:0}.logout-button:hover{text-decoration:underline}.auth-button{border-radius:4px;padding:.5rem 1rem;text-align:center}.auth-button.login{background-color:initial;border:1px solid var(--accent-color);color:var(--accent-color)}.auth-button.login:hover{background-color:color-mix(in srgb,var(--accent-color) 10%,#0000)}.auth-button.register{background-color:var(--accent-color);border:1px solid var(--accent-color);color:var(--button-text-color)}.auth-button.register:hover{opacity:.85}.delete-button{background-color:#ff4d4f;border:none;border-radius:4px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;font-size:.9rem;font-weight:700;padding:6px 12px;transition:background-color .2s ease,transform .1s ease,box-shadow .2s ease}.delete-button:hover{background-color:#d9363e;box-shadow:0 4px 8px #0003;transform:scale(1.05)}.delete-button:active{box-shadow:0 1px 2px #0000001a;transform:scale(.95)}
/*# sourceMappingURL=main.fa37e9f4.css.map*/