@import url(https://fonts.googleapis.com/css2?family=Besley:wght@400;600;700&family=Work+Sans:wght@400;500;600;700&display=swap);@import url(https://fonts.googleapis.com/css2?family=Besley:wght@400;600;700&family=Work+Sans:wght@200;300;400;500;600;700&display=swap);body{background-color:#f8f6f3;color:#333;font-family:Work Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}h1,h2,h3,h4,h5,h6{color:#333}:root{--color-primary:#7a5230;--color-secondary:#a06b3f;--color-accent:#c9a47a;--color-bg:#f7f6f4;--color-bg-dk:#eae7e3;--color-surface:#fefefe;--color-surface-ltcontrast:#f2f0ec;--color-text-light:#6e635a;--color-text-base:#352d26;--color-text-dark:#1e1812;--color-text-muted:#9c8a7b;--color-border-light:#ede3d7;--color-border-medium:#dcd0c3;--color-border-dark:#c7b9ab;--status-success:#3d5c44;--status-warning:#c78c48;--status-danger:#b85c4f;--status-info:#4c82c0;--status-info2:#716198;--status-info3:#838383;--bg-status-success:color-mix(in srgb,var(--status-success) 10%,#0000);--bg-status-warning:color-mix(in srgb,var(--status-warning) 10%,#0000);--bg-status-danger:color-mix(in srgb,var(--status-danger) 10%,#0000);--bg-status-info:color-mix(in srgb,var(--status-info) 10%,#0000);--bg-status-info2:color-mix(in srgb,var(--status-info2) 10%,#0000);--bg-status-info3:color-mix(in srgb,var(--status-info3) 10%,#0000);--type-custom:#3b82f6;--type-spec:#d4864f;--type-commercial:#3d5c44;--type-pool:#06b6d4;--badge-success:#3d5c44ee;--badge-neutral:#c79b48ee;--badge-warning:#b85b4fee;--badge-disabled:#9c9792ee;--shadow-xs:0 1px 2px #0003;--shadow-sm:0 2px 4px #0000001a;--shadow-md:0 4px 6px #0000001a;--shadow-lg:0 4px 20px #00000014;--shadow-xl:0 10px 40px #00000026;--shadow-btn:2px 2px 4px #0003;--shadow-hover:0 8px 30px #0000001f;--shadow-modal:0 20px 60px #0003;--shadow-focus:0 0 10px #0003;--font-heading:"Besley",Georgia,serif;--font-body:"Work Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--text-xxs:0.7rem;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.75rem;--text-4xl:2rem;--icon-xxs:0.65rem;--icon-xs:0.8125rem;--icon-sm:0.95rem;--icon-base:1rem;--icon-lg:1.375rem;--icon-xl:1.625rem;--icon-2x:2rem;--icon-2xx:2.5rem;--icon-3x:3rem;--icon-3xx:3.5rem;--icon-4x:4rem;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--transition-fast:150ms ease;--transition-normal:250ms ease;--transition-slow:350ms ease;--z-dropdown:100;--z-sticky:200;--z-overlay:900;--z-modal:1000;--z-tooltip:1200}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f7f6f4;background:var(--color-bg);color:#352d26;color:var(--color-text-base);font-family:Work Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-body);line-height:1.5}body.modal-open{overflow:hidden}[data-tooltip]{position:relative}[data-tooltip]:hover:after{background:#fefefe;background:var(--color-surface);border:1px solid #ede3d7;border:1px solid var(--color-border-light);border-radius:8px;border-radius:var(--radius-md);bottom:calc(100% + 6px);box-shadow:0 2px 4px #0000001a;box-shadow:var(--shadow-sm);color:#9c8a7b;color:var(--color-text-muted);content:attr(data-tooltip);font-size:.75rem;font-size:var(--text-xs);font-weight:400!important;left:50%;padding:4px 12px;pointer-events:none;position:absolute;transform:translateX(-70%);white-space:nowrap;z-index:1200;z-index:var(--z-tooltip)}[data-tooltip-bottom]{position:relative}[data-tooltip-bottom]:hover:after{background:#fefefe;background:var(--color-surface);border:1px solid #ede3d7;border:1px solid var(--color-border-light);border-radius:8px;border-radius:var(--radius-md);box-shadow:0 2px 4px #0000001a;box-shadow:var(--shadow-sm);color:#9c8a7b;color:var(--color-text-muted);content:attr(data-tooltip-bottom);font-size:.75rem;font-size:var(--text-xs);font-weight:400!important;left:50%;padding:4px 12px;pointer-events:none;position:absolute;top:calc(100% + 6px);transform:translateX(-70%);white-space:nowrap;z-index:1200;z-index:var(--z-tooltip)}[data-tooltip-br]{position:relative}[data-tooltip-br]:hover:after{background:#fefefe;background:var(--color-surface);border:1px solid #ede3d7;border:1px solid var(--color-border-light);border-radius:8px;border-radius:var(--radius-md);box-shadow:0 2px 4px #0000001a;box-shadow:var(--shadow-sm);color:#9c8a7b;color:var(--color-text-muted);content:attr(data-tooltip-br);font-size:.75rem;font-size:var(--text-xs);font-weight:400!important;left:50%;padding:4px 12px;pointer-events:none;position:absolute;top:calc(100% + 6px);white-space:nowrap;z-index:1200;z-index:var(--z-tooltip)}[photo-tooltip]{position:relative}[photo-tooltip]:hover:after{background:#fefefe;background:var(--color-surface);border:1px solid #ede3d7;border:1px solid var(--color-border-light);border-radius:8px;border-radius:var(--radius-md);bottom:calc(10% + 6px);box-shadow:0 2px 4px #0000001a;box-shadow:var(--shadow-sm);color:#9c8a7b;color:var(--color-text-muted);content:attr(photo-tooltip);font-size:.75rem;font-size:var(--text-xs);font-weight:400!important;left:50%;padding:4px 12px;pointer-events:none;position:absolute;transform:translateX(-50%);z-index:1200;z-index:var(--z-tooltip)}h1,h2,h3,h4,h5,h6{color:#1e1812;color:var(--color-text-dark);font-family:Besley,Georgia,serif;font-family:var(--font-heading);font-weight:700;line-height:1.2}button{font-family:Work Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-body);font-weight:500}.admin-portal-container{min-height:calc(100vh - 80px)}.admin-portal-container,.portal-container{animation:fadeIn .6s ease-out;background:#f7f6f4;background:var(--color-bg);display:flex;flex:1 0 auto;flex-direction:column;font-family:Work Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-body)}.portal-container{margin:20px auto;max-width:1400px;min-height:calc(100vh - 70px);padding:40px 20px}.page-title{color:#1e1812;font-family:Besley,Georgia,serif;font-size:2rem;margin:0 0 1rem}.page-subtitle{color:#6e635a;font-family:Work Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem}.card{background:#fefefe;background:var(--color-surface);border:1px solid #ede3d7;border:1px solid var(--color-border-light);border-radius:16px;border-radius:var(--radius-xl);box-shadow:0 4px 20px #00000014;box-shadow:var(--shadow-lg);transition:transform .3s ease,box-shadow .3s ease}.card:hover{box-shadow:0 8px 30px #0000001f;box-shadow:var(--shadow-hover)}.card-secondary{background:#f7f6f4;background:var(--color-bg);border:1px solid #ede3d7;border:1px solid var(--color-border-light);border-radius:8px;border-radius:var(--radius-md);transition:all .3s ease}.card-secondary:hover{border-color:#a06b3f;border-color:var(--color-secondary);box-shadow:0 6px 20px #0000001a;transform:translateY(-2px)}.loading-container{align-items:center;display:flex;flex-direction:column;gap:16px;gap:var(--space-md);justify-content:center;margin-top:35vh;min-height:400px}.spinner{animation:spin 1s linear infinite;border:3px solid #ede3d7;border-top:3px solid #a06b3f;border:3px solid var(--color-border-light);border-radius:50%;border-top-color:var(--color-secondary);height:50px;width:50px}.spinner-large{border-width:4px;height:60px;width:60px}.spinner-small{border-width:2px;height:30px;width:30px}.loading-text{color:#6e635a;color:var(--color-text-light);font-family:Work Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-body);font-size:1rem;font-size:var(--text-base);text-align:center}.component-loading{align-items:center;animation:fadeIn .45s ease-out;display:flex;flex-direction:column;gap:1rem;justify-content:center;margin-top:35vh;padding:40px 20px;text-align:center}.component-loading p{color:#7a5230;color:var(--color-primary);font-family:Work Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-body);font-size:1rem;font-size:var(--text-base);font-weight:600}.component-spinner{animation:spin 1s linear infinite;border:4px solid #eae7e3;border-top:4px solid #7a5230;border:4px solid var(--color-bg-dk);border-radius:50%;border-top-color:var(--color-primary);height:60px;width:60px}.state-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;padding:3rem 1rem;text-align:center}.state-icon{color:#9c8a7b;color:var(--color-text-muted);height:80px;margin-bottom:24px;margin-bottom:var(--space-lg);width:80px}.state-title{color:#1e1812;color:var(--color-text-dark);font-family:Besley,Georgia,serif;font-family:var(--font-heading);font-size:1.25rem;font-size:var(--text-xl);font-weight:600;margin:0 0 8px;margin:0 0 var(--space-sm) 0}.state-message{color:#6e635a;color:var(--color-text-light);font-family:Work Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-body);font-size:1rem;font-size:var(--text-base);margin:0;max-width:400px}.app-error{align-items:center;background:#fefefe;background:var(--color-surface);border:1px solid #ede3d7;border:1px solid var(--color-border-light);border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 4px 20px #00000014;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;justify-content:center;margin-left:auto;margin-right:auto;margin-top:35vh;max-width:600px;padding:45px 50px;text-align:center;transition:all .3s ease}.app-error:hover{box-shadow:0 8px 30px #0000001f;box-shadow:var(--shadow-hover);transform:translateY(-2px)}.app-error-header{align-items:center;display:inline-flex;flex-direction:row;gap:5px;margin-bottom:10px}.app-error-header h1{color:#b85c4f;color:var(--status-danger);font-family:Besley,Georgia,serif;font-family:var(--font-heading);font-size:1.5rem;font-size:var(--text-2xl);font-weight:700;margin:0}.app-error-text{margin-bottom:5px;margin-top:10px}.app-error-text a{color:#a06b3f;color:var(--color-secondary);font-weight:600;text-decoration:none}.btn{align-items:center;display:inline-flex;gap:8px;gap:var(--space-sm);justify-content:center;text-decoration:none;white-space:nowrap}.btn,.btn-primary{border:none;border-radius:8px;border-radius:var(--radius-md);cursor:pointer;font-family:Work Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-body);font-weight:600;transition:all .3s ease}.btn-primary{background:#a06b3f;background:var(--color-secondary);color:#fefefe;color:var(--color-surface);font-size:1rem;font-size:var(--text-base);margin-top:10px;padding:.75rem 2rem}.btn-primary:hover{background:#7a5230;background:var(--color-primary);box-shadow:2px 2px 4px #0003;box-shadow:var(--shadow-btn);transform:translateY(-2px)}.btn-secondary{background:#fefefe;background:var(--color-surface);border:2px solid #c7b9ab;border:2px solid var(--color-border-dark);border-radius:8px;border-radius:var(--radius-md);color:#9c8a7b;color:var(--color-text-muted);cursor:pointer;font-family:Work Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-body);font-size:1rem;font-size:var(--text-base);font-weight:600;padding:.75rem 2rem;transition:all .3s ease}.btn-secondary:hover{background:#f7f6f4;background:var(--color-bg);box-shadow:2px 2px 4px #0003;box-shadow:var(--shadow-btn);transform:translateY(-1px)}.btn-sm{font-size:.875rem;font-size:var(--text-sm);padding:.5rem 1rem}.btn-lg{font-size:1.125rem;font-size:var(--text-lg);padding:1rem 2.5rem}.btn-icon{border-radius:50%;height:40px;padding:0;width:40px}.modal-overlay{animation:fadeIn .3s ease;bottom:0;left:0;padding:16px;padding:var(--space-md);right:0;top:0;z-index:var(--z-modal)}.modal-container{animation:slideUp .3s ease;background:#fefefe;background:var(--color-surface);border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 10px 40px #00000026;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-height:90vh;max-width:1200px;overflow:hidden;position:relative;width:100%}.modal-sm{max-width:500px}.modal-md{max-width:800px}.modal-lg{max-width:1200px}.modal-full{max-height:95vh;max-width:95vw}.modal-header{align-items:center;border-bottom:1px solid #ede3d7;border-bottom:1px solid var(--color-border-light);gap:16px;gap:var(--space-md);padding:20px 24px}.modal-title{color:#1e1812;color:var(--color-text-dark);flex:1 1;font-family:Work Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-body);font-size:1.125rem;font-size:var(--text-lg);font-weight:600;margin:0}.modal-close{background:#00000080;color:#fefefe;color:var(--color-surface);height:40px;position:absolute;right:16px;top:16px;width:40px;z-index:10}.modal-close:hover{background:color-mix(in srgb,#b85c4f 10%,#0000);color:#b85c4f;transform:scale(1.05)}.modal-body{background:#f7f6f4;background:var(--color-bg);justify-content:center;overflow:auto;padding:24px;padding:var(--space-lg)}.modal-body,.modal-footer{align-items:center;display:flex}.modal-footer{background:#fefefe;background:var(--color-surface);border-top:1px solid #ede3d7;border-top:1px solid var(--color-border-light);gap:16px;gap:var(--space-md);justify-content:flex-end;padding:16px 24px}.viewer-container{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.pdf-viewer{border:none;height:100%;min-height:600px;width:100%}.image-viewer,.pdf-viewer{border-radius:8px;border-radius:var(--radius-md)}.image-viewer{max-height:100%;max-width:100%;object-fit:contain}.alert{align-items:flex-start;border-radius:12px;border-radius:var(--radius-lg);display:flex;gap:1rem;margin-bottom:2rem;padding:1.5rem;text-align:left}.alert-success{background:#4a5f4f1a;border:1px solid #3d5c44;border:1px solid var(--status-success);color:#3d5c44;color:var(--status-success)}.alert-warning{background:#f2994a26;border:1px solid #c78c48;border:1px solid var(--status-warning)}.alert-danger{background:#b85c4f1a;border:1px solid #b85c4f;border:1px solid var(--status-danger);color:#b85c4f;color:var(--status-danger)}.alert-info{background:#6b7b8c1a;border:1px solid #4c82c0;border:1px solid var(--status-info);color:#4c82c0;color:var(--status-info)}.alert-icon{flex-shrink:0;font-size:1.5rem;font-size:var(--text-2xl)}.alert-content{flex:1 1}.alert-title{font-size:1.125rem;font-size:var(--text-lg);font-weight:600;margin-bottom:4px;margin-bottom:var(--space-xs)}.alert-message{font-size:1rem;font-size:var(--text-base);line-height:1.5}.badge{align-items:center;border-radius:20px;display:inline-flex;font-size:.875rem;font-size:var(--text-sm);font-weight:600;gap:4px;gap:var(--space-xs);letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.badge-success{background:#4a5f4f1a;color:#3d5c44;color:var(--status-success)}.badge-warning{background:#f2994a26;color:#c78c48;color:var(--status-warning)}.badge-danger{background:#b85c4f1a;color:#b85c4f;color:var(--status-danger)}.badge-info{background:#dcd0c3;background:var(--color-border-medium);color:#9c8a7b;color:var(--color-text-muted)}.form-group{margin-bottom:24px;margin-bottom:var(--space-lg)}.form-label{color:#1e1812;display:block;font-size:.875rem;letter-spacing:.5px;margin-bottom:8px;margin-bottom:var(--space-sm);text-transform:uppercase}.form-input,.form-select,.form-textarea{background:#fefefe;border:2px solid #dcd0c3;border-radius:8px;font-family:Work Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#a06b3f;box-shadow:0 0 0 3px #f2994a1a}.form-textarea{min-height:120px}input[type=date]{accent-color:#a06b3f;accent-color:var(--color-secondary);cursor:text}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer}.checkbox-label{-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{height:1px;opacity:0;position:absolute;width:1px}.checkbox-label span{align-items:center;display:inline-flex;line-height:1.2}.checkbox-label span:before{border:2px solid #ede3d7;border:2px solid var(--color-border-light);border-radius:4px;border-radius:var(--radius-sm);box-sizing:border-box;content:"";display:inline-block;flex:0 0 18px;height:18px;margin-right:10px;transition:background-color .15s ease,border-color .15s ease;width:18px}.checkbox-label:hover span:before{border-color:#a06b3f;border-color:var(--color-secondary)}.checkbox-label input:checked+span:before{background-color:#3d5c44;background-color:var(--status-success);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6 9 17l-5-5' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:12px 12px;border-color:#3d5c44;border-color:var(--status-success)}.checkbox-label:hover input:checked+span:before{border-color:#a06b3f;border-color:var(--color-secondary)}.checkbox-label input:focus-visible+span:before{outline:2px solid #a06b3f;outline:2px solid var(--color-secondary);outline-offset:2px}.tabs-container{border:1px solid #ede3d7;border:1px solid var(--color-border-light);border-radius:16px;border-radius:var(--radius-xl);box-shadow:0 4px 20px #00000014;box-shadow:var(--shadow-lg);overflow:hidden}.tabs-container,.tabs-list{background:#fefefe;background:var(--color-surface)}.tabs-list{border-bottom:2px solid #ede3d7;border-bottom:2px solid var(--color-border-light);display:flex;list-style:none;margin:0;overflow-x:auto;padding:0}.tab-button{background:#0000;border:none;border-bottom:3px solid #0000;color:#9c8a7b;color:var(--color-text-muted);cursor:pointer;flex:1 1;font-family:Work Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-body);font-size:1rem;font-size:var(--text-base);font-weight:600;padding:1rem 1.5rem;transition:all .3s ease;white-space:nowrap}.tab-button.active,.tab-button:hover{background:#f2994a0d;color:#a06b3f;color:var(--color-secondary)}.tab-button.active{border-bottom-color:#a06b3f;border-bottom-color:var(--color-secondary)}.tab-content{padding:2rem}.grid{grid-gap:1.5rem;display:grid;gap:1.5rem}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.grid-cols-auto{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.animate-fadeIn{animation:fadeIn .6s ease-out}.animate-slideUp{animation:slideUp .3s ease}.animate-slideDown{animation:slideDown .3s ease}.d-none{display:none}.d-block{display:block}.d-flex{display:flex}.d-grid{display:grid}.d-inline{display:inline}.d-inline-block{display:inline-block}.d-inline-flex{display:inline-flex}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.flex-wrap{flex-wrap:wrap}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.align-start{align-items:flex-start}.align-center{align-items:center}.align-end{align-items:flex-end}.gap-xs{gap:4px;gap:var(--space-xs)}.gap-sm{gap:8px;gap:var(--space-sm)}.gap-md{gap:16px;gap:var(--space-md)}.gap-lg{gap:24px;gap:var(--space-lg)}.gap-xl{gap:32px;gap:var(--space-xl)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.fw-normal{font-weight:400}.fw-medium{font-weight:500}.fw-semibold{font-weight:600}.fw-bold{font-weight:700}.m-0{margin:0}.m-auto{margin:auto}.mt-0{margin-top:0}.mt-1{margin-top:4px;margin-top:var(--space-xs)}.mt-2{margin-top:8px;margin-top:var(--space-sm)}.mt-3{margin-top:16px;margin-top:var(--space-md)}.mt-4{margin-top:24px;margin-top:var(--space-lg)}.mt-5{margin-top:32px;margin-top:var(--space-xl)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:4px;margin-bottom:var(--space-xs)}.mb-2{margin-bottom:8px;margin-bottom:var(--space-sm)}.mb-3{margin-bottom:16px;margin-bottom:var(--space-md)}.mb-4{margin-bottom:24px;margin-bottom:var(--space-lg)}.mb-5{margin-bottom:32px;margin-bottom:var(--space-xl)}.p-0{padding:0}.p-1{padding:4px;padding:var(--space-xs)}.p-2{padding:8px;padding:var(--space-sm)}.p-3{padding:16px;padding:var(--space-md)}.p-4{padding:24px;padding:var(--space-lg)}.p-5{padding:32px;padding:var(--space-xl)}.w-25{width:25%}.w-50{width:50%}.w-75{width:75%}.w-100{width:100%}.w-auto{width:auto}.h-100{height:100%}.h-auto{height:auto}.min-h-screen{min-height:100vh}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.position-relative{position:relative}.position-absolute{position:absolute}.position-fixed{position:fixed}.position-sticky{position:-webkit-sticky;position:sticky}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.cursor-wait{cursor:wait}.user-select-none{-webkit-user-select:none;user-select:none}.user-select-all{-webkit-user-select:all;user-select:all}.visible{visibility:visible}.invisible{visibility:invisible}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}@media (max-width:1024px){.page-container{animation:fadeIn .6s ease-out}.grid-cols-3,.grid-cols-4{grid-template-columns:repeat(2,1fr)}.modal-container{max-height:95vh}.hide-lg{display:none!important}}@media (max-width:768px){[data-tooltip-bottom]:hover:after,[data-tooltip-br]:hover:after,[data-tooltip]:hover:after,[photo-tooltip]:hover:after{display:none}.page-title{font-size:1.75rem;font-size:var(--text-3xl)}.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:repeat(1,1fr)}.tabs-list{overflow-x:scroll;scrollbar-width:thin}.tab-button{font-size:.875rem;font-size:var(--text-sm);padding:.875rem 1rem}.modal-body,.modal-header{padding:16px}.hide-md{display:none!important}.show-md{display:block!important}}@media (max-width:480px){.loading-container{min-height:400px;text-align:center}.component-loading,.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;margin-top:25vh;padding:40px}.page-title{font-size:1.5rem;font-size:var(--text-2xl)}.page-subtitle{font-size:1rem;font-size:var(--text-base)}.btn{justify-content:center;width:100%}.app-error{margin-top:30vh;max-width:90vw;padding:30px}.app-error-header{gap:5px;margin-bottom:5px}.app-error-header h1{font-size:1.25rem;font-size:var(--text-xl)}.app-error-text{font-size:.875rem;font-size:var(--text-sm);margin-bottom:5px;margin-top:10px}.modal-close{height:36px;right:10px;top:10px;width:36px}.hide-sm{display:none!important}.show-sm{display:block!important}}@media print{.no-print{display:none!important}body{background:#fff;color:#000;font-size:12pt}.page-container{margin:0;max-width:100%;padding:0}}:focus-visible{outline:2px solid #a06b3f;outline:2px solid var(--color-secondary);outline-offset:2px}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.error-boundary-container{align-items:center;background-color:var(--color-bg);display:flex;justify-content:center;min-height:100vh;padding:20px}.error-boundary-content{background:#fff;border-radius:var(--radius-lg);box-shadow:0 4px 6px #0000001a;max-width:500px;padding:40px;text-align:center}.error-boundary-icon{font-size:var(--icon-4x);margin-bottom:20px}.error-boundary-title{color:var(--color-primary);font-family:Besley,serif;font-family:var(--font-heading,"Besley",serif);font-size:var(--text-3xl);margin-bottom:16px}.error-boundary-message{color:var(--color-text-light);font-family:Work Sans,sans-serif;font-family:var(--font-body,"Work Sans",sans-serif);font-size:var(--text-base);line-height:1.6;margin-bottom:32px}.error-boundary-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.error-boundary-btn{border:none;border-radius:var(--radius-md);cursor:pointer;font-family:Work Sans,sans-serif;font-family:var(--font-body,"Work Sans",sans-serif);font-size:var(--text-base);font-weight:500;padding:12px 24px;transition:all .2s ease}.error-boundary-btn-primary{background-color:var(--color-primary);color:#fff}.error-boundary-btn-primary:hover{background-color:var(--color-primary);box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.error-boundary-btn-secondary{background-color:var(--color-border-medium);color:var(--color-primary)}.error-boundary-btn-secondary:hover{background-color:var(--color-border-dark);transform:translateY(-2px)}.error-boundary-details{background-color:#f5f5f5;border:1px solid #ddd;border-radius:var(--radius-md);margin-top:32px;padding:16px;text-align:left}.error-boundary-details summary{color:#666;cursor:pointer;font-weight:600;margin-bottom:12px}.error-boundary-stack{word-wrap:break-word;color:#333;font-family:Courier New,monospace;font-size:var(--text-xs);margin:0;max-height:300px;overflow-y:auto;white-space:pre-wrap}@media (max-width:768px){.error-boundary-content{padding:24px}.error-boundary-title{font-size:var(--text-2xl)}.error-boundary-message{font-size:var(--text-sm)}.error-boundary-actions{flex-direction:column}.error-boundary-btn{width:100%}}.selection-modal{animation:slideUp .3s ease;background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-height:90vh;max-width:600px;overflow:hidden;width:100%}.selection-modal-header{align-items:center;background:var(--color-bg);border-bottom:1px solid var(--color-border-light);display:flex;justify-content:space-between;padding:24px 28px}.selection-modal-title{color:var(--color-text-dark);font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:700;margin:0}.selection-modal-close{align-items:center;background:var(--color-bg-dk);border:none;border-radius:50%;border-radius:var(--radius-full,50%);color:var(--color-text-muted);cursor:pointer;display:flex;flex-shrink:0;font-size:var(--icon-sm);height:36px;justify-content:center;padding:8px;transition:all .2s ease;width:36px}.selection-modal-close:hover{background:var(--bg-status-danger);color:var(--status-danger);transform:rotate(90deg)}.selection-modal-body{flex:1 1;overflow-y:auto;padding:28px}.selection-form{gap:20px}.form-group,.selection-form{display:flex;flex-direction:column}.form-group{gap:8px}.form-row{display:flex;gap:16px}.form-group-half{flex:1 1;min-width:0}.form-label{color:var(--color-text-dark);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600}.required{color:var(--status-danger)}.form-hint{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.form-input,.form-select,.form-textarea{background:var(--color-surface);border:2px solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-base);font-family:var(--font-body);font-size:var(--text-base);padding:12px 16px;transition:all .2s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-secondary);box-shadow:var(--shadow-focus);outline:none}.form-input.error,.form-select.error,.form-textarea.error{background:color-mix(in srgb,var(--status-danger) 5%,#0000);border-color:var(--status-danger)}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-muted);opacity:.7}.form-textarea{min-height:100px;resize:vertical}.form-select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239b8b7e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;cursor:pointer;padding-right:40px}.input-with-icon{align-items:center;display:flex;position:relative}.input-with-icon .form-input{flex:1 1;padding-right:44px}.input-icon-link{color:var(--color-secondary);opacity:.7;position:absolute;right:12px;transition:opacity .2s ease}.input-icon-link:hover{opacity:1}.form-error{align-items:center;display:flex;gap:4px}.form-error,.form-error-banner{color:var(--status-danger);font-size:var(--text-sm)}.form-error-banner{background:color-mix(in srgb,var(--status-danger) 10%,#0000);border:1px solid color-mix(in srgb,var(--status-danger) 30%,#0000);border-radius:var(--radius-md);padding:12px 16px}.form-info-banner{background:color-mix(in srgb,var(--color-secondary) 8%,#0000);border:1px solid color-mix(in srgb,var(--color-secondary) 20%,#0000);border-radius:var(--radius-md);color:var(--color-text-light);font-size:var(--text-sm);line-height:1.5;padding:14px 18px}.form-info-banner strong{color:var(--color-secondary)}.radio-group{display:flex;gap:24px}.radio-label{align-items:center;color:var(--color-text-base);cursor:pointer;display:flex;font-family:var(--font-body);font-size:var(--text-base);gap:10px}.radio-label input[type=radio]{display:none}.radio-custom{border:2px solid var(--color-border-dark);border-radius:50%;height:22px;position:relative;transition:all .2s ease;width:22px}.radio-label input[type=radio]:checked+.radio-custom{background:var(--color-secondary);border-color:var(--color-secondary)}.radio-custom:after{background:#fff;border-radius:50%;content:"";height:8px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%) scale(0);transition:transform .2s ease;width:8px}.radio-label input[type=radio]:checked+.radio-custom:after{transform:translate(-50%,-50%) scale(1)}.checkbox-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));margin:4px -4px;max-height:250px;overflow-y:auto;padding:4px}.checkbox-label{align-items:center;background:var(--color-surface);border:2px solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-base);cursor:pointer;display:flex;font-family:var(--font-body);font-size:var(--text-sm);gap:10px;padding:10px 14px;transition:all .2s ease}.checkbox-label:hover{background:color-mix(in srgb,var(--color-secondary) 5%,#0000);border-color:var(--color-secondary)}.checkbox-label.selected{background:color-mix(in srgb,var(--color-secondary) 10%,#0000);border-color:var(--color-secondary);color:var(--color-text-dark)}.checkbox-label input[type=checkbox]{display:none}.checkbox-custom{border:2px solid var(--color-border-dark);border-radius:var(--radius-sm);flex-shrink:0;height:18px;position:relative;transition:all .2s ease;width:18px}.checkbox-label.selected .checkbox-custom{background:var(--color-secondary);border-color:var(--color-secondary)}.checkbox-custom:after{border:solid #fff;border-width:0 2px 2px 0;content:"";height:8px;left:5px;position:absolute;top:2px;transform:rotate(45deg) scale(0);transition:transform .15s ease;width:4px}.checkbox-label.selected .checkbox-custom:after{transform:rotate(45deg) scale(1)}.upload-placeholder{background:var(--color-bg);border:2px dashed var(--color-border-dark);border-radius:var(--radius-md);padding:24px;text-align:center}.upload-placeholder p{color:var(--color-text-muted);font-weight:500;margin:0 0 4px}.upload-hint{color:var(--color-text-muted);font-size:var(--text-sm);opacity:.8}.selection-modal-actions{border-top:1px solid var(--color-border-light);display:flex;gap:12px;justify-content:flex-end;margin-top:8px;padding-top:20px}.btn-cancel{background:#0000;border:2px solid var(--color-border-dark);border-radius:var(--radius-md);color:var(--color-text-light);cursor:pointer;font-family:var(--font-body);font-size:var(--text-base);font-weight:600;padding:12px 24px;transition:all .2s ease}.btn-cancel:hover:not(:disabled){background:#00000005;border-color:var(--color-text-light)}.btn-cancel:disabled{cursor:not-allowed;opacity:.5}.btn-submit{align-items:center;background:var(--color-secondary);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:flex;font-family:var(--font-body);font-size:var(--text-base);font-weight:600;gap:8px;padding:12px 28px;transition:all .2s ease}.btn-submit:hover:not(:disabled){background:var(--color-primary);box-shadow:var(--shadow-btn);transform:translateY(-2px)}.btn-submit:disabled{cursor:not-allowed;opacity:.7;transform:none}.btn-submit .spinner-small{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:18px;width:18px}.selection-modal-success{animation:fadeIn .4s ease;flex-direction:column;padding:48px 24px;text-align:center}.selection-modal-success,.success-icon{align-items:center;display:flex;justify-content:center}.success-icon{animation:scaleIn .4s ease;background:var(--status-success);border-radius:50%;height:72px;margin-bottom:20px;width:72px}.success-icon svg{color:#fff;font-size:var(--icon-2x)}.selection-modal-success h3{color:var(--color-text-dark);font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:700;margin:0 0 8px}.selection-modal-success p{color:var(--color-text-light);font-size:var(--text-base);margin:0}@keyframes scaleIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@media (max-width:768px){.selection-modal{margin:10px;max-height:95vh;max-width:95vw}.selection-modal-header{padding:18px 20px}.selection-modal-title{font-size:var(--text-xl)}.selection-modal-body{padding:20px}.form-row{flex-direction:column;gap:20px}.checkbox-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));max-height:200px}.selection-modal-actions{flex-direction:column-reverse}.btn-cancel,.btn-submit{justify-content:center;width:100%}}@media (max-width:480px){.selection-modal-header{padding:16px}.selection-modal-title{font-size:var(--text-lg)}.selection-modal-close{height:36px;width:36px}.selection-modal-body{padding:16px}.selection-form{gap:16px}.form-input,.form-select,.form-textarea{font-size:var(--text-base);padding:10px 14px}.checkbox-grid{grid-template-columns:1fr;max-height:180px}.checkbox-label{padding:12px 14px}.radio-group{flex-direction:column;gap:12px}}.modal-md{max-width:560px}.modal-lg{max-width:680px}.paint-color-picker{position:relative}.paint-color-search{align-items:center;display:flex;position:relative}.paint-color-search-icon{color:var(--color-text-muted);font-size:var(--text-sm);left:14px;pointer-events:none;position:absolute;z-index:1}.paint-color-search .form-input{padding-left:40px;width:100%}.paint-color-dropdown{background:var(--color-surface);border:1px solid var(--color-border-dark);border-radius:0 0 var(--radius-md) var(--radius-md);border-top:none;box-shadow:var(--shadow-lg);left:0;max-height:280px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:var(--z-dropdown)}.paint-color-empty,.paint-color-loading{color:var(--color-text-muted);font-size:var(--text-sm);padding:20px;text-align:center}.paint-color-list{list-style:none;margin:0;padding:0}.paint-color-option{align-items:center;cursor:pointer;display:flex;gap:12px;padding:10px 14px;transition:background-color .15s ease}.paint-color-option:hover{background-color:var(--color-bg)}.paint-color-swatch{border:1px solid var(--color-border-medium);border-radius:var(--radius-sm);box-shadow:inset 0 0 0 1px #ffffff4d;flex-shrink:0;height:36px;width:36px}.paint-color-info{display:flex;flex-direction:column;gap:2px;min-width:0}.paint-color-name{color:var(--color-text-dark);font-size:var(--text-sm);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.paint-color-number{color:var(--color-text-muted);font-size:var(--text-sm)}.paint-color-selected{align-items:center;background:var(--color-bg);border:2px solid var(--status-success);border-radius:var(--radius-md);display:flex;gap:14px;padding:12px 14px}.paint-color-swatch-large{border:1px solid var(--color-border-medium);border-radius:var(--radius-md);box-shadow:inset 0 0 0 1px #ffffff4d,0 2px 4px #0000001a;flex-shrink:0;height:56px;width:56px}.paint-color-selected-info{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.paint-color-selected-info .paint-color-name{font-size:var(--text-base);font-weight:600}.paint-color-selected-info .paint-color-number{font-size:var(--text-sm)}.paint-color-clear{align-items:center;background:#0000;border:1px solid var(--color-border-dark);border-radius:50%;color:var(--color-text-muted);cursor:pointer;display:flex;flex-shrink:0;height:32px;justify-content:center;transition:all .2s ease;width:32px}.paint-color-clear:hover{background:var(--color-surface);border-color:var(--status-danger);color:var(--status-danger)}.upgrade-banner{background:var(--bg-status-warning);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);display:flex;gap:14px;margin-top:8px;padding:16px}.upgrade-banner-icon{color:var(--color-secondary);flex-shrink:0;font-size:var(--text-xl);margin-top:2px}.upgrade-banner-content{flex:1 1}.checkbox-inline{margin-bottom:8px}.upgrade-label{color:var(--color-text-dark);font-size:var(--text-base);font-weight:600}.upgrade-helper{color:var(--color-text-light);font-size:var(--text-sm);line-height:1.5;margin:0}.upgrade-helper strong{color:var(--color-secondary)}@media (max-width:768px){.modal-lg{max-width:95vw}.paint-color-dropdown{max-height:200px}.paint-color-swatch-large{height:48px;width:48px}.upgrade-banner{padding:14px}}@media (max-width:480px){.paint-color-selected{flex-wrap:wrap}.paint-color-clear{margin-left:auto}}.signin-container{display:flex;font-family:var(--font-body);height:100vh;min-height:100vh;overflow:hidden;position:relative}.signin-background-image{background-image:url(/static/media/signin-background.e0cb776e3e3a54d3f10a.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;display:none;height:100%;position:fixed;width:100%;z-index:0}.signin-background-overlay{background:linear-gradient(180deg,#0f0f0fa6,#0f0f0fd9);display:none;height:100%;left:0;position:fixed;top:0;width:100%;z-index:1}.signin-mobile-header{display:none}.signin-content{align-items:center;background:var(--color-surface);display:flex;flex:1 1;justify-content:center;padding:var(--space-xl);position:relative;z-index:2}.signin-form-container{max-width:400px;width:100%}.signin-header{margin-bottom:var(--space-xl);text-align:center}.signin-logo{display:block;height:80px;margin:0 auto var(--space-lg);object-fit:contain;width:auto}.signin-title{color:var(--color-text-base);font-family:var(--font-heading);font-size:var(--text-xl);font-weight:700;letter-spacing:-.2px;margin:0 0 var(--space-md)}.signin-tagline{color:var(--color-text-light);font-size:var(--text-base);line-height:1.5;margin:0}.signin-error{align-items:center;animation:signin-shake .3s ease-out;background:color-mix(in srgb,var(--status-danger) 10%,#0000);border-radius:var(--radius-md);color:var(--status-danger);display:flex;font-size:var(--text-sm);gap:var(--space-sm);margin-bottom:var(--space-lg);padding:var(--space-md)}.signin-error-icon{flex-shrink:0;font-size:var(--text-lg)}.signin-form,.signin-form-group{margin-bottom:var(--space-lg)}.signin-label{display:block;font-size:var(--text-sm);font-weight:600;letter-spacing:.02em;margin-bottom:var(--space-sm)}.signin-input,.signin-label{color:var(--color-text-base)}.signin-input{background:var(--color-surface);border:2px solid var(--color-border-medium);border-radius:var(--radius-md);box-sizing:border-box;font-family:var(--font-body);font-size:var(--text-base);padding:14px 16px;transition:all var(--transition-normal);width:100%}.signin-input:focus{border-color:color-mix(in srgb,var(--color-secondary) 75%,#0000);box-shadow:var(--shadow-btn);outline:none}.signin-input:disabled{background:var(--color-bg-dk);cursor:not-allowed;opacity:.6}.signin-input::placeholder{color:var(--color-text-muted);opacity:.7}.signin-button{align-items:center;border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;font-family:var(--font-body);font-size:var(--text-base);font-weight:600;gap:var(--space-sm);justify-content:center;padding:14px 20px;transition:all var(--transition-normal);width:100%}.signin-button:disabled{cursor:not-allowed;opacity:.7}.signin-button-primary{background:var(--color-secondary);color:var(--color-surface)}.signin-button-primary:hover:not(:disabled){background:var(--color-primary);box-shadow:var(--shadow-btn);transform:translateY(-2px)}.signin-button-primary:active:not(:disabled){transform:translateY(0)}.signin-button-google{background:var(--color-surface);border:2px solid var(--color-border-medium);color:var(--color-text-base);font-weight:500;transition:all var(--transition-normal)}.signin-button-google:hover:not(:disabled){background:var(--color-bg);border-color:var(--color-border-dark);box-shadow:var(--shadow-btn);transform:translateY(-1px)}.signin-google-icon{flex-shrink:0;height:18px;width:18px}.signin-button-spinner{animation:signin-spin .8s linear infinite;border:2px solid var(--color-border-dark);border-radius:50%;border-top-color:var(--color-surface);height:16px;width:16px}.signin-divider{margin:var(--space-xl) 0;position:relative;text-align:center}.signin-divider:before{background:var(--color-border-medium);content:"";height:1px;left:0;position:absolute;right:0;top:50%;transform:translateY(-50%)}.signin-divider span{background:var(--color-surface);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:500;letter-spacing:.02em;padding:0 var(--space-md);position:relative;text-transform:lowercase}.signin-footer{border-top:1px solid var(--color-border-medium);margin-top:var(--space-2xl);padding-top:var(--space-lg);text-align:center}.signin-footer p{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.signin-link{color:var(--color-secondary);font-weight:600;text-decoration:none;transition:color var(--transition-fast)}.signin-link:hover{color:var(--status-danger);text-decoration:underline}.signin-image-panel{align-items:center;background-image:url(/static/media/signin-hero.324f2dc0b805261fb990.jpg);background-position:100%;background-size:cover;display:flex;flex:1 1;justify-content:center;position:relative}.signin-image-overlay{background:linear-gradient(135deg,#0f0f0fa6,#0f0f0fd9);height:100%;left:0;position:absolute;top:0;width:100%}.signin-image-content{color:#fff;max-width:500px;padding:var(--space-2xl);position:relative;text-align:center;z-index:1}.signin-image-content h2{color:#fff;font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:700;line-height:1.2;margin:0 0 var(--space-lg);text-shadow:0 2px 10px #0000004d}.signin-image-content p{color:#fff;font-size:var(--text-base);line-height:1.6;margin:0;opacity:.95;text-shadow:0 1px 5px #0000004d}.signin-success-message{padding:var(--space-xl) 0;text-align:center}.signin-success-icon{font-size:var(--icon-3xx);margin-bottom:var(--space-lg)}.signin-success-message h2{color:var(--color-text-base);font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:600;margin:0 0 var(--space-md)}.signin-success-text{color:var(--color-text-light);font-size:var(--text-base);line-height:1.5;margin:0 0 var(--space-sm)}.signin-email-display{color:var(--color-secondary);font-size:var(--text-lg);font-weight:600;margin:0 0 var(--space-sm);word-break:break-all}.signin-success-instruction{color:var(--color-text-light);font-size:var(--text-base);font-weight:600;line-height:1.6;margin:var(--space-lg) 0}.signin-success-note{background:var(--color-bg-dk);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.5;margin:0;padding:var(--space-md)}.signin-back-button{background:#0000;border:1px solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-light);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;margin-top:var(--space-lg);padding:12px 20px;transition:all var(--transition-normal);width:100%}.signin-back-button:hover{background:var(--color-bg-dk);border-color:var(--color-border-dark);color:var(--color-text-base)}.signin-loading{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-width:400px;padding:var(--space-2xl);text-align:center;width:100%}.signin-spinner{animation:signin-spin .8s linear infinite;border:3px solid var(--color-border-medium);border-radius:50%;border-top-color:var(--color-secondary);height:40px;margin:0 auto var(--space-lg);width:40px}.signin-loading p{color:var(--color-text-light);font-size:var(--text-base);margin:0}@media (max-width:800px){.signin-content{flex:0 0 auto}.signin-loading{background:var(--color-surface);border-radius:24px 24px 0 0;box-shadow:0 -10px 40px #00000040;max-width:100%;padding:var(--space-2xl) var(--space-xl) calc(var(--space-2xl) + env(safe-area-inset-bottom))}}@keyframes signin-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes signin-shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-2px)}20%,40%,60%,80%{transform:translateX(2px)}}@media (max-width:1024px){.signin-image-panel{flex:0.8 1}.signin-content{flex:1.2 1}.signin-image-content h2{font-size:var(--text-2xl)}.signin-image-content p{font-size:var(--text-base)}}@media (max-width:800px){.signin-container{flex-direction:column;height:100vh;justify-content:space-between}.signin-background-image,.signin-background-overlay{display:block}.signin-image-panel{display:none}.signin-mobile-header{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;min-height:0;padding:var(--space-xl) var(--space-lg);position:relative;text-align:center;z-index:2}.signin-mobile-logo{filter:drop-shadow(0 2px 8px rgba(0,0,0,.3));height:80px;margin-bottom:var(--space-md);width:auto}.signin-mobile-title{color:#fff;font-family:var(--font-heading);font-size:var(--text-xl);font-weight:600;letter-spacing:-.2px;margin:10px 0;text-shadow:0 2px 10px #0006}.signin-mobile-tagline{color:#fff;display:block;font-size:var(--text-base);line-height:1.5;margin-bottom:var(--space-md);opacity:.95;text-shadow:0 1px 5px #0006}.signin-mobile-welcome{display:none}.signin-content{-webkit-overflow-scrolling:touch;background:#0000;flex:0 0 auto;max-height:70vh;min-height:auto;overflow-y:auto;padding:0;position:relative;z-index:2}.signin-form-container{background:var(--color-surface);border-radius:24px 24px 0 0;box-shadow:0 -10px 40px #00000040;max-width:90vw;min-height:auto;padding:var(--space-3xl) var(--space-2xl) calc(var(--space-xl) + env(safe-area-inset-bottom))}.signin-header{display:none}.signin-form,.signin-form-group{margin-bottom:var(--space-md)}.signin-label{font-size:var(--text-base);margin-bottom:var(--space-xs)}.signin-divider{margin:var(--space-lg) 0}.signin-footer{margin-top:var(--space-lg);padding-top:var(--space-md)}}@media (max-width:480px){.signin-mobile-header{padding:var(--space-lg)}.signin-mobile-logo{height:80px;margin-bottom:var(--space-lg)}.signin-mobile-title{font-size:var(--text-xl)}.signin-form-container{padding:var(--space-xl) var(--space-lg) calc(var(--space-xl) + env(safe-area-inset-bottom))}.signin-button{font-size:var(--text-base);padding:14px 20px}.signin-input{font-size:var(--text-base);padding:14px 16px}.signin-footer{margin-top:var(--space-md);padding-top:var(--space-md)}.signin-footer p{font-size:var(--text-sm)}}@supports (-moz-appearance:none){@media (max-width:800px){.signin-mobile-title{font-size:var(--text-xl);margin-bottom:var(--space-sm)}.signin-mobile-tagline{font-size:var(--text-sm);line-height:1.4;margin-bottom:var(--space-sm)}.signin-form-container{padding:var(--space-xl) var(--space-lg) var(--space-lg);width:100vw}.signin-label{font-size:var(--text-sm);margin-bottom:var(--space-xs)}.signin-input{padding:12px 14px}.signin-button{padding:12px 18px}.signin-divider{margin:var(--space-md) 0}}}@media (max-width:800){.signin-success-message{display:block}.signin-form-container{background:var(--color-surface);border-radius:24px 24px 0 0;box-shadow:0 -10px 40px #00000040;padding:var(--space-2xl) var(--space-xl) calc(var(--space-2xl) + env(safe-area-inset-bottom))}}.admin-nav-wrapper{position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-modal)}.admin-nav-desktop{background:var(--color-surface);border-bottom:1px solid var(--color-border-light);display:none}.admin-nav-desktop-container{align-items:center;display:flex;gap:1.5rem;height:80px;justify-content:space-between;margin:0 auto;max-width:100vw;padding:0 2rem}.admin-nav-logo{align-items:center;color:var(--color-text-base);display:flex;flex-shrink:0;font-size:var(--text-xl);font-weight:800;gap:1rem;opacity:.7;text-decoration:none;transition:opacity var(--transition-fast)}.admin-nav-logo:hover{opacity:1}.admin-nav-logo-image{height:50px;width:auto}.admin-nav-logo-text{display:flex;flex-direction:column;gap:4px}.admin-nav-logo-title{text-wrap:wrap;color:var(--color-text-dark);font-family:var(--font-heading);line-height:1}.admin-nav-logo-subtitle{border-top:1px solid var(--color-border-medium);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:600;letter-spacing:.2em;line-height:1.2;padding-top:2px;text-transform:uppercase}.admin-nav-desktop-links{align-items:center;display:flex;flex:1 1;gap:.25rem;justify-content:center}.admin-nav-desktop-link{align-items:center;background:#0000;border:none;border-radius:var(--radius-md);color:var(--color-text-muted);display:flex;font-size:var(--text-sm);font-weight:500;gap:.5rem;padding:.5rem 1rem;position:relative;text-decoration:none;transition:all var(--transition-normal);white-space:nowrap}.admin-nav-desktop-link:hover{background:color-mix(in srgb,var(--color-secondary) 6%,#0000);color:var(--color-secondary)}.admin-nav-desktop-link.active{color:var(--color-secondary);font-weight:600}.admin-nav-desktop-link.active:after{background:var(--color-secondary);border-radius:2px;bottom:-4px;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:20px}.admin-nav-link-icon{font-size:var(--text-base)}.admin-nav-link-label{font-weight:inherit}.admin-nav-desktop-right{align-items:center;display:flex;flex-shrink:0;gap:.75rem}.admin-nav-test-banner{align-items:center;background:var(--color-bg);border-radius:var(--radius-full);color:var(--color-secondary);display:flex;font-size:var(--text-sm);font-weight:600;gap:.5rem;padding:.75rem}.admin-nav-test-banner span{display:none}.admin-nav-weather-badge{align-items:center;background:var(--color-bg);border-radius:var(--radius-full);color:var(--color-text-base);cursor:default;display:flex;font-size:var(--text-xs);font-weight:500;gap:.375rem;padding:.375rem .625rem}.admin-nav-weather-icon{font-size:var(--text-base)}.admin-nav-weather-icon.sunny{color:#f59e0b}.admin-nav-weather-icon.cloudy{color:#6b7280}.admin-nav-weather-icon.rainy{color:var(--type-custom)}.admin-nav-weather-icon.stormy{color:#8b5cf6}.admin-nav-weather-icon.snowy{color:var(--type-pool)}.admin-nav-weather-icon.foggy{color:#9ca3af}.admin-nav-weather-icon.loading{animation:adminNavPulse 1.5s ease-in-out infinite;color:var(--color-text-muted)}@keyframes adminNavPulse{0%,to{opacity:1}50%{opacity:.5}}.admin-nav-weather-temp{font-weight:600}.admin-nav-profile-container{position:relative}.admin-nav-profile-trigger{align-items:center;background:#0000;border:1.5px solid #0000;border-radius:var(--radius-lg);cursor:pointer;display:flex;gap:.625rem;padding:.375rem .625rem;transition:all var(--transition-fast)}.admin-nav-profile-trigger.open,.admin-nav-profile-trigger:hover{background:var(--color-bg);border-color:var(--color-border-medium)}.admin-nav-profile-avatar{color:var(--color-primary);font-size:var(--icon-2x)}.admin-nav-profile-info{align-items:flex-start;display:flex;flex-direction:column;line-height:1.2}.admin-nav-profile-name{color:var(--color-text-base);font-size:var(--text-sm);font-weight:600;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-nav-profile-role{color:var(--color-text-muted);font-size:var(--text-xxs);white-space:nowrap}.admin-nav-profile-chevron{color:var(--color-text-muted);flex-shrink:0;font-size:var(--icon-xxs);transition:transform var(--transition-fast)}.admin-nav-profile-chevron.rotated{transform:rotate(180deg)}.admin-nav-profile-dropdown{animation:adminNavDropdownIn .2s ease;background:var(--color-surface);border:1px solid var(--color-border-medium);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);min-width:220px;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);z-index:calc(var(--z-modal) + 1)}@keyframes adminNavDropdownIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.admin-nav-dropdown-item{align-items:center;background:#0000;border:none;color:var(--color-text-base);cursor:pointer;display:flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;gap:.75rem;padding:.75rem 1rem;text-align:left;text-decoration:none;transition:all var(--transition-fast);width:100%}.admin-nav-dropdown-item:hover{background:var(--color-bg);color:var(--color-secondary)}.admin-nav-dropdown-item.active{background:color-mix(in srgb,var(--color-secondary) 8%,#0000);color:var(--color-secondary)}.admin-nav-dropdown-icon{display:flex;flex-shrink:0;font-size:var(--text-base);justify-content:center;width:20px}.admin-nav-dropdown-label{flex:1 1}.admin-test-mode{color:var(--color-secondary);font-size:var(--text-xl);margin-left:5px;margin-right:2px}.admin-nav-dropdown-toggle{align-items:center;background:var(--color-bg);cursor:pointer;display:flex;gap:.75rem;justify-content:space-between;padding:.75rem 1rem;transition:background var(--transition-fast)}.admin-nav-dropdown-toggle:hover{background:color-mix(in srgb,var(--color-secondary) 8%,#0000);color:var(--color-secondary)}.admin-nav-dropdown-toggle-left{align-items:center;display:flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;gap:.75rem}.admin-nav-toggle-switch{flex-shrink:0;height:18px;position:relative;width:36px}.admin-nav-toggle-switch input{height:0;opacity:0;width:0}.admin-nav-toggle-slider{background:var(--color-border-medium);border-radius:var(--radius-full);cursor:pointer;inset:0;position:absolute;transition:background var(--transition-fast)}.admin-nav-toggle-slider:before{background:var(--color-surface);border-radius:50%;bottom:3px;box-shadow:var(--shadow-xs);content:"";height:12px;left:3px;position:absolute;transition:transform var(--transition-fast);width:12px}.admin-nav-toggle-switch input:checked+.admin-nav-toggle-slider{background:var(--color-secondary)}.admin-nav-toggle-switch input:checked+.admin-nav-toggle-slider:before{transform:translateX(16px)}.admin-nav-dropdown-divider{background:var(--color-border-medium);height:1px;margin:.25rem 0}.admin-nav-dropdown-signout{color:var(--color-text-muted)}.admin-nav-dropdown-signout:hover{background:color-mix(in srgb,var(--status-danger) 6%,#0000);color:var(--status-danger)}.admin-nav-mobile-top{align-items:center;background:var(--color-surface);box-shadow:var(--shadow-md);box-sizing:border-box;display:flex;justify-content:space-between;max-width:100vw;overflow:visible;padding:1rem}.admin-nav-mobile-logo-link{align-items:center;display:flex;gap:.5rem;text-decoration:none}.admin-nav-mobile-logo{height:40px;width:auto}.admin-nav-mobile-logo-text{display:flex;flex-direction:column;gap:4px}.admin-nav-mobile-title{text-wrap:wrap;color:var(--color-text-dark);font-family:var(--font-heading);font-weight:600;line-height:1}.admin-nav-mobile-subtitle{border-top:1px solid var(--color-border-medium);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:400;letter-spacing:.05em;line-height:1.2;padding-top:2px;text-transform:uppercase}.admin-nav-mobile-top-right{align-items:center;display:flex;gap:.5rem}.admin-test-mode-mobile{color:var(--color-secondary);font-size:var(--text-xl)}.admin-nav-mobile-profile-btn{align-items:center;background:#0000;border:1.5px solid #0000;border-radius:var(--radius-full);cursor:pointer;display:flex;height:38px;justify-content:center;padding:0;transition:all var(--transition-fast);width:38px}.admin-nav-mobile-profile-btn.open,.admin-nav-mobile-profile-btn:hover{background:var(--color-bg);border-color:var(--color-border-medium)}.admin-nav-mobile-profile-icon{color:var(--color-primary);font-size:var(--icon-xl)}.admin-nav-profile-avatar{border:1px solid var(--color-border-medium);border-radius:50%;display:block;flex-shrink:0;height:2rem;object-fit:cover;width:2rem}.admin-nav-profile-avatar-mobile{height:2rem;width:2rem}.admin-nav-tasks-tab{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-medium);border-radius:0 0 var(--radius-md) var(--radius-md);border-top:none;bottom:-32px;box-shadow:var(--shadow-sm);color:var(--color-text-muted);cursor:pointer;display:flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;gap:10px;padding:6px 14px;position:absolute;right:16px;transition:all var(--transition-fast);z-index:1}.admin-nav-tasks-tab:hover{box-shadow:var(--shadow-btn);color:var(--color-secondary)}.admin-nav-tasks-tab.active{background:var(--color-bg);color:var(--color-secondary)}.admin-nav-tasks-tab svg{font-size:var(--text-sm)}.admin-nav-tasks-tab-label{font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase}.admin-nav-tasks-badge{align-items:center;background:var(--status-danger);border-radius:50%;color:var(--color-surface);display:flex;font-size:.6rem;font-weight:700;height:14px;justify-content:center;width:14px}.admin-nav-tasks-tab-desktop{bottom:-32px;display:none;font-size:var(--text-sm);padding:8px 18px;right:2rem}.admin-nav-tasks-tab-desktop .admin-nav-tasks-tab-label{font-size:var(--text-xs)}.admin-nav-tasks-tab-desktop svg{font-size:var(--text-base)}.admin-nav-tasks-tab-desktop .admin-nav-tasks-badge{font-size:var(--icon-xxs);height:14px;width:14px}.admin-nav-tasks-tab-mobile{bottom:-27px;display:flex}@keyframes adminNavFadeIn{0%{opacity:0}to{opacity:1}}.admin-nav-tasks-dropdown{animation:adminNavSlideDown .25s ease;background:var(--color-surface);border-bottom:1px solid var(--color-border-medium);border-radius:0 0 var(--radius-lg) var(--radius-lg);box-shadow:-2px 8px 5px #0000001a;left:0;max-height:calc(100vh - 152px);overflow-y:auto;position:fixed;right:0;top:72px;z-index:var(--z-modal)}@keyframes adminNavSlideDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.admin-dash-mobile-tasks{display:flex;flex-direction:column;padding:0}.admin-dash-mobile-tasks-header{align-items:center;border-bottom:1px solid var(--color-border-medium);display:flex;justify-content:space-between;padding:12px 16px}.admin-dash-mobile-tasks-title{color:var(--color-text-base);font-family:var(--font-body);font-size:var(--text-base);font-weight:700}.admin-dash-mobile-tasks-close{align-items:center;background:var(--color-bg);border:none;border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all var(--transition-fast);width:32px}.admin-dash-mobile-tasks-close:hover{background:var(--bg-status-danger);color:var(--status-danger)}.admin-dash-mobile-tasks-add,.admin-dash-mobile-tasks-btn{align-items:center;display:flex;justify-content:center}.admin-dash-mobile-tasks-add{background:#0000;border:2px solid var(--color-secondary);border-radius:var(--radius-md);color:var(--color-secondary);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;gap:4px;letter-spacing:.05em;max-width:120px;padding:6px 12px;transition:all var(--transition-fast)}.admin-dash-mobile-tasks-add:hover{background:var(--color-secondary);box-shadow:var(--shadow-md);color:var(--color-surface)}.admin-dash-mobile-tasks-nav{align-items:center;background:var(--color-bg);border-bottom:1px solid var(--color-border-medium);display:flex;justify-content:space-between;padding:10px 16px}.admin-dash-mobile-tasks-arrow{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;display:flex;font-size:var(--text-sm);height:34px;justify-content:center;transition:all var(--transition-fast);width:34px}.admin-dash-mobile-tasks-arrow:hover{background:var(--color-secondary);border-color:var(--color-secondary);color:#fff}.admin-dash-mobile-tasks-date{align-items:center;display:flex;flex-direction:column;gap:4px}.admin-dash-mobile-tasks-date-text{color:var(--color-text-base);font-family:var(--font-body);font-size:var(--text-base);font-weight:600}.admin-dash-mobile-tasks-today{background:var(--color-secondary);color:var(--color-surface)}.admin-dash-mobile-tasks-nottoday,.admin-dash-mobile-tasks-today{border:1px solid var(--color-secondary);border-radius:var(--radius-full);cursor:pointer;font-family:var(--font-body);font-size:var(--text-xxs);font-weight:600;letter-spacing:.05em;padding:2px 10px;text-transform:uppercase}.admin-dash-mobile-tasks-nottoday{background:#0000;color:var(--color-secondary)}.admin-dash-mobile-tasks-today:hover{background:var(--color-secondary);color:#fff}.admin-dash-mobile-tasks-list{display:flex;flex-direction:column;gap:8px;max-height:40vh;overflow-y:auto;padding:12px 16px}.admin-dash-mobile-tasks-list::-webkit-scrollbar{width:4px}.admin-dash-mobile-tasks-list::-webkit-scrollbar-track{background:#0000}.admin-dash-mobile-tasks-list::-webkit-scrollbar-thumb{background:var(--color-border-medium);border-radius:var(--radius-sm)}.admin-nav-mobile-bottom{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffff8c;border-top:1px solid color-mix(in srgb,var(--color-border-medium) 50%,#0000);bottom:0;box-shadow:0 -2px 16px #00000014;box-sizing:border-box;display:grid;grid-template-columns:repeat(5,1fr);left:0;max-width:100vw;padding:.625rem 0 .75rem;position:fixed;right:0;width:100%;z-index:var(--z-modal)}.admin-nav-center,.admin-nav-item{align-items:center;display:flex;flex-direction:column;justify-content:center;text-decoration:none;transition:all var(--transition-fast);width:100%}.admin-nav-item{border-radius:var(--radius-md);color:var(--color-text-muted);gap:.25rem;padding:.5rem .25rem}.admin-nav-item:hover{color:var(--color-text-base)}.admin-nav-item.active{color:var(--color-secondary)}.admin-nav-item .admin-nav-icon{font-size:var(--text-xl);transition:transform var(--transition-fast)}.admin-nav-item.active .admin-nav-icon{transform:scale(1.1)}.admin-nav-item .admin-nav-label{font-family:var(--font-body);font-size:var(--text-xxs);font-weight:600;white-space:nowrap}@media (min-width:900px){.admin-nav-desktop{display:block}.admin-nav-mobile-bottom,.admin-nav-mobile-top{display:none}.admin-nav-tasks-tab-desktop{display:flex}.admin-nav-tasks-tab-mobile{display:none}.admin-nav-tasks-dropdown{left:auto;max-height:calc(100vh - 120px);right:0;top:80px;width:350px}body{padding-bottom:0}}@media (max-width:899px){.admin-nav-desktop{display:none}.admin-nav-mobile-top{display:flex}.admin-nav-mobile-bottom{display:grid}.admin-nav-tasks-tab-mobile{display:flex}.admin-nav-tasks-tab-desktop{display:none}body{padding-bottom:75px}}@media (max-width:1100px) and (min-width:900px){.admin-nav-desktop-container{gap:1rem;padding:0 1rem}.admin-nav-desktop-links{gap:0}.admin-nav-desktop-link{font-size:var(--text-sm);padding:.5rem .625rem}.admin-nav-logo-text,.admin-nav-profile-info{display:none}}@media (max-width:480px){.admin-nav-item .admin-nav-icon{font-size:var(--text-lg)}.admin-nav-item .admin-nav-label{font-size:var(--text-xxs)}.admin-nav-center-circle{height:58px;margin:-24px 0 0;width:58px}.admin-nav-center .admin-nav-icon{font-size:var(--text-2xl)}.admin-nav-mobile-bottom{padding:.5rem 0 .625rem}.admin-nav-weather-badge{font-size:var(--text-xs);padding:.25rem .5rem}.admin-nav-weather-icon{font-size:var(--text-sm)}}@media (max-width:360px){.admin-nav-mobile-top{padding:.5rem}.admin-nav-mobile-logo{height:24px}.admin-nav-mobile-title{font-size:var(--text-sm)}.admin-nav-mobile-subtitle{font-size:var(--text-xxs)}.admin-nav-tasks-dropdown{left:0;max-height:calc(100vh - 93px);right:0;top:53px;width:100%}}@keyframes adminDashSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.admin-dash-container{animation:fadeIn .6s ease-out;background:var(--color-bg);font-family:var(--font-body);margin:20px auto;max-width:1400px;padding:40px 20px;width:100%}.admin-dash-container *{font-family:inherit}.admin-dash-main{gap:1rem;width:100%}.admin-dash-body,.admin-dash-main{display:flex;flex-direction:column}.admin-dash-body{gap:2rem}@media (min-width:901px){.admin-dash-body{grid-gap:2rem;align-items:start;display:grid;gap:2rem;grid-template-columns:1fr 1fr}.admin-dash-section-alerts{order:1}.admin-dash-section-records{order:3}.admin-dash-section-deadlines{order:2}.admin-dash-section-uploads{order:4}}.admin-dash-section{display:flex;flex-direction:column;gap:8px;height:300px}.admin-dash-section-header{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;padding:0 4px 6px}.admin-dash-section-header h2{color:var(--color-text-base);font-family:var(--font-body);font-size:var(--text-lg);font-weight:700;letter-spacing:-.02em;margin:0}.admin-dash-see-all{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;padding:0;transition:color var(--transition-fast)}.admin-dash-see-all:hover{color:var(--color-secondary)}.admin-dash-section-content{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:8px;min-height:0;overflow-y:auto}.admin-dash-projects-breakdown{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(4,1fr)}.admin-dash-project-type{align-items:center;background:var(--color-bg);border:none;border-radius:var(--radius-md);cursor:default;display:flex;flex-direction:column;font-family:var(--font-body);padding:12px 8px;transition:all var(--transition-fast)}.admin-dash-project-type.clickable{cursor:pointer}.admin-dash-project-type.clickable:hover{background:color-mix(in srgb,var(--color-secondary) 15%,#0000);box-shadow:var(--shadow-btn);transform:translateY(-2px)}.admin-dash-project-type .type-icon{font-size:var(--text-xl);margin-bottom:6px}.admin-dash-project-type .type-icon.custom{color:var(--type-custom)}.admin-dash-project-type .type-icon.spec{color:var(--type-spec)}.admin-dash-project-type .type-icon.commercial{color:var(--type-commercial)}.admin-dash-project-type .type-icon.pool{color:var(--type-pool)}.admin-dash-project-type .type-count{color:var(--color-text-base);font-size:var(--text-xl);font-weight:700}.admin-dash-project-type .type-label{color:var(--color-text-muted);font-size:var(--text-xxs);letter-spacing:.5px;text-transform:uppercase}.apb-banner .admin-dash-projects-breakdown{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(4,1fr)}.apb-banner .admin-dash-project-type{background:var(--color-surface);border:1px solid var(--color-border-medium);box-shadow:var(--shadow-md)}.apb-banner .admin-dash-project-type.clickable:hover{background:color-mix(in srgb,var(--color-bg) 50%,#0000);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.apb-banner .admin-dash-project-type .type-count,.apb-banner .admin-dash-project-type .type-label{color:var(--color-text-light)}.admin-dash-alert-item{align-items:center;background:var(--color-surface);border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;display:flex;font-family:var(--font-body);gap:12px;padding:12px 14px;text-align:left;transition:all var(--transition-fast);width:95%}.admin-dash-alert-item:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.admin-dash-alert-icon{align-items:center;border-radius:var(--radius-md);display:flex;font-size:var(--text-base);height:32px;justify-content:center;width:32px}.admin-dash-alert-danger .admin-dash-alert-icon{background:color-mix(in srgb,var(--badge-warning) 10%,#0000);color:var(--badge-warning)}.admin-dash-alert-warning .admin-dash-alert-icon{background:color-mix(in srgb,var(--badge-neutral) 10%,#0000);color:var(--badge-neutral)}.admin-dash-alert-ok .admin-dash-alert-icon{background:color-mix(in srgb,var(--badge-success) 10%,#0000);color:var(--badge-success)}.admin-dash-alert-info .admin-dash-alert-icon{background:color-mix(in srgb,var(--badge-disabled) 10%,#0000);color:var(--badge-disabled)}.admin-dash-alert-label{color:var(--color-text-base);flex:1 1;font-size:var(--text-sm);font-weight:500}.admin-dash-alert-count{background:var(--color-border-medium);border-radius:var(--radius-lg);color:var(--color-text-base);font-size:var(--text-base);font-weight:700;padding:4px 10px}.admin-dash-alert-danger .admin-dash-alert-count{background:color-mix(in srgb,var(--badge-warning) 10%,#0000);color:var(--badge-warning)}.admin-dash-alert-warning .admin-dash-alert-count{background:color-mix(in srgb,var(--badge-neutral) 10%,#0000);color:var(--badge-neutral)}.admin-dash-alert-ok .admin-dash-alert-count{background:color-mix(in srgb,var(--badge-success) 10%,#0000);color:var(--badge-success)}.admin-dash-deadline-item{align-items:center;background:var(--color-surface);border:none;border-left:3px solid var(--color-text-muted);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;display:flex;font-family:var(--font-body);justify-content:space-between;padding:14px 16px;text-align:left;transition:all var(--transition-fast);width:95%}.admin-dash-deadline-item:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.admin-dash-deadline-item.urgent{border-left-color:var(--badge-neutral)}.admin-dash-deadline-info{display:flex;flex-direction:column;gap:2px}.admin-dash-deadline-project{color:var(--color-text-base);font-size:var(--text-base);font-weight:600}.admin-dash-deadline-type{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:400}.admin-dash-deadline-date{align-items:flex-end;display:flex;flex-direction:column;gap:2px}.admin-dash-deadline-days{color:var(--color-text-base);font-size:var(--text-sm);font-weight:600}.admin-dash-deadline-item.urgent .admin-dash-deadline-days{color:var(--badge-warning)}.admin-dash-deadline-actual{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:500}.admin-dash-task-item{align-items:center;background:var(--color-bg);border:none;border-radius:var(--radius-lg);cursor:pointer;display:flex;font-family:var(--font-body);gap:12px;padding:12px;text-align:left;transition:all var(--transition-fast);width:95%}.admin-dash-task-item:hover{background:var(--color-surface);box-shadow:var(--shadow-sm)}.admin-dash-task-item:hover .admin-dash-task-edit-icon{color:var(--color-secondary);opacity:1}.admin-dash-task-item.today{background:color-mix(in srgb,var(--color-secondary) 8%,#0000);border-left:3px solid var(--color-secondary)}.admin-dash-task-item.completed{opacity:.7}.admin-dash-task-item.completed .admin-dash-task-title{color:var(--color-text-muted);text-decoration:line-through}.admin-dash-task-content{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.admin-dash-task-title{color:var(--color-text-base);font-size:var(--text-sm);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-dash-task-meta{align-items:center;color:var(--color-text-muted);display:flex;flex-wrap:wrap;font-size:var(--text-xs);gap:8px}.admin-dash-task-project{color:var(--color-secondary);font-weight:500}.admin-dash-task-status{background:var(--color-border-medium);border-radius:var(--radius-sm);font-weight:600;letter-spacing:.03em;padding:1px 6px;text-transform:uppercase}.admin-dash-task-date-info,.admin-dash-task-status{font-size:var(--text-xxs)}.admin-dash-task-edit-icon{align-items:center;color:var(--color-text-muted);display:flex;flex-shrink:0;height:28px;justify-content:center;opacity:0;transition:all var(--transition-fast);width:28px}.admin-calendar{background:var(--color-bg);border-radius:var(--radius-lg);padding:16px}.admin-calendar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.admin-calendar-nav{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all var(--transition-fast);width:32px}.admin-calendar-nav:hover{background:var(--color-secondary);border-color:var(--color-secondary);color:var(--color-surface)}.admin-calendar-month{color:var(--color-text-base);font-size:var(--text-base);font-weight:600}.admin-calendar-weekdays{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,1fr);margin-bottom:8px}.admin-calendar-weekday{color:var(--color-text-muted);font-size:var(--text-xxs);font-weight:600;letter-spacing:.5px;text-align:center;text-transform:uppercase}.admin-calendar-grid{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,1fr)}.admin-calendar-day{align-items:center;aspect-ratio:1;background:var(--color-surface);border:1px solid #0000;border-radius:var(--radius-md);color:var(--color-text-base);cursor:pointer;display:flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;justify-content:center;position:relative;transition:all var(--transition-fast)}.admin-calendar-day:hover{background:color-mix(in srgb,var(--color-secondary) 10%,#0000);border-color:var(--color-secondary)}.admin-calendar-day.empty{background:#0000;cursor:default}.admin-calendar-day.today{background:var(--color-secondary);color:var(--color-surface);font-weight:600}.admin-calendar-day.selected{background:var(--color-primary);color:var(--color-surface);font-weight:600}.admin-calendar-day.has-tasks:after{background:var(--color-secondary);border-radius:50%;bottom:4px;content:"";height:5px;position:absolute;width:5px}.admin-calendar-day.selected.has-tasks:after,.admin-calendar-day.today.has-tasks:after,.admin-dash-upload-card{background:var(--color-surface)}.admin-dash-upload-card{align-items:center;border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;display:flex;font-family:var(--font-body);gap:14px;min-height:40px;padding:14px 16px;text-align:left;transition:all var(--transition-fast);width:95%}.admin-dash-upload-card:hover{border:none;box-shadow:var(--shadow-lg);transform:translateY(-1px)}.admin-dash-upload-icon{align-items:center;background:var(--color-secondary);border-radius:var(--radius-lg);color:var(--color-surface);display:flex;flex-shrink:0;font-size:var(--text-lg);height:40px;justify-content:center;width:40px}.admin-dash-upload-content{display:flex;flex-direction:column;gap:2px}.admin-dash-upload-title{color:var(--color-text-base);font-size:var(--text-sm);font-weight:600}.admin-dash-upload-desc{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:400}.admin-dash-quick-action{align-items:center;background:var(--color-surface);border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;display:flex;font-family:var(--font-body);gap:12px;min-height:40px;padding:14px 16px;text-align:left;transition:all var(--transition-fast);width:95%}.admin-dash-quick-action:hover{border:none;box-shadow:var(--shadow-lg);transform:translateY(-1px)}.admin-dash-quick-action-icon{align-items:center;background:var(--color-secondary);border-radius:var(--radius-lg);color:var(--color-surface);display:flex;flex-shrink:0;font-size:var(--text-lg);height:40px;justify-content:center;width:40px}.admin-dash-quick-action-label{color:var(--color-text-base);font-size:var(--text-sm);font-weight:600;transition:color var(--transition-fast)}.admin-dash-empty{background:var(--color-surface);border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);font-family:var(--font-body);font-size:var(--text-sm);height:54px;width:100%}.admin-dash-empty,.admin-dash-loading{align-items:center;color:var(--color-text-muted);display:flex;justify-content:center;padding:24px}.admin-dash-loading{flex-direction:column;gap:12px}.admin-dash-spinner{animation:adminDashSpin 1s linear infinite;color:var(--color-secondary);font-size:var(--text-2xl)}@keyframes adminDashSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.admin-dash-modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:calc(var(--z-modal) + 10)}.admin-dash-modal{animation:adminDashSlideUp .3s ease;background:var(--color-bg);border-radius:var(--radius-xl);box-shadow:var(--shadow-modal);display:flex;flex-direction:column;max-height:80vh;max-width:480px;width:100%}.admin-dash-modal-header{align-items:center;border-bottom:1px solid var(--color-border-medium);display:flex;justify-content:space-between;padding:20px 24px}.admin-dash-modal-header h3{color:var(--color-text-base);font-family:var(--font-heading);font-size:var(--text-lg);font-weight:600;margin:0}.admin-dash-modal-close{align-items:center;background:var(--color-bg-dk);border:none;border-radius:50%;border-radius:var(--radius-full,50%);color:var(--color-text-muted);cursor:pointer;display:flex;flex-shrink:0;font-size:var(--icon-sm);height:36px;justify-content:center;padding:8px;transition:all .2s ease;width:36px}.admin-dash-modal-close:hover{background:var(--bg-status-danger);color:var(--status-danger)}.admin-dash-modal-content{background:var(--color-surface);overflow-y:auto;padding:16px 24px 24px}.admin-dash-modal-footer{align-items:center;background:var(--color-bg);border-radius:0 0 var(--radius-xl) var(--radius-xl);border-top:1px solid var(--color-border-light);display:flex;flex-shrink:0;justify-content:center;padding:16px 24px}.admin-dash-modal-close-btn{background:#0000;border:2px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;padding:10px 20px;transition:all .2s ease}.admin-dash-modal-close-btn:hover{border-color:var(--color-text-muted);color:var(--color-text-dark)}.admin-dash-modal-item{background:var(--color-bg);border:none;border-radius:var(--radius-lg);display:flex;flex-direction:column;font-family:var(--font-body);gap:4px;margin-bottom:10px;padding:14px 16px;position:relative;text-align:left;width:100%}.admin-dash-modal-item-clickable{cursor:pointer;padding-right:40px;transition:all var(--transition-fast)}.admin-dash-modal-item-clickable:hover{background:color-mix(in srgb,var(--color-secondary) 10%,#0000);transform:translateX(4px)}.admin-dash-modal-item-clickable:hover .modal-item-arrow{color:var(--color-secondary);opacity:1}.modal-item-arrow{color:var(--color-text-muted);opacity:.5;position:absolute;right:16px;top:50%;transform:translateY(-50%);transition:all var(--transition-fast)}.admin-dash-modal-item:last-child{margin-bottom:0}.modal-item-title{color:var(--color-text-base);font-size:var(--text-base);font-weight:600;text-transform:uppercase}.modal-item-subtitle{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:500}.modal-item-date{color:var(--color-text-muted);font-size:var(--text-xs)}.modal-item-date.overdue{color:var(--status-danger);font-weight:500}.admin-dash-modal-empty{color:var(--color-text-muted);padding:20px;text-align:center}.type-label-short{display:none}@media (max-width:1024px){.admin-dash-section{height:auto;min-height:200px}.admin-dash-container{padding:20px 16px}}@media (max-width:900px){.admin-dash-container{padding:20px 16px}.admin-dash-section{height:auto;min-height:0}.type-label-full{display:none}.type-label-short{display:inline}}@media (max-width:768px){.admin-dash-container{padding:20px 16px}.admin-dash-projects-breakdown{grid-template-columns:repeat(4,1fr)}}@media (max-width:480px){.admin-dash-project-type{padding:10px 15px}.admin-dash-project-type .type-count,.admin-dash-project-type .type-icon{font-size:var(--text-base)}.admin-calendar{padding:12px}.admin-calendar-day{font-size:var(--text-xs)}.admin-dash-modal-overlay{padding:12px}.admin-dash-modal{margin:16px;max-height:calc(100vh - 32px);max-width:100%}.admin-dash-modal-header{padding:16px 20px}.admin-dash-modal-content{padding:16px 20px 20px}.admin-dash-modal-footer{padding:12px 16px}.admin-dash-modal-close-btn{justify-content:center;width:100%}.admin-dash-projects-breakdown{grid-template-columns:repeat(2,1fr)}}@media (max-width:360px){.admin-dash-projects-breakdown{gap:4px}.admin-dash-project-type{padding:6px 10px}.admin-dash-project-type .type-count,.admin-dash-project-type .type-icon{font-size:var(--text-sm)}}.tvm-overlay{align-items:center;animation:fadeIn .2s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:calc(var(--z-modal) + 10)}.tvm-modal{animation:slideUp .3s ease;background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-modal);display:flex;flex-direction:column;font-family:var(--font-body);max-height:80vh;max-width:480px;width:100%}.tvm-header{background-color:var(--color-bg);border-bottom:1px solid var(--color-border-light);border-radius:var(--radius-md) var(--radius-md) 0 0;justify-content:space-between;padding:20px 24px}.tvm-header,.tvm-title-row{align-items:center;display:flex}.tvm-title-row{flex:1 1;gap:10px;min-width:0}.tvm-header-icon{align-items:center;background:color-mix(in srgb,var(--color-secondary) 10%,#0000);border-radius:var(--radius-md);color:var(--color-secondary);display:flex;flex-shrink:0;font-size:var(--text-base);height:36px;justify-content:center;width:36px}.tvm-title-text{display:flex;flex-direction:column;font-size:var(--text-lg);gap:1px;min-width:0}.tvm-title-row h3{color:var(--color-text-base);font-family:var(--font-heading);font-size:var(--text-xl);font-weight:600;margin:0}.tvm-title-row span{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;letter-spacing:.5px;margin:0;text-transform:uppercase}.tvm-edit-btn,.tvm-header-actions{align-items:center;display:flex;gap:.5rem}.tvm-edit-btn{background:var(--color-secondary);border:2px solid var(--color-secondary);border-radius:var(--radius-md);color:var(--color-surface);cursor:pointer;font-family:var(--font-body);font-size:var(--text-xs);font-weight:500;padding:.5rem 1rem;transition:background .2s ease}.tvm-edit-btn:hover{background:var(--color-surface);border:2px solid var(--color-secondary);color:var(--color-secondary);transition:.2s ease ease}.tvm-close-btn{align-items:center;background:var(--color-bg-dk);border:none;border-radius:50%;border-radius:var(--radius-full,50%);color:var(--color-text-muted);cursor:pointer;display:flex;flex-shrink:0;font-size:var(--icon-sm);height:36px;justify-content:center;padding:8px;transition:all .2s ease;width:36px}.tvm-close-btn:hover{background:var(--bg-status-danger);color:var(--status-danger)}.tvm-content{flex:1 1;overflow-y:auto}.tvm-task-info{padding:1.5rem}.tvm-badges{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:1rem}.tvm-badge{border-radius:var(--radius-xl);font-size:var(--text-xs);font-weight:600;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.tvm-badge-status{background:var(--status-info3);color:var(--color-surface)}.tvm-badge-status.tvm-badge-completed{background:var(--badge-success);color:var(--color-surface)}.tvm-badge-status.tvm-badge-in-progress{background:var(--badge-neutral);color:var(--color-surface)}.tvm-badge-status.tvm-badge-delayed{background:var(--badge-warning);color:var(--color-surface)}.tvm-badge-status.tvm-badge-not-started{background:var(--badge-disabled);color:var(--color-surface)}.tvm-badge-phase{background:var(--bg-status-info3);color:var(--color-text-base)}.tvm-info-box{background-color:var(--color-bg);border-radius:var(--radius-lg);margin-bottom:1.5rem;padding:14px 16px}.tvm-section{border-bottom:1px solid var(--color-bg);display:flex;flex-direction:row;gap:.75rem;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1.5rem}.tvm-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.tvm-section-full{align-items:center;border-bottom:1px solid var(--color-bg);margin-bottom:1.5rem;padding-bottom:1.5rem}.tvm-info-field{border-bottom:1px solid var(--color-bg-dk);display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;margin-bottom:.5rem;padding-bottom:.5rem}.tvm-info-field .tvm-value{font-size:var(--text-sm)}.tvm-info-field:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.tvm-field{align-items:flex-start;background-color:var(--color-bg);border-radius:var(--radius-lg);display:flex;flex:1 1;flex-direction:column;gap:.25rem;margin-bottom:10px;padding:14px 16px}.tvm-field-full{display:flex;flex-direction:column;gap:.5rem}.tvm-internal-notes{border:2px solid var(--bg-status-danger)}.tvm-label{align-items:center;display:flex;font-size:var(--text-sm);font-weight:600;gap:.5rem;letter-spacing:.5px;text-transform:uppercase}.tvm-label,.tvm-label svg{color:var(--color-text-base)}.tvm-value{font-size:var(--text-base);line-height:1.5}.tvm-description,.tvm-value{color:var(--color-text-light)}.tvm-description{font-size:var(--text-sm);line-height:1.6;margin:0;white-space:pre-wrap}.tvm-attachments{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));margin-top:.5rem}.tvm-attachment-item{border-radius:var(--radius-md);display:block;overflow:visible;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.tvm-attachment-item:hover{box-shadow:var(--shadow-hover);cursor:pointer;transform:translateY(-2px)}.tvm-attachment-thumb{display:block;height:100px;object-fit:cover;width:100%}.tvm-attachment-file{align-items:center;background:var(--color-bg);color:var(--color-text-base);display:flex;flex-direction:column;gap:.5rem;height:100px;justify-content:center;padding:1rem;text-align:center}.tvm-attachment-file svg{color:var(--color-secondary);font-size:var(--text-2xl)}.tvm-attachment-pdf{background:var(--color-bg)}.tvm-attachment-pdf svg{color:var(--color-accent)}.tvm-attachment-file span{font-size:var(--text-xs);word-break:break-word}.tvm-files-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.tvm-file-item{background:var(--color-bg);border-left:3px solid var(--color-secondary);border-radius:var(--radius-md);padding:.75rem}.tvm-file-name{color:var(--color-text-base);font-size:var(--text-sm)}.tvm-flag{display:flex;justify-content:center;margin-bottom:1.5rem;margin-right:.5rem}.tvm-flag-badge{background:var(--color-secondary);border-radius:var(--radius-xl);color:var(--color-surface);display:inline-block;font-size:var(--text-sm);font-weight:600;justify-content:center;padding:.25rem .75rem}.tvm-viewer-overlay{align-items:center;animation:fadeIn .2s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:3000}.tvm-viewer-modal{background:var(--color-surface);border-radius:var(--radius-lg);display:flex;flex-direction:column;height:90vh;max-width:1200px;overflow:hidden;position:relative;width:100%}.tvm-viewer-header{align-items:center;background:var(--color-bg);border-bottom:1px solid var(--color-bg-dk);color:var(--color-text-base);display:flex;justify-content:space-between;padding:1rem 1.5rem}.tvm-viewer-info{display:flex;flex-direction:column;gap:.25rem}.tvm-viewer-filename{font-size:var(--text-base);font-weight:600}.tvm-viewer-counter{font-size:var(--text-sm);opacity:.8}.tvm-viewer-close{align-items:center;background:var(--color-bg-dk);border:none;border-radius:50%;border-radius:var(--radius-full,50%);color:var(--color-text-muted);cursor:pointer;display:flex;flex-shrink:0;font-size:var(--icon-sm);height:36px;justify-content:center;padding:8px;transition:all .2s ease;width:36px}.tvm-viewer-close:hover{background:var(--bg-status-danger);color:var(--status-danger)}.tvm-viewer-content{align-items:center;background:var(--color-surface);display:flex;flex:1 1;justify-content:center;overflow:hidden;position:relative}.tvm-viewer-image{display:block;max-height:100%;max-width:100%;object-fit:contain}.tvm-viewer-pdf{border:none;height:100%;width:100%}.tvm-viewer-unsupported{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;gap:1rem;padding:2rem;text-align:center}.tvm-viewer-unsupported svg{color:var(--color-secondary)}.tvm-viewer-download{border-radius:var(--radius-md);color:var(--color-surface);display:inline-block;font-weight:600;padding:.75rem 1.5rem;text-decoration:none;transition:background .2s ease}.tvm-viewer-download,.tvm-viewer-download:hover{background:var(--color-secondary)}.tvm-viewer-nav{align-items:center;background:var(--color-text-base);border:none;border-radius:50%;color:var(--color-surface);cursor:pointer;display:flex;font-size:var(--text-2xl);height:48px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:background .2s ease,transform .2s ease;width:48px;z-index:10}.tvm-viewer-nav:hover{background:var(--color-text-light);transform:translateY(-50%) scale(1.1)}.tvm-viewer-prev{left:1rem}.tvm-viewer-next{right:1rem}@media (max-width:768px){.tvm-overlay{padding:0}.tvm-modal{border-radius:0;max-height:100vh;max-width:100%}.tvm-header{padding:1rem}.tvm-title{font-size:var(--text-xl)}.tvm-content{padding:1rem}.tvm-edit-btn span{display:none}.tvm-attachments{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.tvm-attachment-file,.tvm-attachment-thumb{height:80px}.tvm-info-field{align-items:center;flex-direction:column}.tvm-viewer-overlay{align-items:center;animation:fadeIn .2s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:3000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.tvm-viewer-modal{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);display:flex;flex-direction:column;height:90vh;max-width:1200px;overflow:hidden;position:relative;width:100%}.tvm-viewer-header{align-items:center;background:var(--color-bg);border-bottom:1px solid var(--color-border-medium);color:var(--color-text-base);display:flex;justify-content:space-between;padding:1rem 1.5rem}.tvm-viewer-info{display:flex;flex-direction:column;gap:.25rem}.tvm-viewer-filename{font-size:var(--text-base);font-weight:600}.tvm-viewer-counter{font-size:var(--text-sm);opacity:.8}.tvm-viewer-close{align-items:center;background:var(--color-bg-dk);border:none;border-radius:50%;border-radius:var(--radius-full,50%);color:var(--color-text-muted);cursor:pointer;display:flex;flex-shrink:0;font-size:var(--icon-sm);height:36px;justify-content:center;padding:8px;transition:all .2s ease;width:36px}.tvm-viewer-close:hover{background:var(--bg-status-danger);color:var(--status-danger)}.tvm-viewer-content{align-items:center;background:var(--color-surface);display:flex;flex:1 1;justify-content:center;overflow:hidden;position:relative}.tvm-viewer-image{display:block;max-height:100%;max-width:100%;object-fit:contain}.tvm-viewer-pdf{border:none;height:100%;width:100%}.tvm-viewer-unsupported{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;gap:1rem;padding:2rem;text-align:center}.tvm-viewer-unsupported svg{color:var(--color-secondary)}.tvm-viewer-download{background:var(--color-secondary);border-radius:var(--radius-md);color:#fff;display:inline-block;font-weight:600;padding:.75rem 1.5rem;text-decoration:none;transition:background .2s ease}.tvm-viewer-download:hover{background:var(--color-primary)}.tvm-viewer-nav{align-items:center;background:#00000080;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:var(--text-2xl);height:48px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:background .2s ease,transform .2s ease;width:48px;z-index:10}.tvm-viewer-nav:hover{background:#000c;transform:translateY(-50%) scale(1.1)}.tvm-viewer-prev{left:1rem}.tvm-viewer-next{right:1rem}}.confirmation-modal-overlay{align-items:center;background:#00000080;border-radius:16px;border-radius:var(--radius-lg,16px);bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000;z-index:var(--z-modal,1000)}.cm-content{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);max-width:400px;padding:24px;text-align:center}.cm-title{align-items:center;border-bottom:1px solid var(--color-border-medium);display:inline-block;gap:10px;justify-content:center;padding-bottom:4px;padding-bottom:var(--space-xs,4px);width:100%}.cm-title h3{color:var(--color-text-dark);font-family:Besley,Georgia,serif;font-family:var(--font-heading,"Besley",Georgia,serif);font-size:var(--text-lg);font-weight:600;margin:0 0 12px}.cm-title svg{color:var(--color-secondary);height:20px;width:20px}.cm-text{color:var(--color-text-light);font-family:var(--font-body);line-height:1.6;margin-top:10px}.cm-text p{font-size:.875rem;font-size:var(--text-sm,.875rem);margin:0 0 20px}.cm-text-item{font-weight:600}.cm-actions{display:flex;gap:12px;justify-content:center}.confirmation-modal-btn{align-items:center;border-radius:8px;border-radius:var(--radius-md,8px);cursor:pointer;display:flex;font-family:var(--font-body);font-size:.875rem;font-size:var(--text-sm,.875rem);font-weight:600;gap:8px;justify-content:center;padding:10px 20px;transition:all .2s ease}.confirmation-modal-btn.cancel{background:#0000;border:2px solid var(--color-border-light);color:var(--color-text-muted)}.confirmation-modal-btn.cancel:hover:not(:disabled){border-color:var(--color-text-muted);color:var(--color-text-dark)}.confirmation-modal-btn.confirm{background:var(--color-secondary);border:none;color:var(--color-surface)}.confirmation-modal-btn.confirm:hover:not(:disabled){background:color-mix(in srgb,var(--color-secondary) 80%,#0000);transform:translateY(-1px)}.confirmation-modal-btn.confirm.destructive{background:#0000;border:2px solid color-mix(in srgb,var(--status-danger) 30%,#0000);color:var(--status-danger)}.confirmation-modal-btn.confirm.destructive:hover:not(:disabled){background:color-mix(in srgb,var(--status-danger) 10%,#0000);border-color:var(--status-danger)}.confirmation-modal-btn:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.cm-content{max-width:calc(100vw - 40px);padding:24px}.cm-actions{flex-direction:column}.confirmation-modal-btn{max-width:none;width:100%}}.task-modal-overlay{align-items:center;animation:taskModalFadeIn .2s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000;z-index:var(--z-modal,1000)}@keyframes taskModalFadeIn{0%{opacity:0}to{opacity:1}}.task-modal{animation:taskModalSlideUp .3s ease;background:var(--color-surface);border-radius:16px;border-radius:var(--radius-lg,16px);box-shadow:var(--shadow-modal);display:flex;flex-direction:column;font-family:var(--font-body);max-height:85vh;max-width:650px;overflow:hidden;width:100%}.task-modal *{font-family:inherit}@keyframes taskModalSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.task-modal-header{align-items:center;background:var(--color-bg);border-bottom:1px solid var(--color-border-light);display:flex;flex-shrink:0;justify-content:space-between;padding:20px 24px}.task-modal-title-row{align-items:center;display:flex;flex:1 1;gap:10px;min-width:0}.task-modal-header-icon{align-items:center;background:color-mix(in srgb,var(--color-secondary) 10%,#0000);border-radius:var(--radius-md);color:var(--color-secondary);display:flex;flex-shrink:0;font-size:var(--text-base);height:36px;justify-content:center;width:36px}.task-modal-title-row h3{color:var(--color-text-dark);font-family:Besley,Georgia,serif;font-family:var(--font-heading,"Besley",Georgia,serif);font-size:var(--text-xl);font-weight:600;margin:0}.task-modal-close{align-items:center;background:var(--color-bg-dk);border:none;border-radius:50%;border-radius:var(--radius-full,50%);color:var(--color-text-muted);cursor:pointer;display:flex;flex-shrink:0;font-size:var(--icon-sm);height:36px;justify-content:center;padding:8px;transition:all .2s ease;width:36px}.task-modal-close:hover:not(:disabled){background:var(--bg-status-danger);color:var(--status-danger)}.task-modal-close:disabled{cursor:not-allowed;opacity:.5}.task-modal-content{flex:1 1;overflow-y:auto;padding:24px;padding:var(--space-lg,24px)}.task-modal-loading{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;gap:16px;justify-content:center;padding:48px 24px}.task-modal-spinner{animation:taskModalSpin 1s linear infinite;color:var(--color-secondary);font-size:var(--text-2xl)}@keyframes taskModalSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.task-modal-error{align-items:center;background:color-mix(in srgb,var(--status-danger) 8%,#0000);border:1px solid color-mix(in srgb,var(--status-danger) 25%,#0000);border-radius:var(--radius-lg);color:var(--status-danger);display:flex;font-size:var(--text-sm);gap:12px;padding:12px 16px}.task-modal-form{display:flex;flex-direction:column;gap:24px;gap:var(--space-lg,24px)}.task-modal-form-group{display:flex;flex-direction:column;gap:8px;gap:var(--space-sm,8px)}.task-modal-form-group label{align-items:center;color:var(--color-text-dark);display:flex;font-family:var(--font-body);font-size:.875rem;font-size:var(--text-sm,.875rem);font-weight:600;gap:8px;gap:var(--space-sm,8px)}.task-modal-form-group label svg{color:var(--color-text-muted);font-size:.875rem;font-size:var(--text-sm,.875rem)}.task-modal-form-group input,.task-modal-form-group select,.task-modal-form-group textarea{background:var(--color-surface);border:2px solid var(--color-border-light);border-radius:8px;border-radius:var(--radius-md,8px);color:var(--color-text-dark);font-family:var(--font-body);font-size:.875rem;font-size:var(--text-sm,.875rem);padding:12px 14px;transition:all .2s ease}.task-modal-form-group input:hover:not(:disabled),.task-modal-form-group select:hover:not(:disabled),.task-modal-form-group textarea:hover:not(:disabled){border-color:var(--color-secondary)}.task-modal-form-group input:focus,.task-modal-form-group select:focus,.task-modal-form-group textarea:focus{border-color:var(--color-secondary);box-shadow:var(--shadow-focus);outline:none}.task-modal-form-group input::placeholder,.task-modal-form-group textarea::placeholder{color:var(--color-text-muted)}.task-modal-form-group textarea{min-height:80px;resize:vertical}.task-modal-form-group select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%236b7280' d='M6 8 1 3h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;cursor:pointer;padding-right:36px}.task-modal-form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.task-modal-readonly{color:var(--color-text-muted)!important}.task-modal-project-display,.task-modal-readonly{background:var(--color-bg)!important;cursor:not-allowed}.task-modal-checkbox-group{align-items:center;background:var(--color-bg);border:none;border-radius:8px;border-radius:var(--radius-md,8px);flex-direction:row;padding:12px 14px}.task-modal-checkbox-label{align-items:center;cursor:pointer;display:flex;font-weight:500!important;gap:8px}.task-modal-checkbox-label input[type=checkbox]{accent-color:var(--color-secondary);cursor:pointer;height:18px;padding:0;width:18px}.task-modal-checkbox-label svg{color:var(--color-secondary)!important;height:12px;width:12px}.task-modal-attachments{display:flex;flex-direction:column;gap:12px}.task-modal-attachments-note{align-items:center;background:var(--bg-status-warning);border:1px dashed var(--color-border-medium);border-radius:8px;border-radius:var(--radius-md,8px);color:var(--status-warning);display:flex;font-size:var(--text-sm);gap:10px;line-height:1.4;padding:12px 14px}.task-modal-attachments-note svg{color:var(--status-warning);flex-shrink:0}.task-modal-label-hint{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:400;margin-left:6px}.task-modal-photo-name-field{display:flex;flex-direction:column;gap:6px;margin-bottom:0}.task-modal-photo-name-label{align-items:center;color:var(--color-text-base);display:flex;font-size:var(--text-xs);font-weight:500;gap:6px}.task-modal-photo-name-label svg{color:var(--color-secondary)}.task-modal-required{color:var(--status-danger);margin-left:2px}.task-modal-photo-name-field input[type=text]{background:var(--color-bg);border:1px solid var(--color-border-medium);border-radius:6px;border-radius:var(--radius-md,6px);color:var(--color-text-base);font-size:var(--text-sm);padding:8px 10px}.task-modal-photo-name-field input[type=text]:disabled{background:var(--color-bg);color:var(--color-text-muted);cursor:not-allowed}.task-modal-photo-name-hint{color:var(--color-text-muted);font-size:var(--text-sm);font-style:italic;margin:0}.task-modal-individual-checkbox{align-items:center;color:var(--color-text-base);display:flex;font-size:var(--text-sm);gap:6px;margin-bottom:5px}.task-modal-individual-checkbox input[type=checkbox]{cursor:pointer;margin:0}.task-modal-individual-name-input{background:var(--color-surface);border:1px solid var(--color-border-medium);border-radius:var(--radius-sm);color:var(--color-text-base);font-size:var(--text-sm);margin-top:4px;padding:4px 6px;width:100%}.task-modal-attachment-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));margin-bottom:12px}.task-modal-attachment-item{align-items:center;background:var(--color-bg);border:1px solid var(--color-border-medium);border-radius:8px;border-radius:var(--radius-md,8px);color:var(--color-text-base);display:flex;flex-direction:column;gap:6px;padding:10px;text-decoration:none;transition:all .2s ease}.task-modal-attachment-item:hover{border-color:var(--color-secondary);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.task-modal-attachment-thumb{border-radius:var(--radius-md);height:80px;object-fit:cover;width:80px}.task-modal-attachment-file{align-items:center;background:var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-muted);display:flex;font-size:var(--icon-2x);height:80px;justify-content:center;width:80px}.task-modal-attachment-name{font-size:var(--text-xs);max-width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.task-modal-no-attachments{color:var(--color-text-muted);font-size:var(--text-sm);font-style:italic;margin:0}.task-modal-attachment-badge{background:color-mix(in srgb,var(--color-secondary) 10%,#0000);border-radius:var(--radius-sm);color:var(--color-secondary);font-size:var(--text-xxs);font-weight:500;padding:2px 6px;white-space:nowrap}.task-modal-dropzone{background:var(--color-bg);border:2px dashed var(--color-border-dark);border-radius:var(--radius-lg);cursor:pointer;position:relative;transition:all .3s ease}.task-modal-dropzone:hover{background:color-mix(in srgb,var(--color-secondary) 5%,#0000);border-color:var(--color-secondary)}.task-modal-dropzone-dragging{background:color-mix(in srgb,var(--color-secondary) 10%,#0000);border-color:var(--color-secondary);transform:scale(1.01)}.task-modal-dropzone-disabled{opacity:.6;pointer-events:none}.task-modal-file-input{display:none}.task-modal-dropzone-content{align-items:center;cursor:pointer;display:flex;flex-direction:column;justify-content:center;padding:var(--space-xl);text-align:center}.task-modal-dropzone-icon{color:var(--color-secondary);font-size:var(--icon-2xx);margin-bottom:var(--space-md);opacity:.8}.task-modal-dropzone-text{color:var(--color-text-dark);font-family:var(--font-body);font-size:var(--text-base);font-weight:500;margin:0 0 var(--space-xs) 0}.task-modal-dropzone-hint{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-sm);margin:0}.task-modal-pending-section{display:flex;flex-direction:column;gap:12px;gap:var(--space-md,12px)}.task-modal-pending-header{align-items:center;color:var(--color-text-dark);display:flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;justify-content:space-between}.task-modal-clear-all{background:#0000;border:none;color:var(--status-danger);cursor:pointer;font-size:var(--text-sm);font-weight:500;transition:opacity .2s ease}.task-modal-clear-all:hover{opacity:.7}.task-modal-pending-item{cursor:default;position:relative}.task-modal-pending-item:hover{transform:none}.task-modal-pending-error{border-color:var(--status-danger)}.task-modal-attachment-size{color:var(--color-text-muted);font-size:var(--text-xxs)}.task-modal-file-error{background:var(--bg-status-danger);border-radius:var(--radius-sm);color:var(--status-danger);font-size:var(--text-xs);padding:2px 4px;text-align:center}.task-modal-pending-remove{align-items:center;background:#0009;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:var(--text-xs);height:28px;justify-content:center;opacity:0;position:absolute;right:6px;top:6px;transition:all .2s ease;width:28px}.task-modal-pending-item:hover .task-modal-pending-remove{opacity:1}.task-modal-pending-remove:hover{background:var(--status-danger)}.task-modal-upload-progress{background:var(--color-bg-dk);border-radius:50px;border-radius:var(--radius-full,50px);height:4px;overflow:hidden;width:100%}.task-modal-upload-progress-bar{background:linear-gradient(90deg,var(--status-success) 0,var(--status-success) 100%);border-radius:50px;border-radius:var(--radius-full,50px);height:100%;transition:width .3s ease}.task-modal-save-error{align-items:flex-start;background:color-mix(in srgb,var(--status-danger) 10%,#0000);border:1px solid color-mix(in srgb,var(--status-danger) 30%,#0000);border-radius:var(--radius-md);color:var(--status-danger);display:flex;font-size:var(--text-sm);gap:12px;padding:12px 16px}.task-modal-save-error svg{flex-shrink:0;margin-top:2px}.task-modal-footer{align-items:center;background:var(--color-bg);border-top:1px solid var(--color-border-light);display:flex;flex-shrink:0;gap:12px;justify-content:space-between;padding:16px 24px}.task-modal-footer-right{display:flex;gap:12px;margin-left:auto}.task-modal-btn{align-items:center;border-radius:8px;border-radius:var(--radius-md,8px);cursor:pointer;display:flex;font-family:var(--font-body);font-size:.875rem;font-size:var(--text-sm,.875rem);font-weight:600;gap:8px;justify-content:center;padding:10px 20px;transition:all .2s ease}.task-modal-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.task-modal-btn-secondary{background:#0000;border:2px solid var(--color-border-light);color:var(--color-text-muted)}.task-modal-btn-secondary:hover:not(:disabled){border-color:var(--color-text-muted);color:var(--color-text-dark)}.task-modal-btn-primary{background:var(--color-secondary);border:none;color:var(--color-surface)}.task-modal-btn-primary:hover:not(:disabled){background:var(--color-primary);box-shadow:var(--shadow-btn);transform:translateY(-1px)}.task-modal-btn-danger{background:#0000;border:2px solid color-mix(in srgb,var(--status-danger) 30%,#0000);color:var(--status-danger)}.task-modal-btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--status-danger) 10%,#0000);border-color:var(--status-danger)}.task-modal-btn-spinner{animation:taskModalSpin 1s linear infinite}.task-modal-group-divider{background:var(--color-border-medium);height:1px;margin:var(--space-sm) 0}@media (max-width:640px){.task-modal-overlay{align-items:flex-end;padding:0}.task-modal{border-radius:16px 16px 0 0;border-radius:var(--radius-lg,16px) var(--radius-lg,16px) 0 0;max-height:100%;max-width:100%}.task-modal-header{padding:16px 16px 12px}.task-modal-title-row h3{font-size:var(--text-xl)}.task-modal-content{padding:16px}.task-modal-form-row{grid-template-columns:1fr}.task-modal-dropzone-content{padding:var(--space-lg)}.task-modal-attachment-grid{gap:var(--space-sm);grid-template-columns:repeat(3,1fr)}.task-modal-footer{flex-direction:column-reverse;padding:12px 16px}.task-modal-footer-right{flex-direction:column-reverse;width:100%}.task-modal-btn,.task-modal-btn-danger{width:100%}}@media (max-width:480px){.task-modal-form{gap:16px;gap:var(--space-md,16px)}}.apb-banner{align-items:center;background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between;margin-bottom:1.5rem;overflow:hidden;padding:3rem 3.5rem;position:relative;width:100%}.apb-banner-left{display:flex;flex-direction:column;z-index:1}.apb-banner-title{align-items:center;border-bottom:1px solid var(--color-border-medium);color:var(--color-text-light);display:flex;flex-direction:row;font-family:var(--font-heading);font-size:var(--text-4xl);font-weight:700;justify-content:space-between;line-height:1.1;margin-bottom:.5rem;padding-bottom:.75rem;width:100%}.apb-banner-title button{display:none}.apb-banner-greeting{color:var(--color-text-light);font-family:var(--font-heading);font-size:var(--text-base);font-weight:600;letter-spacing:.25em;opacity:.8;text-transform:uppercase}.apb-banner-subtitle{color:var(--color-text-light);font-family:var(--font-body);font-size:var(--text-sm);font-weight:400;letter-spacing:.1em;margin:0;opacity:.75}.apb-banner-count-mobile{display:none}.apb-banner-right{align-items:center;display:flex;flex-shrink:0;gap:1.5rem;z-index:1}.apb-banner-stat{align-items:center;border-right:1px solid var(--color-border-medium);display:flex;flex-direction:column;padding-right:1.5rem}.apb-banner-number{color:var(--color-text-light);font-family:var(--font-heading);font-size:var(--icon-3x);font-weight:700;line-height:1}.apb-banner-label{font-family:var(--font-body);font-size:var(--text-xs);font-weight:400;letter-spacing:.1em;margin-top:.25rem;opacity:.8;text-transform:uppercase;white-space:nowrap}.apb-banner-label,.apb-icon{color:var(--color-text-light)}.apb-icon{font-size:var(--icon-3x);margin-top:20px}.apb-banner-loading{align-items:center;color:var(--color-text-muted);display:flex;font-family:var(--font-body);font-size:var(--text-sm);gap:8px}.apb-banner-spinner{animation:apbSpin 1s linear infinite}@keyframes apbSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.apb-banner-add-btn{align-items:center;background:var(--color-secondary);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-btn);color:var(--color-surface);cursor:pointer;display:flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;gap:8px;padding:12px 20px;transition:all .3s ease;white-space:nowrap}.apb-banner-add-btn:hover{box-shadow:var(--shadow-xs);transform:translateY(-2px)}.apb-banner-toggle,.apb-banner-toggle-label{align-items:center;display:flex}.apb-banner-toggle-label{cursor:pointer;gap:10px;-webkit-user-select:none;user-select:none}.apb-banner-toggle-text{font-size:var(--text-sm)}.apb-banner-toggle-text,.apb-banner-toggle-text-mobile{color:var(--color-text-muted);font-family:var(--font-body);font-weight:500;white-space:nowrap}.apb-banner-toggle-text-mobile{font-size:var(--text-xs)}.apb-banner-toggle-switch{height:24px;position:relative;width:44px}.apb-banner-toggle-switch input{height:0;opacity:0;width:0}.apb-banner-toggle-slider{background-color:var(--color-border-medium);border-radius:24px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:all .3s ease}.apb-banner-toggle-slider:before{background-color:var(--color-surface);border-radius:50%;bottom:3px;box-shadow:var(--shadow-xs);content:"";height:18px;left:3px;position:absolute;transition:all .3s ease;width:18px}.apb-banner-toggle-switch input:checked+.apb-banner-toggle-slider{background-color:var(--color-secondary)}.apb-banner-toggle-switch input:checked+.apb-banner-toggle-slider:before{transform:translateX(20px)}.apb-banner-mobile-actions{display:none}.apb-banner-add-fab,.apb-banner-toggle-mobile{align-items:center;display:flex}.apb-banner-add-fab{background:var(--color-secondary);border:none;border-radius:50%;box-shadow:var(--shadow-md);color:var(--color-surface);cursor:pointer;flex-shrink:0;font-size:var(--text-lg);height:44px;justify-content:center;transition:all .3s ease;width:44px}.apb-banner-add-fab:hover{box-shadow:var(--shadow-lg);transform:scale(1.05)}.apb-banner-children-mobile{display:none}@media (max-width:900px){.apb-banner{align-items:flex-start;flex-wrap:wrap;padding:2rem}.apb-banner,.apb-banner-stat{flex-direction:row;gap:.75rem}.apb-banner-stat{border-bottom:1px solid var(--color-border-medium);border-right:none;padding-bottom:.75rem;padding-right:0;width:100%}.apb-banner-right{display:none}.apb-banner-left{flex:1 1;min-width:0}.apb-banner-mobile-actions{align-items:center;display:flex;gap:10px;justify-content:center;order:10;width:100%}.apb-banner-children-mobile{display:block;order:10;width:100%}.apb-icon{display:none}.apb-banner-title button{display:flex}}@media (max-width:480px){.apb-banner-title{font-size:var(--text-2xl)}.apb-banner-title button{display:flex}.apb-banner-subtitle{font-size:var(--text-xs);letter-spacing:0;line-height:1rem}.apb-banner-greeting{letter-spacing:.04rem;padding-bottom:.25rem}.apb-banner-right{display:none}.apb-banner-toggle-mobile .apb-banner-toggle-switch{height:20px;width:36px}.apb-banner-toggle-mobile .apb-banner-toggle-slider:before{height:14px;width:14px}.apb-banner-toggle-mobile .apb-banner-toggle-switch input:checked+.apb-banner-toggle-slider:before{transform:translateX(16px)}}@media (max-width:360px){.apb-banner{gap:.75rem;padding:1.5rem}.apb-banner-greeting{font-size:var(--text-xs);letter-spacing:.02rem}.apb-banner-subtitle{font-size:var(--text-xs);line-height:1rem}.apb-banner-add-btn span{display:none}}.afm-overlay{align-items:center;animation:fadeIn .2s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:var(--space-md);position:fixed;right:0;top:0;z-index:var(--z-modal)}.afm-modal{animation:slideUp .3s ease;background:var(--color-surface);border-radius:16px;border-radius:var(--radius-lg,16px);box-shadow:var(--shadow-modal);display:flex;flex-direction:column;max-height:85vh;max-width:600px;overflow:hidden;width:100%}.afm-modal.afm-modal-wide{max-width:720px}.afm-header{background:var(--color-bg);border-bottom:1px solid var(--color-border-light);flex-shrink:0;justify-content:space-between;padding:20px 24px}.afm-header,.afm-header-left{align-items:center;display:flex}.afm-header-left{flex:1 1;gap:10px;min-width:0}.afm-header-icon{align-items:center;background:color-mix(in srgb,var(--color-secondary) 10%,#0000);border-radius:var(--radius-md);color:var(--color-secondary);display:flex;flex-shrink:0;font-size:var(--text-base);height:36px;justify-content:center;width:36px}.afm-title{color:var(--color-text-dark);font-family:Besley,Georgia,serif;font-family:var(--font-heading,"Besley",Georgia,serif);font-size:var(--text-xl);font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.afm-close-btn{align-items:center;background:var(--color-bg);border:none;border-radius:50%;border-radius:var(--radius-full,50%);color:var(--color-text-muted);cursor:pointer;display:flex;flex-shrink:0;font-size:var(--icon-sm);height:36px;justify-content:center;padding:8px;transition:all .2s ease;width:36px}.afm-close-btn:hover{background:#ef44441a;color:var(--status-danger)}.afm-mode-toggle{background:var(--color-surface);border-bottom:1px solid var(--color-border-light);display:flex;gap:0;padding:0 24px}.afm-mode-btn{background:none;border:none;border-bottom:2px solid #0000;color:var(--color-text-muted);cursor:pointer;flex:1 1;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;padding:10px 16px;text-align:center;transition:all var(--transition-fast)}.afm-mode-btn:hover{color:var(--color-text-dark)}.afm-mode-btn.afm-mode-active{border-bottom-color:var(--color-secondary);color:var(--color-secondary);font-weight:600}.afm-body{background:var(--color-surface);flex:1 1;overflow-y:auto;padding:20px 24px}.afm-section{margin-bottom:20px}.afm-section:last-child{margin-bottom:0}.afm-section-title{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:.08em;margin-bottom:12px;text-transform:uppercase}.afm-field{margin-bottom:14px}.afm-field:last-child{margin-bottom:0}.afm-label{color:var(--color-text-dark);display:block;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;margin-bottom:5px}.afm-label-optional{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:400;margin-left:4px}.afm-required{color:var(--status-danger)}.afm-section-title-icon{margin-right:6px}.afm-field-spaced{margin-top:12px}.afm-hidden-input{display:none}.afm-input,.afm-select,.afm-textarea{background:var(--color-surface);border:1px solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-dark);font-family:var(--font-body);font-size:var(--text-sm);outline:none;padding:10px 12px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.afm-input:focus,.afm-select:focus,.afm-textarea:focus{border-color:var(--color-secondary);box-shadow:var(--shadow-focus)}.afm-input::placeholder,.afm-textarea::placeholder{color:var(--color-text-muted);font-weight:300}.afm-input.afm-input-error,.afm-select.afm-input-error,.afm-textarea.afm-input-error{border-color:var(--status-danger);box-shadow:var(--shadow-focus)}.afm-textarea{line-height:1.5;min-height:80px;resize:vertical}.afm-select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239b8b7e' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;cursor:pointer;padding-right:36px}.afm-row{display:flex;gap:12px}.afm-row>.afm-field{flex:1 1;min-width:0}.afm-checkbox-group{display:flex;flex-wrap:wrap;gap:12px 20px}.afm-checkbox-label{align-items:center;color:var(--color-text-dark);cursor:pointer;display:flex;font-family:var(--font-body);font-size:var(--text-sm);gap:8px;-webkit-user-select:none;user-select:none}.afm-checkbox-label input[type=checkbox]{accent-color:var(--status-success);cursor:pointer;flex-shrink:0;height:16px;width:16px}.afm-multiselect-wrapper{position:relative}.afm-multiselect-trigger{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-medium);border-radius:var(--radius-md);cursor:pointer;display:flex;flex-wrap:wrap;gap:6px;min-height:40px;padding:6px 12px;transition:border-color var(--transition-fast)}.afm-multiselect-trigger.afm-multiselect-open,.afm-multiselect-trigger:hover{border-color:var(--color-secondary)}.afm-multiselect-tag{align-items:center;background:color-mix(in srgb,var(--color-secondary) 10%,#0000);border-radius:var(--radius-full);color:var(--color-secondary);display:inline-flex;font-size:var(--text-xs);font-weight:500;gap:4px;padding:2px 10px}.afm-multiselect-tag-remove{align-items:center;cursor:pointer;display:flex;font-size:var(--text-xxs);opacity:.7}.afm-multiselect-tag-remove:hover{opacity:1}.afm-multiselect-placeholder{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:300}.afm-multiselect-chevron{color:var(--color-text-muted);flex-shrink:0;font-size:var(--text-xxs);margin-left:auto}.afm-multiselect-search{background:var(--color-surface);border-bottom:1px solid var(--color-border-light);padding:8px 10px;position:-webkit-sticky;position:sticky;top:0}.afm-multiselect-search-bar{align-items:center;background:var(--color-bg);border-radius:var(--radius-md);display:flex;font-size:var(--text-sm);gap:6px;padding:6px 10px}.afm-multiselect-search-icon{color:var(--color-text-muted);font-size:var(--icon-xxs)}.afm-multiselect-search-input{background:#0000;border:none;color:var(--color-text-dark);font:inherit;font-size:var(--text-sm);outline:none;width:100%}.afm-multiselect-option-italic{color:var(--color-text-muted);font-style:italic}.afm-multiselect-option-meta{color:var(--color-text-muted);font-size:var(--text-xs);margin-left:6px}.afm-multiselect-empty{color:var(--color-text-muted);font-size:var(--text-sm);padding:12px;text-align:center}.afm-multiselect-dropdown{animation:fadeIn .15s ease;background:var(--color-surface);border:1px solid var(--color-border-medium);border-radius:var(--radius-md);box-shadow:var(--shadow-md);left:0;max-height:200px;overflow-y:auto;position:absolute;right:0;top:calc(100% + 4px);z-index:var(--z-dropdown)}.afm-multiselect-option{align-items:center;color:var(--color-text-dark);cursor:pointer;display:flex;font-family:var(--font-body);font-size:var(--text-sm);gap:8px;padding:8px 12px;transition:background var(--transition-fast)}.afm-multiselect-option:hover{background:var(--color-bg)}.afm-multiselect-option.afm-multiselect-selected{background:var(--bg-status-success);font-weight:500}.afm-multiselect-option input[type=checkbox]{accent-color:var(--status-success);flex-shrink:0;height:14px;width:14px}.afm-pm-list{background:var(--color-surface);border:1px solid var(--color-border-medium);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:6px;max-height:160px;overflow-y:auto;padding:10px 12px}.afm-pm-empty{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-sm);font-style:italic;padding:4px 0}.afm-dropzone{align-items:center;background:var(--color-surface);border:2px dashed var(--color-border-medium);border-radius:var(--radius-md);cursor:pointer;display:flex;justify-content:center;padding:28px 16px;position:relative;transition:all var(--transition-fast)}.afm-dropzone:hover{background:color-mix(in srgb,var(--color-secondary) 4%,#0000);border-color:var(--color-secondary)}.afm-dropzone-dragging{background:color-mix(in srgb,var(--color-secondary) 8%,#0000);border-color:var(--color-secondary)}.afm-dropzone-disabled{cursor:not-allowed;opacity:.7}.afm-dropzone-content{align-items:center;display:flex;flex-direction:column;gap:6px;pointer-events:none;text-align:center}.afm-dropzone-icon{color:var(--color-secondary);font-size:var(--icon-2xx)}.afm-dropzone-icon.spinning{animation:afm-spin .8s linear infinite}@keyframes afm-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.afm-dropzone-text{color:var(--color-text-dark);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;margin:0}.afm-dropzone-hint{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-xs);margin:0}.afm-logo-preview-section{align-items:center;border:1px solid var(--color-border-medium);display:flex;gap:16px;padding:12px}.afm-logo-preview-img,.afm-logo-preview-section{background:var(--color-surface);border-radius:var(--radius-md)}.afm-logo-preview-img{border:1px solid var(--color-border-medium);flex-shrink:0;height:72px;object-fit:contain;width:72px}.afm-logo-preview-info{display:flex;flex:1 1;flex-direction:column;gap:8px;min-width:0}.afm-logo-preview-name{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.afm-logo-preview-actions{display:flex;flex-wrap:wrap;gap:6px}.afm-logo-btn{align-items:center;background:color-mix(in srgb,var(--color-secondary) 8%,#0000);border:1px solid color-mix(in srgb,var(--color-secondary) 20%,#0000);border-radius:var(--radius-md);color:var(--color-secondary);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--text-xs);font-weight:500;gap:6px;padding:6px 14px;transition:all var(--transition-fast)}.afm-logo-btn:hover{background:color-mix(in srgb,var(--color-secondary) 15%,#0000)}.afm-logo-btn.afm-logo-btn-remove{background:color-mix(in srgb,var(--status-danger) 6%,#0000);border-color:color-mix(in srgb,var(--status-danger) 15%,#0000);color:var(--status-danger)}.afm-logo-btn.afm-logo-btn-remove:hover{background:color-mix(in srgb,var(--status-danger) 12%,#0000)}.afm-budget-wrapper{position:relative}.afm-budget-prefix{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.afm-budget-wrapper .afm-input{padding-left:24px}.afm-error{font-size:var(--text-xs);margin-top:4px}.afm-error,.afm-form-error{color:var(--status-danger);font-family:var(--font-body)}.afm-form-error{background:color-mix(in srgb,var(--status-danger) 8%,#0000);border:1px solid color-mix(in srgb,var(--status-danger) 20%,#0000);border-radius:var(--radius-md);font-size:var(--text-sm);gap:8px;margin-bottom:16px;padding:10px 14px}.afm-footer,.afm-form-error{align-items:center;display:flex}.afm-footer{background:var(--color-bg);border-top:1px solid var(--color-border-light);flex-shrink:0;gap:12px;justify-content:flex-end;padding:16px 24px}.afm-btn{align-items:center;border:none;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:Work Sans,sans-serif;font-family:var(--font-body,"Work Sans",sans-serif);font-size:var(--text-sm);font-weight:500;gap:8px;justify-content:center;padding:10px 20px;transition:all .2s ease;white-space:nowrap}.afm-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.afm-btn-primary{background:var(--color-secondary);color:var(--color-surface);font-weight:600}.afm-btn-primary:hover:not(:disabled){background:var(--color-primary);box-shadow:var(--shadow-btn);transform:translateY(-1px)}.afm-btn-secondary{background:var(--color-surface);border:2px solid var(--color-border-light);color:var(--color-text-muted)}.afm-btn-secondary:hover:not(:disabled){border-color:var(--color-text-muted);color:var(--color-text-dark)}.afm-loading{align-items:center;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:48px 24px}.afm-loading-text{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-sm)}.afm-success{flex-direction:column;gap:12px;padding:40px 24px;text-align:center}.afm-success,.afm-success-icon{align-items:center;display:flex;justify-content:center}.afm-success-icon{background:#4a5f4f1a;border-radius:50%;color:var(--status-success);font-size:var(--icon-lg);height:48px;width:48px}.afm-success-title{color:var(--color-text-dark);font-family:var(--font-body);font-size:var(--text-lg);font-weight:600;margin:0}.afm-success-message{color:var(--color-text-light);font-family:var(--font-body);font-size:var(--text-sm);margin:0}@media (max-width:640px){.afm-overlay{align-items:flex-end;padding:0}.afm-modal{border-radius:16px 16px 0 0;border-radius:var(--radius-lg,16px) var(--radius-lg,16px) 0 0;max-height:100%;max-width:100%}.afm-header{padding:16px 16px 12px}.afm-body{padding:16px}.afm-row{flex-direction:column;gap:0;margin-bottom:16px}.afm-mode-toggle{padding:0 16px}.afm-logo-preview-section{align-items:flex-start;flex-direction:column}.afm-logo-preview-img{height:auto;max-height:140px;width:100%}.afm-multiselect-dropdown{max-height:160px}.afm-footer{flex-direction:column-reverse;padding:12px 16px}.afm-btn{justify-content:center;width:100%}.afm-checkbox-group{flex-direction:column;gap:8px}}.pdum-overlay{align-items:center;animation:fadeIn .2s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000;z-index:var(--z-modal,1000)}.pdum-modal{animation:slideUp .3s ease;background:var(--color-surface);border-radius:16px;border-radius:var(--radius-lg,16px);box-shadow:var(--shadow-modal);display:flex;flex-direction:column;max-height:85vh;max-width:650px;overflow:hidden;width:100%}.pdum-header{background:var(--color-bg);border-bottom:1px solid var(--color-border-light);flex-shrink:0;justify-content:space-between;padding:20px 24px}.pdum-header,.pdum-header-left{align-items:center;display:flex}.pdum-header-left{flex:1 1;gap:10px;min-width:0}.pdum-header-icon{align-items:center;background:color-mix(in srgb,var(--color-secondary) 10%,#0000);border-radius:var(--radius-md);color:var(--color-secondary);display:flex;flex-shrink:0;font-size:var(--text-base);height:36px;justify-content:center;width:36px}.pdum-header h3{color:var(--color-text-dark);font-family:Besley,Georgia,serif;font-family:var(--font-heading,"Besley",Georgia,serif);font-size:var(--text-xl);font-weight:600;margin:0}.pdum-close-btn{align-items:center;background:var(--color-bg-dk);border:none;border-radius:50%;border-radius:var(--radius-full,50%);color:var(--color-text-muted);cursor:pointer;display:flex;flex-shrink:0;font-size:var(--icon-sm);height:36px;justify-content:center;padding:8px;transition:all .2s ease;width:36px}.pdum-close-btn:hover:not(:disabled){background:var(--bg-status-danger);color:var(--status-danger)}.pdum-close-btn:disabled{cursor:not-allowed;opacity:.5}.pdum-body{flex:1 1;overflow-y:auto;padding:var(--space-lg)}.pdum-section-label{align-items:center;color:var(--color-text-dark);display:flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;gap:var(--space-sm);margin-bottom:var(--space-sm)}.pdum-section-label .required{color:var(--status-danger)}.pdum-section-label svg{color:var(--color-text-muted);font-size:var(--text-sm)}.pdum-form-section{margin-bottom:var(--space-lg)}.pdum-project-locked{align-items:center;background:var(--color-bg)!important;border:2px solid var(--color-border-medium);border-radius:var(--radius-md);cursor:not-allowed;display:flex;justify-content:space-between;padding:12px 16px}.pdum-project-icon{color:var(--color-secondary);font-size:var(--text-2xl)}.pdum-project-locked-name{color:var(--color-text-muted)!important;font-family:var(--font-body);font-size:var(--text-sm)}.pdum-project-selector{position:relative}.pdum-project-loading,.pdum-project-select{background:var(--color-surface);border:2px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text-dark);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);padding:12px 14px;transition:all .2s ease;width:100%}.pdum-project-select:focus,.pdum-project-select:hover:not(:disabled){border-color:var(--color-secondary)}.pdum-project-select:focus{box-shadow:var(--shadow-focus);outline:none}.pdum-project-select:disabled{background:var(--color-bg-dk);cursor:not-allowed;opacity:.7}.pdum-project-loading{color:var(--color-text-muted)}.pdum-project-error{align-items:center;background:color-mix(in srgb,var(--status-danger) 8%,#0000);border:1px solid color-mix(in srgb,var(--status-danger) 25%,#0000);border-radius:var(--radius-lg);display:flex;font-size:var(--text-sm);gap:10px;padding:12px 16px}.pdum-project-error,.pdum-retry-btn{color:var(--status-danger);font-family:Work Sans,sans-serif;font-family:var(--font-body,"Work Sans",sans-serif)}.pdum-retry-btn{background:var(--color-surface);border:1px solid var(--status-danger);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-xs);font-weight:500;margin-left:auto;padding:6px 12px;transition:all .2s ease}.pdum-retry-btn:hover{background:var(--status-danger);color:var(--color-surface)}.pdum-category-section{display:flex;flex-direction:column;gap:12px}.pdum-category-options{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.pdum-category-btn{align-items:center;background:var(--color-surface);border:2px solid var(--color-surface-ltcontrast);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:16px 12px;text-align:center;transition:all .2s ease}.pdum-category-btn:hover:not(:disabled){box-shadow:var(--shadow-md)}.pdum-category-btn.active,.pdum-category-btn:hover:not(:disabled){background:color-mix(in srgb,var(--color-secondary) 5%,#0000);border-color:var(--color-secondary)}.pdum-category-btn.active,.pdum-category-btn.active:hover{box-shadow:var(--shadow-xl)}.pdum-category-btn:disabled{cursor:not-allowed;opacity:.6}.pdum-category-icon{color:var(--color-secondary);font-size:var(--text-2xl)}.pdum-category-label{color:var(--color-text-dark);font-size:var(--text-base);font-weight:600}.pdum-category-desc,.pdum-category-label{font-family:Work Sans,sans-serif;font-family:var(--font-body,"Work Sans",sans-serif)}.pdum-category-desc{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:400;line-height:1.3}.pdum-dropzone{background:var(--color-bg);border:2px dashed var(--color-border-dark);border-radius:var(--radius-lg);cursor:pointer;position:relative;transition:all .3s ease}.pdum-dropzone:hover:not(.disabled){background:color-mix(in srgb,var(--color-secondary) 5%,#0000);border-color:var(--color-secondary)}.pdum-dropzone.dragging{background:color-mix(in srgb,var(--color-secondary) 10%,#0000);border-color:var(--color-secondary);border-style:solid;transform:scale(1.01)}.pdum-dropzone.disabled{cursor:not-allowed;opacity:.6}.pdum-file-input{cursor:pointer;height:100%;left:0;opacity:0;position:absolute;top:0;width:100%}.pdum-dropzone-content{align-items:center;cursor:pointer;display:flex;flex-direction:column;justify-content:center;padding:var(--space-xl);text-align:center}.pdum-dropzone-icon{color:var(--color-secondary);font-size:var(--icon-2xx);margin-bottom:var(--space-md);opacity:.8}.pdum-dropzone-text{color:var(--color-text-dark);font-size:var(--text-base);font-weight:500;margin:0 0 var(--space-xs) 0}.pdum-dropzone-hint,.pdum-dropzone-text{font-family:Work Sans,sans-serif;font-family:var(--font-body,"Work Sans",sans-serif);text-align:center}.pdum-dropzone-hint{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.pdum-error-message{align-items:flex-start;background:color-mix(in srgb,var(--status-danger) 10%,#0000);border:1px solid color-mix(in srgb,var(--status-danger) 30%,#0000);border-radius:var(--radius-md);color:var(--status-danger);display:flex;font-family:Work Sans,sans-serif;font-family:var(--font-body,"Work Sans",sans-serif);font-size:var(--text-sm);gap:12px;padding:12px 16px}.pdum-error-message svg{flex-shrink:0;margin-top:2px}.pdum-error-message span{white-space:pre-wrap}.pdum-success-message{align-items:center;background:#4a5f4f1a;border:1px solid #4a5f4f4d;border-radius:var(--radius-md);color:var(--status-success);display:flex;font-family:Work Sans,sans-serif;font-family:var(--font-body,"Work Sans",sans-serif);font-size:var(--text-base);font-weight:500;gap:12px;justify-content:center;padding:16px}.pdum-success-message svg{font-size:var(--text-xl)}.pdum-files-section{display:flex;flex-direction:column;gap:12px}.pdum-files-header{align-items:center;display:flex;justify-content:space-between}.pdum-clear-all-btn{background:none;border:none;border-radius:var(--radius-sm);color:var(--status-danger);cursor:pointer;font-family:Work Sans,sans-serif;font-family:var(--font-body,"Work Sans",sans-serif);font-size:var(--text-xs);padding:4px 8px;transition:all .2s ease}.pdum-clear-all-btn:hover{background:color-mix(in srgb,var(--status-danger) 10%,#0000)}.pdum-files-list{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto;padding-right:8px}.pdum-files-list::-webkit-scrollbar{width:6px}.pdum-files-list::-webkit-scrollbar-track{background:var(--color-surface-ltcontrast);border-radius:var(--radius-sm)}.pdum-files-list::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:var(--radius-sm)}.pdum-file-item{align-items:center;background:var(--color-bg);border:1px solid var(--color-surface-ltcontrast);border-radius:var(--radius-md);display:flex;gap:12px;padding:12px;transition:all .2s ease}.pdum-file-item.complete{background:#4a5f4f0d;border-color:#4a5f4f33}.pdum-file-item.error{background:color-mix(in srgb,var(--status-danger) 5%,#0000);border-color:color-mix(in srgb,var(--status-danger) 20%,#0000)}.pdum-file-icon{flex-shrink:0;font-size:var(--text-2xl)}.pdum-file-icon.pdf{color:var(--status-danger)}.pdum-file-icon.image{color:var(--color-secondary)}.pdum-file-icon.doc{color:var(--color-primary)}.pdum-file-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.pdum-file-name{color:var(--color-text-dark);font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdum-file-name,.pdum-file-size{font-family:Work Sans,sans-serif;font-family:var(--font-body,"Work Sans",sans-serif)}.pdum-file-size{color:var(--color-text-muted);font-size:var(--text-xs)}.pdum-file-status{align-items:center;display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.pdum-spinner{animation:pdumSpin 1s linear infinite;color:var(--color-secondary)}@keyframes pdumSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.pdum-success-icon{color:var(--status-success);font-size:var(--text-xl)}.pdum-error-icon{color:var(--status-danger);font-size:var(--text-xl)}.pdum-remove-btn{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s ease}.pdum-remove-btn:hover{background:color-mix(in srgb,var(--status-danger) 10%,#0000);color:var(--status-danger)}.pdum-footer{align-items:center;background:var(--color-bg);border-top:1px solid var(--color-border-light);display:flex;flex-shrink:0;gap:12px;justify-content:flex-end;padding:16px 24px}.pdum-cancel-btn{background:#0000;border:2px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;font-family:Work Sans,sans-serif;font-family:var(--font-body,"Work Sans",sans-serif);font-size:var(--text-sm);font-weight:500;padding:10px 20px;transition:all .2s ease}.pdum-cancel-btn:hover:not(:disabled){border-color:var(--color-text-muted);color:var(--color-text-dark)}.pdum-cancel-btn:disabled{cursor:not-allowed;opacity:.5}.pdum-upload-btn{align-items:center;background:var(--color-secondary);border:none;border-radius:var(--radius-md);color:var(--color-surface);cursor:pointer;display:flex;font-family:Work Sans,sans-serif;font-family:var(--font-body,"Work Sans",sans-serif);font-size:var(--text-sm);font-weight:600;gap:8px;justify-content:center;padding:10px 20px;transition:all .2s ease}.pdum-upload-btn:hover:not(:disabled){background:var(--color-primary);box-shadow:var(--shadow-btn);transform:translateY(-1px)}.pdum-upload-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.pdum-btn-spinner{animation:pdumSpin 1s linear infinite}@media (max-width:640px){.pdum-modal{border-radius:16px 16px 0 0;border-radius:var(--radius-lg,16px) var(--radius-lg,16px) 0 0;max-height:100%;max-width:100%}.pdum-overlay{align-items:flex-end;padding:0}.pdum-header{padding:16px 16px 12px}.pdum-header h3{font-size:var(--text-xl)}.pdum-body{gap:20px;padding:16px}.pdum-category-options{gap:8px;grid-template-columns:1fr}.pdum-category-btn{flex-direction:row;gap:12px;justify-content:flex-start;padding:12px 16px;text-align:left}.pdum-category-icon{font-size:var(--text-xl)}.pdum-category-desc{display:none}.pdum-dropzone{padding:24px 16px}.pdum-footer{flex-direction:column-reverse;padding:12px 16px}.pdum-cancel-btn,.pdum-upload-btn{justify-content:center;width:100%}}@media (max-width:480px){.pdum-files-list{max-height:150px}.pdum-file-item{gap:10px;padding:10px}.pdum-file-name{font-size:var(--text-xs)}}.progress-photo-modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000;z-index:var(--z-modal,1000)}.progress-photo-modal-container{animation:slideUp .3s ease;background:var(--color-surface);border-radius:16px;border-radius:var(--radius-lg,16px);box-shadow:var(--shadow-modal);display:flex;flex-direction:column;max-height:85vh;max-width:650px;overflow:hidden;width:100%}.progress-photo-modal-header{align-items:center;background:var(--color-bg);border-bottom:1px solid var(--color-border-light);display:flex;flex-shrink:0;justify-content:space-between;padding:20px 24px}.progress-photo-modal-header-left{align-items:center;display:flex;flex:1 1;gap:10px;min-width:0}.progress-photo-modal-header-icon{align-items:center;background:color-mix(in srgb,var(--color-secondary) 10%,#0000);border-radius:var(--radius-md);color:var(--color-secondary);display:flex;flex-shrink:0;font-size:var(--text-base);height:36px;justify-content:center;width:36px}.progress-photo-modal-header h3{color:var(--color-text-dark);font-family:Besley,Georgia,serif;font-family:var(--font-heading,"Besley",Georgia,serif);font-size:var(--text-xl);font-weight:600;margin:0}.progress-photo-modal-close{align-items:center;background:var(--color-bg-dk);border:none;border-radius:50%;border-radius:var(--radius-full,50%);color:var(--color-text-muted);cursor:pointer;display:flex;flex-shrink:0;font-size:var(--icon-sm);height:36px;justify-content:center;padding:8px;transition:all .2s ease;width:36px}.progress-photo-modal-close:hover{background:var(--bg-status-danger);color:var(--status-danger)}.progress-photo-modal-body{flex:1 1;overflow-y:auto;padding:var(--space-lg)}.progress-photo-form-section{margin-bottom:var(--space-lg)}.progress-photo-form-label{align-items:center;color:var(--color-text-dark);display:flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;gap:var(--space-sm);margin-bottom:var(--space-sm)}.progress-photo-label-icon{color:var(--color-text-muted);font-size:var(--text-sm)}.progress-photo-form-label .required{color:var(--status-danger)}.progress-photo-optional{color:var(--color-text-muted);font-size:var(--text-xxs);font-weight:500}.progress-photo-form-hint{color:var(--color-text-muted);font-size:var(--text-xs);margin-bottom:0;margin-top:6px}.progress-photo-form-input,.progress-photo-form-select,.progress-photo-form-textarea{background:var(--color-surface);border:2px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text-dark);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);padding:12px 14px;transition:all .2s ease;width:100%}.progress-photo-form-input:focus,.progress-photo-form-select:focus,.progress-photo-form-textarea:focus{border-color:var(--color-secondary);box-shadow:var(--shadow-focus);outline:none}.progress-photo-form-select:disabled,.progress-photo-form-textarea:disabled{background:var(--color-bg-dk);cursor:not-allowed;opacity:.7}.progress-photo-form-textarea{min-height:80px;resize:vertical}.progress-photo-project-locked{align-items:center;background:var(--color-bg)!important;border:2px solid var(--color-border-medium);border-radius:var(--radius-md);cursor:not-allowed;display:flex;justify-content:space-between;padding:12px 16px}.progress-photo-project-name{color:var(--color-text-muted)!important;font-family:var(--font-body);font-size:var(--text-sm)}.progress-photo-dropzone{background:var(--color-bg);border:2px dashed var(--color-border-dark);border-radius:var(--radius-lg);cursor:pointer;position:relative;transition:all .3s ease}.progress-photo-dropzone:hover{background:color-mix(in srgb,var(--color-secondary) 5%,#0000);border-color:var(--color-secondary)}.progress-photo-dropzone-dragging{background:color-mix(in srgb,var(--color-secondary) 10%,#0000);border-color:var(--color-secondary);transform:scale(1.01)}.progress-photo-dropzone-disabled{opacity:.6;pointer-events:none}.progress-photo-file-input{cursor:pointer;height:100%;left:0;opacity:0;position:absolute;top:0;width:100%}.progress-photo-dropzone-content{align-items:center;cursor:pointer;display:flex;flex-direction:column;justify-content:center;padding:var(--space-xl);text-align:center}.progress-photo-dropzone-icon{color:var(--color-secondary);font-size:var(--icon-2xx);margin-bottom:var(--space-md);opacity:.8}.progress-photo-dropzone-text{color:var(--color-text-dark);font-family:var(--font-body);font-size:var(--text-base);font-weight:500;margin:0 0 var(--space-xs) 0}.progress-photo-dropzone-hint{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-sm);margin:0}.progress-photo-preview-section{margin-bottom:var(--space-lg)}.progress-photo-preview-header{align-items:center;color:var(--color-text-dark);display:flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;justify-content:space-between;margin-bottom:var(--space-md)}.progress-photo-clear-all{background:#0000;border:none;color:var(--status-danger);cursor:pointer;font-size:var(--text-sm);font-weight:500;transition:opacity .2s ease}.progress-photo-clear-all:hover{opacity:.7}.progress-photo-preview-grid{grid-gap:var(--space-md);display:grid;gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.progress-photo-preview-item{background:var(--color-bg-dk);border:2px solid var(--color-border-medium);border-radius:var(--radius-md);overflow:hidden;position:relative;transition:all .2s ease}.progress-photo-preview-item:hover{border-color:var(--color-secondary)}.progress-photo-preview-error{border-color:var(--status-danger)}.progress-photo-preview-success{border-color:var(--status-success)}.progress-photo-preview-image-wrapper{aspect-ratio:1;overflow:hidden;position:relative}.progress-photo-preview-image{height:100%;object-fit:cover;width:100%}.progress-photo-preview-overlay{align-items:center;background:#00000080;bottom:0;color:#fff;display:flex;font-size:var(--text-2xl);justify-content:center;left:0;position:absolute;right:0;top:0}.progress-photo-preview-overlay-success{background:#4a5f4fb3}.progress-photo-preview-overlay-error{background:color-mix(in srgb,var(--status-danger) 70%,#0000)}.progress-photo-preview-spinner{animation:spin 1s linear infinite}.progress-photo-preview-info{background:var(--color-surface);padding:var(--space-sm)}.progress-photo-preview-name{color:var(--color-text-dark);display:block;font-size:var(--text-xs);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-photo-preview-size{color:var(--color-text-muted);display:block;font-size:var(--text-xxs);margin-top:2px}.progress-photo-preview-remove{align-items:center;background:#0009;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:var(--text-xs);height:28px;justify-content:center;opacity:0;position:absolute;right:6px;top:6px;transition:all .2s ease;width:28px}.progress-photo-preview-item:hover .progress-photo-preview-remove{opacity:1}.progress-photo-preview-remove:hover{background:var(--status-danger)}.progress-photo-preview-error-text{display:block;font-size:var(--text-xxs);padding:4px var(--space-sm)}.progress-photo-error,.progress-photo-preview-error-text{background:var(--bg-status-danger);color:var(--status-danger)}.progress-photo-error{align-items:center;border:1px solid color-mix(in srgb,var(--status-danger) 30%,#0000);border-radius:var(--radius-md);display:flex;font-size:var(--text-sm);gap:var(--space-sm);margin-bottom:var(--space-lg);padding:12px 16px}.progress-photo-error svg{flex-shrink:0}.progress-photo-progress-section{margin-bottom:var(--space-lg)}.progress-photo-progress-bar-container{background:var(--color-bg-dk);border-radius:var(--radius-full);height:8px;margin-bottom:var(--space-sm);overflow:hidden;width:100%}.progress-photo-progress-bar{background:linear-gradient(90deg,var(--status-success) 0,var(--status-success) 100%);border-radius:var(--radius-full);height:100%;transition:width .3s ease}.progress-photo-progress-text{color:var(--color-text-muted);display:block;font-size:var(--text-sm);text-align:center}.progress-photo-upload-success{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:var(--space-2xl);text-align:center}.progress-photo-success-icon{color:var(--status-success);font-size:var(--icon-4x);margin-bottom:var(--space-lg)}.progress-photo-upload-success h3{color:var(--color-text-dark);font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:700;margin:0 0 var(--space-sm) 0}.progress-photo-upload-success p{color:var(--color-text-light);font-family:var(--font-body);font-size:var(--text-base);margin:0 0 var(--space-lg) 0}.progress-photo-modal-footer{align-items:center;background:var(--color-bg);border-top:1px solid var(--color-border-light);display:flex;flex-shrink:0;gap:12px;justify-content:flex-end;padding:16px 24px}.progress-photo-btn-cancel{background:#0000;border:2px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;padding:10px 20px;transition:all .2s ease}.progress-photo-btn-cancel:hover:not(:disabled){border-color:var(--color-text-muted);color:var(--color-text-dark)}.progress-photo-btn-cancel:disabled{cursor:not-allowed;opacity:.5}.progress-photo-btn-upload{align-items:center;background:var(--color-secondary);border:none;border-radius:var(--radius-md);color:var(--color-surface);cursor:pointer;display:flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;gap:8px;padding:10px 20px;transition:all .2s ease}.progress-photo-btn-upload:hover:not(:disabled){background:var(--color-primary);box-shadow:var(--shadow-btn);transform:translateY(-1px)}.progress-photo-btn-upload:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.progress-photo-btn-spinner{animation:spin 1s linear infinite}@media (max-width:640px){.progress-photo-modal-overlay{align-items:flex-end;padding:0}.progress-photo-modal-container{border-radius:16px 16px 0 0;border-radius:var(--radius-lg,16px) var(--radius-lg,16px) 0 0;max-height:100%;max-width:100%}.progress-photo-modal-header{padding:16px 16px 12px}.progress-photo-modal-header-icon{font-size:var(--text-sm);height:32px;width:32px}.progress-photo-modal-body{padding:16px}.progress-photo-dropzone-content{padding:var(--space-lg)}.progress-photo-preview-grid{gap:var(--space-sm);grid-template-columns:repeat(3,1fr)}.progress-photo-modal-footer{flex-direction:column-reverse;padding:12px 16px}.progress-photo-btn-cancel,.progress-photo-btn-upload{justify-content:center;width:100%}}@media (max-width:480px){.progress-photo-preview-grid{grid-template-columns:repeat(2,1fr)}.progress-photo-modal-header-icon{font-size:var(--text-xs);height:28px;width:28px}}.progress-photo-form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;width:100%}@media (max-width:768px){.progress-photo-form-row{gap:0;grid-template-columns:1fr}}.progress-photo-form-input:disabled{background-color:var(--color-bg);cursor:not-allowed;opacity:.6}.progress-photo-form-input::placeholder{color:var(--color-text-muted)}.progress-photo-individual-checkbox-wrapper{align-items:center;display:flex;gap:.5rem;margin-top:.75rem}.progress-photo-individual-checkbox{accent-color:var(--status-success);cursor:pointer;height:18px;width:18px}.progress-photo-individual-checkbox:disabled{cursor:not-allowed;opacity:.5}.progress-photo-individual-checkbox-wrapper label{color:var(--color-text-light);cursor:pointer;font-size:var(--text-sm);font-weight:500;margin:0;-webkit-user-select:none;user-select:none}.progress-photo-individual-checkbox:disabled+label{cursor:not-allowed;opacity:.5}.progress-photo-individual-name-input{background:var(--color-surface);border:1px solid var(--color-border-medium);border-radius:var(--radius-sm);font-family:Work Sans,sans-serif;font-family:var(--font-body,"Work Sans",sans-serif);font-size:var(--text-sm);margin-top:.5rem;padding:.5rem;transition:all .2s ease;width:100%}.progress-photo-individual-name-input:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus);outline:none}.progress-photo-individual-name-input::placeholder{color:var(--color-text-muted);font-size:var(--text-xs)}.progress-photo-existing-preview{align-items:center;background:var(--color-bg);border:2px dashed var(--color-border-medium);border-radius:var(--radius-md);display:flex;justify-content:center;min-height:250px;padding:1.5rem}.progress-photo-existing-image{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);max-height:400px;max-width:100%;object-fit:contain}.progress-photo-existing-placeholder{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;gap:.75rem}.progress-photo-existing-placeholder svg{font-size:var(--icon-3x);opacity:.5}.progress-photo-existing-placeholder span{font-size:var(--text-sm);font-style:italic}.progress-photo-modal-footer-right{display:flex;gap:.75rem;margin-left:auto}.progress-photo-btn-delete{align-items:center;background-color:initial;border:1px solid var(--status-danger);border-radius:var(--radius-md);color:var(--status-danger);cursor:pointer;display:flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;gap:8px;padding:10px 20px;transition:all .2s ease}.progress-photo-btn-delete:hover:not(:disabled){background-color:var(--status-danger);box-shadow:var(--shadow-btn);color:var(--color-surface);transform:translateY(-1px)}.progress-photo-btn-delete:active:not(:disabled){transform:translateY(0)}.progress-photo-btn-delete:disabled{cursor:not-allowed;opacity:.5}.progress-photo-btn-save{align-items:center;background:var(--color-secondary);border:none;border-radius:var(--radius-md);color:var(--color-surface);cursor:pointer;display:flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;gap:8px;padding:10px 20px;transition:all .2s ease}.progress-photo-btn-save:hover:not(:disabled){background:var(--color-primary);box-shadow:var(--shadow-btn);transform:translateY(-1px)}.progress-photo-btn-save:active:not(:disabled){transform:translateY(0)}.progress-photo-btn-save:disabled{cursor:not-allowed;opacity:.5}@media (max-width:640px){.progress-photo-modal-footer{flex-direction:column-reverse;gap:.75rem}.progress-photo-modal-footer-right{margin-left:0;width:100%}.progress-photo-btn-cancel,.progress-photo-btn-delete,.progress-photo-btn-save,.progress-photo-btn-upload{justify-content:center;width:100%}.progress-photo-individual-name-input{font-size:var(--text-xs)}}.sdm-modal-overlay{align-items:center;animation:sdmFadeIn .2s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000;z-index:var(--z-modal,1000)}@keyframes sdmFadeIn{0%{opacity:0}to{opacity:1}}.sdm-modal{animation:sdmSlideUp .3s ease;background:var(--color-surface);border-radius:16px;border-radius:var(--radius-lg,16px);box-shadow:var(--shadow-modal);display:flex;flex-direction:column;max-height:85vh;max-width:650px;overflow:hidden;width:100%}@keyframes sdmSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.sdm-modal-header{align-items:center;background:var(--color-bg);border-bottom:1px solid var(--color-border-light);display:flex;flex-shrink:0;justify-content:space-between;padding:20px 24px}.sdm-modal-header-left{align-items:center;display:flex;flex:1 1;gap:10px;min-width:0}.sdm-modal-header-icon{align-items:center;background:color-mix(in srgb,var(--color-secondary) 10%,#0000);border-radius:var(--radius-md);color:var(--color-secondary);display:flex;flex-shrink:0;font-size:var(--text-base);height:36px;justify-content:center;width:36px}.sdm-modal-header h3{color:var(--color-text-dark);font-family:Besley,Georgia,serif;font-family:var(--font-heading,"Besley",Georgia,serif);font-size:var(--text-xl);font-weight:600;margin:0}.sdm-modal-close{align-items:center;background:var(--color-bg-dk);border:none;border-radius:50%;border-radius:var(--radius-full,50%);color:var(--color-text-muted);cursor:pointer;display:flex;flex-shrink:0;font-size:var(--icon-sm);height:36px;justify-content:center;padding:8px;transition:all .2s ease;width:36px}.sdm-modal-close:hover:not(:disabled){background:var(--bg-status-danger);color:var(--status-danger)}.sdm-modal-close:disabled{cursor:not-allowed;opacity:.5}.sdm-modal-body{flex:1 1;overflow-y:auto;padding:var(--space-lg)}.sdm-project-selector{margin-bottom:20px}.sdm-label{align-items:center;color:var(--color-text-dark);display:flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;gap:var(--space-sm);margin-bottom:var(--space-sm)}.sdm-label svg{color:var(--color-text-muted);font-size:var(--text-sm)}.sdm-locked-badge{align-items:center;background:color-mix(in srgb,var(--color-secondary) 10%,#0000);border-radius:var(--radius-full);color:var(--color-secondary);display:inline-flex;font-size:var(--text-xs);font-weight:500;gap:4px;margin-left:auto;padding:2px 8px}.sdm-locked-badge svg{color:var(--color-secondary);font-size:var(--text-xxs)}.sdm-input,.sdm-select{background:var(--color-surface);border:2px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text-dark);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);padding:12px 14px;transition:all .2s ease;width:100%}.sdm-input:focus,.sdm-select:focus{border-color:var(--color-secondary);box-shadow:var(--shadow-focus);outline:none}.sdm-input-locked{background:var(--color-bg);color:var(--color-text-muted);cursor:not-allowed}.sdm-select:disabled{cursor:not-allowed;opacity:.6}.sdm-instructions{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-sm);margin:0 0 16px}.sdm-entries{display:flex;flex-direction:column;gap:16px}.sdm-entry{background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:14px}.sdm-entry-header{align-items:center;display:flex;gap:10px;margin-bottom:12px}.sdm-entry-number{align-items:center;background:var(--color-secondary);border-radius:var(--radius-full);color:var(--color-surface);display:flex;flex-shrink:0;font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;height:24px;justify-content:center;width:24px}.sdm-entry-select{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text-dark);cursor:pointer;flex:1 1;font-family:var(--font-body);font-size:var(--text-sm);padding:8px 12px;transition:all .2s ease}.sdm-entry-select:focus{border-color:var(--color-secondary);outline:none}.sdm-entry-remove,.sdm-entry-select option:disabled{color:var(--color-text-muted)}.sdm-entry-remove{align-items:center;background:#0000;border:1px solid var(--color-border-light);border-radius:var(--radius-sm);cursor:pointer;display:flex;height:28px;justify-content:center;transition:all .2s ease;width:28px}.sdm-entry-remove:hover{background:var(--bg-status-danger);border-color:var(--status-danger);color:var(--status-danger)}.sdm-dropzone{background:var(--color-bg);border:2px dashed var(--color-border-dark);border-radius:var(--radius-lg);cursor:pointer;position:relative;transition:all .3s ease}.sdm-dropzone:hover:not(.disabled){background:color-mix(in srgb,var(--color-secondary) 5%,#0000);border-color:var(--color-secondary)}.sdm-dropzone.dragging{background:color-mix(in srgb,var(--color-secondary) 10%,#0000);border-color:var(--color-secondary);border-style:solid;transform:scale(1.01)}.sdm-dropzone.disabled{cursor:not-allowed;opacity:.6}.sdm-file-input{cursor:pointer;height:100%;left:0;opacity:0;position:absolute;top:0;width:100%}.sdm-dropzone-content{align-items:center;cursor:pointer;display:flex;flex-direction:column;justify-content:center;padding:var(--space-lg);text-align:center}.sdm-dropzone-icon{color:var(--color-secondary);font-size:var(--icon-2xx);margin-bottom:var(--space-sm);opacity:.8}.sdm-dropzone-text{color:var(--color-text-dark);font-weight:500;margin:0 0 4px}.sdm-dropzone-hint,.sdm-dropzone-text{font-family:var(--font-body);font-size:var(--text-sm)}.sdm-dropzone-hint{color:var(--color-text-muted);margin:0}.sdm-files{display:flex;flex-direction:column;gap:6px;margin-top:10px}.sdm-file{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);display:flex;gap:8px;padding:8px 10px}.sdm-file svg{color:var(--color-secondary);flex-shrink:0;font-size:var(--text-sm)}.sdm-file-name{color:var(--color-text-dark);flex:1 1;font-family:var(--font-body);font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sdm-file-size{font-family:var(--font-body);font-size:var(--text-xs)}.sdm-file-remove,.sdm-file-size{color:var(--color-text-muted);flex-shrink:0}.sdm-file-remove{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;height:20px;justify-content:center;transition:color .2s ease;width:20px}.sdm-file-remove:hover{color:var(--status-danger)}.sdm-add-entry{align-items:center;background:#0000;border:2px dashed var(--color-border-light);border-radius:var(--radius-md);color:var(--color-secondary);cursor:pointer;display:flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;gap:8px;justify-content:center;margin-top:12px;padding:12px;transition:all .2s ease;width:100%}.sdm-add-entry:hover{background:color-mix(in srgb,var(--color-secondary) 5%,#0000);border-color:var(--color-secondary)}.sdm-progress{background:var(--color-bg);border-radius:var(--radius-md);margin-top:20px;padding:16px}.sdm-progress-bar{background:var(--color-border-light);border-radius:var(--radius-full);height:8px;overflow:hidden}.sdm-progress-fill{background:linear-gradient(135deg,var(--status-success) 0,var(--status-success) 100%);border-radius:var(--radius-full);height:100%;transition:width .3s ease}.sdm-progress-text{align-items:center;color:var(--color-text-dark);display:flex;font-family:var(--font-body);font-size:var(--text-sm);gap:8px;margin:10px 0 0}.sdm-progress-file{color:var(--color-text-muted);font-size:var(--text-xs);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sdm-error{align-items:center;background:color-mix(in srgb,var(--status-danger) 10%,#0000);border:1px solid var(--status-danger);border-radius:var(--radius-md);color:var(--status-danger);display:flex;font-family:var(--font-body);font-size:var(--text-sm);gap:8px;margin-top:16px;padding:12px 16px}.sdm-error svg{flex-shrink:0}.sdm-modal-footer{align-items:center;background:var(--color-bg);border-top:1px solid var(--color-border-light);display:flex;flex-shrink:0;gap:12px;justify-content:flex-end;padding:16px 24px}.sdm-cancel-btn{background:#0000;border:2px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;padding:10px 20px;transition:all .2s ease}.sdm-cancel-btn:hover:not(:disabled){border-color:var(--color-text-muted);color:var(--color-text-dark)}.sdm-cancel-btn:disabled{cursor:not-allowed;opacity:.5}.sdm-upload-btn{align-items:center;background:var(--color-secondary);border:none;border-radius:var(--radius-md);color:var(--color-surface);cursor:pointer;display:flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;gap:8px;padding:10px 20px;transition:all .2s ease}.sdm-upload-btn:hover:not(:disabled){background:var(--color-primary);box-shadow:var(--shadow-btn);transform:translateY(-1px)}.sdm-upload-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.sdm-spinner{animation:sdmSpin 1s linear infinite}@keyframes sdmSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:640px){.sdm-modal-overlay{align-items:flex-end;padding:0}.sdm-modal{border-radius:16px 16px 0 0;border-radius:var(--radius-lg,16px) var(--radius-lg,16px) 0 0;max-height:100%;max-width:100%}.sdm-modal-body{padding:16px}.sdm-modal-footer{flex-direction:column;padding:12px 16px}.sdm-cancel-btn,.sdm-upload-btn{justify-content:center;width:100%}.sdm-cancel-btn{order:2}.sdm-upload-btn{order:1}.sdm-entry-header{flex-wrap:wrap}.sdm-entry-select{flex:1 1 100%;margin-top:8px;order:2}.sdm-entry-remove{order:1}}.admin-projects-page{animation:fadeIn .6s ease-out;font-family:var(--font-body);margin:20px auto;max-width:1400px;padding:40px 20px;width:100%}.admin-projects-controls{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.admin-projects-search{flex:1 1;min-width:280px;position:relative}.admin-projects-search-icon{color:var(--color-text-muted);font-size:var(--text-sm);left:14px;position:absolute;top:50%;transform:translateY(-50%)}.admin-projects-search-input{background:var(--color-surface);border:2px solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-base);font-family:var(--font-body);font-size:var(--text-base);padding:12px 14px 12px 42px;transition:all .2s ease;width:100%}.admin-projects-search-input:focus{border-color:var(--color-secondary);box-shadow:var(--shadow-focus);outline:none}.admin-projects-search-input::placeholder{color:var(--color-text-muted)}.admin-projects-control-buttons,.admin-projects-filter-btn{align-items:center;display:flex;gap:8px}.admin-projects-filter-btn{background:var(--color-surface);border:2px solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-base);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;padding:12px 16px;transition:all .2s ease}.admin-projects-filter-btn.active,.admin-projects-filter-btn:hover{border-color:var(--color-secondary);color:var(--color-secondary)}.admin-projects-filter-btn.active{background:color-mix(in srgb,var(--color-secondary) 8%,#0000)}.admin-projects-filter-count{background:var(--color-secondary);border-radius:var(--radius-lg);color:var(--color-surface);font-size:var(--text-xxs);font-weight:600;min-width:18px;padding:2px 6px;text-align:center}.admin-projects-view-toggle{border:2px solid var(--color-border-medium);border-radius:var(--radius-md);display:flex;overflow:hidden}.admin-projects-view-btn{align-items:center;background:var(--color-surface);border:none;color:var(--color-text-muted);cursor:pointer;display:flex;font-family:var(--font-body);gap:8px;height:40px;justify-content:center;max-width:150px;padding:0 20px;transition:all .2s ease}.admin-projects-view-btn:first-child{border-right:1px solid var(--color-border-medium)}.admin-projects-view-btn:hover{background:var(--color-bg);color:var(--color-secondary)}.admin-projects-view-btn.active{background:var(--color-secondary);color:var(--color-surface)}.admin-projects-filters{animation:slideDown .2s ease;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);margin-bottom:20px;padding:16px}.admin-projects-filter-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px}.admin-projects-filter-group{display:flex;flex:1 1;flex-direction:column;gap:6px;min-width:180px}.admin-projects-filter-label{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:.05em;text-transform:uppercase}.admin-projects-filter-select{background:var(--color-surface);border:2px solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-base);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);padding:10px 12px;transition:all .2s ease}.admin-projects-filter-select:focus{border-color:var(--color-secondary);outline:none}.admin-projects-clear-filters{background:#0000;border:1px solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;padding:10px 16px;transition:all .2s ease;white-space:nowrap}.admin-projects-clear-filters:hover{background:color-mix(in srgb,var(--status-danger) 5%,#0000);border-color:var(--status-danger);color:var(--status-danger)}.admin-projects-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.admin-projects-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);cursor:pointer;display:flex;flex-direction:column;overflow:hidden;transition:all .3s ease}.admin-projects-card:hover{border-color:var(--color-secondary);box-shadow:var(--shadow-hover);transform:translateY(-4px)}.admin-projects-card-header{align-items:center;background:color-mix(in srgb,var(--color-bg) 50%,#0000);border-bottom:1px solid var(--color-border-light);display:flex;justify-content:space-between;padding:14px 16px}.admin-projects-type-custom{background:color-mix(in srgb,var(--type-custom) 10%,#0000);border-bottom-color:color-mix(in srgb,var(--type-custom) 20%,#0000)}.admin-projects-type-custom .admin-projects-card-type{color:var(--type-custom)}.admin-projects-type-spec{background:color-mix(in srgb,var(--type-spec) 12%,#0000);border-bottom-color:color-mix(in srgb,var(--type-spec) 25%,#0000)}.admin-projects-type-spec .admin-projects-card-type{color:var(--type-spec)}.admin-projects-type-pool{background:color-mix(in srgb,var(--type-pool) 10%,#0000);border-bottom-color:color-mix(in srgb,var(--type-pool) 20%,#0000)}.admin-projects-type-pool .admin-projects-card-type{color:var(--type-pool)}.admin-projects-type-commercial{background:color-mix(in srgb,var(--type-commercial) 10%,#0000);border-bottom-color:color-mix(in srgb,var(--type-commercial) 20%,#0000)}.admin-projects-type-commercial .admin-projects-card-type{color:var(--type-commercial)}.admin-projects-type-default{background:color-mix(in srgb,var(--color-bg) 50%,#0000);border-bottom-color:var(--color-border-light)}.admin-projects-card-type{align-items:center;color:var(--color-text-muted);display:flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;gap:8px}.admin-projects-card-type svg{font-size:var(--text-sm)}.admin-projects-card-body{display:flex;flex:1 1;flex-direction:column;gap:12px;padding:16px}.admin-projects-card-title{color:var(--color-text-dark);font-family:var(--font-heading);font-size:var(--text-lg);font-weight:600;line-height:1.3;margin:0}.admin-projects-card-info{display:flex;flex-direction:column;gap:8px}.admin-projects-card-row{align-items:flex-start;color:var(--color-text-light);display:flex;font-family:var(--font-body);font-size:var(--text-sm);gap:10px}.admin-projects-card-icon{color:var(--color-text-muted);flex-shrink:0;font-size:var(--text-xs);margin-top:3px}.admin-projects-card-address{line-height:1.4}.admin-projects-card-progress{margin-top:auto;padding-top:12px}.admin-projects-progress-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.admin-projects-progress-phase{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-xs);font-weight:500}.admin-projects-progress-percent{color:var(--status-success);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600}.admin-projects-progress-bar{background:var(--color-border-light);border-radius:var(--radius-sm);height:6px;overflow:hidden}.admin-projects-progress-fill{background:linear-gradient(90deg,var(--bg-status-success) 0,var(--status-success) 100%);border-radius:var(--radius-sm);height:100%;transition:width .3s ease}.admin-projects-card-footer{background:color-mix(in srgb,var(--color-bg) 50%,#0000);border-top:1px solid var(--color-border-light);display:flex;justify-content:space-between;padding:12px 16px}.admin-projects-card-date{align-items:center;color:var(--color-text-muted);display:flex;font-family:var(--font-body);font-size:var(--text-xs);gap:6px}.admin-projects-card-date svg{font-size:var(--icon-xxs)}.admin-projects-card-status,.admin-projects-status-badge{border-radius:var(--radius-lg);font-family:var(--font-body);font-size:var(--text-xxs);font-weight:600;padding:4px 10px;white-space:nowrap}.admin-projects-status-active{background:var(--bg-status-success);border:1px solid var(--status-success);color:var(--status-success)}.admin-projects-status-pre{background:var(--bg-status-warning);border:1px solid var(--status-warning);color:var(--status-warning)}.admin-projects-status-delayed{background:var(--bg-status-danger);border:1px solid var(--status-danger);color:var(--status-danger)}.admin-projects-status-warranty{background:var(--bg-status-info2);border:1px solid var(--status-info2);color:var(--status-info2)}.admin-projects-status-complete{background:color-mix(in srgb,var(--badge-success) 10%,#0000);border:1px solid var(--badge-success);color:var(--badge-success)}.admin-projects-status-lost{background:var(--bg-status-danger);color:var(--status-danger)}.admin-projects-status-default{background:color-mix(in srgb,var(--color-text-muted) 10%,#0000);color:var(--color-text-muted)}.admin-projects-table-container{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);overflow:hidden}.admin-projects-table{border-collapse:collapse;font-family:var(--font-body);width:100%}.admin-projects-table thead{background:color-mix(in srgb,var(--color-bg) 80%,#0000);border-bottom:1px solid var(--color-border-light)}.admin-projects-table th{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:600;letter-spacing:.05em;padding:14px 16px;text-align:left;text-transform:uppercase}.admin-projects-sortable-th{cursor:pointer;transition:color .15s ease,background .15s ease;-webkit-user-select:none;user-select:none}.admin-projects-sortable-th:hover{background:color-mix(in srgb,var(--color-bg-dk) 30%,#0000);color:var(--color-text-base)}.admin-projects-sortable-th.active{color:var(--color-secondary)}.admin-projects-sortable-th-inner{align-items:center;display:inline-flex;gap:6px}.admin-projects-sort-chevron{align-items:center;color:var(--color-secondary);display:inline-flex;font-size:var(--text-xxs);line-height:1}.admin-projects-table tbody tr{cursor:pointer;transition:background .15s ease}.admin-projects-table tbody tr:hover{background:color-mix(in srgb,var(--color-secondary) 4%,#0000)}.admin-projects-table tbody tr:not(:last-child){border-bottom:1px solid var(--color-border-light)}.admin-projects-table td{color:var(--color-text-light);font-size:var(--text-sm);padding:14px 16px;vertical-align:middle}.admin-projects-cell-name{max-width:300px}.admin-projects-name-cell{align-items:flex-start;display:flex;gap:12px}.admin-projects-type-icon{align-items:center;border-radius:var(--radius-md);display:flex;flex-shrink:0;font-size:var(--text-sm);height:36px;justify-content:center;width:36px}.admin-projects-type-icon.type-custom{background:color-mix(in srgb,var(--type-custom) 12%,#0000);color:var(--type-custom)}.admin-projects-type-icon.type-spec{background:color-mix(in srgb,var(--type-spec) 12%,#0000);color:var(--color-spec)}.admin-projects-type-icon.type-pool{background:color-mix(in srgb,var(--type-pool) 12%,#0000);color:var(--type-pool)}.admin-projects-type-icon.type-commercial{background:color-mix(in srgb,var(--type-commercial) 20%,#0000);color:var(--type-commercial)}.admin-projects-type-icon.type-default{background:color-mix(in srgb,var(--color-text-muted) 12%,#0000);color:var(--color-text-muted)}.admin-projects-row-title{color:var(--color-text-dark);display:block;font-family:var(--font-heading);font-size:var(--text-sm);font-weight:600;margin-bottom:2px}.admin-projects-row-address{color:var(--color-text-muted);display:block;font-size:var(--text-xs);line-height:1.4}.admin-projects-row-progress{align-items:center;display:flex;gap:10px}.admin-projects-row-progress-bar{background:var(--color-border-light);border-radius:var(--radius-sm);flex:1 1;height:6px;max-width:80px;overflow:hidden}.admin-projects-row-progress-fill{background:linear-gradient(90deg,var(--bg-status-success) 0,var(--status-success) 100%);border-radius:var(--radius-sm);height:100%}.admin-projects-row-progress span{color:var(--color-text-base);font-weight:600;min-width:36px}.admin-projects-accordion{display:none;flex-direction:column;gap:8px}.admin-projects-accordion-item{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);overflow:hidden;transition:all .2s ease}.admin-projects-accordion-header{align-items:center;cursor:pointer;display:flex;gap:12px;padding:14px 16px;transition:background .15s ease}.admin-projects-accordion-header:active{background:color-mix(in srgb,var(--color-bg) 80%,#0000)}.admin-projects-accordion-title{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.admin-projects-accordion-name{color:var(--color-text-dark);font-family:var(--font-heading);font-size:var(--text-base);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-projects-accordion-address{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-projects-accordion-chevron{align-items:center;color:var(--color-text-muted);display:flex;flex-shrink:0;font-size:var(--text-sm);height:32px;justify-content:center;transition:transform .3s ease;width:32px}.admin-projects-accordion-chevron.expanded{transform:rotate(180deg)}.admin-projects-accordion-content{animation:slideDown .2s ease;border-top:1px solid var(--color-border-light);padding:0 16px 16px}.admin-projects-accordion-goto{align-items:center;background:var(--color-secondary);border:none;border-radius:var(--radius-md);color:var(--color-surface);cursor:pointer;display:flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;gap:8px;justify-content:center;margin:12px 0;padding:10px 16px;transition:all .2s ease;width:100%}.admin-projects-accordion-goto:hover{box-shadow:var(--shadow-btn);transform:translateY(-1px)}.admin-projects-accordion-goto svg{font-size:var(--text-xs)}.admin-projects-accordion-row{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.admin-projects-accordion-type{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-xs);font-weight:500}.admin-projects-accordion-details{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.admin-projects-accordion-detail{align-items:center;color:var(--color-text-light);display:flex;font-family:var(--font-body);font-size:var(--text-sm);gap:10px}.admin-projects-accordion-icon{color:var(--color-text-muted);flex-shrink:0;font-size:var(--text-xs);width:14px}.admin-projects-accordion-progress{border-top:1px solid var(--color-border-light);padding-top:12px}@media (max-width:1024px){.admin-projects-page{padding:20px 16px}.admin-projects-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width:768px){.admin-projects-controls{align-items:stretch;flex-direction:column}.admin-projects-search{min-width:100%}.admin-projects-control-buttons{justify-content:space-between}.admin-projects-filter-row{flex-direction:column}.admin-projects-filter-group{min-width:100%}.admin-projects-grid{grid-template-columns:1fr}.admin-projects-card-footer{flex-direction:column;gap:6px}.hide-md{display:none!important}}@media (max-width:480px){.admin-projects-page{padding:16px 12px}.admin-projects-filter-btn{padding:14px 12px}.admin-projects-view-btn{max-width:50px;padding:0 12px}.admin-projects-card-body{padding:14px}.admin-projects-card-title{font-size:var(--text-base)}.hide-lg,.hide-mobile,.hide-sm{display:none!important}.show-mobile{display:flex!important}.admin-projects-accordion{display:flex}}@media print{.admin-projects-controls,.admin-projects-filters{display:none!important}.admin-projects-card{border:1px solid #ddd;box-shadow:none;break-inside:avoid;page-break-inside:avoid}}.client-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:var(--z-modal)}.client-modal{animation:slideUp .3s ease-out;background:var(--color-bg);border-radius:var(--radius-xl);box-shadow:var(--shadow-modal);display:flex;flex-direction:column;max-height:90vh;max-width:600px;width:100%}.client-modal-header{align-items:center;border-bottom:1px solid var(--color-border-light);display:flex;justify-content:space-between;padding:24px}.client-modal-header-content{align-items:center;display:flex;gap:12px}.client-modal-header-icon{align-items:center;background:color-mix(in srgb,var(--color-secondary) 10%,#0000);border-radius:var(--radius-md);color:var(--color-secondary);display:flex;flex-shrink:0;font-size:var(--text-base);height:36px;justify-content:center;width:36px}.client-modal-title{color:var(--color-text-dark);font-family:var(--font-heading);font-size:var(--text-xl);font-weight:600;margin:0}.client-modal-close{align-items:center;background:var(--color-bg-dk);border:none;border-radius:50%;border-radius:var(--radius-full,50%);color:var(--color-text-muted);cursor:pointer;display:flex;flex-shrink:0;font-size:var(--icon-sm);height:36px;justify-content:center;padding:8px;transition:all .2s ease;width:36px}.client-modal-close:hover{background:var(--bg-status-danger);color:var(--status-danger)}.client-modal-body{background:var(--color-surface);flex:1 1;overflow-y:auto;padding:24px}.client-modal-error,.client-modal-loading{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;gap:12px;justify-content:center;padding:40px 20px;text-align:center}.client-modal-error svg,.client-modal-loading svg{color:var(--color-secondary);font-size:var(--icon-2x)}.client-modal-error svg{color:var(--status-danger)}.client-modal-section{margin-bottom:24px}.client-modal-section:last-child{margin-bottom:0}.client-modal-contact-card{align-items:center;background:color-mix(in srgb,var(--color-bg) 50%,#0000);border:1px solid var(--color-border-light);border-radius:var(--radius-md);display:flex;gap:12px;padding:12px 16px}.client-modal-name{color:var(--color-text-dark);font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:700;margin:0 0 8px}.client-modal-status{border-radius:var(--radius-lg);display:inline-block;font-family:var(--font-body);font-size:var(--text-xs);font-weight:700;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.client-modal-status.status-active{background:var(--bg-status-success);color:var(--status-success)}.client-modal-status.status-pre{background:var(--bg-status-warning);color:var(--status-warning)}.client-modal-status.status-warranty{background:var(--bg-status-info2);color:var(--status-info2)}.client-modal-status.status-lead{background:var(--bg-status-info);color:var(--status-info)}.client-modal-status.status-former{background:var(--bg-status-info3);color:var(--status-info3)}.client-modal-status.status-lost{background:var(--bg-status-danger);color:var(--status-danger)}.client-modal-status.status-default{background:color-mix(in srgb,var(--color-text-muted) 10%,#0000);color:var(--color-text-muted)}.client-modal-section-title{align-items:center;color:var(--color-text-dark);display:flex;font-family:var(--font-body);font-size:var(--text-base);font-weight:600;gap:8px;margin:0 0 12px}.client-modal-icon-inline{color:var(--color-secondary);font-size:var(--text-base)}.client-modal-info-grid{display:flex;flex-direction:column;gap:16px}.client-modal-info-row{align-items:flex-start;display:flex;gap:12px}.client-modal-icon{color:var(--color-secondary);flex-shrink:0;font-size:var(--text-base);margin-top:2px}.client-modal-label{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.client-modal-value{color:var(--color-text-light);font-family:var(--font-body);font-size:var(--text-sm);line-height:1.5}.client-modal-value a{color:var(--color-secondary);font-weight:500;text-decoration:underline;transition:all .2s ease}.client-modal-value a:hover{color:var(--color-primary)}.client-modal-project-card{align-items:center;background:color-mix(in srgb,var(--color-bg) 50%,#0000);border:1px solid var(--color-border-light);border-radius:var(--radius-md);display:flex;gap:16px;justify-content:space-between;padding:16px}.client-modal-project-name{color:var(--color-text-dark);font-family:var(--font-body);font-size:var(--text-base);font-weight:600;margin-bottom:4px}.client-modal-project-status{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-xs)}.client-modal-project-btn{align-items:center;background:var(--color-secondary);border:none;border-radius:var(--radius-md);color:var(--color-surface);cursor:pointer;display:flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;gap:8px;padding:8px 14px;transition:all .2s ease;white-space:nowrap}.client-modal-project-btn:hover{box-shadow:var(--shadow-btn);transform:translateY(-1px)}.client-modal-project-btn svg{font-size:var(--text-xs)}.client-modal-notes{background:color-mix(in srgb,var(--color-bg) 50%,#0000);border-left:3px solid var(--color-secondary);border-radius:var(--radius-sm);color:var(--color-text-light);font-family:var(--font-body);font-size:var(--text-sm);line-height:1.6;padding:12px}.client-modal-footer{align-items:center;border-top:1px solid var(--color-border-light);display:flex;gap:12px;justify-content:flex-end;padding:20px 24px}.client-modal-btn-secondary{background:#0000;border:1px solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;padding:10px 20px;transition:all .2s ease}.client-modal-btn-secondary:hover{background:color-mix(in srgb,var(--color-bg) 80%,#0000);border-color:var(--color-primary);color:var(--color-text-dark)}.client-modal-header-actions{align-items:center;display:flex;gap:16px}.client-modal-edit-btn{align-items:center;background:var(--color-secondary);border:2px solid var(--color-secondary);border-radius:var(--radius-md);color:var(--color-surface);cursor:pointer;display:flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;gap:6px;padding:6px 12px;transition:background .2s}.client-modal-edit-btn:hover{background:var(--color-surface);color:var(--color-secondary)}.client-modal-edit-btn svg{font-size:var(--text-xs)}@media (max-width:767px){.client-modal-overlay{padding:0}.client-modal{border-radius:0;max-height:100vh;max-width:100%}.client-modal-header{padding:20px}.client-modal-title{font-size:var(--text-xl)}.client-modal-body{padding:20px}.client-modal-name{font-size:var(--text-2xl)}.client-modal-project-card{align-items:flex-start;flex-direction:column}.client-modal-project-btn{justify-content:center;width:100%}.client-modal-footer{padding:16px 20px}.client-modal-btn-secondary{justify-content:center;width:100%}}.admin-clients-page{animation:fadeIn .6s ease-out;font-family:var(--font-body);margin:20px auto;max-width:1400px;padding:40px 20px;width:100%}.admin-clients-controls{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.admin-clients-search{flex:1 1;min-width:280px;position:relative}.admin-clients-search-icon{color:var(--color-text-muted);font-size:var(--text-sm);left:14px;position:absolute;top:50%;transform:translateY(-50%)}.admin-clients-search-input{background:var(--color-surface);border:2px solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-base);font-family:var(--font-body);font-size:var(--text-base);padding:12px 14px 12px 42px;transition:all .2s ease;width:100%}.admin-clients-search-input:focus{border-color:var(--color-secondary);box-shadow:var(--shadow-focus);outline:none}.admin-clients-search-input::placeholder{color:var(--color-text-muted)}.admin-clients-control-buttons,.admin-clients-filter-btn{align-items:center;display:flex;gap:8px}.admin-clients-filter-btn{background:var(--color-surface);border:2px solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-base);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;padding:12px 16px;transition:all .2s ease}.admin-clients-filter-btn.active,.admin-clients-filter-btn:hover{border-color:var(--color-secondary);color:var(--color-secondary)}.admin-clients-filter-btn.active{background:color-mix(in srgb,var(--color-secondary) 8%,#0000)}.admin-clients-filter-count{background:var(--color-secondary);border-radius:var(--radius-lg);color:var(--color-surface);font-size:var(--text-xxs);font-weight:600;min-width:18px;padding:2px 6px;text-align:center}.admin-clients-view-toggle{border:2px solid var(--color-border-medium);border-radius:var(--radius-md);display:flex;overflow:hidden}.admin-clients-view-btn{align-items:center;background:var(--color-surface);border:none;color:var(--color-text-muted);cursor:pointer;display:flex;font-family:var(--font-body);gap:8px;height:40px;justify-content:center;max-width:150px;padding:0 20px;transition:all .2s ease}.admin-clients-view-btn:hover{background:var(--color-bg);color:var(--color-text-base)}.admin-clients-view-btn.active{background:var(--color-secondary);color:var(--color-surface)}.admin-clients-view-btn:first-child{border-right:1px solid var(--color-border-medium)}.admin-clients-filters{animation:slideDown .3s ease-out;background:var(--color-bg);border:1.5px solid var(--color-border-medium);border-radius:var(--radius-lg);margin-bottom:24px;padding:20px}.admin-clients-filter-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px}.admin-clients-filter-group{display:flex;flex:1 1;flex-direction:column;gap:6px;min-width:180px}.admin-clients-filter-label{color:var(--color-text-light);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:.5px;text-transform:uppercase}.admin-clients-filter-select{background:var(--color-surface);border:1.5px solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-dark);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);padding:10px 14px;transition:all .3s ease}.admin-clients-filter-select:hover{border-color:var(--color-primary)}.admin-clients-filter-select:focus{border-color:var(--color-secondary);box-shadow:var(--shadow-focus);outline:none}.admin-clients-clear-filters{align-self:flex-end;background:var(--color-surface);border:1.5px solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-light);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;padding:10px 18px;transition:all .3s ease;white-space:nowrap}.admin-clients-clear-filters:hover{background:color-mix(in srgb,var(--status-danger) 5%,#0000);border-color:var(--status-danger);color:var(--status-danger)}.admin-clients-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.admin-clients-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);cursor:pointer;display:flex;flex-direction:column;overflow:hidden;transition:all .3s ease}.admin-clients-card:hover{border-color:var(--color-secondary);box-shadow:var(--shadow-hover);transform:translateY(-4px)}.admin-clients-card-header{align-items:center;background:color-mix(in srgb,var(--color-bg) 50%,#0000);border-bottom:1px solid var(--color-border-light);display:flex;justify-content:space-between;padding:14px 16px}.admin-clients-status-active{background:var(--bg-status-success);border-bottom-color:color-mix(in srgb,var(--status-success) 25%,#0000)}.admin-clients-status-active .admin-clients-card-status-label{color:var(--status-success)}.admin-clients-status-warranty{background:var(--bg-status-info2);border-bottom-color:color-mix(in srgb,var(--status-info2) 25%,#0000)}.admin-clients-status-warranty .admin-clients-card-status-label{color:var(--status-info2)}.admin-clients-status-lead{background:var(--bg-status-info);border-bottom-color:color-mix(in srgb,var(--status-info) 25%,#0000)}.admin-clients-status-lead .admin-clients-card-status-label{color:var(--status-info)}.admin-clients-status-former{background:var(--bg-status-info3);border-bottom-color:color-mix(in srgb,var(--status-info3) 25%,#0000)}.admin-clients-status-former .admin-clients-card-status-label{color:var(--status-info3)}.admin-clients-status-lost{background:var(--bg-status-danger);border-bottom-color:color-mix(in srgb,var(--status-danger) 25%,#0000)}.admin-clients-status-lost .admin-clients-card-status-label{color:var(--status-danger)}.admin-clients-status-default{background:color-mix(in srgb,var(--color-text-muted) 10%,#0000);color:var(--color-text-muted)}.admin-clients-card-status-label{align-items:center;color:var(--color-text-muted);display:flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;gap:8px}.admin-clients-card-status-label svg{font-size:var(--text-sm)}.admin-clients-card-project-pill{border-radius:var(--radius-lg);font-family:var(--font-body);font-size:var(--text-xxs);font-weight:600;padding:4px 10px;white-space:nowrap}.admin-clients-pill-active{background:var(--bg-status-success);border:1px solid var(--status-success);color:var(--status-success)}.admin-clients-pill-pre{background:var(--bg-status-warning);border:1px solid var(--status-warning);color:var(--status-warning)}.admin-clients-pill-delayed{background:var(--bg-status-danger);border:1px solid var(--status-danger);color:var(--status-danger)}.admin-clients-pill-warranty{background:var(--bg-status-info2);border:1px solid var(--status-info2);color:var(--status-info2)}.admin-clients-pill-none{background:#ffffff80;color:var(--color-text-light);font-style:italic}.admin-clients-pill-default{background:color-mix(in srgb,var(--color-text-muted) 10%,#0000);border:1px solid var(--color-text-muted);color:var(--color-text-muted)}.admin-clients-card-body{display:flex;flex:1 1;flex-direction:column;gap:12px;padding:16px}.admin-clients-card-title{color:var(--color-text-dark);font-family:var(--font-heading);font-size:var(--text-lg);font-weight:600;line-height:1.3;margin:0}.admin-clients-card-info{display:flex;flex-direction:column;gap:8px}.admin-clients-card-row{align-items:flex-start;color:var(--color-text-light);display:flex;font-family:var(--font-body);font-size:var(--text-sm);gap:10px}.admin-clients-card-icon{color:var(--color-text-muted);flex-shrink:0;font-size:var(--text-xs);margin-top:3px}.admin-clients-card-address{line-height:1.4}.admin-clients-card-footer{background:color-mix(in srgb,var(--color-bg) 50%,#0000);border-top:1px solid var(--color-border-light);min-height:58px;padding:12px 16px}.admin-clients-card-notes{display:block}.admin-clients-notes-clamp{-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;display:-webkit-box;font-family:var(--font-body);font-size:var(--text-xs);min-width:0;overflow:hidden}.admin-clients-notes-label{color:var(--color-text-muted);font-weight:600;letter-spacing:.5px;text-transform:uppercase}.admin-clients-notes-text{color:var(--color-text-light)}.admin-clients-notes-text.is-empty{color:var(--color-text-muted);font-style:italic}.admin-clients-table-container{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);overflow:hidden}.admin-clients-table{border-collapse:collapse;font-family:var(--font-body);width:100%}.admin-clients-table thead{background:color-mix(in srgb,var(--color-bg) 80%,#0000);border-bottom:1px solid var(--color-border-light)}.admin-clients-table th{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:600;letter-spacing:.05em;padding:14px 16px;text-align:left;text-transform:uppercase}.admin-clients-table tbody tr{cursor:pointer;transition:background .15s ease}.admin-clients-table tbody tr:hover{background:color-mix(in srgb,var(--color-secondary) 4%,#0000)}.admin-clients-table tbody tr:not(:last-child){border-bottom:1px solid var(--color-border-light)}.admin-clients-cell{color:var(--color-text-light);font-family:var(--font-body);font-size:var(--text-sm);padding:14px 16px;vertical-align:middle}.admin-clients-cell-name{padding:14px 16px}.admin-clients-name-cell{align-items:center;display:flex;gap:12px}.admin-clients-type-icon{align-items:center;border-radius:var(--radius-md);display:flex;flex-shrink:0;font-size:var(--text-sm);height:36px;justify-content:center;width:36px}.admin-clients-type-icon.status-active{background:var(--bg-status-success);color:var(--status-success)}.admin-clients-type-icon.status-warranty{background:var(--bg-status-info2);color:var(--status-info2)}.admin-clients-type-icon.status-lead{background:var(--bg-status-info);color:var(--status-info)}.admin-clients-type-icon.status-former{background:var(--bg-status-info3);color:var(--status-info3)}.admin-clients-type-icon.status-lost{background:var(--bg-status-danger);color:var(--status-danger)}.admin-clients-type-icon.status-default{color:var(--color-text-muted)}.admin-clients-row-title{color:var(--color-text-dark);display:block;font-family:var(--font-heading);font-size:var(--text-sm);font-weight:600;margin-bottom:2px}.admin-clients-row-subtitle{color:var(--color-text-muted);display:block;font-size:var(--text-xs)}.admin-clients-project-badge,.admin-clients-status-badge{border-radius:var(--radius-lg);display:inline-block;font-family:var(--font-body);font-size:var(--text-xxs);font-weight:600;padding:4px 10px;white-space:nowrap}.admin-clients-status-badge.badge-active{background:var(--bg-status-success);color:var(--status-success)}.admin-clients-status-badge.badge-warranty{background:var(--bg-status-info2);color:var(--status-info2)}.admin-clients-status-badge.badge-lead{background:var(--bg-status-info);color:var(--status-info)}.admin-clients-status-badge.badge-former{background:var(--bg-status-info3);color:var(--status-info3)}.admin-clients-status-badge.badge-lost{background:var(--bg-status-danger);color:var(--status-danger)}.admin-clients-status-badge.badge-default{background:color-mix(in srgb,var(--color-text-muted) 10%,#0000);color:var(--color-text-muted)}.admin-clients-project-badge.badge-active{background:var(--bg-status-success);color:var(--status-success)}.admin-clients-project-badge.badge-pre{background:var(--bg-status-warning);color:var(--status-warning)}.admin-clients-project-badge.badge-delayed{background:var(--bg-status-danger);color:var(--status-danger)}.admin-clients-project-badge.badge-warranty{background:var(--bg-status-info2);color:var(--status-info2)}.admin-clients-project-badge.badge-default{background:color-mix(in srgb,var(--color-text-muted) 10%,#0000);color:var(--color-text-muted)}.admin-clients-accordion{display:flex;flex-direction:column;gap:8px}.admin-clients-accordion-item{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);overflow:hidden;transition:all .2s ease}.admin-clients-accordion-header{align-items:center;cursor:pointer;display:flex;gap:12px;padding:14px;transition:background .2s ease}.admin-clients-accordion-header:active{background:color-mix(in srgb,var(--color-bg) 80%,#0000)}.admin-clients-accordion-title{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.admin-clients-accordion-name{color:var(--color-text-dark);font-family:var(--font-heading);font-size:var(--text-base);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-clients-accordion-subtitle{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-clients-accordion-chevron{align-items:center;color:var(--color-text-muted);display:flex;flex-shrink:0;font-size:var(--text-sm);height:32px;justify-content:center;transition:transform .3s ease;width:32px}.admin-clients-accordion-chevron.expanded{transform:rotate(180deg)}.admin-clients-accordion-content{animation:slideDown .3s ease-out;border-top:1px solid var(--color-border-light);padding:0 14px 14px}.admin-clients-accordion-goto{align-items:center;background:var(--color-secondary);border:none;border-radius:var(--radius-md);color:var(--color-surface);cursor:pointer;display:flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;gap:8px;justify-content:center;margin:12px 0;padding:10px;transition:all .2s ease;width:100%}.admin-clients-accordion-goto:hover{box-shadow:var(--shadow-btn);transform:translateY(-1px)}.admin-clients-accordion-goto svg{font-size:var(--text-xs)}.admin-clients-accordion-row{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.admin-clients-accordion-row .admin-clients-card-status,.admin-clients-accordion-row .admin-clients-status-badge{border-radius:var(--radius-lg);font-family:var(--font-body);font-size:var(--text-xxs);font-weight:600;padding:4px 10px;white-space:nowrap}.admin-clients-accordion-details{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.admin-clients-accordion-detail{align-items:center;color:var(--color-text-light);display:flex;font-family:var(--font-body);font-size:var(--text-sm);gap:10px}.admin-clients-accordion-icon{color:var(--color-text-muted);flex-shrink:0;font-size:var(--text-xs);width:14px}.admin-clients-card-footer-accordion{border-top:1px solid var(--color-border-light);padding:12px 5px}@media (max-width:1024px){.admin-clients-page{padding:20px 16px}.admin-clients-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width:768px){.admin-clients-controls{align-items:stretch;flex-direction:column}.admin-clients-search{min-width:100%}.admin-clients-control-buttons{justify-content:space-between}.admin-clients-filter-row{flex-direction:column}.admin-clients-filter-group{min-width:100%}.admin-clients-grid{gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-width:480px){.admin-clients-page{padding:16px 12px}.admin-clients-grid{grid-template-columns:1fr}.admin-clients-filter-btn{padding:14px 12px}.admin-clients-view-btn{max-width:50px;padding:0 12px}.admin-clients-card-body{padding:14px}.admin-clients-card-title{font-size:var(--text-base)}.hide-lg,.hide-mobile,.hide-sm{display:none!important}.show-mobile{display:flex!important}.admin-clients-accordion{display:flex}}@media (min-width:1400px){.admin-clients-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}}.admin-clients-sortable-th{cursor:pointer;outline:none;transition:color .15s ease,background .15s ease;-webkit-user-select:none;user-select:none}.admin-clients-sortable-th:focus,.admin-clients-sortable-th:focus-visible{outline:none}.admin-clients-sortable-th:hover{background:color-mix(in srgb,var(--color-bg-dk) 30%,#0000);color:var(--color-text-base)}.admin-clients-sortable-th.active{color:var(--color-secondary)}.admin-clients-sortable-th-inner{align-items:center;display:inline-flex;gap:6px}.admin-clients-sort-chevron{align-items:center;color:var(--color-secondary);display:inline-flex;font-size:var(--text-xxs);line-height:1}.vendor-modal-backdrop{align-items:center;animation:fadeIn .2s ease-out;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:var(--z-modal)}.vendor-modal{animation:slideUp .3s ease-out;background:var(--color-bg);border-radius:var(--radius-xl);box-shadow:var(--shadow-modal);display:flex;flex-direction:column;max-height:90vh;max-width:600px;width:100%}.vendor-modal-header{align-items:center;border-bottom:1px solid var(--color-border-light);display:flex;justify-content:space-between;padding:24px}.vendor-modal-header-content{align-items:center;display:flex;flex:1 1;gap:12px;min-width:0}.vendor-modal-header-icon{align-items:center;background:color-mix(in srgb,var(--color-secondary) 10%,#0000);border-radius:var(--radius-md);color:var(--color-secondary);display:flex;flex-shrink:0;font-size:var(--text-base);height:36px;justify-content:center;width:36px}.vendor-modal-title{color:var(--color-text-base);font-family:var(--font-heading);font-size:var(--text-xl);font-weight:600;margin:0}.vendor-modal-close{align-items:center;background:var(--color-bg-dk);border:none;border-radius:50%;border-radius:var(--radius-full,50%);color:var(--color-text-muted);cursor:pointer;display:flex;flex-shrink:0;font-size:var(--icon-sm);height:36px;justify-content:center;padding:8px;transition:all .2s ease;width:36px}.vendor-modal-close:hover{background:var(--bg-status-danger);color:var(--status-danger)}.vendor-modal-body{background:var(--color-surface);flex:1 1;overflow-y:auto;padding:24px}.vendor-modal-error,.vendor-modal-loading{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;gap:12px;justify-content:center;padding:40px 20px;text-align:center}.vendor-modal-error svg,.vendor-modal-loading svg{color:var(--color-secondary);font-size:var(--icon-2x)}.vendor-modal-error svg{color:var(--status-danger)}.spinning{animation:spin 1s linear infinite}.vendor-modal-section{margin-bottom:24px}.vendor-modal-section:last-child{margin-bottom:0}.vendor-modal-name{color:var(--color-text-dark);font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:700;margin:0 0 8px}.vendor-modal-badges{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.vendor-modal-type-badge{background:color-mix(in srgb,var(--color-secondary) 12%,#0000);color:var(--color-secondary)}.vendor-modal-status,.vendor-modal-type-badge{border-radius:var(--radius-lg);display:inline-block;font-family:var(--font-body);font-size:var(--text-xxs);font-weight:700;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.vendor-modal-status.status-inactive{background:var(--bg-status-info3);color:var(--status-info3)}.vendor-modal-contact-card{align-items:center;background:color-mix(in srgb,var(--color-bg) 50%,#0000);border:1px solid var(--color-border-light);border-radius:var(--radius-md);display:flex;gap:12px;padding:12px 16px}.vendor-modal-contact-icon{color:var(--color-secondary);font-size:var(--text-xl)}.vendor-modal-contact-name{color:var(--color-text-dark);font-family:var(--font-body);font-size:var(--text-base);font-weight:600}.vendor-modal-website-card{align-items:center;background:color-mix(in srgb,var(--color-bg) 50%,#0000);border:1px solid var(--color-border-light);border-radius:var(--radius-md);display:flex;gap:16px;justify-content:space-between;padding:16px}.vendor-modal-website-info{align-items:center;display:flex;flex:1 1;gap:12px;min-width:0}.vendor-modal-website-icon{color:var(--color-secondary);flex-shrink:0;font-size:var(--text-lg)}.vendor-modal-website-url{color:var(--color-text-light);overflow:hidden;text-overflow:ellipsis}.vendor-modal-website-btn,.vendor-modal-website-url{font-family:var(--font-body);font-size:var(--text-sm);white-space:nowrap}.vendor-modal-website-btn{align-items:center;background:var(--color-secondary);border:none;border-radius:var(--radius-md);color:var(--color-surface);cursor:pointer;display:flex;flex-shrink:0;font-weight:600;gap:8px;padding:8px 14px;transition:all .2s ease}.vendor-modal-website-btn:hover{box-shadow:var(--shadow-btn);transform:translateY(-1px)}.vendor-modal-website-btn svg{font-size:var(--text-xs)}.vendor-modal-details-grid{display:flex;flex-wrap:wrap;gap:8px}.vendor-modal-detail-chip{background:#4a5f4f1f;border-radius:var(--radius-lg);color:var(--status-success);display:inline-block;font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;padding:6px 12px}.vendor-modal-stats-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.vendor-modal-stat-card{align-items:center;background:color-mix(in srgb,var(--color-bg) 50%,#0000);border:1px solid var(--color-border-light);border-radius:var(--radius-md);display:flex;flex-direction:column;justify-content:center;padding:16px;text-align:center}.vendor-modal-stat-value{color:var(--color-secondary);font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:700;margin-bottom:4px}.vendor-modal-stat-label{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:.5px;text-transform:uppercase}.vendor-modal-status.status-active{background:var(--bg-status-success);color:var(--status-success)}.vendor-modal-status.status-pre{background:var(--bg-status-warning);color:var(--status-warning)}.vendor-modal-status.status-warranty{background:var(--bg-status-info2);color:var(--status-info2)}.vendor-modal-status.status-lead{background:var(--bg-status-info);color:var(--status-info)}.vendor-modal-status.status-former{background:var(--bg-status-info3);color:var(--status-info3)}.vendor-modal-status.status-lost{background:var(--bg-status-danger);color:var(--status-danger)}.vendor-modal-status.status-default{background:color-mix(in srgb,var(--color-text-muted) 10%,#0000);color:var(--color-text-muted)}.vendor-modal-section-title{align-items:center;color:var(--color-text-dark);display:flex;font-family:var(--font-body);font-size:var(--text-base);font-weight:600;gap:8px;margin:0 0 12px}.vendor-modal-icon-inline{color:var(--color-secondary);font-size:var(--text-base)}.vendor-modal-info-grid{display:flex;flex-direction:column;gap:16px}.vendor-modal-info-row{align-items:flex-start;display:flex;gap:12px}.vendor-modal-icon{font-size:var(--text-base)}.vendor-modal-icon,.vendor-modal-link-icon{color:var(--color-secondary);flex-shrink:0;margin-top:2px}.vendor-modal-link-icon{font-size:var(--text-sm)}.vendor-modal-label{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.vendor-modal-value{color:var(--color-text-light);font-family:var(--font-body);font-size:var(--text-sm);line-height:1.5}.vendor-modal-value a{color:var(--color-secondary);font-weight:500;text-decoration:underline;transition:all .2s ease}.vendor-modal-value a:hover{color:var(--color-primary)}.vendor-modal-project-card{align-items:center;background:color-mix(in srgb,var(--color-bg) 50%,#0000);border:1px solid var(--color-border-light);border-radius:var(--radius-md);display:flex;gap:16px;justify-content:space-between;padding:16px}.vendor-modal-project-card+.vendor-modal-project-card{margin-top:8px}.vendor-modal-project-name{color:var(--color-text-dark);font-family:var(--font-body);font-size:var(--text-base);font-weight:600;margin-bottom:4px}.vendor-modal-project-status{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-xs)}.vendor-modal-project-btn{align-items:center;background:var(--color-secondary);border:none;border-radius:var(--radius-md);color:var(--color-surface);cursor:pointer;display:flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;gap:8px;padding:8px 14px;transition:all .2s ease;white-space:nowrap}.vendor-modal-project-btn:hover{box-shadow:var(--shadow-btn);transform:translateY(-1px)}.vendor-modal-project-btn svg{font-size:var(--text-xs)}.vendor-modal-notes{background:color-mix(in srgb,var(--color-bg) 50%,#0000);border-left:3px solid var(--color-secondary);border-radius:var(--radius-sm);color:var(--color-text-light);font-family:var(--font-body);font-size:var(--text-sm);line-height:1.6;padding:12px}.vendor-modal-header-section{align-items:center;display:flex;flex-direction:column;justify-content:center}.vendor-modal-header-row{align-items:center;display:flex;flex-direction:row;gap:16px;margin-bottom:12px}.vendor-modal-logo{background-color:initial;border-radius:var(--radius-md);flex-shrink:0;height:100px;object-fit:contain;padding:8px;width:100px}.vendor-modal-attachments{display:flex;flex-direction:column;gap:8px}.vendor-modal-attachment-item{align-items:center;background-color:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text-dark);display:flex;gap:12px;padding:12px;text-decoration:none;transition:all .2s ease}.vendor-modal-attachment-item:hover{background-color:var(--color-bg-dk);border-color:var(--color-border-medium);transform:translateY(-1px)}.vendor-modal-attachment-icon{color:var(--color-secondary);flex-shrink:0;font-size:var(--text-lg)}.vendor-modal-attachment-name{flex:1 1;font-size:var(--text-sm);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vendor-modal-attachment-size{color:var(--color-text-base);flex-shrink:0;font-size:var(--text-xs)}@media (max-width:768px){.vendor-modal-logo{height:60px;width:60px}.vendor-modal-header-row{gap:12px}.vendor-modal-attachment-size{display:none}}.vendor-modal-header-actions{align-items:center;display:flex;gap:16px}.vendor-modal-edit-btn{align-items:center;background:var(--color-secondary);border:2px solid var(--color-secondary);border-radius:var(--radius-md);color:var(--color-surface);cursor:pointer;display:flex;font-family:var(--font-body);font-size:var(--text-xs);font-weight:500;gap:6px;padding:6px 12px;transition:background .2s}.vendor-modal-edit-btn:hover{background:var(--color-surface);color:var(--color-secondary)}.vendor-modal-edit-btn svg{font-size:var(--text-xs)}.vendor-modal-footer{align-items:center;border-top:1px solid var(--color-border-light);display:flex;gap:12px;justify-content:flex-end;padding:20px 24px}.vendor-modal-btn-secondary{background:#0000;border:1px solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;padding:10px 20px;transition:all .2s ease}.vendor-modal-btn-secondary:hover{background:color-mix(in srgb,var(--color-bg) 80%,#0000);border-color:var(--color-primary);color:var(--color-text-dark)}@media (max-width:767px){.vendor-modal-backdrop{padding:0}.vendor-modal{border-radius:0;max-height:100vh;max-width:100%}.vendor-modal-header{padding:20px}.vendor-modal-title{font-size:var(--text-xl)}.vendor-modal-body{padding:20px}.vendor-modal-name{font-size:var(--text-2xl)}.vendor-modal-project-card{align-items:flex-start;flex-direction:column}.vendor-modal-project-btn{justify-content:center;width:100%}.vendor-modal-footer{padding:16px 20px}.vendor-modal-btn-secondary{justify-content:center;width:100%}}.admin-vendors-page{animation:fadeIn .6s ease-out;font-family:var(--font-body);margin:20px auto;max-width:1400px;padding:40px 20px;width:100%}.admin-vendors-controls{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.admin-vendors-search{flex:1 1;min-width:280px;position:relative}.admin-vendors-search-icon{color:var(--color-text-muted);font-size:var(--text-sm);left:14px;position:absolute;top:50%;transform:translateY(-50%)}.admin-vendors-search-input{background:var(--color-surface);border:2px solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-base);font-family:var(--font-body);font-size:var(--text-base);padding:12px 14px 12px 42px;transition:all .2s ease;width:100%}.admin-vendors-search-input:focus{border-color:var(--color-secondary);box-shadow:var(--shadow-focus);outline:none}.admin-vendors-search-input::placeholder{color:var(--color-text-muted)}.admin-vendors-control-buttons{gap:8px}.admin-vendors-control-buttons,.admin-vendors-inactive-toggle,.admin-vendors-toggle-label{align-items:center;display:flex}.admin-vendors-toggle-label{cursor:pointer;gap:10px;-webkit-user-select:none;user-select:none}.admin-vendors-toggle-text{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;white-space:nowrap}.admin-vendors-toggle-switch{height:24px;position:relative;width:44px}.admin-vendors-toggle-switch input{height:0;opacity:0;width:0}.admin-vendors-toggle-slider{background-color:var(--color-border-medium);border-radius:24px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:all .3s ease}.admin-vendors-toggle-slider:before{background-color:var(--color-surface);border-radius:50%;bottom:3px;box-shadow:var(--shadow-xs);content:"";height:18px;left:3px;position:absolute;transition:all .3s ease;width:18px}.admin-vendors-toggle-switch input:checked+.admin-vendors-toggle-slider{background-color:var(--color-secondary)}.admin-vendors-toggle-switch input:checked+.admin-vendors-toggle-slider:before{transform:translateX(20px)}.admin-vendors-filter-btn{align-items:center;background:var(--color-surface);border:2px solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-base);cursor:pointer;display:flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;gap:8px;padding:12px 16px;transition:all .2s ease}.admin-vendors-filter-btn.active,.admin-vendors-filter-btn:hover{border-color:var(--color-secondary);color:var(--color-secondary)}.admin-vendors-filter-btn.active{background:color-mix(in srgb,var(--color-secondary) 8%,#0000)}.admin-vendors-filter-count{background:var(--color-secondary);border-radius:var(--radius-lg);color:var(--color-surface);font-size:var(--text-xxs);font-weight:600;min-width:18px;padding:2px 6px;text-align:center}.admin-vendors-view-toggle{border:2px solid var(--color-border-medium);border-radius:var(--radius-md);display:flex;overflow:hidden}.admin-vendors-view-btn{align-items:center;background:var(--color-surface);border:none;color:var(--color-text-muted);cursor:pointer;display:flex;font-family:var(--font-body);gap:8px;height:40px;justify-content:center;max-width:150px;padding:0 20px;transition:all .2s ease}.admin-vendors-view-btn:hover{background:var(--color-bg);color:var(--color-secondary)}.admin-vendors-view-btn.active{background:var(--color-secondary);color:var(--color-surface)}.admin-vendors-view-btn:first-child{border-right:1px solid var(--color-border-medium)}.admin-vendors-filters{animation:slideDown .3s ease-out;background:var(--color-bg);border:1.5px solid var(--color-border-medium);border-radius:var(--radius-lg);margin-bottom:24px;padding:20px}.admin-vendors-filter-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px}.admin-vendors-filter-group{display:flex;flex:1 1;flex-direction:column;gap:6px;min-width:180px}.admin-vendors-filter-label{color:var(--color-text-light);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:.5px;text-transform:uppercase}.admin-vendors-filter-select{background:var(--color-surface);border:1.5px solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-dark);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);padding:10px 14px;transition:all .3s ease}.admin-vendors-filter-select:hover{border-color:var(--color-primary)}.admin-vendors-filter-select:focus{border-color:var(--color-secondary);box-shadow:var(--shadow-focus);outline:none}.admin-vendors-clear-filters{align-self:flex-end;background:var(--color-surface);border:1.5px solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-light);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;padding:10px 18px;transition:all .3s ease;white-space:nowrap}.admin-vendors-clear-filters:hover{background:color-mix(in srgb,var(--status-danger) 5%,#0000);border-color:var(--status-danger);color:var(--status-danger)}.admin-vendors-card-title-row{align-items:center;display:flex;gap:12px}.admin-vendors-card-logo{background-color:initial;flex-shrink:0;object-fit:contain;padding:4px}.admin-vendors-card-logo,.admin-vendors-no-logo-icon{border-radius:var(--radius-sm);height:80px;width:80px}.admin-vendors-no-logo-icon{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--icon-2x);justify-content:center}.admin-vendors-row-logo{height:32px;padding:2px;width:32px}.admin-vendors-accordion-logo,.admin-vendors-row-logo{border-radius:var(--radius-sm);flex-shrink:0;object-fit:contain}.admin-vendors-accordion-logo{height:36px;padding:3px;width:36px}.admin-vendors-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.admin-vendors-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);cursor:pointer;display:flex;flex-direction:column;overflow:hidden;transition:all .3s ease}.admin-vendors-card:hover{border-color:var(--color-secondary);box-shadow:var(--shadow-hover);transform:translateY(-4px)}.admin-vendors-card-header{background:color-mix(in srgb,var(--color-bg) 50%,#0000);border-bottom:1px solid var(--color-border-light);padding:14px 16px}.admin-vendors-status-inactive{background:var(--bg-status-danger);border-bottom-color:color-mix(in srgb,var(--status-danger) 25%,#0000)}.admin-vendors-status-active{background:var(--bg-status-success);border-bottom-color:color-mix(in srgb,var(--status-success) 25%,#0000)}.admin-vendors-status-default{background:color-mix(in srgb,var(--color-bg) 50%,#0000);border-bottom-color:var(--color-border-light)}.admin-vendors-card-body{display:flex;flex:1 1;flex-direction:column;gap:12px;padding:16px}.admin-vendors-card-title{color:var(--color-text-dark);font-family:var(--font-heading);font-size:var(--text-lg);font-weight:600;line-height:1.3;margin:0}.admin-vendors-card-info{display:flex;flex-direction:column;gap:8px}.admin-vendors-card-row{align-items:flex-start;color:var(--color-text-light);display:flex;font-family:var(--font-body);font-size:var(--text-sm);gap:10px}.admin-vendors-card-icon{color:var(--color-text-muted);flex-shrink:0;font-size:var(--text-xs);margin-top:3px}.admin-vendors-card-address{line-height:1.4}.admin-vendors-card-footer{background:color-mix(in srgb,var(--color-bg) 50%,#0000);border-top:1px solid var(--color-border-light);min-height:58px;padding:12px 16px}.admin-vendors-card-tags{align-items:flex-start;display:flex;gap:10px}.admin-vendors-tags-label{color:var(--color-text-muted);font-size:var(--text-xxs);font-weight:600;letter-spacing:.5px;line-height:20px;text-transform:uppercase;white-space:nowrap}.admin-vendors-tags-pills{display:flex;flex-wrap:wrap;gap:6px}.admin-vendors-tag-pill{align-items:center;background:color-mix(in srgb,var(--color-surface) 10%,var(--color-surface));border-radius:var(--radius-full);display:inline-flex;font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;height:20px;padding:0 12px;white-space:nowrap}.admin-vendors-tag-pill,.admin-vendors-tag-pill.type-default,.admin-vendors-type-icon.type-default{color:var(--color-text-muted)}.admin-vendors-tag-pill.tag-flag{background:color-mix(in srgb,var(--color-secondary) 10%,#0000);color:var(--color-secondary)}.admin-vendors-card-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.admin-vendors-card-header-left{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.admin-vendors-card-header-right{align-items:center;display:flex;flex-shrink:0;gap:8px}.admin-vendors-icon-pill{align-items:center;background:#ffffff80;border:1px solid var(--color-border-light);border-radius:var(--radius-full);display:inline-flex;font-size:var(--text-xs);height:22px;justify-content:center;width:28px}.admin-vendors-icon-pill.is-true{color:var(--color-secondary);opacity:1}.admin-vendors-icon-pill.is-false{color:var(--color-text-muted);opacity:.7}.admin-vendors-card-notes{color:var(--color-text-light);display:inline;font-family:var(--font-body);font-size:var(--text-sm);line-height:1.4}.admin-vendors-card-notes label{font-size:var(--text-xs);margin-right:6px}.admin-vendors-card-notes label,.admin-vendors-card-notes span{color:var(--color-text-muted);display:inline}.admin-vendors-card-notes.is-empty span{color:var(--color-text-muted);font-style:italic}.admin-vendors-table-container{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);overflow:hidden}.admin-vendors-table{border-collapse:collapse;font-family:var(--font-body);width:100%}.admin-vendors-table thead{background:color-mix(in srgb,var(--color-bg) 80%,#0000);border-bottom:1px solid var(--color-border-light)}.admin-vendors-table th{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:600;letter-spacing:.05em;padding:14px 16px;text-align:left;text-transform:uppercase}.admin-vendors-table tbody tr{cursor:pointer;transition:background .15s ease}.admin-vendors-table tbody tr:hover{background:color-mix(in srgb,var(--color-secondary) 4%,#0000)}.admin-vendors-table tbody tr:not(:last-child){border-bottom:1px solid var(--color-border-light)}.admin-vendors-sortable-th{cursor:pointer;outline:none;transition:color .15s ease,background .15s ease;-webkit-user-select:none;user-select:none}.admin-vendors-sortable-th:hover{background:color-mix(in srgb,var(--color-bg-dk) 30%,#0000);color:var(--color-text-base)}.admin-vendors-sortable-th.active{color:var(--color-secondary)}.admin-vendors-sortable-th:focus,.admin-vendors-sortable-th:focus-visible{outline:none}.admin-vendors-sortable-th-inner{align-items:center;display:inline-flex;gap:6px}.admin-vendors-sort-chevron{align-items:center;color:var(--color-secondary);display:inline-flex;font-size:var(--text-xxs);line-height:1}.admin-vendors-cell-center,.admin-vendors-th-center{text-align:center}.admin-vendors-cell{color:var(--color-text-light);font-family:var(--font-body);font-size:var(--text-sm);padding:14px 16px;vertical-align:middle}.admin-vendors-cell-name{padding:14px 16px}.admin-vendors-name-cell{align-items:center;display:flex;gap:12px}.admin-vendors-type-icon{align-items:center;border-radius:var(--radius-md);display:flex;flex-shrink:0;font-size:var(--text-sm);height:36px;justify-content:center;width:36px}.admin-vendors-row-title{color:var(--color-text-dark);display:block;font-family:var(--font-heading);font-size:var(--text-sm);font-weight:600;margin-bottom:2px}.admin-vendors-row-subtitle{color:var(--color-text-muted);display:block;font-size:var(--text-xs)}.admin-vendors-status-badge{border-radius:var(--radius-lg);display:inline-block;font-family:var(--font-body);font-size:var(--text-xxs);font-weight:600;padding:4px 10px;white-space:nowrap}.admin-vendors-status-badge.badge-active{background:var(--bg-status-success);color:var(--status-success)}.admin-vendors-status-badge.badge-inactive{background:var(--bg-status-danger);color:var(--status-danger)}.admin-vendors-accordion{display:flex;flex-direction:column;gap:8px}.admin-vendors-accordion-item{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);overflow:hidden;transition:all .2s ease}.admin-vendors-accordion-header{align-items:center;cursor:pointer;display:flex;gap:12px;padding:14px;transition:background .2s ease}.admin-vendors-accordion-header:active,.admin-vendors-type-icon-accordion{background:color-mix(in srgb,var(--color-bg) 80%,#0000)}.admin-vendors-type-icon-accordion{align-items:center;border:1px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text-muted);display:flex;flex-shrink:0;font-size:var(--text-base);height:40px;justify-content:center;width:40px}.admin-vendors-accordion-title{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.admin-vendors-accordion-name{color:var(--color-text-dark);font-family:var(--font-heading);font-size:var(--text-base);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-vendors-accordion-subtitle{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-vendors-accordion-chevron{align-items:center;color:var(--color-text-muted);display:flex;flex-shrink:0;font-size:var(--text-sm);height:32px;justify-content:center;transition:transform .3s ease;width:32px}.admin-vendors-accordion-chevron.expanded{transform:rotate(180deg)}.admin-vendors-accordion-content{animation:slideDown .3s ease-out;border-top:1px solid var(--color-border-light);padding:0 14px 14px}.admin-vendors-accordion-goto{align-items:center;background:var(--color-secondary);border:none;border-radius:var(--radius-md);color:var(--color-surface);cursor:pointer;display:flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;gap:8px;justify-content:center;margin:12px 0;padding:10px;transition:all .2s ease;width:100%}.admin-vendors-accordion-goto:hover{box-shadow:var(--shadow-btn);transform:translateY(-1px)}.admin-vendors-accordion-goto svg{font-size:var(--text-xs)}.admin-vendors-accordion-row{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.admin-vendors-accordion-row .admin-vendors-status-badge{border-radius:var(--radius-lg);font-family:var(--font-body);font-size:var(--text-xxs);font-weight:600;padding:4px 10px;white-space:nowrap}.admin-vendors-accordion-details{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.admin-vendors-accordion-detail{align-items:center;color:var(--color-text-light);display:flex;font-family:var(--font-body);font-size:var(--text-sm);gap:10px}.admin-vendors-accordion-icon{color:var(--color-text-muted);flex-shrink:0;font-size:var(--text-xs);width:14px}.admin-vendors-card-footer-accordion{border-top:1px solid var(--color-border-light);padding:12px 5px}.hide-mobile{display:block}.show-mobile{display:none}@media (max-width:1024px){.admin-vendors-page{padding:20px 16px}.admin-vendors-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width:768px){.admin-vendors-controls{align-items:stretch;flex-direction:column}.admin-vendors-search{min-width:100%}.admin-vendors-control-buttons{justify-content:space-between}.admin-vendors-filter-row{flex-direction:column}.admin-vendors-filter-group{min-width:100%}.admin-vendors-grid{gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-width:480px){.admin-vendors-page{padding:16px 12px}.admin-vendors-grid{grid-template-columns:1fr}.admin-vendors-filter-btn{padding:14px 12px}.admin-vendors-view-btn{max-width:50px;padding:0 12px}.admin-vendors-card-body{padding:14px}.admin-vendors-card-title{font-size:var(--text-base)}.hide-lg,.hide-mobile,.hide-sm{display:none!important}.show-mobile{display:flex!important}.admin-vendors-accordion{display:flex}}@media (max-width:991px){.hide-md{display:none!important}}@media (max-width:1199px){.hide-lg{display:none!important}}@media (min-width:1400px){.admin-vendors-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}}@media (max-width:360px){.admin-vendors-inactive-toggle,.admin-vendors-toggle-label{align-items:center;display:flex}.admin-vendors-toggle-label{cursor:pointer;flex-direction:column;gap:4px;-webkit-user-select:none;user-select:none}.admin-vendors-toggle-text{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-xs);font-weight:500;white-space:nowrap}.admin-vendors-toggle-switch{height:14px;position:relative;width:34px}.admin-vendors-toggle-slider:before{bottom:2px;height:11px;left:1px;position:absolute;width:11px}}.ac-container,.ap-container,.at-container{animation:fadeIn .6s ease-out;font-family:var(--font-body);margin:20px auto;max-width:1400px;padding:40px 20px;width:100%}.ap-section{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);box-sizing:border-box;margin-bottom:20px;padding:var(--space-lg) var(--space-xl)}.ap-section-header{align-items:flex-start;border-bottom:1px solid var(--color-border-light);display:flex;flex-direction:column;justify-content:center;margin-bottom:16px;padding-bottom:16px}.ap-section-title{align-items:center;display:flex;flex-direction:row;flex-shrink:1;gap:12px}.ap-section-subtitle{color:var(--color-text-light);font-family:var(--font-body);font-size:var(--text-sm);font-style:italic;margin-left:48px;margin-top:-4px}.ap-section-icon{align-items:center;background:color-mix(in srgb,var(--color-secondary) 10%,#0000);border-radius:var(--radius-md);color:var(--color-secondary);display:flex;flex-shrink:0;font-size:var(--text-base);height:36px;justify-content:center;width:36px}.ap-section-title h2{color:var(--color-text-dark);font-family:var(--font-heading);font-size:var(--text-lg);font-weight:600;margin:0}.ap-section-content{display:flex;flex-direction:column;gap:8px}.ap-info-row{grid-gap:12px;align-items:center;border-bottom:1px solid var(--color-border-light);display:grid;gap:12px;grid-template-columns:140px 1fr;padding:10px 0}.ap-info-row:last-child{border-bottom:none}.ap-info-row>label{color:var(--color-text-light);font-weight:600;margin:0}.ap-info-row-value,.ap-info-row>label{font-family:var(--font-body);font-size:var(--text-sm)}.ap-info-row-value{align-items:center;display:flex;gap:8px;justify-content:space-between;min-width:0}.ap-info-row-value,.ap-info-row-value.ap-readonly{color:var(--color-text-dark)}.ap-muted{font-style:italic}.ap-icon-btn,.ap-muted{color:var(--color-text-light)}.ap-icon-btn{align-items:center;background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-md);cursor:pointer;display:inline-flex;flex-shrink:0;height:30px;justify-content:center;transition:all .2s ease;width:30px}.ap-icon-btn:hover{border-color:var(--color-secondary);color:var(--color-secondary)}.ap-inline-edit{align-items:center;display:flex;gap:6px;min-width:0;width:100%}.ap-inline-input{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text-dark);flex:1 1;font-family:var(--font-body);font-size:var(--text-sm);min-width:0;outline:none;padding:8px 10px;transition:border-color .2s ease}.ap-inline-input:focus{border-color:var(--color-secondary)}.ap-cancel-btn,.ap-save-btn{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);cursor:pointer;display:inline-flex;flex-shrink:0;height:32px;justify-content:center;transition:all .2s ease;width:32px}.ap-save-btn{background:color-mix(in srgb,var(--status-success) 80%,#0000);border:none;color:var(--color-surface)}.ap-save-btn:hover:not(:disabled){background:var(--status-success);box-shadow:var(--shadow-btn);transform:translateY(-1px)}.ap-cancel-btn{color:var(--color-text-light)}.ap-cancel-btn:hover:not(:disabled){background:var(--bg-status-danger);border-color:var(--status-danger);color:var(--status-danger)}.ap-cancel-btn:disabled,.ap-save-btn:disabled{cursor:not-allowed;opacity:.55}.ap-avatar-wrap{align-items:center;display:inline-flex;justify-content:center;position:relative}.ap-avatar-input{display:none}.ap-avatar-remove{align-items:center;background:var(--status-danger);border:2px solid var(--status-danger);border-radius:50%;box-shadow:var(--shadow-xs);color:var(--color-surface);cursor:pointer;display:inline-flex;font-size:var(--text-xxs);height:26px;justify-content:center;opacity:0;padding:0;position:absolute;right:-2px;top:-2px;transition:transform .15s ease,background .15s ease;width:26px;z-index:2}.ap-avatar-remove:hover{border-color:var(--badge-warning);transform:scale(1.08)}.ap-avatar-button{align-items:center;background:var(--color-surface);border:3px solid var(--color-surface);border-radius:50%;box-shadow:var(--shadow-md);cursor:pointer;display:inline-flex;height:92px;justify-content:center;overflow:hidden;padding:0;position:relative;transition:transform .2s ease;width:92px}.ap-avatar-button:hover:not(:disabled){box-shadow:var(--shadow-hover)}.ap-avatar-button:disabled{cursor:wait}.ap-avatar-img{display:block;height:100%;object-fit:cover;width:100%}.ap-avatar-placeholder{color:var(--color-primary);font-size:5.75rem;height:100%;opacity:.8;width:100%}.ap-avatar-overlay{align-items:center;background:#0006;color:var(--color-surface);display:flex;font-size:var(--icon-lg);inset:0;justify-content:center;opacity:0;position:absolute;transition:opacity .2s ease}.ap-avatar-button:disabled .ap-avatar-overlay,.ap-avatar-button:hover .ap-avatar-overlay,.ap-avatar-wrap:hover .ap-avatar-remove{opacity:1}.ap-spin{animation:ap-spin 1s linear infinite}@keyframes ap-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.ap-activity-list{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}.ap-activity-item{align-items:flex-start;border-bottom:1px solid var(--color-border-light);display:flex;gap:12px;padding:12px 0}.ap-activity-item:last-child{border-bottom:none}.ap-activity-icon{align-items:center;background:color-mix(in srgb,var(--color-secondary) 10%,#0000);border-radius:var(--radius-md);color:var(--color-secondary);display:inline-flex;flex-shrink:0;font-size:var(--text-sm);height:34px;justify-content:center;width:34px}.ap-activity-body{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.ap-activity-action{color:var(--color-text-dark);font-family:var(--font-body);font-size:var(--text-sm);word-break:break-word}.ap-activity-entity{color:var(--color-text-light)}.ap-activity-time{font-size:var(--text-xs)}.ap-activity-time,.ap-empty{color:var(--color-text-light);font-family:var(--font-body)}.ap-empty{font-size:var(--text-sm);font-style:italic;margin:0;padding:16px 0;text-align:center}@media (max-width:900px){.ap-container .apb-banner .apb-banner-right{display:flex}.ap-container .apb-banner .apb-banner-children-mobile{display:none}}@media (max-width:768px){.ap-container{padding:12px}.ap-section{margin-bottom:14px}.ap-section-header{margin-bottom:12px;padding-bottom:12px}.ap-section-title h2{font-size:var(--text-base)}.ap-info-row{gap:6px;grid-template-columns:1fr;padding:10px 0}.ap-info-row>label{font-size:var(--text-xs);letter-spacing:.03em;text-transform:uppercase}.ap-avatar-button{height:76px;width:76px}.ap-avatar-remove{opacity:1}.ap-avatar-placeholder{font-size:76px}}@media (max-width:500px){.ap-section-subtitle{display:none}}@media (max-width:420px){.ap-container{padding:16px 12px}.ap-section{border-radius:var(--radius-md);padding:var(--space-lg)}.ap-section-icon{font-size:var(--text-sm);height:30px;width:30px}.ap-activity-icon{font-size:var(--text-xs);height:28px;width:28px}.ap-inline-input{padding:7px 8px}.ap-cancel-btn,.ap-icon-btn,.ap-save-btn{height:28px;width:28px}}.au-page{animation:fadeIn .6s ease-out;font-family:var(--font-body);margin:20px auto;max-width:1400px;padding:40px 20px;width:100%}.au-upload-section{background:var(--color-surface);border:3px solid var(--color-border-light);border-radius:var(--radius-lg);margin-bottom:var(--space-2xl);padding:var(--space-xl)}.au-selector-row{align-items:center;border-bottom:1px solid var(--color-border-medium);display:flex;flex-direction:row;gap:var(--space-lg);justify-content:center;margin-bottom:var(--space-xl);padding:var(--space-md) var(--space-lg)}.au-selector-row-left{align-items:flex-start;display:flex;flex:1 1;flex-direction:column;gap:var(--space-xs);justify-content:center}.au-selector-row-right{display:flex;flex-direction:column;flex-shrink:0}.au-selector-label{align-items:center;color:var(--color-text-dark);display:flex;font-family:var(--font-heading);font-size:var(--text-xl);font-weight:600;gap:var(--space-sm);margin:0 0 var(--space-xs) 0}.au-selector-hint{color:var(--color-text-light);font-family:var(--font-body);font-size:var(--text-sm);margin:0 0 var(--space-md) 0}.au-selector-input-row{align-items:center;display:flex;gap:var(--space-md)}.au-selector-select{background:var(--color-surface);border:2px solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-dark);cursor:pointer;flex:1 1;font-family:var(--font-body);font-size:var(--text-base);padding:10px 12px;transition:border-color .15s ease}.au-selector-select:focus{border-color:var(--color-secondary);outline:none}.au-selector-select:disabled{cursor:not-allowed;opacity:.6}.au-selector-clear{background:#0000;border:1px solid var(--color-border-dark);border-radius:var(--radius-md);color:var(--color-text-light);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);padding:10px 14px;transition:all .15s ease;white-space:nowrap}.au-selector-clear:hover{border-color:var(--color-secondary);color:var(--color-secondary)}.au-selector-status{align-items:center;color:var(--color-secondary);display:flex;font-family:var(--font-body);font-size:var(--text-sm);gap:var(--space-xs);margin-top:var(--space-sm)}.au-upload-grid{grid-gap:var(--space-lg);display:grid;gap:var(--space-lg);grid-template-columns:repeat(3,1fr)}.au-upload-card{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-xl);text-align:center;transition:transform .15s ease,box-shadow .2s ease}.au-upload-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.au-upload-card-icon{align-items:center;background:color-mix(in srgb,var(--color-secondary) 10%,#0000);border-radius:var(--radius-lg);color:var(--color-accent);display:flex;font-size:var(--text-2xl);height:56px;justify-content:center;width:56px}.au-upload-card-icon.au-icon-docs{background:color-mix(in srgb,var(--type-custom) 10%,#0000);color:var(--type-custom)}.au-upload-card-icon.au-icon-photos{background:color-mix(in srgb,var(--type-spec) 10%,#0000);color:var(--type-spec)}.au-upload-card-icon.au-icon-selections{background:color-mix(in srgb,var(--type-commercial) 10%,#0000);color:var(--type-commercial)}.au-upload-card-title{color:var(--color-text-dark);font-family:var(--font-heading);font-size:var(--text-lg);font-weight:600;margin-top:16px}.au-upload-card-desc{color:var(--color-text-light);flex:1 1;font-family:var(--font-body);font-size:var(--text-sm);line-height:1.5;margin-bottom:16px;text-align:center}.au-upload-card-btn{align-items:center;background:var(--color-surface);border:2px solid var(--color-secondary);border-radius:var(--radius-md);color:var(--color-secondary);cursor:pointer;display:flex;font-family:var(--font-body);font-size:var(--text-base);font-weight:600;gap:var(--space-sm);justify-content:center;padding:12px 16px;transition:background .15s ease;width:100%}.au-upload-card-btn:focus,.au-upload-card-btn:hover{background:var(--color-secondary);color:var(--color-surface)}.au-recent-section{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-xl)}.au-recent-header{align-items:flex-start;border-bottom:1px solid var(--color-border-light);display:flex;gap:var(--space-md);justify-content:space-between;margin-bottom:var(--space-lg);padding-bottom:var(--space-md)}.au-recent-header-text{display:flex;flex-direction:column;gap:var(--space-xs);min-width:0}.au-recent-title{color:var(--color-text-dark);font-family:var(--font-heading);font-size:var(--text-xl);font-weight:600;margin:0}.au-recent-subtitle{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-sm);margin:0}.au-thumb,.au-view-toggle{flex-shrink:0}.au-thumb{align-items:center;background:var(--color-bg);border-radius:var(--radius-md);display:flex;justify-content:center;overflow:hidden}.au-thumb img{display:block;height:100%;object-fit:cover;width:100%}.au-thumb-sm{height:48px;width:48px}.au-thumb-md{height:100px;width:100px}.au-thumb-lg{aspect-ratio:1/1;width:100%}.au-thumb-icon{background:var(--color-bg);color:var(--color-text-muted);font-size:var(--icon-lg)}.au-thumb-lg.au-thumb-icon{font-size:var(--icon-3xx)}.au-recent-table-wrap{overflow-x:auto}.au-recent-table{border-collapse:collapse;width:100%}.au-recent-table thead th{border-bottom:1px solid var(--color-border-light);color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:.5px;padding:10px 12px;text-align:left;text-transform:uppercase}.au-recent-th-thumb{width:64px}.au-recent-row{cursor:pointer;transition:background .12s ease}.au-recent-row:hover{background:var(--color-bg)}.au-recent-row td{border-bottom:1px solid var(--color-border-light);color:var(--color-text-dark);font-family:var(--font-body);font-size:var(--text-sm);padding:12px;vertical-align:middle}.au-recent-row:last-child td{border-bottom:none}.au-recent-cell-thumb{width:64px}.au-recent-filename{color:var(--color-text-dark);font-weight:600;word-break:break-word}.au-recent-category,.au-recent-project,.au-recent-uploader{color:var(--color-text-light)}.au-recent-category{background:var(--color-border-light);border-radius:var(--radius-sm);display:inline-block;font-size:var(--text-xs);padding:2px 8px}.au-recent-time{color:var(--color-text-muted);font-size:var(--text-xs);white-space:nowrap}.au-recent-grid{grid-gap:var(--space-md);display:grid;gap:var(--space-md);grid-template-columns:repeat(3,1fr)}.au-recent-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);cursor:pointer;display:flex;flex-direction:row;gap:var(--space-md);padding:var(--space-md);transition:background .12s ease,transform .12s ease,box-shadow .2s ease}.au-recent-card:hover{background:var(--color-bg);box-shadow:var(--shadow-md);transform:translateY(-2px)}.au-recent-card-body{display:flex;flex-direction:column;gap:2px;min-width:0}.au-recent-card-name{color:var(--color-text-dark);font-size:var(--text-sm);font-weight:600}.au-recent-card-meta,.au-recent-card-name{font-family:var(--font-body);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.au-recent-card-meta{color:var(--color-text-light);font-size:var(--text-xs)}.au-skeleton-row td{border-bottom:1px solid var(--color-border-light);padding:12px}.au-skeleton{animation:au-shimmer 1.4s linear infinite;background:linear-gradient(90deg,var(--color-border-light) 0,var(--color-border-light) 50%,var(--color-border-light) 100%);background-size:200% 100%;border-radius:var(--radius-sm);display:inline-block;height:14px}.au-skeleton.au-skeleton-thumb{border-radius:var(--radius-md);height:48px;width:48px}.au-skeleton.au-skeleton-md{width:70%}.au-skeleton.au-skeleton-sm{width:40%}@keyframes au-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.au-recent-empty,.au-recent-error{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-sm);grid-column:1/-1;padding:var(--space-2xl) var(--space-md);text-align:center}.au-recent-error-retry{background:#0000;border:1px solid var(--color-secondary);border-radius:var(--radius-md);color:var(--color-secondary);cursor:pointer;font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;margin-left:var(--space-sm);padding:4px 12px;transition:all .15s ease}.au-recent-error-retry:hover{background:var(--color-secondary);color:var(--color-surface)}.au-recent-cards-mobile{display:none;flex-direction:column;gap:var(--space-sm)}@media (max-width:1200px){.au-recent-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:1199px){.au-recent-header,.au-recent-section{padding:var(--space-md)}.au-recent-grid{gap:var(--space-sm);grid-template-columns:repeat(2,1fr)}.au-recent-card{padding:var(--space-sm)}}@media (max-width:900px){.au-upload-grid{gap:var(--space-sm);grid-template-columns:repeat(3,1fr)}.au-selector-label{font-size:var(--text-lg)}}@media (max-width:768px){.au-page{padding:20px 14px}.au-recent-section{padding:var(--space-lg)}.au-recent-header{align-items:stretch;flex-direction:column}.au-recent-table-wrap,.au-view-toggle{display:none}.au-recent-cards-mobile{display:flex}.au-recent-grid{grid-template-columns:repeat(2,1fr)}.au-selector-row{gap:var(--space-sm);padding:var(--space-md) var(--space-sm)}.au-selector-input-row,.au-selector-row{align-items:stretch;flex-direction:column}.au-selector-clear{width:100%}.au-recent-cards-mobile .au-recent-card{align-items:flex-start;flex-direction:row;gap:var(--space-md)}.au-recent-cards-mobile .au-recent-card .au-thumb-lg{aspect-ratio:1/1;flex-shrink:0;height:80px;width:80px}.au-recent-cards-mobile .au-recent-card .au-recent-card-meta,.au-recent-cards-mobile .au-recent-card .au-recent-card-name{overflow:visible;text-overflow:clip;white-space:normal}}@media (max-width:480px){.au-upload-section{padding:var(--space-md)}.au-upload-grid{gap:var(--space-md);grid-template-columns:1fr}.au-selector-label{font-size:var(--text-xl)}.au-upload-card{align-items:center;padding:var(--space-lg)}.au-upload-card-icon{font-size:var(--text-xl);height:48px;width:48px}.au-recent-title{font-size:var(--text-lg)}.au-recent-grid{grid-template-columns:1fr}}.as-container{animation:fadeIn .6s ease-out;font-family:var(--font-body);margin:20px auto;max-width:1400px;padding:40px 20px;width:100%}.as-section{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);box-sizing:border-box;margin-bottom:20px;padding:var(--space-lg) var(--space-xl)}.as-section-header{align-items:flex-start;border-bottom:1px solid var(--color-border-light);display:flex;flex-direction:column;justify-content:center;margin-bottom:16px;padding-bottom:16px}.as-section-title{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;gap:12px}.as-section-title h2{color:var(--color-text-base);font-family:var(--font-heading);font-size:var(--text-lg);font-weight:600;margin:0}.as-section-icon{align-items:center;background:color-mix(in srgb,var(--color-secondary) 12%,#0000);border-radius:var(--radius-md);color:var(--color-secondary);display:flex;flex-shrink:0;font-size:var(--text-xs);height:28px;justify-content:center;width:28px}.as-section-subtitle{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-sm);font-style:italic;margin-left:40px;margin-top:4px}.as-section-content{display:flex;flex-direction:column}.as-coming-soon{align-items:center;background:var(--bg-status-success);border:1px solid var(--color-border-medium);border-radius:var(--radius-full);color:var(--color-text-muted);display:inline-flex;font-family:var(--font-body);font-size:var(--text-xxs);font-weight:600;letter-spacing:.04em;padding:2px 10px;text-transform:uppercase}.as-pref-row{align-items:center;border-bottom:1px solid var(--color-border-medium);display:flex;gap:16px;justify-content:space-between;padding:14px 0}.as-pref-row:last-of-type{border-bottom:none}.as-pref-label{display:flex;flex:1 1 auto;flex-direction:column;gap:2px;min-width:0}.as-pref-label-title{color:var(--color-text-base);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600}.as-pref-label-hint{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-xs)}.as-pref-control{align-items:center;display:flex;flex-shrink:0;justify-content:flex-end}.as-select{appearance:none;-webkit-appearance:none;background-color:var(--color-surface);background-image:linear-gradient(45deg,#0000 50%,var(--color-text-muted) 50%),linear-gradient(135deg,var(--color-text-muted) 50%,#0000 50%);background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;background-repeat:no-repeat;background-size:5px 5px,5px 5px;border:1px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text-base);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);min-width:200px;padding:8px 32px 8px 12px;transition:border-color .15s ease,box-shadow .15s ease}.as-select:focus,.as-select:hover:not(:disabled){border-color:var(--color-secondary)}.as-select:focus{box-shadow:var(--shadow-focus);outline:none}.as-select:disabled{cursor:not-allowed;opacity:.6}.as-section-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;margin-top:16px}.as-reset-btn{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;gap:8px;justify-content:center;padding:10px 18px;transition:color .15s ease,border-color .15s ease,background .15s ease}.as-reset-btn:hover:not(:disabled){background:color-mix(in srgb,var(--color-secondary) 5%,#0000);border-color:var(--color-secondary);color:var(--color-text-base)}.as-reset-btn:disabled{cursor:not-allowed;opacity:.55}.as-save-btn{align-items:center;background:var(--color-secondary);border:none;border-radius:var(--radius-md);color:var(--color-surface);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;gap:8px;justify-content:center;min-width:160px;padding:10px 20px;transition:background .2s ease,transform .05s ease,opacity .15s ease}.as-save-btn:hover:not(:disabled){filter:brightness(.95)}.as-save-btn:active:not(:disabled){transform:translateY(1px)}.as-save-btn:disabled{cursor:not-allowed;opacity:.55}.as-save-btn-success{background:var(--status-success);color:var(--color-surface);opacity:1!important}.as-spin{animation:as-spin .9s linear infinite}@keyframes as-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.as-placeholder-grid{display:flex;flex-wrap:wrap;gap:10px;padding:4px 0}.as-placeholder-chip{align-items:center;background:#0000;border:1px dashed var(--color-border-medium);border-radius:var(--radius-full);color:var(--color-text-muted);display:inline-flex;font-family:var(--font-body);font-size:var(--text-xs);font-weight:500;padding:8px 14px}.as-switch{display:inline-block;flex-shrink:0;height:24px;position:relative;width:44px}.as-switch input{height:0;opacity:0;width:0}.as-switch-slider{background:var(--color-border-light);border-radius:var(--radius-full);cursor:pointer;inset:0;position:absolute;transition:background .15s ease}.as-switch-slider:before{background:var(--color-surface);border-radius:50%;box-shadow:var(--shadow-xs);content:"";height:18px;left:3px;position:absolute;top:3px;transition:transform .15s ease;width:18px}.as-switch input:checked+.as-switch-slider{background:var(--color-secondary)}.as-switch input:checked+.as-switch-slider:before{transform:translateX(20px)}.as-switch input:disabled+.as-switch-slider{cursor:not-allowed;opacity:.55}.as-two-col{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.as-two-col>.as-section{margin-bottom:20px}@media (max-width:768px){.as-container{padding:20px 12px}.as-section{padding:var(--space-md) var(--space-lg)}.as-pref-row{align-items:stretch;flex-direction:column;gap:8px}.as-pref-control{justify-content:stretch}.as-select{min-width:0;width:100%}.as-section-subtitle{margin-left:0}.as-reset-btn,.as-save-btn{width:100%}}.admin-project-detail{animation:fadeIn .6s ease-out;font-family:var(--font-body);margin:20px auto;max-width:1400px;padding:40px 20px;width:100%}.apd-container{display:flex;flex-direction:column;gap:20px}.apd-back-btn{align-items:center;background:#0000;border:1px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;gap:8px;margin-bottom:20px;padding:10px 16px;transition:all .2s ease}.apd-back-btn:hover{background:color-mix(in srgb,var(--color-text-muted) 5%,#0000);border-color:var(--color-primary);color:var(--color-text-dark)}.apd-error,.apd-loading{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:400px}.apd-spinner{animation:spin 1s linear infinite;font-size:var(--icon-2x)}.apd-error svg{color:var(--status-danger);font-size:var(--icon-3x)}.apd-error button{background:var(--color-secondary);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;padding:10px 20px}.apd-loading-small{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;gap:12px;justify-content:center;padding:40px 20px}.apd-spinner-small{animation:spin 1s linear infinite;border:3px solid var(--color-border-light);border-radius:50%;border-top-color:var(--color-secondary);height:24px;width:24px}.apd-section{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);box-sizing:border-box;margin-bottom:20px;padding:16px}.apd-section-header{border-bottom:1px solid var(--color-border-light);display:flex;flex-direction:row;gap:12px;justify-content:space-between;margin-bottom:16px;padding-bottom:16px}.apd-section-title{align-items:center;display:flex;flex-shrink:1;gap:12px}.apd-section-icon{align-items:center;background:color-mix(in srgb,var(--color-secondary) 10%,#0000);border-radius:var(--radius-md);color:var(--color-secondary);display:flex;flex-shrink:0;font-size:var(--text-base);height:36px;justify-content:center;width:36px}.apd-section-title h2{color:var(--color-text-dark);font-family:var(--font-heading);font-size:var(--text-lg);font-weight:600;margin:0}.apd-add-btn,.apd-edit-btn{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;gap:6px;padding:8px 14px;transition:all .2s ease;white-space:nowrap}.apd-edit-btn{background:var(--color-bg);border:1px solid var(--color-border-light);color:var(--color-text-light)}.apd-edit-btn:hover{border-color:var(--color-secondary);color:var(--color-secondary)}.apd-add-btn{background:var(--color-secondary);border:none;color:var(--color-surface)}.apd-add-btn:hover{background:var(--color-primary);box-shadow:var(--shadow-btn);transform:translateY(-1px)}.apd-edit-actions{display:flex;gap:8px}.apd-save-btn{align-items:center;background:var(--status-success);border:none;border-radius:var(--radius-md);color:var(--color-surface);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;gap:6px;padding:8px 14px;transition:all .2s ease}.apd-save-btn:hover:not(:disabled){background:color-mix(in srgb,var(--status-success) 80%,#0000);transform:translateY(-1px)}.apd-save-btn:disabled{cursor:not-allowed;opacity:.6}.apd-cancel-btn{align-items:center;background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text-light);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;gap:6px;padding:8px 14px;transition:all .2s ease}.apd-cancel-btn:hover:not(:disabled){border-color:var(--status-danger);color:var(--status-danger)}.apd-cancel-btn:disabled{cursor:not-allowed;opacity:.6}.apd-info-card-attach{background:var(--color-bg);border:2px dashed var(--color-border-medium);cursor:pointer;transition:all var(--transition-fast)}.apd-info-card-attach:hover{background:color-mix(in srgb,var(--color-secondary) 5%,#0000);border-color:var(--color-secondary);transform:translateY(-2px)}.apd-attach-client-prompt{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--text-base);gap:12px;justify-content:center;opacity:.6;padding:24px 0}.apd-attach-client-prompt:hover{opacity:1}.apd-attach-icon{color:var(--color-text-muted);font-size:var(--text-2xl)}.apd-info-card-attach:hover .apd-attach-icon{color:var(--color-secondary);transform:scale(1.1);transition:all var(--transition-fast)}.apd-attach-text{color:var(--color-text-muted);font-weight:500}.apd-info-card-attach:hover .apd-attach-text{color:var(--color-secondary)}.apd-header-top{align-items:center;flex-direction:column;flex-wrap:wrap;justify-content:center}.apd-header-badge,.apd-header-top{display:flex;gap:5px;margin-bottom:5px}.apd-header-badge{flex-direction:row;justify-content:space-between}.apd-type-badge{align-items:center;background:var(--color-bg);border-radius:var(--radius-full);color:var(--color-text-light);display:inline-flex;font-family:var(--font-body);font-weight:500;gap:8px;margin-bottom:15px;padding:6px 12px}.apd-type-badge,.apd-type-badge svg{font-size:var(--text-sm)}.status-active{background:var(--bg-status-success);color:var(--status-success)}.status-pre{background:var(--bg-status-warning);color:var(--status-warning)}.status-delayed{background:var(--bg-status-danger);color:var(--status-danger)}.status-approved,.status-completed,.status-warranty{background:var(--bg-status-success);color:var(--status-success)}.status-submitted{background:var(--bg-status-warning);color:var(--status-warning)}.status-denied{background:var(--bg-status-danger);color:var(--status-danger)}.status-default{background:color-mix(in srgb,var(--color-text-muted) 10%,#0000);color:var(--color-text-muted)}.apd-project-name{color:var(--color-text-dark);font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:700;margin:0 0 8px;text-align:center;word-break:break-word}.apd-info-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr}.apd-info-card{background:var(--color-bg);border-radius:var(--radius-md);box-sizing:border-box;padding:16px}.apd-info-card-clickable{border:1px solid #0000;cursor:pointer;transition:all .2s ease}.apd-info-card-clickable:hover{background:color-mix(in srgb,var(--color-secondary) 5%,#0000);border-color:var(--color-secondary)}.apd-info-card h3{color:var(--color-text-muted);font-family:var(--font-body);font-weight:600;gap:8px;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.apd-info-card h3,.apd-info-card h3 svg{font-size:var(--text-sm)}.apd-info-link-icon{font-size:var(--text-xs);margin-left:auto;opacity:.5}.apd-info-card-clickable:hover .apd-info-link-icon{color:var(--color-secondary);opacity:1}.apd-info-primary{color:var(--color-text-dark);font-family:var(--font-body);font-size:var(--text-base);font-weight:600;margin:0 0 8px}.apd-info-secondary{align-items:center;color:var(--color-text-light);display:flex;font-family:var(--font-body);font-size:var(--text-sm);gap:8px;margin:4px 0;word-break:break-all}.apd-info-secondary svg{color:var(--color-text-muted);flex-shrink:0;font-size:var(--text-xs)}.apd-info-row{align-items:center;border-bottom:1px solid var(--color-border-light);display:flex;font-family:var(--font-body);font-size:var(--text-sm);gap:8px;justify-content:space-between;padding:6px 0}.apd-info-row:last-child{border-bottom:none}.apd-info-row span{color:var(--color-text-muted);flex-shrink:0}.apd-info-row strong{color:var(--color-text-dark);text-align:right;word-break:break-word}.apd-info-budget{color:var(--status-success);font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:700;margin:0 0 12px}.apd-btn-edit-inline{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:var(--text-sm);margin-left:.5rem;opacity:0;padding:.25rem;transition:opacity .2s ease,color .2s ease}.apd-header-badge:hover .apd-btn-edit-inline,.apd-info-card h3:hover .apd-btn-edit-inline,.apd-project-name:hover .apd-btn-edit-inline{opacity:1}.apd-btn-edit-inline:hover{color:var(--color-primary)}.apd-btn-edit-card{margin-left:auto}.apd-info-card h3{align-items:center;display:flex}.apd-inline-edit-name{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.apd-input{border:1px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text-dark);display:flex;flex-direction:row;font-family:inherit;font-size:var(--text-base);min-width:300px;padding:.5rem .75rem;transition:border-color .2s ease}.apd-input:hover{border-color:var(--color-border-dark)}.apd-input:focus{border-color:var(--color-secondary);outline:none}.apd-input-name{font-family:var(--font-heading);font-size:var(--text-base);font-weight:600}.apd-input-date{cursor:text;justify-content:space-around}.apd-input-address{font-size:var(--text-base)}.apd-inline-edit-card{display:flex;flex-direction:column;gap:.5rem}.apd-inline-edit-card .apd-info-row{display:flex;flex-direction:column;gap:.25rem}.apd-inline-edit-card .apd-info-row label{color:var(--color-text-light);font-size:var(--text-sm)}.apd-info-row-readonly{border-top:1px dashed var(--color-border-light);margin-top:.25rem;opacity:.7;padding-top:.5rem}.apd-budget-input-wrapper{align-items:center;display:flex;gap:.25rem}.apd-budget-prefix{color:var(--color-text-dark)}.apd-budget-prefix,.apd-input-budget{font-size:var(--text-2xl);font-weight:600}.apd-input-budget{max-width:300px}.apd-inline-edit-actions{align-items:center;display:flex;gap:.5rem;justify-content:center;margin-top:.5rem}@media (max-width:768px){.apd-btn-edit-inline{opacity:1}.apd-input-budget{max-width:120px}}.apd-progress-section{display:flex;flex-direction:column;gap:20px}.apd-progress-edit-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr}.apd-progress-field{display:flex;flex-direction:column;gap:8px}.apd-progress-field p{background:var(--color-bg);border:none;border-radius:var(--radius-md);color:var(--color-text-light);font-size:var(--text-sm);padding:6px 12px}.apd-progress-field label{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500}.apd-field-value{color:var(--color-text-dark);font-size:var(--text-lg)}.apd-field-status-badge,.apd-field-value{font-family:var(--font-body);font-weight:600}.apd-field-status-badge{border-radius:var(--radius-full);display:inline-block;font-size:var(--text-sm);padding:6px 14px;text-align:center;width:-webkit-fit-content;width:fit-content}.apd-field-select{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text-dark);cursor:pointer;font-family:var(--font-body);font-size:var(--text-base);padding:10px 12px;width:100%}.apd-field-select:focus{border-color:var(--color-secondary);outline:none}.apd-progress-bar-section{background:var(--color-bg);border-radius:var(--radius-md);padding:16px}.apd-progress-bar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.apd-progress-label{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500}.apd-progress-value{color:var(--status-success);font-family:var(--font-heading);font-size:var(--text-lg);font-weight:700}.apd-progress-bar{background:#0000000f;border-radius:var(--radius-full);height:12px;overflow:hidden}.apd-progress-fill{background:linear-gradient(90deg,var(--bg-status-success) 0,var(--status-success) 100%);border-radius:var(--radius-full);height:100%;transition:width .3s ease}.apd-progress-note{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-xs);font-style:italic;margin:8px 0 0}.apd-tabs{display:flex;flex-wrap:wrap;gap:8px}.apd-tab{align-items:center;background:var(--color-bg);border:1px solid #0000;border-radius:var(--radius-md);color:var(--color-text-light);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;gap:6px;padding:8px 12px;transition:all .2s ease;white-space:nowrap}.apd-tab:hover{background:color-mix(in srgb,var(--color-secondary) 5%,#0000)}.apd-tab.active{background:color-mix(in srgb,var(--color-secondary) 10%,#0000);border-color:var(--color-secondary);color:var(--color-secondary)}.apd-tab-count{align-items:center;background:#0000000f;border-radius:var(--radius-full);display:inline-flex;font-size:var(--text-xs);font-weight:600;height:20px;justify-content:center;min-width:20px;padding:0 6px}.apd-tab.active .apd-tab-count{background:var(--color-secondary);color:var(--color-surface)}.apd-docs-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin-top:20px}.apd-doc-card{background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;display:flex;flex-direction:column;overflow:hidden;transition:all .2s ease}.apd-doc-card:hover{border-color:var(--color-secondary);box-shadow:var(--shadow-lg)}.apd-doc-thumbnail{align-items:center;aspect-ratio:4/3;background:var(--color-surface);display:flex;justify-content:center;overflow:hidden;position:relative;width:100%}.apd-doc-thumbnail img{height:100%;object-fit:cover;width:100%}.apd-doc-thumbnail .apd-doc-icon{color:var(--status-danger);font-size:var(--icon-2x)}.apd-doc-overlay{align-items:center;background:#00000080;color:#fff;display:flex;font-size:var(--text-xl);inset:0;justify-content:center;opacity:0;position:absolute;transition:opacity .2s ease}.apd-doc-card:hover .apd-doc-overlay{opacity:1}.apd-doc-card-footer{align-items:center;display:flex;gap:6px;justify-content:space-between;padding:6px 10px}.apd-doc-name{color:var(--color-text-dark);flex:1 1;font-family:var(--font-body);font-size:var(--text-xs);font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.apd-doc-delete-btn{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--color-text-light);cursor:pointer;display:flex;flex-shrink:0;font-size:var(--text-xs);justify-content:center;opacity:0;padding:4px;transition:all .2s ease}.apd-doc-card:hover .apd-doc-delete-btn{opacity:1}.apd-doc-delete-btn:hover{background:var(--bg-status-danger);color:var(--status-danger)}.apd-modal-overlay{align-items:center;background:#00000080;box-sizing:border-box;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:var(--z-modal)}.apd-modal-header{align-items:center;border-bottom:1px solid var(--color-border-light);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:16px 20px}.apd-modal-header h3{color:var(--color-text-dark);font-family:var(--font-heading);font-size:var(--text-lg);font-weight:600;margin:0;word-break:break-word}.apd-modal-close{align-items:center;background:var(--color-bg-dk);border:none;border-radius:50%;border-radius:var(--radius-full,50%);color:var(--color-text-muted);cursor:pointer;display:flex;flex-shrink:0;font-size:var(--icon-sm);height:36px;justify-content:center;padding:8px;transition:all .2s ease;width:36px}.apd-modal-close:hover{background:var(--bg-status-danger);color:var(--status-danger)}.apd-photo-controls{display:flex;flex-direction:row;gap:12px;justify-content:space-between;margin-bottom:16px}.apd-photo-view-toggle{background:var(--color-bg);border-radius:var(--radius-md);display:flex;gap:4px;padding:4px;width:-webkit-fit-content;width:fit-content}.apd-photo-view-btn{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;gap:6px;padding:8px 12px;transition:all .2s ease}.apd-photo-view-btn:hover{color:var(--color-text-dark)}.apd-photo-view-btn.active{background:var(--color-surface);box-shadow:var(--shadow-xs);color:var(--color-secondary)}.apd-photo-view-label{display:none}.apd-photo-filters{align-items:center;display:flex;flex-direction:row;gap:25px}.apd-photo-filter{align-items:center;color:var(--color-text-muted);display:flex;gap:8px}.apd-photo-filter select{border:1px solid var(--color-border-light);color:var(--color-text-dark);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);padding:8px 12px}.apd-photo-filter select,.apd-photo-grouping{background:var(--color-bg);border-radius:var(--radius-md)}.apd-photo-grouping{display:flex;gap:4px;padding:4px}.apd-grouping-btn{background:#0000;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;font-family:var(--font-body);font-size:var(--text-xs);font-weight:500;padding:6px 12px;transition:all .2s ease}.apd-grouping-label{align-items:center;display:flex;gap:4px}.apd-grouping-btn.active{background:var(--color-surface);color:var(--color-secondary)}.apd-photo-total{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-sm);margin:0 0 16px}.apd-empty-message{font-style:italic;padding:40px 20px}@media (max-width:480px){.admin-project-detail{padding:16px}.apd-project-name{font-size:var(--text-2xl)}.apd-section{padding:16px}.apd-section-title h2{font-size:var(--text-lg)}.apd-progress-field p{font-size:var(--text-xs)}.apd-progress-edit-grid{grid-template-columns:1fr}.apd-photo-filters{align-items:center;display:flex}.apd-grouping-label{font-size:var(--text-sm);padding:2px}.apd-task-dates{flex-basis:100%}.apd-photo-controls{flex-wrap:wrap;justify-content:space-between}.apd-add-btn,.apd-edit-btn{font-size:var(--text-sm);height:36px;justify-content:center;padding:5px;width:36px}.apd-docs-grid{grid-template-columns:repeat(2,1fr)}.apd-co-summary{grid-template-columns:repeat(3,1fr)}.apd-co-header-impact{display:none}.apd-co-details-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:600px){.admin-project-detail{padding:20px}.apd-project-name{font-size:var(--text-3xl)}.apd-info-grid{grid-template-columns:repeat(2,1fr)}.apd-section{padding:20px}.apd-section-header{align-items:center;flex-direction:row;justify-content:space-between}.apd-progress-edit-grid{grid-template-columns:repeat(2,1fr)}.apd-task-dates{flex-basis:auto;padding-left:0}.apd-docs-grid{grid-template-columns:repeat(3,1fr)}.apd-co-summary{grid-template-columns:repeat(5,1fr)}.apd-co-header-impact{align-items:center;display:flex;gap:8px}.apd-co-details-grid{grid-template-columns:repeat(4,1fr)}}@media (min-width:900px){.admin-project-detail{padding:24px}.apd-project-name{font-size:var(--text-4xl)}.apd-info-grid{grid-template-columns:repeat(3,1fr)}.apd-section{padding:24px}.apd-section-title h2{font-size:var(--text-xl)}.apd-task-row{align-items:center;flex-wrap:nowrap}.apd-task-dates{flex-basis:auto}.apd-docs-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}.pih-header-wrapper{margin-bottom:20px}.pih-header-wrapper,.pih-info-wrapper{display:flex;flex-direction:column;justify-content:center}.pih-info-wrapper{align-items:center}.pih-project-address{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-base);text-align:center;word-break:break-word}.pih-pm-wrapper{align-items:center;border:1px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text-light);display:flex;flex-direction:row;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;gap:8px;justify-content:center;margin-top:10px;padding:6px 12px}.pih-project-manager label{font-weight:600}.pih-pm-select-wrapper{display:flex;flex-direction:column;gap:10px;margin:10px 0}.pih-pm-select{display:flex;flex-direction:row;gap:10px}.pih-pm-select label{align-items:center;display:flex;flex-direction:row;font-size:var(--text-sm);gap:5px;margin-right:10px}.pih-pm-label{color:var(--color-text-muted);font-size:var(--text-sm)}.acm-modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:calc(var(--z-modal) + 10)}.acm-modal{animation:slideUp .3s ease;background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-modal);display:flex;flex-direction:column;font-family:var(--font-body);max-height:80vh;max-width:480px;width:100%}.acm-modal-header{align-items:center;border-bottom:1px solid var(--color-border-medium);display:flex;justify-content:space-between;padding:20px 24px}.acm-modal-title-row{align-items:center;display:flex;flex:1 1;gap:10px;min-width:0}.acm-modal-header-icon{align-items:center;background:color-mix(in srgb,var(--color-secondary) 10%,#0000);border-radius:var(--radius-md);color:var(--color-secondary);display:flex;flex-shrink:0;font-size:var(--text-base);height:36px;justify-content:center;width:36px}.acm-modal-title-row h3{color:var(--color-text-base);font-family:Besley,Georgia,serif;font-family:var(--font-heading,"Besley",Georgia,serif);font-size:var(--text-xl);font-weight:600;margin:0}.acm-modal-close{align-items:center;background:var(--color-bg-dk);border:none;border-radius:50%;border-radius:var(--radius-full,50%);color:var(--color-text-muted);cursor:pointer;display:flex;flex-shrink:0;font-size:var(--icon-sm);height:36px;justify-content:center;padding:8px;transition:all .2s ease;width:36px}.acm-modal-close:hover{background:var(--bg-status-danger);color:var(--status-danger)}.acm-modal-content{overflow-y:auto;padding:16px 24px 24px;position:relative}.acm-modal-subtitle{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:400;margin-bottom:12px}.acm-modal-item{background:var(--color-bg);border:none;border-radius:var(--radius-lg);display:flex;flex-direction:column;font-family:var(--font-body);gap:4px;margin-bottom:10px;padding:14px 16px;position:relative;text-align:left;width:100%}.acm-modal-item-clickable{cursor:pointer;padding-right:40px;transition:all var(--transition-fast)}.acm-modal-item-clickable:hover:not(:disabled){background:color-mix(in srgb,var(--color-secondary) 10%,#0000);transform:translateX(4px)}.acm-modal-item-clickable:disabled{cursor:not-allowed;opacity:.6}.acm-modal-item-clickable:hover:not(:disabled) .acm-item-arrow{color:var(--color-secondary);opacity:1}.acm-item-arrow{color:var(--color-text-muted);opacity:.5;position:absolute;right:16px;top:50%;transform:translateY(-50%);transition:all var(--transition-fast)}.acm-item-info{display:flex;flex-direction:row;gap:10px;justify-content:space-between}.acm-item-title{color:var(--color-text-base);font-size:var(--text-base);font-weight:600}.acm-item-detail{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--text-xxs);font-weight:400;gap:8px;overflow:hidden;text-overflow:ellipsis}.acm-item-detail svg{font-size:var(--text-xs);opacity:.7}.acm-loading{align-items:center;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:40px 20px}.acm-spinner{animation:spin 1s linear infinite;color:var(--color-secondary);font-size:var(--text-2xl)}.acm-loading span,.acm-modal-empty{color:var(--color-text-muted);font-size:var(--text-sm)}.acm-error,.acm-modal-empty{padding:40px 20px;text-align:center}.acm-error p{color:var(--color-text-base);font-weight:500;margin-bottom:8px}.acm-error-message{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:400}.acm-loading-overlay{align-items:center;background:#fffffff2;border-radius:0 0 16px 16px;bottom:0;display:flex;flex-direction:column;gap:12px;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}@media (max-width:768px){.acm-modal{margin:0;max-width:100%}.acm-modal-header{padding:16px 20px}.acm-modal-content{padding:12px 20px 20px}.acm-modal-title-row h3{font-size:var(--text-base)}}.doc-viewer-overlay{align-items:center;background:#000000d9;box-sizing:border-box;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:var(--z-modal)}.doc-viewer-content{background:var(--color-surface);border-radius:var(--radius-lg);display:flex;flex-direction:column;max-height:90vh;max-width:900px;overflow:hidden;width:100%}.doc-viewer-header{align-items:center;border-bottom:1px solid var(--color-border-light);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:16px 20px}.doc-viewer-header h3{color:var(--color-text-dark);font-family:var(--font-heading);font-size:var(--text-lg);font-weight:600;margin:0;word-break:break-word}.doc-viewer-actions{align-items:center;display:flex;gap:16px}.doc-viewer-download{align-items:center;background:var(--color-secondary);border-radius:var(--radius-md);color:var(--color-surface);display:inline-flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;gap:6px;padding:8px 14px;text-decoration:none;transition:all .2s ease}.doc-viewer-download:hover{background:var(--color-primary)}.doc-viewer-close{align-items:center;background:var(--color-bg-dk);border:none;border-radius:50%;border-radius:var(--radius-full,50%);color:var(--color-text-muted);cursor:pointer;display:flex;flex-shrink:0;font-size:var(--icon-sm);height:36px;justify-content:center;padding:8px;transition:all .2s ease;width:36px}.doc-viewer-close:hover{background:var(--bg-status-danger);color:var(--status-danger)}.doc-viewer-body{align-items:center;display:flex;flex:1 1;justify-content:center;min-height:300px;overflow:auto;padding:20px}.doc-viewer-body img{max-height:70vh;max-width:100%;object-fit:contain}.doc-viewer-pdf{border:none;border-radius:var(--radius-md);height:70vh;width:100%}.mini-calendar,.mini-calendar *{box-sizing:border-box}.mini-calendar{background:#fff;border-radius:var(--radius-lg);display:flex;flex-direction:column;height:100%;max-width:100%;overflow:hidden;padding:1.5rem}.mini-calendar-header{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:16px}.mini-calendar-header h3{color:var(--color-text-dark);flex:1 1;font-family:var(--font-heading);font-size:var(--text-lg);font-weight:600;margin:0;min-width:0;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.mini-calendar-nav-btn{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);color:var(--color-text-light);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.mini-calendar-nav-btn:hover{border-color:var(--color-secondary);color:var(--color-secondary)}.mini-calendar-grid{grid-gap:.5rem;display:grid;flex:1 1;gap:.5rem;grid-template-columns:repeat(7,minmax(0,1fr));max-width:100%;min-width:0;width:100%}.mini-calendar-day-header{color:var(--warm-gray-dark);font-size:var(--text-xs);font-weight:600;letter-spacing:.5px;text-transform:uppercase}.mini-calendar-day,.mini-calendar-day-header{align-items:center;display:flex;justify-content:center;padding:.5rem}.mini-calendar-day{background:#0000;border:1px solid #0000;border-radius:var(--radius-md);cursor:pointer;flex-direction:column;gap:.25rem;min-height:50px;position:relative;transition:all .2s ease}.mini-calendar-day:hover{background:color-mix(in srgb,var(--type-spec) 20%,#0000);border:1px solid color-mix(in srgb,var(--type-spec) 30%,#0000)}.mini-calendar-day-number{color:var(--color-text-dark);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500}.mini-calendar-day-today{background:#0000;border:2px solid var(--color-secondary)}.mini-calendar-day-today .mini-calendar-day-number{color:var(--color-text-dark);font-weight:700}.mini-calendar-day-today:hover{background:color-mix(in srgb,var(--type-spec) 30%,#0000);border-color:var(--color-secondary)}.mini-calendar-day-selected{background:color-mix(in srgb,var(--type-spec) 10%,#0000);border:1px solid color-mix(in srgb,var(--type-spec) 30%,#0000)}.mini-calendar-day-selected .mini-calendar-day-number{color:var(--color-text-dark);font-weight:700}.mini-calendar-day-selected:hover{background:color-mix(in srgb,var(--type-spec) 30%,#0000)}.mini-calendar-day-other .mini-calendar-day-number{color:var(--warm-gray)}.mini-calendar-day-has-tasks{background:var(--warm-gray-light)}.mini-calendar-task-indicator{color:var(--color-secondary);font-size:.7rem;font-weight:700;line-height:1}.mini-calendar-day-selected .mini-calendar-task-indicator{color:#fff}@media (max-width:768px){.mini-calendar{padding:1rem}.mini-calendar-month{font-size:var(--text-base)}.mini-calendar-day{min-height:40px;padding:.25rem}.mini-calendar-day-number{font-size:.8rem}.mini-calendar-task-indicator{font-size:.6rem}}.apd-task-controls{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.apd-task-search{flex:1 1;min-width:200px;position:relative}.apd-task-search.disabled{opacity:.5;pointer-events:none}.apd-task-search-icon{color:var(--color-text-muted);font-size:var(--text-sm);left:14px;position:absolute;top:50%;transform:translateY(-50%)}.apd-task-search-input{background:var(--color-surface);border:2px solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-base);font-family:var(--font-body);font-size:var(--text-base);padding:12px 14px 12px 42px;transition:all .2s ease;width:100%}.apd-task-search-input:focus{border-color:var(--color-secondary);box-shadow:var(--shadow-focus);outline:none}.apd-task-search-input::placeholder{color:var(--color-text-muted)}.apd-task-search-input:disabled{background:var(--color-bg-dk);cursor:not-allowed}.apd-task-control-buttons,.apd-task-filter-btn{align-items:center;display:flex;gap:8px}.apd-task-filter-btn{background:var(--color-surface);border:2px solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-base);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;padding:10px 16px;transition:all .2s ease}.apd-task-filter-btn.active,.apd-task-filter-btn:hover{border-color:var(--color-secondary);color:var(--color-secondary)}.apd-task-filter-btn.active{background:color-mix(in srgb,var(--color-secondary) 8%,#0000)}.apd-task-filter-btn svg{font-size:var(--text-sm)}.apd-task-filter-count{background:var(--color-secondary);border-radius:var(--radius-lg);color:var(--color-surface);font-size:var(--text-xxs);font-weight:600;min-width:18px;padding:2px 6px;text-align:center}.apd-task-filter-btn.active .apd-task-filter-count{background:color-mix(in srgb,var(--color-secondary) 8%,#0000);border-color:var(--color-secondary);color:var(--color-secondary)}.apd-task-filters{animation:slideDown .2s ease;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);margin-bottom:20px;padding:16px}.apd-task-filter-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px}.apd-task-filter-group{display:flex;flex:1 1;flex-direction:column;gap:6px;min-width:180px}.apd-task-filter-label{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:.05em;text-transform:uppercase}.apd-task-filter-select{background:var(--color-surface);border:2px solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-base);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);padding:10px 12px;transition:all .2s ease}.apd-task-filter-select:focus,.apd-task-filter-select:hover{border-color:var(--color-secondary)}.apd-task-filter-select:focus{outline:none}.apd-task-clear-filters{background:#0000;border:1px solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;padding:10px 16px;transition:all .2s ease;white-space:nowrap}.apd-task-clear-filters:hover{background:color-mix(in srgb,var(--status-danger) 5%,#0000);border-color:var(--status-danger);color:var(--status-danger)}.apd-tasks-list{display:flex;flex-direction:column;gap:8px}.apd-task-row{align-items:center;background:#fff;border:1px solid var(--color-border-light);border-radius:var(--radius-md);cursor:pointer;display:flex;gap:.75rem;padding:1rem;transition:all .2s ease}.apd-task-row:hover{border-color:var(--color-secondary);box-shadow:var(--shadow-md)}.apd-task-status-icon{flex-shrink:0;font-size:var(--text-lg);margin-top:2px}.apd-task-status-completed{background:var(--badge-success)}.apd-task-status-in-progress{background:var(--badge-neutral)}.apd-task-status-delayed{background:var(--badge-warning)}.apd-task-status-not-started{background:var(--badge-disabled)}.apd-task-edit-btn{align-items:center;background:#0000;border:1px solid var(--color-primary);border-radius:var(--radius-md);color:var(--color-primary);cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;transition:all .2s ease;width:36px}.apd-task-edit-btn:hover{border-color:var(--color-secondary);color:var(--color-secondary)}.apd-task-edit-btn svg{font-size:var(--text-sm)}.task-icon-completed{color:var(--status-success)}.task-icon-progress{color:var(--color-secondary)}.task-icon-notstarted{color:var(--color-accent)}.task-icon-delayed{color:var(--status-danger)}.apd-task-info{display:flex;flex-direction:column;gap:.5rem}.apd-task-name-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.apd-task-name{color:var(--color-text-base);font-size:var(--text-base);font-weight:600;line-height:1.4}.apd-task-digest-badge{align-items:center;background:color-mix(in srgb,var(--color-secondary) 10%,#0000);border-radius:var(--radius-sm);color:var(--color-secondary);display:inline-flex;font-size:var(--text-xxs);height:22px;justify-content:center;width:22px}.apd-task-main{flex:1 1;min-width:0}.apd-task-meta{align-items:center;display:flex;flex-wrap:wrap;font-size:var(--text-sm);gap:.75rem}.apd-task-completed-by{color:var(--status-success);display:block;font-family:var(--font-body);font-size:var(--text-xs);font-style:italic;margin-top:4px}.apd-task-dates{align-items:center;color:var(--color-text-light);display:flex;flex-basis:100%;font-family:var(--font-body);font-size:var(--text-sm);gap:6px;margin-bottom:5px}.apd-task-date-sep{color:var(--color-text-muted)}.apd-task-status{border:1px solid var(--color-border-light);border-radius:var(--radius-sm);color:var(--color-surface);font-size:var(--text-xs);font-weight:500;padding:.25rem .5rem;text-transform:uppercase}.apd-pagination{border-top:1px solid var(--color-border-light);gap:12px;margin-top:16px;padding-top:16px}.apd-pagination,.apd-pagination-btn{align-items:center;display:flex;justify-content:center}.apd-pagination-btn{background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text-light);cursor:pointer;height:36px;transition:all .2s ease;width:36px}.apd-pagination-btn:hover:not(:disabled){border-color:var(--color-secondary);color:var(--color-secondary)}.apd-pagination-btn:disabled{cursor:not-allowed;opacity:.4}.apd-pagination-info{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-sm)}.apd-tasks-calendar-view{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr;margin-top:1rem}.apd-tasks-calendar-list{display:flex;flex-direction:column;gap:1rem}.apd-tasks-calendar-list-header{align-items:center;border-bottom:2px solid var(--color-border-medium);display:flex;justify-content:space-between;padding-bottom:.75rem}.apd-tasks-date-label{color:var(--color-secondary);font-family:var(--font-heading);font-size:var(--text-lg);font-weight:600}.apd-tasks-count{color:var(--color-secondary);font-size:var(--text-sm);font-weight:500}.apd-tasks-calendar-list-items{display:flex;flex-direction:column;gap:.75rem;max-height:500px;overflow-y:auto}.apd-tasks-calendar-wrapper{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1rem}.pt-create-task-list-prompt{background:var(--color-bg);border:2px dashed var(--color-border-light);border-radius:var(--radius-lg);margin:24px 0;padding:48px 32px;text-align:center}.pt-create-icon{font-size:var(--text-xl);margin-right:5px}.pt-create-content{margin:0 auto;max-width:500px}.pt-create-title{color:var(--color-text-dark);font-family:var(--font-heading);font-size:var(--text-xl);font-weight:600;margin:0 0 20px}.pt-create-btn{align-items:center;background:var(--color-secondary);border:2px solid var(--color-secondary);border-radius:var(--radius-md);color:var(--color-surface);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--text-base);font-weight:500;gap:8px;padding:14px 28px;transition:all .2s ease}.pt-create-btn:hover:not(:disabled){background:var(--color-primary);border:2px solid var(--color-secondary);box-shadow:var(--shadow-btn);color:var(--color-secondary);transform:translateY(-1px)}.pt-create-btn:disabled{cursor:not-allowed;opacity:.6}.pt-create-note{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-sm);font-style:italic;margin:16px 0 0}@media (max-width:1200px){.apd-tasks-calendar-view{grid-template-columns:1fr}.apd-tasks-calendar-wrapper{order:-1}}@media (max-width:768px){.apd-tasks-calendar-list-header{align-items:flex-start;flex-direction:column;gap:.5rem}.apd-tasks-date-label{font-size:var(--text-base)}.apd-task-row{padding:.75rem}.apd-task-meta{font-size:var(--text-xs)}.apd-task-edit-btn{height:32px;width:32px}.apd-task-digest-badge{font-size:var(--icon-xxs);height:18px;width:18px}.apd-task-completed-by{font-size:var(--text-xs)}.apd-task-controls{align-items:stretch;flex-direction:column}.apd-task-search{width:100%}.apd-task-control-buttons{justify-content:space-between;width:100%}.apd-task-filter-btn span:not(.apd-task-filter-count){display:none}.apd-task-filter-row{grid-template-columns:1fr}.apd-task-clear-filters{width:100%}.pt-create-task-list-prompt{padding:32px 20px}.pt-create-title{font-size:var(--text-lg)}.pt-create-btn{justify-content:center;width:100%}}@media (max-width:480px){.apd-task-search-input{font-size:var(--text-base)}.apd-task-filter-btn{font-size:var(--text-sm);padding:.65rem .75rem}}.apd-task-clear-filters:focus-visible,.apd-task-filter-btn:focus-visible,.apd-task-filter-select:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.photos-view-content{width:100%}.photos-calendar{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);overflow:hidden;width:100%}.photos-calendar-header{align-items:center;background:var(--color-bg);border-bottom:1px solid var(--color-border-light);display:flex;gap:12px;justify-content:space-between;padding:12px 14px}.photos-calendar-title{color:var(--color-text-dark);font-family:var(--font-heading);font-size:var(--text-base);font-weight:600;margin:0}.photos-calendar-nav{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text-light);cursor:pointer;display:inline-flex;height:34px;justify-content:center;transition:all .2s ease;width:34px}.photos-calendar-nav:hover{border-color:var(--color-secondary);color:var(--color-secondary)}.photos-calendar-weekdays{grid-gap:0;background:var(--color-bg);border-bottom:1px solid var(--color-border-light);display:grid;gap:0;grid-template-columns:repeat(7,1fr)}.photos-calendar-weekday{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:600;letter-spacing:.4px;padding:10px 8px;text-align:center;text-transform:uppercase}.photos-calendar-grid{grid-gap:0;display:grid;gap:0;grid-template-columns:repeat(7,1fr)}.photos-calendar-day{background:var(--color-surface);border-bottom:1px solid var(--color-border-light);border-right:1px solid var(--color-border-light);cursor:pointer;min-height:68px;padding:8px;position:relative;transition:background .15s ease}.photos-calendar-day:nth-child(7n){border-right:none}.photos-calendar-day:hover{background:color-mix(in srgb,var(--color-secondary) 6%,#0000)}.photos-calendar-day.is-empty{background:var(--color-bg);cursor:default}.photos-calendar-day.is-empty:hover{background:var(--color-bg)}.photos-calendar-day-num{color:var(--color-text-dark);display:inline-flex;font-size:var(--text-sm);font-weight:600}.photos-calendar-day.has-photos .photos-calendar-day-num{color:var(--color-secondary)}.photos-calendar-photo-indicator{align-items:center;background:color-mix(in srgb,var(--color-secondary) 12%,#0000);border-radius:var(--radius-full);bottom:8px;color:var(--color-secondary);display:inline-flex;font-size:var(--text-xs);font-weight:600;gap:6px;padding:4px 8px;position:absolute;right:8px}.photos-calendar-photo-indicator svg{font-size:var(--text-xs)}.photos-list{display:flex;flex-direction:column;gap:10px}.photos-list-group{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);overflow:hidden}.photos-list-header{align-items:center;background:var(--color-bg);border:none;color:var(--color-text-dark);cursor:pointer;display:flex;font-family:var(--font-body);gap:12px;justify-content:space-between;padding:12px 14px;transition:background .2s ease;width:100%}.photos-list-header:hover{background:color-mix(in srgb,var(--color-secondary) 6%,#0000)}.photos-list-header-left{align-items:center;color:var(--color-text-light);display:inline-flex;gap:10px;letter-spacing:.05rem;text-transform:uppercase}.photos-list-header-left svg{color:var(--color-secondary)}.photos-list-header-label{color:var(--color-text-dark);font-size:var(--text-sm);font-weight:600}.photos-list-header-right{align-items:center;display:inline-flex;gap:10px}.photos-list-count{background:var(--color-secondary);border:none;border-radius:var(--radius-lg);color:var(--color-surface);font-size:var(--text-xs);padding:5px 7px}.photos-list-chevron{align-items:center;color:var(--color-text-muted);display:inline-flex;justify-content:center;transition:transform .2s ease}.photos-list-chevron.expanded{transform:rotate(180deg)}.photos-list-content{grid-gap:10px;background:var(--color-surface);display:grid;gap:10px;grid-template-columns:1fr;padding:12px}.photos-list-item{grid-gap:12px;display:grid;gap:12px;grid-template-columns:72px 1fr;text-align:left}.photos-list-item-wrapper:hover{border-color:var(--color-secondary);box-shadow:var(--shadow-sm)}.photos-list-thumb{background:var(--color-bg);border-radius:var(--radius-md);height:72px;object-fit:cover;width:72px}.photos-list-item-info{display:flex;flex-direction:column;gap:4px;min-width:0}.photos-list-item-name{color:var(--color-text-dark);font-size:var(--text-sm);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photos-list-item-date{color:var(--color-text-muted);font-size:var(--text-xs)}.photos-gallery{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(4,1fr)}.photos-gallery-thumb{aspect-ratio:1/1;background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-md);cursor:pointer;overflow:hidden;padding:0;transition:all .2s ease;width:100%}.photos-gallery-thumb:hover{border-color:var(--color-secondary);box-shadow:var(--shadow-md)}.photos-gallery-thumb img{height:100%;object-fit:cover;width:100%}.photos-day-modal{background:var(--color-surface);border-radius:var(--radius-lg);display:flex;flex-direction:column;max-height:90vh;max-width:1000px;overflow:hidden;width:100%}.photos-day-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr);overflow:auto;padding:16px}.photos-day-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);cursor:pointer;overflow:hidden;padding:0;text-align:left;transition:all .2s ease}.photos-day-card:hover{border-color:var(--color-secondary);box-shadow:var(--shadow-md)}.photos-day-card img{background:var(--color-bg);height:180px;object-fit:cover;width:100%}.photos-day-info{display:flex;flex-direction:column;gap:4px;padding:10px 12px}.photos-day-name{color:var(--color-text-dark);font-size:var(--text-sm);font-weight:600}.photos-day-phase{color:var(--color-text-muted);font-size:var(--text-xs)}.photos-lightbox{background:var(--color-surface);border-radius:var(--radius-lg);display:flex;flex-direction:column;max-height:90vh;max-width:1100px;overflow:hidden;position:relative;width:100%}.photos-lightbox-close{align-items:center;background:#0000008c;border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:inline-flex;height:38px;justify-content:center;position:absolute;right:12px;top:12px;width:38px;z-index:2}.photos-lightbox-close:hover{background:var(--status-danger)}.photos-lightbox-nav{align-items:center;background:#0000008c;border:none;border-radius:var(--radius-full);color:#fff;cursor:pointer;display:inline-flex;height:44px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);width:44px;z-index:2}.photos-lightbox-nav.prev{left:12px}.photos-lightbox-nav.next{right:12px}.photos-lightbox-image{background:#1a1a1a;height:min(70vh,650px);object-fit:contain;width:100%}.photos-lightbox-info{flex-direction:column;overflow:auto}.photos-lightbox-title-wrapper{align-items:center;display:flex;flex-direction:row;justify-content:space-between;margin-top:10px;width:100%}.photos-lightbox-title{color:var(--color-text-dark);font-family:var(--font-heading);font-size:var(--text-base);font-weight:600;letter-spacing:.025rem}.photos-lightbox-phase{background:color-mix(in srgb,var(--color-secondary) 10%,#0000);border-radius:var(--radius-full);color:var(--color-secondary);font-size:var(--text-sm);font-weight:600;padding:2px 12px}.photos-lightbox-meta{align-items:center;color:var(--color-text-muted);display:inline-flex;flex-wrap:nowrap;font-size:var(--text-sm);gap:10px;margin:0}.photos-lightbox-date{align-items:center;display:inline-flex;font-weight:500}.photos-lightbox-counter{align-items:center;display:inline-flex;gap:10px}.photos-lightbox-counter svg{height:.3rem;width:.3rem}@media (max-width:600px){.photos-gallery{grid-template-columns:repeat(3,1fr)}.photos-day-grid{grid-template-columns:1fr}.photos-calendar-day{min-height:58px;padding:6px}}@media (min-width:900px){.photos-list-content{grid-template-columns:repeat(2,1fr)}.photos-gallery{grid-template-columns:repeat(6,1fr)}}.photos-gallery-item{position:relative}.photos-gallery-actions{display:flex;gap:6px;opacity:0;position:absolute;right:8px;top:8px;transition:opacity .2s ease}.photos-gallery-item:hover .photos-gallery-actions{opacity:1}.photos-list-item-wrapper{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);cursor:pointer;padding:10px;position:relative;transition:all .2s ease}.photos-list-item-actions{display:flex;gap:6px;opacity:0;position:absolute;right:8px;top:8px;transition:opacity .2s ease}.photos-list-item-wrapper:hover .photos-list-item-actions{opacity:1}.photos-action-btn{align-items:center;background:var(--color-surface);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-xs);color:var(--color-text-light);cursor:pointer;display:flex;font-size:var(--text-sm);height:36px;justify-content:center;transition:all .2s ease;width:36px}.photos-action-btn:hover{background:var(--color-secondary);color:var(--color-surface);transform:scale(1.1)}.photos-action-btn-delete:hover{background:var(--status-danger)}@media (max-width:768px){.photos-list-item-actions{opacity:1}}.photos-lightbox-actions{border-bottom:1px solid var(--color-border-light);display:flex;flex-shrink:0;flex-wrap:wrap;gap:8px;justify-content:center;padding-bottom:10px;width:100%}.photos-lightbox-action-btn{align-items:center;background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text-light);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;gap:6px;padding:8px 14px;transition:all .2s ease;white-space:nowrap}.photos-lightbox-action-btn:hover{border-color:var(--color-secondary);color:var(--color-secondary)}.photos-lightbox-delete-btn:hover{background:var(--status-danger);border-color:var(--status-danger);color:var(--color-surface)}.photos-lightbox-info{align-items:flex-start;background:var(--color-surface);border-top:1px solid var(--color-border-light);display:flex;justify-content:space-between;padding:15px 30px}@media (max-width:768px){.photos-lightbox-info{flex-direction:column}.photos-lightbox-actions{width:100%}.photos-lightbox-action-btn{flex:1 1;justify-content:center}}@media (max-width:480px){.photos-gallery-actions{display:none}.photos-action-btn{font-size:var(--text-xs);height:32px;width:32px}.photos-lightbox-action-btn{font-size:var(--text-xs);padding:6px 10px}}.scum-modal-overlay{align-items:center;animation:scumFadeIn .2s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000;z-index:var(--z-modal,1000)}@keyframes scumFadeIn{0%{opacity:0}to{opacity:1}}.scum-modal{animation:scumSlideUp .3s ease;background:var(--color-surface);border-radius:16px;border-radius:var(--radius-lg,16px);box-shadow:var(--shadow-modal);display:flex;flex-direction:column;max-height:85vh;max-width:500px;overflow:hidden;width:100%}@keyframes scumSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.scum-modal-header{align-items:center;background:var(--color-bg);border-bottom:1px solid var(--color-border-light);display:flex;flex-shrink:0;justify-content:space-between;padding:20px 24px}.scum-modal-header-left{align-items:center;display:flex;flex:1 1;gap:10px;min-width:0}.scum-modal-header-icon{align-items:center;background:color-mix(in srgb,var(--color-secondary) 10%,#0000);border-radius:var(--radius-md);color:var(--color-secondary);display:flex;flex-shrink:0;font-size:var(--text-base);height:36px;justify-content:center;width:36px}.scum-modal-header h3{color:var(--color-text-dark);font-family:Besley,Georgia,serif;font-family:var(--font-heading,"Besley",Georgia,serif);font-size:var(--text-xl);font-weight:600;margin:0}.scum-modal-close{align-items:center;background:var(--color-bg-dk);border:none;border-radius:50%;border-radius:var(--radius-full,50%);color:var(--color-text-muted);cursor:pointer;display:flex;flex-shrink:0;font-size:var(--icon-sm);height:36px;justify-content:center;padding:8px;transition:all .2s ease;width:36px}.scum-modal-close:hover:not(:disabled){background:var(--bg-status-danger);color:var(--status-danger)}.scum-modal-close:disabled{cursor:not-allowed;opacity:.5}.scum-modal-body{flex:1 1;overflow-y:auto;padding:var(--space-lg)}.scum-field-group{margin-bottom:20px}.scum-label{align-items:center;color:var(--color-text-dark);display:flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;gap:var(--space-sm);margin-bottom:var(--space-sm)}.scum-label svg{color:var(--color-text-muted);font-size:var(--text-sm)}.scum-select{background:var(--color-surface);border:2px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text-dark);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);padding:12px 14px;transition:all .2s ease;width:100%}.scum-select:focus{border-color:var(--color-secondary);box-shadow:var(--shadow-focus);outline:none}.scum-select:disabled{background:var(--color-bg);cursor:not-allowed;opacity:.6}.scum-dropzone{background:var(--color-bg);border:2px dashed var(--color-border-dark);border-radius:var(--radius-lg);cursor:pointer;position:relative;transition:all .3s ease}.scum-dropzone:hover:not(.disabled){background:color-mix(in srgb,var(--color-secondary) 5%,#0000);border-color:var(--color-secondary)}.scum-dropzone.dragging{background:color-mix(in srgb,var(--color-secondary) 10%,#0000);border-color:var(--color-secondary);border-style:solid;transform:scale(1.01)}.scum-dropzone.disabled{cursor:not-allowed;opacity:.6}.scum-file-input{cursor:pointer;height:100%;left:0;opacity:0;position:absolute;top:0;width:100%}.scum-dropzone-content{align-items:center;cursor:pointer;display:flex;flex-direction:column;justify-content:center;padding:var(--space-lg);text-align:center}.scum-dropzone-icon{color:var(--color-secondary);font-size:var(--icon-2xx);margin-bottom:var(--space-sm);opacity:.8}.scum-dropzone-text{color:var(--color-text-dark);font-weight:500;margin:0 0 4px}.scum-dropzone-hint,.scum-dropzone-text{font-family:var(--font-body);font-size:var(--text-sm)}.scum-dropzone-hint{color:var(--color-text-muted);margin:0}.scum-files{display:flex;flex-direction:column;gap:6px;margin-top:10px}.scum-file{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);display:flex;gap:8px;padding:8px 10px}.scum-file svg{color:var(--color-secondary);flex-shrink:0;font-size:var(--text-sm)}.scum-file-name{color:var(--color-text-dark);flex:1 1;font-family:var(--font-body);font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scum-file-size{font-family:var(--font-body);font-size:var(--text-xs)}.scum-file-remove,.scum-file-size{color:var(--color-text-muted);flex-shrink:0}.scum-file-remove{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;height:20px;justify-content:center;transition:color .2s ease;width:20px}.scum-file-remove:hover{color:var(--status-danger)}.scum-progress{background:var(--color-bg);border-radius:var(--radius-md);margin-top:20px;padding:16px}.scum-progress-bar{background:var(--color-border-light);border-radius:var(--radius-full);height:8px;overflow:hidden}.scum-progress-fill{background:linear-gradient(135deg,var(--status-success) 0,var(--status-success) 100%);border-radius:var(--radius-full);height:100%;transition:width .3s ease}.scum-progress-text{align-items:center;color:var(--color-text-dark);display:flex;font-family:var(--font-body);font-size:var(--text-sm);gap:8px;margin:10px 0 0}.scum-progress-file{color:var(--color-text-muted);font-size:var(--text-xs);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scum-spinner{animation:scumSpin 1s linear infinite}@keyframes scumSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.scum-error{align-items:center;background:color-mix(in srgb,var(--status-danger) 10%,#0000);border:1px solid var(--status-danger);border-radius:var(--radius-md);color:var(--status-danger);display:flex;font-family:var(--font-body);font-size:var(--text-sm);gap:8px;margin-top:16px;padding:12px 16px}.scum-error svg{flex-shrink:0}.scum-modal-footer{align-items:center;background:var(--color-bg);border-top:1px solid var(--color-border-light);display:flex;flex-shrink:0;gap:12px;justify-content:flex-end;padding:16px 24px}.scum-cancel-btn{background:#0000;border:2px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;padding:10px 20px;transition:all .2s ease}.scum-cancel-btn:hover:not(:disabled){border-color:var(--color-text-muted);color:var(--color-text-dark)}.scum-cancel-btn:disabled{cursor:not-allowed;opacity:.5}.scum-upload-btn{align-items:center;background:var(--color-secondary);border:none;border-radius:var(--radius-md);color:var(--color-surface);cursor:pointer;display:flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;gap:8px;padding:10px 20px;transition:all .2s ease}.scum-upload-btn:hover:not(:disabled){background:var(--color-primary);box-shadow:var(--shadow-btn);transform:translateY(-1px)}.scum-upload-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}@media (max-width:640px){.scum-modal-overlay{align-items:flex-end;padding:0}.scum-modal{border-radius:16px 16px 0 0;border-radius:var(--radius-lg,16px) var(--radius-lg,16px) 0 0;max-height:100%;max-width:100%}.scum-modal-body{padding:16px}.scum-modal-footer{flex-direction:column;padding:12px 16px}.scum-cancel-btn,.scum-upload-btn{justify-content:center;width:100%}.scum-cancel-btn{order:2}.scum-upload-btn{order:1}}.file-upload-container{display:flex;flex-direction:column;gap:12px;width:100%}.file-upload-dropzone{align-items:center;background:var(--color-bg);border:2px dashed var(--color-border-dark);border-radius:var(--radius-lg);cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:160px;padding:32px 24px;position:relative;transition:all .3s ease}.file-upload-dropzone:hover:not(.disabled):not(.full){background:var(--color-bg-dk);border-color:var(--color-secondary)}.file-upload-dropzone:focus{border-color:var(--color-secondary);outline:none}.file-upload-dropzone.dragging{background:color-mix(in srgb,var(--color-secondary) 8%,#0000);border-color:var(--color-secondary);border-style:solid;transform:scale(1.01)}.file-upload-dropzone.disabled{background:var(--color-bg);cursor:not-allowed;opacity:.6}.file-upload-dropzone.full{background:#4a5f4f0d;border-color:var(--status-success);border-style:solid;cursor:default;opacity:.7}.file-upload-input{height:0;opacity:0;overflow:hidden;position:absolute;width:0}.file-upload-content{align-items:center;display:flex;flex-direction:column;gap:12px;text-align:center}.file-upload-icon{align-items:center;background:color-mix(in srgb,var(--color-secondary) 10%,#0000);border-radius:50%;color:var(--color-secondary);display:flex;font-size:var(--text-2xl);height:56px;justify-content:center;transition:all .3s ease;width:56px}.file-upload-dropzone:hover:not(.disabled):not(.full) .file-upload-icon{background:color-mix(in srgb,var(--color-secondary) 15%,#0000);transform:translateY(-2px)}.file-upload-dropzone.dragging .file-upload-icon{background:var(--color-secondary);color:#fff;transform:scale(1.1)}.file-upload-text{display:flex;flex-direction:column;gap:4px}.file-upload-label{color:var(--color-text-dark);font-family:var(--font-body);font-size:var(--text-base);font-weight:600}.file-upload-hint{color:var(--color-text-muted);max-width:280px}.file-upload-camera-btn,.file-upload-hint{font-family:var(--font-body);font-size:var(--text-sm)}.file-upload-camera-btn{align-items:center;background:var(--color-surface);border:2px solid var(--color-border-dark);border-radius:var(--radius-md);color:var(--color-text-light);cursor:pointer;display:none;font-weight:500;gap:8px;margin-top:8px;padding:10px 20px;transition:all .2s ease}.file-upload-camera-btn:hover{border-color:var(--color-secondary);color:var(--color-secondary)}.file-upload-progress-list{display:flex;flex-direction:column;gap:8px}.file-upload-progress-item{animation:fadeIn .3s ease;background:var(--color-surface);border:1px solid var(--color-border-medium);border-radius:var(--radius-md);padding:12px 16px}.file-upload-progress-item.error{background:color-mix(in srgb,var(--status-danger) 5%,#0000);border-color:color-mix(in srgb,var(--status-danger) 30%,#0000)}.file-upload-progress-item.complete{background:#4a5f4f0d;border-color:#4a5f4f4d}.file-upload-progress-content{align-items:center;display:flex;gap:12px}.file-upload-progress-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:var(--text-sm);height:32px;justify-content:center;width:32px}.file-upload-progress-icon.uploading{background:color-mix(in srgb,var(--color-secondary) 15%,#0000);color:var(--color-secondary)}.file-upload-progress-icon.success{background:color-mix(in srgb,var(--status-success) 15%,#0000);color:var(--status-success)}.file-upload-progress-icon.error{background:color-mix(in srgb,var(--status-danger) 15%,#0000);color:var(--status-danger)}.file-upload-progress-icon .spinning{animation:spin 1s linear infinite}.file-upload-progress-info{display:flex;flex:1 1;flex-direction:column;gap:6px;min-width:0}.file-upload-progress-name{color:var(--color-text-dark);font-size:var(--text-base);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-upload-progress-error{color:var(--status-danger);font-size:var(--text-sm)}.file-upload-progress-bar-container{background:var(--color-border-medium);border-radius:var(--radius-sm);height:6px;overflow:hidden}.file-upload-progress-bar{background:linear-gradient(90deg,var(--status-success) 0,var(--status-success) 100%);border-radius:var(--radius-sm);height:100%;transition:width .2s ease}.file-upload-progress-dismiss{align-items:center;background:#0000;border:none;border-radius:50%;color:var(--color-text-muted);cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;transition:all .2s ease;width:28px}.file-upload-progress-dismiss:hover{background:#0000000d;color:var(--color-text-base)}.file-upload-preview-list{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.file-upload-preview{animation:fadeIn .3s ease;display:flex;flex-direction:column;gap:8px}.file-upload-preview-content{aspect-ratio:1;background:var(--color-bg);border:1px solid var(--color-border-medium);border-radius:var(--radius-md);overflow:hidden;position:relative}.file-upload-preview-image{height:100%;object-fit:cover;width:100%}.file-upload-preview-generic,.file-upload-preview-pdf{align-items:center;background:var(--color-bg);display:flex;height:100%;justify-content:center;width:100%}.file-upload-preview-pdf svg{color:var(--status-danger);font-size:var(--icon-2x)}.file-upload-preview-generic svg{color:var(--color-text-muted);font-size:var(--icon-2x)}.file-upload-preview-remove{align-items:center;background:#0009;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:var(--text-xxs);height:24px;justify-content:center;opacity:0;position:absolute;right:6px;top:6px;transition:all .2s ease;width:24px}.file-upload-preview-content:hover .file-upload-preview-remove{opacity:1}.file-upload-preview-remove:hover{background:var(--status-danger);transform:scale(1.1)}.file-upload-preview-info{display:flex;flex-direction:column;gap:2px;padding:0 4px}.file-upload-preview-name{color:var(--color-text-dark);font-size:var(--text-sm);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-upload-preview-size{color:var(--color-text-muted);font-size:var(--text-xs)}.file-upload-count{color:var(--color-text-muted);font-size:var(--text-sm);text-align:right}@media (max-width:768px){.file-upload-dropzone{min-height:140px;padding:24px 20px}.file-upload-camera-btn{display:flex}.file-upload-preview-list{gap:10px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.file-upload-preview-remove{opacity:1}}@media (max-width:480px){.file-upload-dropzone{min-height:120px;padding:20px 16px}.file-upload-icon{font-size:var(--text-xl);height:48px;width:48px}.file-upload-label{font-size:var(--text-base)}.file-upload-hint{font-size:var(--text-sm)}.file-upload-preview-list{grid-template-columns:repeat(3,1fr)}.file-upload-preview-generic svg,.file-upload-preview-pdf svg{font-size:var(--icon-xl)}}.info-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:10px;position:fixed;right:0;top:0;z-index:var(--z-modal)}.info-modal-content{background:var(--color-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);max-width:500px;padding:30px;position:relative;width:100%}.info-modal-close{align-items:center;background:var(--color-bg-dk);border:none;border-radius:50%;border-radius:var(--radius-full,50%);color:var(--color-text-muted);cursor:pointer;display:flex;flex-shrink:0;font-size:var(--icon-sm);height:36px;justify-content:center;padding:8px;transition:all .2s ease;width:36px}.info-modal-close:hover{background:var(--bg-status-danger);color:var(--status-danger)}.info-modal-header{align-items:top;border-bottom:1px solid var(--color-border-light);display:flex;flex-direction:row;gap:8px;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.info-modal-header-left{align-items:center;display:flex;gap:8px;justify-content:flex-start}.info-modal-icon{align-items:center;color:var(--color-secondary);display:flex;font-size:var(--text-2xl);height:48px;justify-content:center;width:48px}.info-modal-title{color:var(--color-text-dark);font-family:var(--font-heading);font-size:var(--text-lg);font-weight:600}.info-modal-body{color:var(--color-text-light);line-height:1.6}.info-message,.info-modal-body{font-family:var(--font-body);font-size:var(--text-base)}.info-message{margin-bottom:16px;text-align:center}.info-message ul{font-size:var(--text-sm);list-style-type:circle;margin-left:20px;margin-top:8px;padding-left:20px;text-align:left!important}.info-message svg{font-size:var(--text-xs)}.info-btn-close-container{display:flex;justify-content:center}.info-btn-close{align-items:center;background:var(--color-bg);border:1px solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-light);cursor:pointer;display:flex;font-family:var(--font-body);font-size:var(--text-base);font-weight:500;margin-top:16px;padding:10px 24px;transition:all var(--transition-fast)}.info-btn-close svg{margin-right:5px}.info-btn-close:hover{background:var(--color-secondary);color:var(--color-surface)}@media print{.admin-navbar,.admin-portal-footer,.admin-project-detail,.client-footer,.client-navbar,.client-selections,.desktop-footer,.footer,.hs-selections-container,.mobile-footer-signout,.navbar,.navbar-desktop-footer,.navbar-mobile-bottom,.navbar-mobile-top,.version-footer,footer,nav{border:none!important;height:0!important;margin:0!important;max-height:0!important;min-height:0!important;overflow:hidden!important;padding:0!important}.sp-print-layout-wrapper{background:#fff;display:block!important;height:auto!important;left:0;margin:0!important;max-height:none!important;min-height:auto!important;overflow:visible!important;padding:0!important;position:absolute;top:0;width:100%;z-index:99999}.sp-print-layout-wrapper *{visibility:visible!important}body,html{background:#fff!important;height:auto!important;margin:0!important;overflow:visible!important;padding:0!important}@page{size:letter;margin:.6in .75in 1in .75in}body{color:var(--color-text-dark);font-family:Work Sans,Helvetica Neue,Arial,sans-serif;font-size:11pt;line-height:1.4;-webkit-print-color-adjust:exact;print-color-adjust:exact}.sp-print-header{border-bottom:2pt solid var(--color-border-medium);margin-bottom:24pt;padding-bottom:12pt;text-align:center}.sp-print-header h1{color:var(--color-text-dark);font-family:Besley,Georgia,serif;font-size:20pt;margin:0 0 4pt}.sp-print-header p{color:var(--color-text-base);font-size:10pt;margin:0}.sp-print-section{margin-bottom:16pt;page-break-inside:avoid}.sp-print-section-title{border-bottom:1pt solid var(--color-border-light);color:var(--color-primary);font-family:Besley,Georgia,serif;font-size:13pt;font-weight:600;margin:0 0 8pt;padding-bottom:4pt}.sp-print-fields{grid-gap:4pt 24pt;display:grid;gap:4pt 24pt;grid-template-columns:1fr 1fr}.sp-print-field{align-items:baseline;border-bottom:.5pt dotted var(--color-border-light);display:flex;justify-content:space-between;padding:3pt 0}.sp-print-field-label{color:var(--color-text-dark);flex-shrink:0;font-size:10pt;font-weight:500;margin-right:8pt}.sp-print-field-value{color:var(--color-text-base);font-size:10pt;text-align:right}.sp-print-field-value.sp-pending{color:var(--status-danger);font-style:italic;font-weight:500}.sp-print-paint{page-break-before:always}.sp-print-paint-title{border-bottom:2pt solid var(--color-border-medium);color:var(--color-text-dark);font-family:Besley,Georgia,serif;font-size:16pt;margin:0 0 16pt;padding-bottom:8pt;text-align:center}.sp-print-paint-table{border-collapse:collapse;font-size:9.5pt;width:100%}.sp-print-paint-table thead{background-color:var(--color-border-light)!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.sp-print-paint-table th{border-bottom:1.5pt solid var(--color-border-medium);color:var(--color-text-dark);font-size:9pt;font-weight:600;letter-spacing:.03em;padding:6pt 8pt;text-align:left;text-transform:uppercase}.sp-print-paint-table td{border-bottom:.5pt solid var(--color-border-medium);color:var(--color-text-dark);padding:5pt 8pt;vertical-align:top}.sp-print-paint-table tr:nth-child(2n){background-color:#faf7f3!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.sp-page-footer{align-items:flex-end;background:#fff;border-top:1pt solid var(--color-border-medium);bottom:0;color:var(--color-text-dark);display:flex!important;font-family:Work Sans,Helvetica Neue,Arial,sans-serif;font-size:9pt;justify-content:space-between;left:0;padding:8pt 0 0;position:fixed;right:0}.sp-signature-line{align-items:baseline;display:flex;gap:6pt}.sp-sig-label{font-size:9pt;font-weight:600;white-space:nowrap}.sp-sig-blank{border-bottom:1pt solid var(--color-border-dark);display:inline-block;height:1pt;width:150pt}}.sp-page-footer,.sp-print-layout-wrapper{display:none}.sp-actions-bar{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:16px}.sp-download-btn,.sp-print-btn{align-items:center;border:1.5px solid var(--color-secondary);border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:Work Sans,sans-serif;font-family:var(--font-body,"Work Sans",sans-serif);font-size:var(--text-sm);font-weight:500;gap:6px;padding:8px 16px;transition:all .2s ease;white-space:nowrap}.sp-print-btn{background:#0000;color:var(--color-secondary)}.sp-download-btn,.sp-print-btn:hover{background:var(--color-secondary);color:#fff}.sp-download-btn{border-color:var(--color-secondary)}.sp-download-btn:hover{background:var(--color-primary);border-color:var(--color-primary)}.sp-download-btn svg,.sp-print-btn svg{font-size:var(--text-base)}@media (max-width:480px){.sp-actions-bar{justify-content:stretch;width:100%}.sp-download-btn,.sp-print-btn{flex:1 1;font-size:var(--text-sm);justify-content:center;padding:10px 12px}}.apd-selection-tabs{border-bottom:1px solid var(--color-border-light);display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:20px;width:100%}.apd-selection-tab{align-items:stretch;background:var(--color-bg);border:1px solid #0000;border-radius:var(--radius-md) var(--radius-md) 0 0;color:var(--color-text-light);cursor:pointer;display:flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;gap:8px;justify-content:center;padding:10px 16px;transition:all .2s ease;width:calc(25% - 6px)}.apd-selection-tab:hover{background:color-mix(in srgb,var(--color-secondary) 5%,#0000)}.apd-selection-tab.active{background:color-mix(in srgb,var(--color-secondary) 10%,#0000);border-color:var(--color-secondary);color:var(--color-secondary)}.apd-selection-tab svg{font-size:var(--text-sm)}.hs-overview-container{display:flex;flex-direction:column;gap:16px}.hs-subsection{background:var(--color-bg);border-radius:var(--radius-md);padding:20px}.hs-subsection-title{align-items:center;color:var(--color-text-dark);display:flex;font-family:var(--font-heading);font-size:var(--text-lg);font-weight:600;gap:8px;margin:0}.hs-subsection-title svg{color:var(--color-secondary);font-size:var(--text-base)}.hs-subsection-header{align-items:center;border-bottom:2px solid color-mix(in srgb,var(--color-secondary) 20%,#0000);display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.hs-fields-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr}@media (min-width:768px){.hs-fields-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1200px){.hs-fields-grid{grid-template-columns:repeat(3,1fr)}}.hs-selection-field{background:color-mix(in srgb,var(--color-bg-dk) 50%,#0000);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:4px;padding:12px;transition:background .2s ease}.hs-selection-field:hover{background:color-mix(in srgb,var(--color-bg-dk) 75%,#0000)}.hs-field-label{color:var(--color-text-light);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:.5px;text-transform:uppercase}.hs-field-value{color:var(--color-text-dark);font-family:var(--font-body);font-size:var(--text-base);font-weight:500}.hs-field-value.needs-selection{align-items:center;color:var(--status-danger);display:flex;font-weight:600;gap:4px}.apd-paint-tab{display:flex;flex-direction:column;gap:16px}.apd-paint-list{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.apd-paint-row{align-items:flex-start;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);display:flex;gap:12px;justify-content:space-between;padding:14px}.apd-paint-details{flex:1 1;min-width:0}.apd-paint-name{color:var(--color-text-dark);font-family:var(--font-body);font-size:var(--text-base);font-weight:600}.apd-paint-code{color:var(--color-text-muted)}.apd-paint-code,.apd-paint-meta{font-family:var(--font-body);font-size:var(--text-sm)}.apd-paint-meta{color:var(--color-text-light);display:flex;flex-direction:column;gap:.1rem}.apd-paint-meta strong,.apd-paint-notes{color:var(--color-text-muted)}.apd-paint-notes{font-family:var(--font-body);font-size:var(--text-xs);font-style:italic;margin:8px 0 0}.apd-paint-swatch{border-radius:var(--radius-sm);box-shadow:var(--shadow-xs);flex-shrink:0;height:50px;overflow:hidden;width:50px}.apd-paint-swatch img{height:100%;object-fit:cover;width:100%}.apd-purchases-tab{display:flex;flex-direction:column;gap:16px}.apd-purchases-list{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.apd-purchase-row{background:var(--color-bg);border-radius:var(--radius-md);display:flex;flex-direction:row-reverse;gap:12px;padding:14px}.apd-purchase-image{border-radius:var(--radius-sm);cursor:pointer;flex-shrink:0;height:70px;overflow:hidden;width:70px}.apd-purchase-image img{height:100%;object-fit:cover;width:100%}.apd-purchase-details{flex:1 1;min-width:0}.apd-purchase-header{align-items:baseline;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:8px}.apd-purchase-name{color:var(--color-text-dark);font-family:var(--font-body);font-size:var(--text-base);font-weight:600}.apd-purchase-link{align-items:center;color:var(--color-secondary);display:inline-flex;font-family:var(--font-body);font-size:var(--text-sm);gap:5px;text-decoration:none}.apd-purchase-link:hover{text-decoration:underline}.apd-purchase-meta{border-bottom:1px solid var(--color-border-light);color:var(--color-text-light);display:flex;flex-direction:column;font-family:var(--font-body);font-size:var(--text-sm);gap:.1rem;padding-bottom:5px}.apd-purchase-meta strong,.apd-purchase-notes{color:var(--color-text-muted)}.apd-purchase-notes{font-family:var(--font-body);font-size:var(--text-xs);font-style:italic;margin:8px 0 0}.apd-documents-tab{display:flex;flex-direction:column;gap:16px}.apd-documents-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr}.apd-document-category{background:var(--color-bg);border-radius:var(--radius-md);overflow:visible}.apd-document-category-header{align-items:center;background:color-mix(in srgb,var(--color-secondary) 5%,#0000);display:flex;justify-content:space-between;padding:12px 14px}.apd-document-category-header h4{color:var(--color-text-dark);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;margin:0}.apd-category-upload-btn{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:flex;font-size:var(--text-xs);height:26px;justify-content:center;transition:all .2s ease;width:26px}.apd-category-upload-btn:hover{border-color:var(--color-secondary);color:var(--color-secondary)}.apd-document-list{display:flex;flex-direction:column;gap:6px;padding:10px 14px}.apd-document-item{align-items:center;background:var(--color-surface);border-radius:var(--radius-sm);display:flex;gap:6px;padding:4px 6px 4px 10px;transition:all .2s ease}.apd-document-item:hover{background:color-mix(in srgb,var(--color-secondary) 5%,#0000)}.apd-document-item-main{align-items:center;cursor:pointer;display:flex;flex:1 1;gap:10px;min-width:0;padding:4px 0}.apd-document-item-main svg{color:var(--color-secondary);flex-shrink:0}.apd-document-item-main span{color:var(--color-text-dark);font-family:var(--font-body);font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.apd-document-delete-btn{flex-shrink:0;height:26px;opacity:0;transition:opacity .2s ease,color .2s ease,background .2s ease,border-color .2s ease;width:26px}.apd-document-delete-btn:focus-visible,.apd-document-item:hover .apd-document-delete-btn{opacity:1}.apd-no-docs{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-sm);font-style:italic;margin:0;padding:10px 14px}.hs-tab-content{margin-top:20px}.hs-export-dropdown{position:relative}.hs-export-backdrop{bottom:0;left:0;position:fixed;right:0;top:0;z-index:99}.hs-export-menu{background:var(--color-surface);border:1px solid var(--color-border-medium);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:210px;overflow:hidden;position:absolute;right:0;top:calc(100% + 6px);z-index:var(--z-dropdown)}.hs-export-menu button{align-items:center;background:none;border:none;color:var(--color-text-dark);cursor:pointer;display:flex;font-family:Work Sans,sans-serif;font-family:var(--font-body,"Work Sans",sans-serif);font-size:var(--text-sm);gap:8px;padding:10px 16px;text-align:left;transition:background .15s ease;width:100%}.hs-export-menu button:hover{background:var(--color-bg)}.hs-export-menu button:first-child{border-bottom:1px solid var(--color-border-medium)}.hs-export-menu button svg{color:var(--color-secondary);flex-shrink:0;font-size:var(--text-sm)}@media (min-width:900px){.apd-documents-grid{grid-template-columns:repeat(2,1fr)}}.apd-documents-grid{grid-template-columns:repeat(2,1fr)}@media (max-width:576px){.hs-subsection{padding:16px}.apd-documents-grid{grid-template-columns:1fr}}.hs-spec-house-badge{background:color-mix(in srgb,var(--type-spec) 10%,#0000);border:1px solid color-mix(in srgb,var(--type-spec) 30%,#0000);border-radius:var(--radius-sm);color:var(--type-spec);font-weight:600;padding:8px 14px;text-align:center}.hs-edit-toggle-btn,.hs-spec-house-badge{font-family:var(--font-body);font-size:var(--text-sm)}.hs-edit-toggle-btn{align-items:center;background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);color:var(--color-text-light);cursor:pointer;display:inline-flex;font-weight:500;gap:6px;padding:6px 14px;transition:all .2s ease}.hs-edit-toggle-btn:hover{background:color-mix(in srgb,var(--color-secondary) 8%,#0000);border-color:var(--color-secondary);color:var(--color-secondary)}.hs-editing-indicator{color:var(--color-secondary);font-family:var(--font-body);font-size:var(--text-sm);font-style:italic;font-weight:500}.hs-edit-field{background:#fff9;border:1px solid var(--color-border-light);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:6px;padding:10px 12px;transition:border-color .2s ease}.hs-edit-field:focus-within{border-color:var(--color-secondary)}.hs-edit-field-label{align-items:center;color:var(--color-text-muted);display:flex;font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;gap:6px;letter-spacing:.5px;text-transform:uppercase}.hs-edit-input{background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--color-text-dark);font-family:var(--font-body);font-size:var(--text-base);padding:8px 10px;transition:border-color .2s ease;width:100%}.hs-edit-input:focus{border-color:var(--color-secondary);box-shadow:var(--shadow-focus);outline:none}.hs-edit-select{background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--color-text-dark);cursor:pointer;font-family:var(--font-body);font-size:var(--text-base);padding:8px 10px;transition:border-color .2s ease;width:100%}.hs-edit-select:focus{border-color:var(--color-secondary);box-shadow:var(--shadow-focus);outline:none}.hs-edit-checkbox-row{align-items:center;display:flex;gap:8px}.hs-edit-checkbox-row input[type=checkbox]{accent-color:var(--color-secondary);cursor:pointer;height:18px;width:18px}.hs-edit-checkbox-label{align-items:center;color:var(--color-text-dark);cursor:pointer;display:flex;font-family:var(--font-body);font-size:var(--text-base);gap:6px}.hs-edit-multi-select{display:flex;flex-wrap:wrap;gap:10px}.hs-edit-multi-option{align-items:center;display:flex;gap:6px}.hs-edit-multi-option input[type=checkbox]{accent-color:var(--color-secondary);cursor:pointer;height:16px;width:16px}.hs-edit-multi-option label{color:var(--color-text-dark);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm)}.hs-field-info-eye{color:var(--color-secondary);cursor:pointer;font-size:var(--text-sm);opacity:.7;transition:opacity .2s ease,transform .2s ease}.hs-field-info-eye:hover{opacity:1;transform:scale(1.15)}.hs-edit-actions{border-top:1px solid var(--color-border-light);display:flex;gap:10px;justify-content:flex-end;margin-top:16px;padding-top:12px}.hs-edit-cancel-btn{align-items:center;background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);color:var(--color-text-light);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;gap:6px;padding:8px 16px;transition:all .2s ease}.hs-edit-cancel-btn:hover{background:#0000000d}.hs-edit-cancel-btn:disabled{cursor:not-allowed;opacity:.5}.hs-edit-save-btn{align-items:center;background:var(--color-secondary);border:1px solid var(--color-secondary);border-radius:var(--radius-sm);color:#fff;cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;gap:6px;padding:8px 16px;transition:all .2s ease}.hs-edit-save-btn:hover{background:var(--status-success);border-color:var(--status-success)}.hs-edit-save-btn:disabled{cursor:not-allowed;opacity:.5}.hs-save-toast{align-items:center;animation:hs-toast-fade .3s ease;background:var(--status-success);border-radius:var(--radius-sm);color:#fff;display:flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;gap:8px;padding:10px 16px}.hs-save-toast.hs-save-error{background:var(--status-danger)}@keyframes hs-toast-fade{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.hs-view-options-content{display:flex;flex-wrap:wrap;gap:16px;width:100%}.hs-view-option-link{align-items:center;background:color-mix(in srgb,var(--color-secondary) 8%,#0000);border:1px solid color-mix(in srgb,var(--color-secondary) 20%,#0000);border-radius:var(--radius-sm);color:var(--color-secondary);display:flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;gap:8px;padding:10px 16px;text-decoration:none;transition:all .2s ease}.hs-view-option-link:hover{background:color-mix(in srgb,var(--color-secondary) 15%,#0000);border-color:var(--color-secondary)}.hs-view-option-image{flex-basis:calc(50% - 8px);flex-grow:1;flex-shrink:1;min-width:200px;text-align:center}.hs-view-option-image-label{color:var(--color-text-light);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;margin-bottom:8px}.hs-view-option-image img{border-radius:var(--radius-sm);cursor:zoom-in;max-height:300px;max-width:100%;transition:transform .2s ease}.hs-view-option-image img:hover{transform:scale(1.02)}.hs-tab-header-row{align-items:center;border-bottom:1px solid var(--color-border-light);display:flex;justify-content:space-between;margin-bottom:10px;min-height:36px;padding-bottom:10px}.hs-tab-header{align-content:center;color:var(--color-text-dark);font-family:var(--font-heading);font-size:var(--text-lg);font-weight:600;margin:0;min-height:36px}.apd-paint-row-actions{align-items:center;display:flex;flex-shrink:0;gap:10px}.hs-delete-btn{align-items:center;background:none;border:1px solid #0000;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:flex;font-size:var(--text-sm);height:30px;justify-content:center;transition:all .2s ease;width:30px}.hs-delete-btn:hover{background:var(--bg-status-danger);border-color:var(--status-danger);color:var(--status-danger)}@media (max-width:640px){.apd-selection-tab svg{font-size:var(--text-base)}.hs-subsection-header{align-items:center;flex-direction:row;gap:8px}.hs-edit-actions{flex-direction:column}.hs-edit-cancel-btn,.hs-edit-save-btn{justify-content:center;width:100%}.hs-tab-header-row{align-items:center;flex-direction:row;gap:10px;min-height:36px}}@media (max-width:400px){.apd-documents-grid{grid-template-columns:1fr}.apd-document-category,.apd-document-item,.apd-document-item-main{min-width:0}.apd-document-category-header{padding:10px 12px}.apd-document-list{padding:8px 10px}.apd-document-category-header h4{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.apd-co-summary{grid-gap:12px;background:var(--color-bg);border-radius:var(--radius-md);display:grid;gap:12px;grid-template-columns:repeat(1fr);margin-bottom:20px;padding:16px}.apd-co-summary-item{padding:8px;text-align:center}.apd-co-summary-value{color:var(--color-text-dark);display:block;font-family:var(--font-heading);font-size:var(--text-xl);font-weight:700}.apd-co-summary-value.approved{color:var(--status-success)}.apd-co-summary-value.pending{color:var(--color-secondary)}.apd-co-summary-value.cost{color:var(--status-danger)}.apd-co-summary-value.time{color:var(--type-custom)}.apd-co-summary-label{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.5px;text-transform:uppercase}.apd-co-list{display:flex;flex-direction:column;gap:12px}.apd-co-accordion{background:var(--color-bg);border-radius:var(--radius-md);overflow:hidden;transition:all .2s ease}.apd-co-accordion:hover{box-shadow:var(--shadow-sm)}.apd-co-accordion.expanded{box-shadow:var(--shadow-md);flex-grow:0}.apd-co-accordion-header{align-items:center;cursor:pointer;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:14px 16px;transition:background .2s ease}.apd-co-accordion-header:hover{background:color-mix(in srgb,var(--color-secondary) 3%,#0000)}.apd-co-header-left{align-items:center;display:flex;flex:1 1;gap:10px;min-width:0}.apd-co-number{background:color-mix(in srgb,var(--color-secondary) 10%,#0000);border-radius:var(--radius-sm);color:var(--color-secondary);flex-shrink:0;font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;padding:3px 8px}.apd-co-title{color:var(--color-text-dark);font-family:var(--font-body);font-size:var(--text-base);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.apd-co-header-right{align-items:center;display:flex;flex-shrink:0;gap:10px}.apd-co-header-impact{align-items:center;display:flex;gap:8px}.apd-co-cost{color:var(--color-text-dark);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600}.apd-co-cost.positive{color:var(--status-danger)}.apd-co-time{background:color-mix(in srgb,var(--type-custom) 10%,#0000);border-radius:var(--radius-sm);color:var(--type-custom);font-family:var(--font-body);font-size:var(--text-xs);padding:2px 6px}.apd-co-status{border:1px solid var(--color-border-light);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;padding:4px 10px;white-space:nowrap}.status-approved{border-color:var(--badge-success);color:var(--badge-success)}.status-submitted{border-color:var(--badge-neutral);color:var(--badge-neutral)}.status-denied{background-color:var(--badge-warning);color:var(--color-surface)}.status-completed{background-color:var(--status-success);color:var(--color-surface)}.apd-co-chevron{align-items:center;color:var(--color-text-muted);display:flex;height:24px;justify-content:center;transition:transform .2s ease;width:24px}.apd-co-chevron.expanded{transform:rotate(180deg)}.apd-co-accordion-content{animation:slideDown .2s ease;border-top:1px solid var(--color-border-light);margin-top:0;padding:16px}.apd-co-edit-btn-wrapper{border-top:1px solid var(--color-border-light);display:flex;justify-content:center;margin-top:16px;padding:16px 0 0}.apd-co-edit-btn{align-items:center;background:color-mix(in srgb,var(--color-secondary) 10%,#0000);border:1px solid var(--color-secondary);border-radius:var(--radius-md);color:var(--color-secondary);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;gap:6px;padding:8px 14px;transition:all .2s ease}.apd-co-edit-btn:hover{background:var(--color-secondary);color:var(--color-surface)}.apd-co-detail-section{margin-bottom:16px}.apd-co-detail-section h4{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.apd-co-detail-section p{word-wrap:break-word;color:var(--color-text-dark);font-family:var(--font-body);font-size:var(--text-sm);line-height:1.5;margin:0;overflow-wrap:break-word}.apd-co-details-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin-bottom:16px}.apd-co-detail-item{background:var(--color-surface);border-radius:var(--radius-sm);padding:10px 12px}.apd-co-detail-label{color:var(--color-text-muted);display:block;font-family:var(--font-body);font-size:var(--text-xs);margin-bottom:4px}.apd-co-detail-value{color:var(--color-text-dark);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500}.apd-co-detail-value.cost{color:var(--status-danger)}.apd-empty-message{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-base);padding:30px 20px;text-align:center}@media (max-width:768px){.apd-co-accordion-header{padding:12px}.apd-co-header-left{flex-wrap:wrap}.apd-co-title{flex:1 1 100%;margin-top:8px;white-space:normal}.apd-co-summary{grid-template-columns:repeat(6,1fr)}.apd-co-summary-item:nth-child(-n+3){grid-column:span 2}.apd-co-summary-item:nth-child(n+4){grid-column:span 3}.apd-co-header-impact{display:none}}.apd-co-chevron svg{transition:transform .2s ease}.apd-co-chevron.expanded svg{transform:rotate(180deg)}@media (max-width:576px){.hide-sm{display:none}}.apd-co-attachments-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.apd-co-attachments-row>.apd-co-detail-section{margin-bottom:0}.apd-co-file-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.apd-co-file-card{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:10px;text-align:center;transition:all .2s ease}.apd-co-file-card:hover{border-color:var(--color-secondary);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.apd-co-file-preview{align-items:center;aspect-ratio:1;background:var(--color-bg);display:flex;justify-content:center;overflow:hidden}.apd-co-file-preview,.apd-co-file-thumb{border-radius:var(--radius-sm);width:100%}.apd-co-file-thumb{height:100%;object-fit:cover}.apd-co-file-pdf-icon{color:var(--color-secondary);font-size:var(--icon-2xx)}.apd-co-file-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--color-text-dark);display:-webkit-box;font-family:var(--font-body);font-size:var(--text-xs);max-width:100%;overflow:hidden;text-overflow:ellipsis;word-break:break-word}.apd-co-file-card-wrapper{position:relative}.apd-co-file-delete-btn{align-items:center;background:#ffffffe6;border:1px solid #dc354533;border-radius:var(--radius-sm);color:var(--color-text-light);cursor:pointer;display:flex;font-size:var(--text-xs);justify-content:center;opacity:0;padding:4px;position:absolute;right:4px;top:4px;transition:all .2s ease;z-index:2}.apd-co-file-card-wrapper:hover .apd-co-file-delete-btn{opacity:1}.apd-co-file-delete-btn:hover{background:var(--status-danger);border-color:var(--status-danger);color:#fff}@media (max-width:768px){.apd-co-attachments-row{grid-template-columns:1fr}}@media (max-width:576px){.apd-co-file-grid{gap:8px;grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}.apd-co-file-card{padding:8px}.apd-co-file-pdf-icon{font-size:var(--icon-2x)}}.co-modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000;z-index:var(--z-modal,1000)}.co-modal{animation:slideUp .3s ease;background:var(--color-surface);border-radius:16px;border-radius:var(--radius-lg,16px);box-shadow:var(--shadow-modal);display:flex;flex-direction:column;max-height:90vh;max-width:680px;overflow:hidden;width:100%}.co-modal-header{align-items:center;background:var(--color-bg);border-bottom:1px solid var(--color-border-light);display:flex;flex-shrink:0;justify-content:space-between;padding:20px 24px}.co-modal-header-left{align-items:center;display:flex;flex:1 1;gap:10px;min-width:0}.co-modal-header-icon{align-items:center;background:color-mix(in srgb,var(--color-secondary) 10%,#0000);border-radius:var(--radius-md);color:var(--color-secondary);display:flex;flex-shrink:0;font-size:var(--text-base);height:36px;justify-content:center;width:36px}.co-modal-header h3{color:var(--color-text-dark);font-family:Besley,Georgia,serif;font-family:var(--font-heading,"Besley",Georgia,serif);font-size:var(--text-xl);font-weight:600;margin:0}.co-modal-close-btn{align-items:center;background:var(--color-bg-dk);border:none;border-radius:50%;border-radius:var(--radius-full,50%);color:var(--color-text-muted);cursor:pointer;display:flex;flex-shrink:0;font-size:var(--icon-sm);height:36px;justify-content:center;padding:8px;transition:all .2s ease;width:36px}.co-modal-close-btn:hover:not(:disabled){background:var(--bg-status-danger);color:var(--status-danger)}.co-modal-close-btn:disabled{cursor:not-allowed;opacity:.5}.co-modal-body{flex:1 1;overflow-y:auto;padding:var(--space-lg)}.co-modal-project-banner{align-items:center;background:color-mix(in srgb,var(--color-secondary) 8%,#0000);border:1px solid color-mix(in srgb,var(--color-secondary) 20%,#0000);border-radius:var(--radius-md);color:var(--color-text-dark);display:flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;justify-content:space-between;margin-bottom:var(--space-lg);padding:10px 16px}.co-modal-co-number{color:var(--color-secondary);font-size:var(--text-sm);font-weight:500}.co-modal-form-group{margin-bottom:var(--space-md)}.co-modal-label{align-items:center;color:var(--color-text-dark);display:flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;gap:var(--space-sm);margin-bottom:6px}.co-modal-label svg{color:var(--color-text-muted);font-size:var(--text-xs)}.co-modal-label .required{color:var(--status-danger)}.co-modal-input,.co-modal-select,.co-modal-textarea{background:var(--color-surface);border:2px solid var(--color-border-light);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text-dark);font-family:var(--font-body);font-size:var(--text-sm);padding:10px 14px;transition:all .2s ease;width:100%}.co-modal-input:hover:not(:disabled),.co-modal-select:hover:not(:disabled),.co-modal-textarea:hover:not(:disabled){border-color:var(--color-secondary)}.co-modal-input:focus,.co-modal-select:focus,.co-modal-textarea:focus{border-color:var(--color-secondary);box-shadow:var(--shadow-focus);outline:none}.co-modal-input:disabled,.co-modal-select:disabled,.co-modal-textarea:disabled{background:var(--color-bg-dk);cursor:not-allowed;opacity:.7}.co-modal-textarea{min-height:60px;resize:vertical}.co-modal-select{cursor:pointer}.co-modal-row{grid-gap:var(--space-md);display:grid;gap:var(--space-md);grid-template-columns:1fr 1fr;margin-bottom:var(--space-md)}.co-modal-row>.co-modal-form-group{margin-bottom:0}.co-modal-existing-docs{display:flex;flex-direction:column;gap:6px}.co-modal-existing-doc{align-items:center;background:#4a5f4f0d;border:1px solid #4a5f4f26;border-radius:var(--radius-sm);color:var(--color-text-dark);display:flex;font-family:var(--font-body);font-size:var(--text-sm);gap:8px;padding:8px 12px;text-decoration:none;transition:all .2s ease}.co-modal-existing-doc:hover{background:#4a5f4f1a;border-color:#4a5f4f4d}.co-modal-existing-doc svg{color:var(--status-danger);flex-shrink:0}.co-modal-existing-doc span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.co-modal-existing-doc-row{align-items:center;display:flex;gap:6px}.co-modal-existing-doc-row .co-modal-existing-doc{flex:1 1;min-width:0}.co-modal-existing-doc-delete{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--color-text-light);cursor:pointer;display:flex;flex-shrink:0;font-size:var(--text-xs);justify-content:center;padding:6px;transition:all .2s ease}.co-modal-existing-doc-delete:hover{background:var(--bg-status-danger);color:var(--status-danger)}.co-modal-existing-doc-delete:disabled{cursor:not-allowed;opacity:.4}.co-modal-files-row{align-items:start}.co-modal-files-row .co-modal-existing-docs{max-height:140px;overflow-y:auto}.co-modal-files-row .co-modal-dropzone-content{padding:var(--space-md)}.co-modal-files-row .co-modal-dropzone-icon{font-size:var(--icon-xl)}.co-modal-files-row .co-modal-dropzone-hint{font-size:var(--text-xs)}.co-modal-new-files{margin-top:var(--space-sm)}.co-modal-no-files{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-sm);font-style:italic;padding:8px 0}.co-modal-dropzone{background:var(--color-bg);border:2px dashed var(--color-border-dark);border-radius:var(--radius-lg);cursor:pointer;position:relative;transition:all .3s ease}.co-modal-dropzone:hover:not(.disabled){background:color-mix(in srgb,var(--color-secondary) 5%,#0000);border-color:var(--color-secondary)}.co-modal-dropzone.dragging{background:color-mix(in srgb,var(--color-secondary) 10%,#0000);border-color:var(--color-secondary);border-style:solid;transform:scale(1.01)}.co-modal-dropzone.disabled{cursor:not-allowed;opacity:.6}.co-modal-file-input{cursor:pointer;height:100%;left:0;opacity:0;position:absolute;top:0;width:100%}.co-modal-dropzone-content{align-items:center;cursor:pointer;display:flex;flex-direction:column;justify-content:center;padding:var(--space-lg);text-align:center}.co-modal-dropzone-icon{color:var(--color-secondary);font-size:var(--icon-2xx);margin-bottom:var(--space-sm);opacity:.8}.co-modal-dropzone-text{color:var(--color-text-dark);font-weight:500;margin:0 0 4px}.co-modal-dropzone-hint,.co-modal-dropzone-text{font-family:var(--font-body);font-size:var(--text-sm)}.co-modal-dropzone-hint{color:var(--color-text-muted);margin:0}.co-modal-files-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.co-modal-clear-all-btn{background:none;border:none;border-radius:var(--radius-sm);color:var(--status-danger);cursor:pointer;font-family:var(--font-body);font-size:var(--text-xs);padding:4px 8px;transition:all .2s ease}.co-modal-clear-all-btn:hover{background:color-mix(in srgb,var(--status-danger) 10%,#0000)}.co-modal-files-list{display:flex;flex-direction:column;gap:8px;max-height:160px;overflow-y:auto;padding-right:8px}.co-modal-files-list::-webkit-scrollbar{width:6px}.co-modal-files-list::-webkit-scrollbar-track{background:var(--color-surface-ltcontrast);border-radius:var(--radius-sm)}.co-modal-files-list::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:var(--radius-sm)}.co-modal-file-item{align-items:center;background:var(--color-bg);border:1px solid var(--color-surface-ltcontrast);border-radius:var(--radius-md);display:flex;gap:12px;padding:10px 12px;transition:all .2s ease}.co-modal-file-item.complete{background:var(--badge-success);border-color:color-mix(in srgb,var(--badge-success) 20%,#0000)}.co-modal-file-item.error{background:var(--badge-warning);border-color:color-mix(in srgb,var(--badge-warning) 20%,#0000)}.co-modal-file-icon{flex-shrink:0;font-size:var(--text-xl)}.co-modal-file-icon.pdf{color:var(--color-accent)}.co-modal-file-icon.image{color:var(--color-secondary)}.co-modal-file-icon.doc{color:var(--color-primary)}.co-modal-file-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.co-modal-file-name{color:var(--color-text-dark);font-family:var(--font-body);font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.co-modal-file-size{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-xs)}.co-modal-file-status{align-items:center;display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.co-modal-spinner{animation:coModalSpin 1s linear infinite;color:var(--color-secondary)}@keyframes coModalSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.co-modal-success-icon{color:var(--status-success);font-size:var(--text-xl)}.co-modal-error-icon{color:var(--status-danger);font-size:var(--text-xl)}.co-modal-remove-btn{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s ease}.co-modal-error-message,.co-modal-remove-btn:hover{background:color-mix(in srgb,var(--status-danger) 10%,#0000);color:var(--status-danger)}.co-modal-error-message{align-items:flex-start;border:1px solid color-mix(in srgb,var(--status-danger) 30%,#0000);border-radius:var(--radius-md);display:flex;font-family:var(--font-body);font-size:var(--text-sm);gap:12px;margin-top:var(--space-sm);padding:12px 16px}.co-modal-error-message svg{flex-shrink:0;margin-top:2px}.co-modal-error-message span{white-space:pre-wrap}.co-modal-success-message{align-items:center;background:#4a5f4f1a;border:1px solid #4a5f4f4d;border-radius:var(--radius-md);color:var(--status-success);display:flex;font-family:var(--font-body);font-size:var(--text-base);font-weight:500;gap:12px;justify-content:center;margin-top:var(--space-sm);padding:14px}.co-modal-success-message svg{font-size:var(--text-xl)}.co-modal-footer{align-items:center;background:var(--color-bg);border-top:1px solid var(--color-border-light);display:flex;flex-shrink:0;gap:12px;justify-content:flex-end;padding:16px 24px}.co-modal-cancel-btn{background:var(--color-surface);border:2px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;padding:10px 20px;transition:all .2s ease}.co-modal-cancel-btn:hover:not(:disabled){border-color:var(--color-text-muted);color:var(--color-text-dark)}.co-modal-cancel-btn:disabled{cursor:not-allowed;opacity:.5}.co-modal-save-btn{align-items:center;background:var(--color-secondary);border:none;border-radius:var(--radius-md);color:var(--color-surface);cursor:pointer;display:flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;gap:8px;justify-content:center;padding:10px 20px;transition:all .2s ease}.co-modal-save-btn:hover:not(:disabled){background:var(--color-primary);box-shadow:var(--shadow-btn);transform:translateY(-1px)}.co-modal-save-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.co-modal-btn-spinner{animation:coModalSpin 1s linear infinite}@media (max-width:640px){.co-modal{border-radius:16px 16px 0 0;border-radius:var(--radius-lg,16px) var(--radius-lg,16px) 0 0;max-height:100%;max-width:100%}.co-modal-overlay{align-items:flex-end;padding:0}.co-modal-header{padding:16px 16px 12px}.co-modal-body{padding:16px}.co-modal-row{grid-template-columns:1fr}.co-modal-footer{flex-direction:column-reverse;padding:12px 16px}.co-modal-cancel-btn,.co-modal-save-btn{justify-content:center;width:100%}}@media (max-width:480px){.co-modal-files-list{max-height:120px}.co-modal-file-item{gap:10px;padding:8px 10px}.co-modal-file-name{font-size:var(--text-xs)}}.version-footer{align-items:center;border-bottom:1px solid var(--color-border-medium);border-top:1px solid var(--color-border-medium);display:flex;justify-content:center;margin-top:auto;padding:12px 20px}.version-footer-text{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-xxs);letter-spacing:.3px;opacity:.7;-webkit-user-select:none;user-select:none}@media (min-width:769px){.version-footer{padding:10px 20px}}.navbar-desktop{background:#fff;box-shadow:var(--shadow-md);display:none;position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-modal)}.navbar-desktop-container{align-items:center;display:flex;gap:2rem;justify-content:space-between;margin:0 auto;max-width:1400px;padding:1rem 2rem}.navbar-logo{align-items:center;color:var(--color-text-base);display:flex;flex-shrink:0;font-size:var(--text-xl);font-weight:800;gap:1rem;opacity:.7;text-decoration:none;transition:opacity var(--transition-fast)}.navbar-logo:hover{opacity:1}.navbar-logo-image{height:50px;width:auto}.navbar-logo-text{display:flex;flex-direction:column;gap:4px}.navbar-logo-title{text-wrap:wrap;color:var(--color-text-dark);font-family:var(--font-heading);line-height:1}.navbar-logo-subtitle{border-top:1px solid var(--color-border-medium);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:600;letter-spacing:.2em;line-height:1.2;padding-top:2px;text-transform:uppercase}.navbar-desktop-links{flex:1 1;justify-content:center}.nav-desktop-link,.navbar-desktop-links{align-items:center;display:flex;gap:.5rem}.nav-desktop-link{background:#0000;border:2px solid #0000;border-radius:var(--radius-md);color:var(--color-text-base);font-size:var(--text-sm);font-weight:500;padding:.75rem 1.25rem;text-decoration:none;transition:all var(--transition-normal);white-space:nowrap}.nav-desktop-link:hover{background:var(--color-secondary);border-color:#ffffff80;box-shadow:var(--shadow-md);color:#fff;transform:translateY(-2px)}.nav-desktop-link.active{background:#fff;border-color:color-mix(in srgb,var(--color-secondary) 50%,#0000);box-shadow:var(--shadow-lg);color:var(--color-text-base)}.nav-link-icon{font-size:var(--text-base)}.nav-link-label{font-weight:600}.navbar-desktop-user{align-items:center;color:#fff;display:flex;gap:.75rem}.user-icon-desktop{font-size:var(--icon-xl)}.user-name-desktop{max-width:150px;overflow:hidden;text-overflow:ellipsis}.sign-out-btn-desktop,.user-name-desktop{font-size:var(--text-base);font-weight:500;white-space:nowrap}.sign-out-btn-desktop{align-items:center;background:#0000;border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:flex;gap:.5rem;padding:.5rem .75rem;transition:all var(--transition-fast)}.sign-out-btn-desktop:hover{background:#ffffff40;transform:translateY(-1px)}.navbar-mobile-top{align-items:center;background:#fff;box-shadow:var(--shadow-md);box-sizing:border-box;display:flex;justify-content:space-between;max-width:100vw;padding:.625rem .875rem;position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-modal)}.mobile-logo{height:32px;width:auto}.mobile-profile-link{align-items:center;border-radius:var(--radius-md);color:var(--color-text-muted);display:flex;gap:.375rem;padding:.375rem .625rem;text-decoration:none;transition:all var(--transition-fast)}.mobile-profile-link:hover{background:color-mix(in srgb,var(--color-text-muted) 10%,#0000)}.mobile-user-icon{font-size:var(--text-xl)}.mobile-profile-text{color:var(--color-text-base);font-size:var(--text-base);font-weight:600;white-space:nowrap}.navbar-mobile-bottom{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffff8c;border-top:1px solid color-mix(in srgb,var(--color-border-medium) 50%,#0000);bottom:0;box-shadow:0 -2px 16px #00000014;box-sizing:border-box;display:grid;grid-template-columns:repeat(5,1fr);left:0;max-width:100vw;padding:.625rem 0 .75rem;position:fixed;right:0;width:100%;z-index:var(--z-modal)}.mobile-nav-center,.mobile-nav-item{align-items:center;display:flex;flex-direction:column;justify-content:center;text-decoration:none;transition:all var(--transition-fast);width:100%}.mobile-nav-item{border-radius:var(--radius-md);color:var(--color-text-muted);gap:.25rem;padding:.5rem .25rem}.mobile-nav-item:hover{color:var(--color-text-base)}.mobile-nav-item.active{color:var(--color-secondary)}.mobile-nav-item .mobile-nav-icon{font-size:var(--text-xl);transition:transform var(--transition-fast)}.mobile-nav-item.active .mobile-nav-icon{transform:scale(1.1)}.mobile-nav-item .mobile-nav-label{font-family:var(--font-body);font-size:var(--text-xxs);font-weight:600;white-space:nowrap}.mobile-nav-center{gap:0;padding:0}.mobile-nav-center-circle{align-items:center;background:var(--color-primary);border:0 solid #fff;border-radius:50%;box-shadow:var(--shadow-md);color:#fff;display:flex;height:65px;justify-content:center;margin:-28px 0 0;transition:all var(--transition-fast);width:65px}.mobile-nav-center:hover .mobile-nav-center-circle{background:var(--color-text-light);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.mobile-nav-center.active .mobile-nav-center-circle{background:#b06632e6;box-shadow:var(--shadow-hover)}.mobile-nav-center .mobile-nav-icon{font-size:var(--icon-2x);margin-top:5px}.navbar-mobile-footer{align-items:center;background:var(--color-bg);box-sizing:border-box;display:none;flex-direction:column;gap:.75rem;max-width:100vw;padding:1rem}.mobile-footer-user{align-items:center;display:flex;gap:.75rem}.mobile-footer-details{display:flex;flex-direction:column;gap:.125rem}.mobile-footer-name{color:var(--color-text-base);font-size:var(--text-base);font-weight:600}.mobile-footer-email{color:var(--color-text-muted);font-size:var(--text-base)}.mobile-footer-signout{align-items:center;background:#fff;border:2px solid var(--color-text-muted);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;display:flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;gap:.5rem;justify-content:center;letter-spacing:.02rem;margin-bottom:1rem;padding:.75rem 1.25rem;transition:all var(--transition-fast);width:100%}.mobile-footer-signout:hover{background:var(--color-text-muted);box-shadow:var(--shadow-btn);color:#fff;transform:translateY(-1px)}.navbar-desktop-footer{background:var(--color-bg);border-top:1px solid var(--color-border-medium);display:none;flex-shrink:0;margin-top:5px;padding:1.5rem 1rem calc(1rem + env(safe-area-inset-bottom, 0px));position:-webkit-sticky;position:sticky;z-index:var(--z-dropdown)}.footer-profile-link{align-items:center;border-radius:var(--radius-md);color:inherit;display:flex;gap:12px;padding:8px 12px;text-decoration:none;transition:all .2s ease}.footer-profile-link:hover{background:color-mix(in srgb,var(--color-secondary) 8%,#0000)}.footer-profile-link:hover .footer-user-icon,.footer-profile-link:hover .footer-user-name{color:var(--color-secondary)}.footer-user-container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1400px}.footer-user-info{align-items:center;display:flex;gap:1rem}.footer-user-icon{color:var(--color-text-muted);font-size:var(--icon-2xx)}.footer-user-details{display:flex;flex-direction:column;gap:.25rem}.footer-user-name{color:var(--color-text-base);font-size:var(--text-base);font-weight:600}.footer-sign-out-btn,.footer-user-email{color:var(--color-text-muted);font-size:var(--text-sm)}.footer-sign-out-btn{align-items:center;background:#0000;border:2px solid var(--color-text-muted);border-radius:var(--radius-md);cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all var(--transition-fast)}.footer-sign-out-btn:hover{background:var(--color-text-muted);box-shadow:var(--shadow-md);color:#fff;transform:translateY(-2px)}@media (min-width:900px){.navbar-desktop{display:block}.navbar-mobile-bottom,.navbar-mobile-footer,.navbar-mobile-top{display:none}.navbar-desktop-footer{display:block}body{padding-bottom:0}}@media (max-width:899px){.navbar-desktop,.navbar-desktop-footer{display:none}.navbar-mobile-bottom,.navbar-mobile-footer,.navbar-mobile-top{display:flex}body{padding-bottom:75px}}@media (max-width:1024px) and (min-width:769px){.navbar-desktop-container{padding:1rem}.navbar-desktop-links{gap:.25rem}.nav-desktop-link{font-size:var(--text-base);padding:.625rem 1rem}.logo-text,.sign-out-btn-desktop span,.user-name-desktop{display:none}}@media (max-width:375px){.navbar-mobile-top{padding:.5rem .75rem}.mobile-logo{height:32px}.mobile-profile-text{font-size:var(--text-xs)}.mobile-nav-item .mobile-nav-icon{font-size:var(--text-base)}.mobile-nav-item .mobile-nav-label{font-size:var(--text-xxs)}.mobile-nav-center-circle{height:60px;width:60px}.mobile-nav-center .mobile-nav-icon{font-size:var(--text-2xl)}.navbar-mobile-bottom{padding:.5rem 0 .625rem}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes collapseIn{0%{max-height:0;opacity:0}to{max-height:500px;opacity:1}}*{box-sizing:border-box;margin:0;padding:0}.client-dashboard{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-bg);color:var(--color-text-base);font-family:var(--font-body)}.dashboard-error,.dashboard-no-project{align-items:center;animation:fadeIn .35s ease-out;background:var(--color-surface);display:flex;flex-direction:column;gap:12px;justify-content:center;min-height:60vh;padding:32px;text-align:center}.dashboard-error svg,.dashboard-no-project svg{color:var(--color-secondary);font-size:var(--icon-4x)}.dashboard-error h2,.dashboard-no-project h2{color:var(--color-text-base);font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:700;margin-top:6px}.dashboard-error p,.dashboard-no-project p{color:var(--color-text-light);font-size:var(--text-base);line-height:1.5;max-width:480px}.dashboard-error button{background:var(--color-secondary);border:none;border-radius:var(--radius-lg);color:var(--color-surface);cursor:pointer;font-size:var(--text-sm);font-weight:600;margin-top:12px;padding:10px 18px;transition:all var(--transition-fast)}.dashboard-error button:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.page-header{margin-bottom:2rem;text-align:center}.page-title{color:var(--color-text-dark);font-family:var(--font-heading);font-size:var(--text-4xl);font-weight:700;margin-bottom:.5rem}.page-subtitle{color:var(--color-text-light);font-family:var(--font-body);font-size:var(--text-base);font-weight:300;letter-spacing:.25em;margin:0;text-transform:uppercase}.dashboard-notification-center{background:var(--color-surface);border:1px solid var(--color-border-medium);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:24px;overflow:hidden;transition:box-shadow .25s ease}.dashboard-notification-center:hover{box-shadow:var(--shadow-md)}.notification-center-header{align-items:center;background:var(--color-surface);border-bottom:1px solid #0000;cursor:pointer;display:flex;justify-content:space-between;padding:16px 22px;transition:background .2s ease}.notification-center-header:hover{background:color-mix(in srgb,var(--color-bg) 50%,#0000)}.notification-center-title{align-items:center;display:flex;gap:12px}.notification-center-icon{color:var(--color-secondary);font-size:var(--icon-xl)}.notification-center-title h2{color:var(--color-text-base);font-size:var(--text-lg);font-weight:600;margin:0}.notification-count-badge{align-items:center;background:var(--color-secondary);border-radius:var(--radius-full);color:var(--color-surface);display:inline-flex;font-size:var(--text-xs);font-weight:700;height:20px;justify-content:center;min-width:20px;padding:0 8px}.notification-toggle-btn{align-items:center;background:color-mix(in srgb,var(--color-text-muted) 10%,#0000);border:none;border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.notification-toggle-btn:hover{background:color-mix(in srgb,var(--color-secondary) 15%,#0000);color:var(--color-secondary)}.notification-toggle-btn svg{height:20px;width:20px}.notification-center-body{animation:collapseIn .3s ease-out;padding:0 22px 22px}.notifications-list{display:flex;flex-direction:column;gap:10px}.notification-item{align-items:flex-start;border-radius:var(--radius-lg);display:flex;gap:12px;padding:14px 16px;position:relative;transition:all .2s ease}.notification-item:hover{transform:translateX(4px)}.notification-success{background:color-mix(in srgb,var(--status-success) 8%,#0000);border-left:4px solid var(--status-success)}.notification-warning{background:color-mix(in srgb,var(--status-warning) 8%,#0000);border-left:4px solid var(--status-warning)}.notification-info{background:color-mix(in srgb,var(--status-info) 8%,#0000);border-left:4px solid var(--status-info)}.notification-error{background:color-mix(in srgb,var(--status-danger) 8%,#0000);border-left:4px solid var(--status-danger)}.notification-icon{flex-shrink:0;font-size:var(--text-lg);margin-top:2px}.notification-success .notification-icon{color:var(--status-success)}.notification-warning .notification-icon{color:var(--status-warning)}.notification-info .notification-icon{color:var(--status-info)}.notification-error .notification-icon{color:var(--status-danger)}.notification-content{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.notification-message{color:var(--color-text-base);font-size:var(--text-sm);line-height:1.4;text-align:left}.notification-date{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:500}.notification-dismiss-btn{align-items:center;background:#0000;border:none;border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;opacity:.6;transition:all .2s ease;width:28px}.notification-dismiss-btn:hover{background:#00000014;color:var(--color-text-base);opacity:1}.notification-dismiss-btn svg{height:16px;width:16px}.no-notifications{background:var(--color-bg);border-radius:var(--radius-md);padding:28px;text-align:center}.no-notifications svg{color:var(--color-bg-dk);font-size:var(--icon-3x);margin-bottom:12px}.no-notifications p{color:var(--color-text-light);font-size:var(--text-sm)}.dashboard-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(3,1fr);margin-bottom:40px}.dashboard-card{background:var(--color-surface);border:1px solid var(--color-border-medium);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;min-height:220px;overflow:hidden;padding:22px;position:relative;transition:transform .25s ease,box-shadow .25s ease}.dashboard-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.card-header{align-items:center;border-bottom:1px solid var(--color-bg);display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px;padding-bottom:12px}.card-header h2{color:var(--color-text-base);flex:1 1;font-size:var(--text-lg);font-weight:600;margin:0}.card-icon{align-items:center;color:var(--color-secondary);display:inline-flex;font-size:var(--icon-xl);justify-content:center}.card-body{align-content:center;color:var(--color-text-base);display:flex;flex-direction:column;gap:12px;justify-content:center;text-align:center}.card-project-progress .card-body,.card-project-status .card-body{display:flex;flex:1 1;flex-direction:column;justify-content:center}.project-name{color:var(--color-primary);font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:700;margin:0}.project-address{color:var(--color-text-light);font-size:var(--text-sm);line-height:1.6}.status-badge{align-items:center;align-self:center;border-radius:22px;display:inline-flex;font-size:var(--text-xs);font-weight:700;gap:8px;letter-spacing:.5px;margin-top:6px;padding:8px 14px;text-transform:uppercase}.status-active,.status-active-construction{background:#7c90701f;color:var(--status-success)}.status-pre-construction{background:#9c806b1f;color:var(--status-warning)}.status-construction-delayed{background:#6665641f;color:var(--status-danger)}.status-construction-completed---under-warranty{background:#1f6b251a;color:var(--status-success)}.status-warranty-period-complete{background:#4f1f6b1a;color:var(--status-danger)}.phase-display{background:var(--color-bg);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:10px;padding:14px;text-align:center}.phase-info{display:flex;gap:16px}.phase-icon,.phase-info{align-items:center;justify-content:center}.phase-icon{color:var(--color-secondary);display:inline-flex;font-size:var(--icon-2x)}.phase-details{text-align:left}.phase-details h3{color:var(--color-text-base);font-size:var(--text-lg);font-weight:600;margin:0}.phase-divider{background-color:var(--color-bg-dk);height:1px;margin:16px 0}.phase-summary{color:var(--color-text-light);font-size:var(--text-sm);line-height:1.6;padding-top:8px}.summary-title{color:var(--color-text-base);font-size:var(--text-base);font-weight:600;margin:0 0 10px}.summary-description{color:var(--color-text-light);font-size:var(--text-sm);line-height:1.6;margin:0 0 8px}.learn-more-button{background:none;border:none;color:var(--color-secondary);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;padding:6px 0;text-decoration:underline;transition:color var(--transition-fast)}.learn-more-button:hover{color:var(--color-primary)}.progress-container{display:flex;flex-direction:column;gap:12px;margin:0}.progress-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.progress-label{color:var(--color-text-base);font-size:var(--text-base);font-weight:600}.progress-percentage{color:var(--color-primary);font-family:var(--font-heading);font-size:var(--text-xl);font-weight:700}.progress-bar{background:var(--color-bg);height:32px;overflow:hidden;position:relative}.progress-bar,.progress-fill{border-radius:var(--radius-xl)}.progress-fill{background:linear-gradient(90deg,color-mix(in srgb,var(--status-success) 80%,#0000) 0,color-mix(in srgb,var(--status-success) 100%,#0000) 100%);box-shadow:inset 0 2px 4px #0000000f;height:100%;transition:width .9s ease}.progress-fill:after{animation:shimmer 2s linear infinite;background:linear-gradient(90deg,#0000,#ffffff40 50%,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.progress-description{margin-top:12px;text-align:center}.progress-description p{color:var(--color-text-light);font-size:var(--text-sm)}.details-grid{grid-gap:12px;display:grid;gap:12px}.detail-row{align-items:center;background:var(--color-bg);border-radius:var(--radius-md);display:flex;justify-content:space-between;padding:12px}.detail-label{color:var(--color-text-light);font-size:var(--text-xs);font-weight:700;text-transform:uppercase}.detail-value{color:var(--color-text-base);font-size:var(--text-sm);font-weight:600;text-align:right}.card-weekly-update{grid-column:span 2;min-height:280px}.card-weekly-update .card-header{flex-wrap:wrap;gap:12px}.weekly-update-stats{display:flex;gap:12px;margin-left:auto}.weekly-stat-badge{align-items:center;background:var(--color-bg);border-radius:var(--radius-md);display:flex;font-size:var(--text-sm);gap:6px;padding:6px 12px}.weekly-stat-badge .stat-icon{height:16px;width:16px}.weekly-stat-badge .stat-icon.completed{color:var(--status-success)}.weekly-stat-badge .stat-icon.photos{color:var(--color-secondary)}.weekly-stat-badge .stat-value{color:var(--color-text-dark);font-weight:700}.weekly-stat-badge .stat-label{color:var(--color-text-muted);font-size:var(--text-xs)}.weekly-update-body{flex:1 1}.weekly-update-content{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr;height:100%}.weekly-update-photos,.weekly-update-tasks{display:flex;flex-direction:column}.weekly-section-title{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:.05em;margin:0 0 12px;text-align:left;text-transform:uppercase}.no-photos-message,.no-tasks-message{background:var(--color-bg);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:var(--text-sm);padding:16px;text-align:center}.digest-task-list{display:flex;flex:1 1;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.digest-task-item{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);cursor:pointer;display:flex;gap:10px;padding:10px 12px;transition:all .2s ease}.digest-task-item:hover{background:var(--color-bg);border-color:var(--color-secondary);transform:translateX(4px)}.digest-task-check{color:var(--status-success);flex-shrink:0;height:18px;width:18px}.digest-task-content{display:flex;flex:1 1;flex-direction:column;gap:2px;margin-left:7px;min-width:0;text-align:left}.digest-task-name{color:var(--color-text-dark);font-size:var(--text-sm);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.digest-task-date{color:var(--color-text-muted);font-size:var(--text-xs)}.digest-task-photos-badge{align-items:center;background:color-mix(in srgb,var(--color-secondary) 10%,#0000);border-radius:var(--radius-lg);color:var(--color-secondary);display:inline-flex;flex-shrink:0;font-size:var(--text-xxs);font-weight:600;gap:4px;padding:3px 8px}.digest-task-photos-badge svg{height:12px;width:12px}.digest-view-all-link{align-items:center;color:var(--color-secondary);display:flex;font-size:var(--text-sm);font-weight:600;gap:6px;justify-content:flex-end;margin-top:auto;padding-top:12px;text-decoration:none;transition:all .2s ease}.digest-view-all-link:hover{color:var(--color-primary);gap:10px}.digest-view-all-link svg{transition:transform .2s ease}.digest-view-all-link:hover svg{transform:translateX(3px)}.weekly-photo-grid{grid-gap:8px;display:grid;flex:1 1;gap:8px;grid-template-columns:repeat(5,1fr)}.weekly-photo-item{aspect-ratio:1;border-radius:var(--radius-md);cursor:pointer;overflow:hidden;position:relative;transition:all .2s ease}.weekly-photo-item:hover{box-shadow:var(--shadow-sm);transform:scale(1.05);z-index:1}.weekly-photo-item img{height:100%;object-fit:cover;width:100%}.digest-empty{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:24px 16px;text-align:center}.digest-empty-icon{color:var(--color-text-muted);height:40px;margin-bottom:12px;opacity:.5;width:40px}.digest-empty p{color:var(--color-text-muted);font-size:var(--text-base);font-weight:600;margin:0}.digest-empty-sub{font-size:var(--text-sm)!important;font-weight:400!important;margin-top:4px!important;opacity:.8}.digest-loading{align-items:center;color:var(--color-text-muted);display:flex;gap:12px;justify-content:center;padding:32px 16px}.digest-task-modal{max-width:500px}.digest-task-modal-header{align-items:center;background:var(--color-bg);border-bottom:1px solid var(--color-border-light);display:flex;gap:12px;padding:20px 24px}.digest-task-modal-icon{color:var(--status-success);flex-shrink:0;font-size:var(--text-2xl);margin-top:2px}.digest-task-modal-header h3{color:var(--color-text-dark);font-family:var(--font-heading);font-size:var(--text-lg);font-weight:600;line-height:1.3;margin:0}.digest-task-modal-body{flex:1 1;overflow-y:auto;padding:28px}.digest-task-modal-meta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.digest-meta-badge{align-items:center;border-radius:var(--radius-md);display:inline-flex;font-size:var(--text-sm);font-weight:500;gap:8px;justify-content:center;padding:10px 16px}.digest-meta-badge svg{font-size:var(--text-base)}.digest-meta-badge.phase{background:color-mix(in srgb,var(--color-text-muted) 15%,#0000);color:var(--color-primary)}.digest-meta-badge.date{background:#4a5f4f1a;color:var(--status-success)}.digest-task-modal-section{margin-bottom:24px}.digest-task-modal-section:last-child{margin-bottom:0}.digest-task-modal-section h4{color:var(--color-text-light);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.digest-task-modal-section h4 svg{height:14px;margin-right:4px;vertical-align:text-bottom;width:14px}.digest-task-modal-text{background:var(--color-bg);border-radius:var(--radius-md);color:var(--color-text-dark);font-size:var(--text-base);line-height:1.65;margin:0;padding:16px 18px}.digest-task-modal-photos{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,1fr)}.digest-task-modal-photo{aspect-ratio:1;border-radius:var(--radius-md);cursor:pointer;overflow:hidden;position:relative;transition:all .2s ease}.digest-task-modal-photo:hover{box-shadow:var(--shadow-sm);transform:scale(1.02)}.digest-task-modal-photo img{height:100%;object-fit:cover;width:100%}.digest-gallery{flex-direction:column;max-height:90vh;max-width:90vw;position:relative}.digest-gallery,.digest-gallery-image-container{align-items:center;display:flex;justify-content:center}.digest-gallery-image-container{max-height:80vh}.digest-gallery-image{border-radius:var(--radius-md);max-height:75vh;max-width:100%;object-fit:contain}.digest-gallery-nav{align-items:center;background:#ffffffe6;border:none;border-radius:50%;color:var(--color-text-base);cursor:pointer;display:flex;height:48px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:all .2s ease;width:48px;z-index:10}.digest-gallery-nav:hover{background:var(--color-surface);box-shadow:var(--shadow-sm);transform:translateY(-50%) scale(1.05)}.digest-gallery-prev{left:-60px}.digest-gallery-next{right:-60px}.digest-gallery-nav svg{height:24px;width:24px}.digest-gallery-caption{align-items:center;color:var(--color-surface);display:flex;justify-content:space-between;margin-top:8px;padding:16px 0;width:100%}.digest-gallery-task-name{font-size:var(--text-base);font-weight:500}.digest-gallery-counter{font-size:var(--text-sm);opacity:.8}.modal-overlay{align-items:center;background:#000000d9;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000;z-index:var(--z-modal,1000)}.modal-content{animation:modalSlideIn .28s ease;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);max-height:85vh;max-width:680px;overflow-y:auto;width:100%}.modal-header{align-items:top;border-bottom:1px solid var(--color-bg-dk);display:flex;justify-content:space-between;padding:16px 20px;position:relative}.modal-header h3{color:var(--color-text-base);font-size:var(--text-xl);font-weight:700;line-height:1.2;margin:0}.modal-close{align-items:center;background:var(--color-bg-dk);border:none;border-radius:50%;border-radius:var(--radius-full,50%);color:var(--color-text-muted);cursor:pointer;display:flex;flex-shrink:0;font-size:var(--icon-sm);height:36px;justify-content:center;padding:8px;transition:all .2s ease;width:36px}.modal-close:hover{background:var(--bg-status-danger);color:var(--status-danger)}.modal-body{flex:1 1;overflow-y:auto;padding:28px}.phase-full-summary{color:var(--color-text-base);font-size:var(--text-base);line-height:1.6;margin:0 0 16px}@media (max-width:1024px){.dashboard-grid{grid-template-columns:repeat(2,1fr)}.card-weekly-update{grid-column:span 2}.weekly-photo-grid{grid-template-columns:repeat(4,1fr)}.weekly-update-stats{flex-wrap:wrap}}@media (max-width:768px){.dashboard-grid{grid-template-columns:1fr}.card-weekly-update{grid-column:span 1}.dashboard-card{min-height:180px;padding:18px}.weekly-update-content{gap:0;grid-template-columns:1fr}.weekly-update-tasks{border-bottom:1px solid var(--color-border-light);margin-bottom:16px;padding-bottom:16px}.weekly-photo-grid{gap:6px;grid-template-columns:repeat(3,1fr)}.weekly-update-stats{justify-content:flex-start;margin-left:0;margin-top:8px;width:100%}.progress-percentage,.project-name{font-size:var(--text-xl)}.detail-row{align-items:flex-start;flex-direction:column;gap:6px}.detail-value{text-align:left}.modal-content{max-height:90vh;padding:0}.modal-header h3{font-size:var(--text-lg)}.notification-center-header{padding:14px 16px}.notification-center-body{padding:0 16px 16px}.digest-gallery-nav{height:40px;width:40px}.digest-gallery-prev{left:10px}.digest-gallery-next{right:10px}.digest-task-modal-meta{flex-direction:column;gap:10px}}@media (max-width:480px){.page-title{font-size:var(--text-2xl)}.card-header{align-items:center;flex-direction:row;gap:10px;justify-items:center}.card-header h2{font-size:var(--text-base)}.weekly-update-stats{display:flex;flex-direction:row;gap:8px;justify-content:center}.weekly-stat-badge{justify-content:center;width:45%}.weekly-photo-grid{grid-template-columns:repeat(2,1fr)}.project-name{font-size:var(--text-lg)!important}.progress-percentage{font-size:var(--text-lg)}.modal-header{padding:14px}.modal-body{padding:16px}.notification-item{gap:10px;padding:12px 14px}.notification-message{font-size:var(--text-sm)}.notification-date{font-size:var(--text-xxs)}.notification-icon{font-size:var(--text-base)}.notification-dismiss-btn{height:24px;width:24px}.digest-task-modal-meta{margin-bottom:20px}.digest-meta-badge{justify-content:center}.digest-task-modal-photos{gap:8px;grid-template-columns:repeat(2,1fr)}.digest-gallery-caption{flex-direction:column;gap:8px;text-align:center}}@media print{.dashboard-card{border:1px solid #eee;box-shadow:none}.dashboard-notification-center,.modal-overlay{display:none}}.client-selections{background:var(--color-bg);min-height:calc(100vh - 70px);padding-bottom:var(--space-3xl)}.cs-deadline-alert{align-items:flex-start;border-radius:var(--radius-lg);display:flex;gap:var(--space-md);margin-bottom:var(--space-xl);padding:var(--space-md) var(--space-lg)}.cs-deadline-alert--success{background:var(--bg-status-success);border:1px solid color-mix(in srgb,var(--status-success) 20%,#0000)}.cs-deadline-alert--danger{background:var(--bg-status-danger);border:1px solid color-mix(in srgb,var(--status-danger) 20%,#0000)}.cs-alert-icon{align-items:center;border-radius:var(--radius-full);display:flex;flex-shrink:0;height:36px;justify-content:center;margin-top:2px;width:36px}.cs-deadline-alert--success .cs-alert-icon{background:var(--bg-status-success);color:var(--status-success)}.cs-deadline-alert--danger .cs-alert-icon{background:var(--bg-status-danger);color:var(--status-danger)}.cs-alert-content h4{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-xs)}.cs-deadline-alert--success .cs-alert-content h4{color:var(--status-success)}.cs-deadline-alert--danger .cs-alert-content h4{color:var(--status-danger)}.cs-alert-content p{color:var(--color-text-light);font-family:var(--font-body);font-size:var(--text-base);line-height:1.5}.cs-alert-content b{color:var(--color-text-dark);font-weight:600}.cs-tabs-container{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);margin-bottom:var(--space-xl);overflow:hidden}.cs-tabs-nav{grid-gap:var(--space-sm);-webkit-overflow-scrolling:touch;border-bottom:1px solid var(--color-border-light);display:grid;grid-template-columns:repeat(4,auto);overflow-x:auto}.cs-tab-btn,.cs-tabs-nav{gap:var(--space-sm);padding:var(--space-md) var(--space-lg)}.cs-tab-btn{align-items:center;background:color-mix(in srgb,var(--color-secondary) 5%,#0000);border:1px solid #0000;border-radius:var(--radius-md);color:var(--color-text-light);cursor:pointer;display:flex;font-family:var(--font-body);font-size:var(--text-base);font-weight:500;justify-content:center;transition:all var(--transition-fast);white-space:nowrap}.cs-tab-btn--active,.cs-tab-btn:hover{color:var(--color-secondary)}.cs-tab-btn--active{background:color-mix(in srgb,var(--color-secondary) 10%,#0000);border-color:var(--color-secondary);font-weight:600}.cs-tab-btn svg{flex-shrink:0;font-size:var(--text-sm)}.cs-tab-content{padding:var(--space-lg)}.cs-active-container{display:flex;flex-direction:column;gap:var(--space-md)}.cs-overview-section{background:var(--color-bg);border-radius:var(--radius-lg);padding:var(--space-lg)}.cs-overview-section-title{color:var(--color-text-dark);display:flex;font-family:var(--font-heading);font-size:var(--text-lg);font-weight:600;gap:10px}.cs-overview-section-title svg{align-self:center;color:var(--color-secondary);font-size:var(--text-lg)}.cs-fields-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr}.cs-selection-field{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--space-xs);padding:10px 12px}.cs-field-header{align-items:center;display:flex;gap:var(--space-sm)}.cs-field-icon{flex-shrink:0;font-size:var(--text-sm)}.cs-field-icon--complete{color:var(--status-success)}.cs-field-icon--pending{color:var(--color-secondary)}.cs-field-label{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;letter-spacing:.5px;text-transform:uppercase}.cs-field-value{color:var(--color-text-dark);font-family:var(--font-body);font-size:var(--text-base);font-weight:500;padding-left:22px}.cs-field-value--needed{color:var(--color-secondary);font-style:italic;font-weight:400}.cs-section-header-row{align-items:end;display:flex;justify-content:space-between;margin-bottom:var(--space-lg);min-height:35px}.cs-section-header{color:var(--color-text-dark);font-family:var(--font-heading);font-size:var(--text-xl);font-weight:600}.cs-cards-grid{grid-gap:var(--space-md);display:grid;gap:var(--space-md);grid-template-columns:1fr}.cs-card{background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-lg);transition:border-color var(--transition-fast)}.cs-card:hover{border-color:var(--color-secondary)}.cs-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:var(--space-md)}.cs-card-header h4{color:var(--color-text-dark);font-family:var(--font-heading);font-size:var(--text-base);font-weight:600}.cs-card-details p{color:var(--color-text-light);font-family:var(--font-body);font-size:var(--text-sm);line-height:1.5;margin-bottom:var(--space-xs)}.cs-card-details p strong{color:var(--color-text-dark);font-weight:600}.cs-paint-notes{border-top:1px solid var(--color-border-light);color:var(--color-text-muted)!important;font-style:italic;margin-top:var(--space-sm)!important;padding-top:var(--space-sm)}.cs-paint-swatch{border:1px solid var(--color-border-light);border-radius:var(--radius-md);height:60px;margin-top:var(--space-sm);overflow:hidden;width:60px}.cs-paint-swatch img{height:100%;object-fit:cover;width:100%}.cs-product-link{align-items:center;color:var(--color-secondary);display:inline-flex;font-weight:500;gap:6px;text-decoration:none;transition:color var(--transition-fast)}.cs-product-link:hover{color:var(--color-primary);text-decoration:underline}.cs-product-link svg{font-size:var(--icon-xxs)}.cs-purchase-notes{border-top:1px solid var(--color-border-light);color:var(--color-text-muted)!important;font-style:italic;margin-top:var(--space-sm)!important;padding-top:var(--space-sm)}.cs-purchase-images{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-sm)}.cs-image-thumbnail{border:1px solid var(--color-border-light);border-radius:var(--radius-md);cursor:pointer;height:60px;overflow:hidden;transition:border-color var(--transition-fast);width:60px}.cs-image-thumbnail:hover{border-color:var(--color-secondary)}.cs-image-thumbnail img{height:100%;object-fit:cover;width:100%}.cs-documents-grid{grid-gap:var(--space-lg);display:grid;gap:var(--space-lg);grid-template-columns:1fr}.cs-document-category{background:var(--color-bg);border-radius:var(--radius-lg);padding:var(--space-md)}.cs-document-category-title{align-items:center;border-bottom:1px solid var(--color-border-light);color:var(--color-text-dark);display:flex;font-family:var(--font-body);font-size:var(--text-base);font-weight:600;gap:var(--space-sm);margin:0 0 var(--space-md) 0;padding-bottom:var(--space-sm)}.cs-document-category-title svg{color:var(--color-secondary);font-size:var(--text-sm)}.cs-document-list{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.cs-document-card{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);cursor:pointer;display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-md);text-align:center;transition:all var(--transition-fast);width:120px}.cs-document-card:hover{border-color:var(--color-secondary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.cs-document-preview{align-items:center;background:color-mix(in srgb,var(--status-danger) 10%,#0000);border-radius:var(--radius-md);display:flex;height:48px;justify-content:center;overflow:hidden;width:48px}.cs-document-preview img{height:100%;object-fit:cover;width:100%}.cs-doc-icon{color:var(--color-secondary);font-size:var(--icon-lg)}.cs-document-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--color-text-light);display:-webkit-box;font-family:var(--font-body);font-size:var(--text-sm);line-height:1.3;max-width:100%;overflow:hidden;text-overflow:ellipsis}.cs-view-doc-btn{align-items:center;background:none;border:none;color:var(--color-secondary);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--text-xxs);font-weight:500;gap:4px;padding:0;transition:color var(--transition-fast)}.cs-view-doc-btn:hover{color:var(--color-primary)}.cs-view-doc-btn svg{font-size:var(--icon-xxs)}.cs-no-docs{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-sm);font-style:italic}.cs-vendor-section{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--space-xl);margin-top:1.5rem;padding:2rem}.cs-vendor-heading{color:var(--color-text-dark);font-family:var(--font-heading);font-size:var(--text-xl);font-weight:700;margin-bottom:var(--space-xs);padding-top:var(--space-lg);text-align:center}.cs-vendor-subheading{color:var(--color-text-light);margin-bottom:var(--space-md)}.cs-vendor-alert,.cs-vendor-subheading{font-family:var(--font-body);font-size:var(--text-sm);text-align:center}.cs-vendor-alert{align-items:flex-start;background:var(--bg-status-warning);border:1px solid color-mix(in srgb,var(--status-warning) 20%,#0000);border-radius:var(--radius-md);box-sizing:80%;color:var(--status-warning);display:flex;font-weight:500;gap:1rem;line-height:1.5;margin-bottom:var(--space-lg);padding:var(--space-md)}.cs-vendor-cards-grid{grid-gap:var(--space-md);display:grid;gap:var(--space-md);grid-template-columns:1fr}.cs-vendor-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);box-sizing:border-box;max-width:100%;overflow:hidden;padding:var(--space-lg);text-align:center;transition:all var(--transition-fast)}.cs-vendor-card:hover{border-color:var(--color-secondary);box-shadow:var(--shadow-md);transform:translateY(-4px)}.cs-vendor-logo{align-items:center;display:flex;height:80px;justify-content:center;margin:0 auto 1rem;overflow:hidden;width:120px}.cs-vendor-logo img{max-height:100%;max-width:100%;object-fit:contain}.cs-vendor-name{color:var(--color-text-dark);font-family:var(--font-heading);font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-sm)}.cs-vendor-categories{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:var(--space-md)}.cs-vendor-pill{background:color-mix(in srgb,var(--color-secondary) 10%,#0000);border-radius:var(--radius-full);color:var(--color-secondary);font-family:var(--font-body);font-size:var(--text-xs);font-weight:500;letter-spacing:.5px;padding:3px 10px}.cs-vendor-info{align-items:center;color:var(--color-text-light);display:flex;font-family:var(--font-body);font-size:var(--text-sm);gap:var(--space-sm);margin-bottom:6px;overflow-wrap:break-word;text-align:left;word-break:break-word}.cs-vendor-info svg{color:var(--color-text-muted);flex-shrink:0;font-size:var(--text-xs);width:16px}.cs-vendor-info a{color:var(--color-secondary);text-decoration:none;transition:color var(--transition-normal)}.cs-vendor-info a:hover{color:var(--color-primary);font-weight:500;text-decoration:underline}.cs-vendor-divider{background:var(--color-border-light);height:1px;margin:var(--space-md) 0}.cs-vendor-notes{font-style:italic;line-height:1.5}.cs-no-vendors,.cs-vendor-notes{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-sm)}.cs-no-vendors{padding:var(--space-xl);text-align:center}.cs-btn-add{align-items:center;background:var(--color-secondary);border:none;border-radius:var(--radius-md);color:var(--color-surface);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;gap:var(--space-sm);padding:10px 20px;transition:all var(--transition-fast)}.cs-btn-add:hover{background:var(--color-primary);box-shadow:var(--shadow-btn);transform:translateY(-1px)}.cs-btn-add svg{font-size:var(--text-xs)}.cs-btn-add:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.cs-btn-delete{align-items:center;background:var(--bg-status-danger);border:1px solid #0000;border-radius:var(--radius-md);color:var(--status-danger);cursor:pointer;display:flex;flex-shrink:0;font-size:var(--text-xs);height:32px;justify-content:center;transition:all var(--transition-fast);width:32px}.cs-btn-delete:hover{border-color:var(--status-danger)}.cs-btn-cancel{background:var(--color-bg);border:1px solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-light);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;padding:10px 24px;transition:all var(--transition-fast)}.cs-btn-cancel:hover{background:var(--color-bg-dk)}.cs-btn-danger{background:var(--bg-status-danger);border:1px solid var(--status-danger);border-radius:var(--radius-md);color:var(--status-danger);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;padding:10px 24px;transition:all var(--transition-fast)}.cs-btn-danger:hover{background:var(--status-danger);border-color:var(--status-danger);color:#fff}.cs-btn-danger:disabled{cursor:not-allowed;opacity:.6;transform:none}.cs-empty-state{color:var(--color-text-muted);padding:var(--space-2xl) var(--space-lg);text-align:center}.cs-empty-state svg{font-size:var(--icon-2x);margin-bottom:var(--space-md);opacity:.4}.cs-empty-state h4{color:var(--color-text-muted);font-family:var(--font-heading);font-size:var(--text-base);margin-bottom:var(--space-sm)}.cs-empty-state p{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-sm);line-height:1.5}.cs-modal-overlay{align-items:center;animation:cs-fadeIn .2s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:var(--space-md);position:fixed;right:0;top:0;z-index:var(--z-modal)}.cs-modal-container{background:var(--color-surface);border-radius:var(--radius-xl);display:flex;flex-direction:column;max-height:90vh;max-width:900px;overflow:hidden;width:100%}.cs-modal-header{align-items:center;border-bottom:1px solid var(--color-border-light);display:flex;flex-shrink:0;justify-content:space-between;padding:var(--space-md) var(--space-lg)}.cs-modal-header h3{color:var(--color-text-dark);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cs-modal-actions{display:flex;gap:var(--space-sm)}.cs-modal-action-btn{align-items:center;background:var(--color-bg);border-radius:var(--radius-md);color:var(--color-text-light);display:flex;height:36px;justify-content:center;text-decoration:none;transition:all var(--transition-fast);width:36px}.cs-modal-action-btn:hover{background:color-mix(in srgb,var(--color-secondary) 10%,#0000);color:var(--color-secondary)}.cs-modal-close-btn{align-items:center;background:var(--color-bg);border:none;border-radius:50%;border-radius:var(--radius-full,50%);color:var(--color-text-muted);cursor:pointer;display:flex;flex-shrink:0;font-size:var(--icon-sm);height:36px;justify-content:center;padding:8px;transition:all .2s ease;width:36px}.cs-modal-close-btn:hover{background:#ef44441a;color:var(--status-danger)}.cs-modal-content{align-items:center;background:#1a1a1a;display:flex;flex:1 1;justify-content:center;overflow:auto}.cs-modal-pdf{border:none;height:80vh;width:100%}.cs-modal-image{max-height:80vh;max-width:100%;object-fit:contain}.cs-modal-unsupported{color:var(--color-surface);padding:var(--space-2xl);text-align:center}.cs-modal-unsupported svg{font-size:var(--icon-3x);margin-bottom:var(--space-md);opacity:.5}.cs-modal-unsupported p{margin-bottom:var(--space-lg)}.cs-modal-download-link,.cs-modal-unsupported p{font-family:var(--font-body);font-size:var(--text-sm)}.cs-modal-download-link{align-items:center;color:var(--color-secondary);display:inline-flex;font-weight:600;gap:var(--space-sm);text-decoration:none}.cs-modal-download-link:hover{text-decoration:underline}.cs-image-modal{max-height:90vh;max-width:90vw;position:relative}.cs-image-modal img{border-radius:var(--radius-lg);max-height:85vh;max-width:90vw;object-fit:contain}.cs-image-modal .cs-modal-close-btn{background:var(--bg-status-danger);color:var(--status-danger);position:absolute;right:var(--space-md);top:var(--space-md)}.cs-image-modal .cs-modal-close-btn:hover{background:var(--status-danger);color:#fff}.cs-delete-modal{background:var(--color-surface);border-radius:var(--radius-xl);max-width:420px;padding:var(--space-xl);text-align:center;width:100%}.cs-delete-modal h3{color:var(--color-text-dark);font-family:var(--font-heading);font-size:var(--text-lg);margin-bottom:var(--space-sm)}.cs-delete-modal p{color:var(--color-text-light);font-family:var(--font-body);font-size:var(--text-sm);line-height:1.5;margin-bottom:var(--space-lg)}.cs-delete-modal-actions{display:flex;gap:var(--space-md);justify-content:center}@keyframes cs-fadeIn{0%{opacity:0}to{opacity:1}}@media (min-width:768px){.cs-cards-grid,.cs-documents-grid,.cs-fields-grid,.cs-vendor-cards-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.cs-cards-grid,.cs-documents-grid,.cs-fields-grid,.cs-vendor-cards-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:480px){.cs-tabs-nav{gap:4px;padding:var(--space-sm)}.cs-tab-btn{font-size:var(--text-xs);padding:8px 12px}.cs-tab-btn span{display:none}.cs-tab-btn svg{font-size:var(--text-base)}.cs-overview-section,.cs-tab-content{padding:var(--space-md)}.cs-section-header-row{align-items:center;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-sm);margin-top:var(--space-sm);text-align:center}.cs-btn-add{justify-content:center;width:100%}.cs-alert-icon{height:25px;width:25px}.cs-deadline-alert{align-items:flex-start;flex-direction:row}.cs-document-card{width:100px}.cs-modal-header h3{font-size:var(--text-xs);max-width:50%}}.cs-overview-section-header{align-items:end;border-bottom:1px solid var(--color-border-light);display:flex;justify-content:space-between;margin-bottom:1.25rem;padding-bottom:10px}.cs-edit-toggle-btn{align-items:center;background:#0000;border:1px solid var(--color-secondary);border-radius:var(--radius-md);color:var(--color-secondary);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--text-xs);font-weight:500;gap:.375rem;padding:.375rem .75rem;transition:all .2s ease}.cs-edit-toggle-btn:hover{background:var(--color-secondary);color:var(--color-surface)}.cs-edit-toggle-btn:disabled{border-color:var(--color-text-muted);color:var(--color-text-muted);cursor:not-allowed;opacity:.6}.cs-edit-toggle-btn:disabled:hover{background-color:initial}.cs-edit-field{display:flex;flex-direction:column;gap:.25rem}.cs-edit-field-label{align-items:center;color:var(--color-text-muted);display:flex;font-family:var(--font-body);font-size:var(--text-xs);font-weight:500;gap:6px;letter-spacing:.03em;text-transform:uppercase}.cs-edit-input,.cs-edit-select{background:var(--color-surface);border:1px solid var(--color-bg-dk);border-radius:var(--radius-md);color:var(--color-text-base);font-family:var(--font-body);font-size:var(--text-sm);overflow-y:scroll;padding:.5rem .625rem;transition:border-color .2s ease;width:100%}.cs-edit-input:focus,.cs-edit-select:focus{border-color:var(--color-secondary);box-shadow:var(--shadow-focus);outline:none}.cs-edit-checkbox-row{align-items:center;display:flex;gap:.5rem;padding:.5rem 0}.cs-edit-checkbox-row input[type=checkbox]{accent-color:var(--color-secondary);cursor:pointer;height:1.125rem;width:1.125rem}.cs-edit-checkbox-label{color:var(--color-text-base);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm)}.cs-edit-multi-select{display:flex;flex-wrap:wrap;gap:.625rem;padding:.375rem 0}.cs-edit-multi-option{align-items:center;display:flex;gap:.375rem}.cs-edit-multi-option label{color:var(--color-text-base);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm)}.cs-field-info-eye{color:var(--color-text-muted);cursor:pointer;font-size:var(--icon-xs);margin-left:6px;opacity:.7;transition:opacity .2s ease;vertical-align:middle}.cs-field-info-eye:hover{opacity:1}.cs-view-options-content{display:flex;flex-wrap:wrap;gap:16px;width:100%}.cs-view-option-link{align-items:center;background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-secondary);display:inline-flex;font-family:var(--font-body);font-size:var(--text-base);font-weight:500;gap:8px;padding:12px 16px;text-decoration:none;transition:all .2s ease;width:100%}.cs-view-option-link:hover{background:color-mix(in srgb,var(--color-secondary) 5%,#0000);border-color:var(--color-secondary)}.cs-view-option-image{flex-basis:calc(50% - 8px);flex-grow:1;flex-shrink:1;min-width:200px;text-align:center}.cs-view-option-image-label{color:var(--color-text-dark);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;margin:0 0 8px}.cs-view-option-image img{border:1px solid var(--color-border-light);border-radius:var(--radius-md);cursor:zoom-in;max-width:100%}@keyframes vendorHighlight{0%{border:3px solid var(--color-secondary);box-shadow:var(--shadow-xl)}70%{border:3px solid var(--color-secondary);box-shadow:var(--shadow-xl)}to{box-shadow:none}}.cs-vendor-card--highlight{animation:vendorHighlight 2s ease}.cs-edit-actions{border-top:1px solid var(--color-bg-dk);display:flex;gap:.625rem;justify-content:flex-end;margin-top:.5rem;padding-top:.75rem}.cs-edit-save-btn{align-items:center;background:var(--color-secondary);border:none;border-radius:var(--radius-md);color:var(--color-surface);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;gap:.375rem;padding:.5rem 1.25rem;transition:opacity .2s ease}.cs-edit-save-btn:hover{opacity:.9}.cs-edit-save-btn:disabled{cursor:not-allowed;opacity:.6}.cs-edit-cancel-btn{align-items:center;background:#0000;border:1px solid var(--color-bg-dk);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;gap:.375rem;padding:.5rem 1.25rem;transition:all .2s ease}.cs-edit-cancel-btn:hover{background:var(--color-bg-dk)}.cs-save-toast{align-items:center;animation:cs-toast-fade .3s ease;background:#4a5f4f14;border:1px solid #4a5f4f33;border-radius:var(--radius-md);color:var(--status-success);display:flex;font-family:var(--font-body);font-size:var(--text-xs);font-weight:500;gap:.5rem;margin-bottom:.75rem;padding:.625rem 1rem}@keyframes cs-toast-fade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.cs-save-error{background:var(--bg-status-danger);border-color:var(--status-danger);color:var(--status-danger)}@media (max-width:768px){.cs-overview-section-header{flex-wrap:wrap;gap:.5rem}.cs-edit-toggle-btn{font-size:var(--text-xs);padding:.3125rem .625rem}.cs-edit-actions{flex-direction:column}.cs-edit-cancel-btn,.cs-edit-save-btn{justify-content:center;width:100%}.cs-edit-multi-select{flex-direction:column}}.document-category{margin-bottom:1.5rem;padding:2.5rem}.category-title{border-bottom:2px solid var(--color-border-light);color:var(--color-text-dark);font-family:var(--font-heading);font-size:var(--text-xl);font-weight:600;margin:0 0 1.5rem;padding-bottom:.75rem}.documents-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.document-card{cursor:pointer;display:flex;flex-direction:column;overflow:hidden}.document-thumbnail{align-items:center;background:var(--color-surface);display:flex;height:180px;justify-content:center;overflow:hidden;position:relative;width:100%}.document-thumbnail img{height:100%;object-fit:cover;width:100%}.document-icon{align-items:center;border-radius:var(--radius-lg);display:flex;height:64px;justify-content:center;width:64px}.document-icon.pdf{background:color-mix(in srgb,var(--status-danger) 10%,#0000);color:var(--color-secondary)}.document-icon.generic{background:color-mix(in srgb,var(--color-text-muted) 10%,#0000);color:var(--color-text-muted)}.document-icon svg{height:40px;width:40px}.document-info{padding:var(--space-md)}.document-name{color:var(--color-text-dark);font-family:var(--font-body);font-size:var(--text-base);font-weight:500;margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-size{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-sm);margin:0}.documents-empty svg{color:var(--color-text-muted);height:80px;margin-bottom:var(--space-lg);width:80px}.docs-empty-state,.unsupported-file{padding:var(--space-2xl) var(--space-lg);text-align:center}.unsupported-file p{color:var(--color-text-light);font-family:var(--font-body);font-size:var(--text-base);margin:0 0 var(--space-md) 0}.download-link{display:inline-block;text-decoration:none}.modal-container .modal-body{max-height:calc(90vh - 80px);min-height:500px}.modal-container .modal-header.modal-header-with-close{padding-right:60px}.modal-container .modal-header h3{color:var(--color-text-dark);flex:1 1;font-family:var(--font-body);font-size:var(--text-lg);font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:1024px){.documents-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}@media (max-width:768px){.documents-grid{gap:1rem;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.document-category{padding:2rem}.category-title{font-size:var(--text-lg)}}@media (max-width:480px){.documents-grid{grid-template-columns:repeat(2,1fr)}.document-category{padding:1.5rem}.category-title{font-size:var(--text-base)}.document-thumbnail{height:150px}}.co-stats-section{margin-bottom:2rem}.co-stats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(5,1fr)}.co-stat-card{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);display:flex;gap:1rem;padding:1.5rem;transition:transform .3s ease,box-shadow .3s ease}.co-stat-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.co-stat-icon{align-items:center;border-radius:var(--radius-lg);display:flex;flex-shrink:0;font-size:var(--text-xl);height:50px;justify-content:center;width:50px}.co-stat-icon-total{background:color-mix(in srgb,var(--color-primary) 10%,#0000);color:var(--color-primary)}.co-stat-icon-approved{background:var(--bg-status-success);color:var(--status-success)}.co-stat-icon-pending{background:var(--bg-status-warning);color:var(--status-warning)}.co-stat-icon-cost{background:var(--bg-status-success);color:var(--status-success)}.co-stat-icon-time{background:var(--bg-status-danger);color:var(--status-danger)}.co-stat-content{display:flex;flex-direction:column;min-width:0}.co-stat-value{color:var(--color-text-dark);font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:700;line-height:1.2}.co-stat-unit{font-size:var(--text-sm);font-weight:400}.co-stat-label,.co-stat-unit{color:var(--color-text-muted)}.co-stat-label{font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:.05em;margin-top:.25rem;text-transform:uppercase}.co-cost-debit{color:var(--status-danger)}.co-cost-credit{color:var(--status-success)}.co-list-section{margin-bottom:3rem;margin-top:3rem;padding-bottom:2rem}.co-list-section,.co-section-title{border-bottom:2px solid var(--color-border-light)}.co-section-title{color:var(--color-text-dark);font-family:var(--font-heading);font-size:var(--text-xl);font-weight:600;margin:0 0 1.5rem;padding-bottom:.75rem}.co-cards-list{display:flex;flex-direction:column;gap:1rem}.co-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden;transition:all .3s ease}.co-card:hover{box-shadow:var(--shadow-hover)}.co-card-expanded{border-color:var(--color-secondary)}.co-card-header{align-items:center;background:var(--color-surface);cursor:pointer;display:flex;gap:1rem;justify-content:space-between;padding:1.25rem 1.5rem;transition:background .2s ease}.co-card-header:hover{background:linear-gradient(135deg,var(--color-bg) 0,var(--color-bg) 100%)}.co-card-expanded .co-card-header{border-bottom:1px solid var(--color-border-light)}.co-card-header-content{flex:1 1;min-width:0}.co-card-title-row{align-items:center;display:flex;flex-wrap:nowrap;gap:.75rem}.co-number{background:color-mix(in srgb,var(--color-secondary) 10%,#0000);border-radius:var(--radius-sm);color:var(--color-secondary);flex-shrink:0;font-family:var(--font-body);font-size:var(--text-xs);font-weight:700;letter-spacing:.05em;padding:.25rem .5rem;text-transform:uppercase}.co-card-title{color:var(--color-text-dark);flex:1 1;font-family:var(--font-heading);font-size:var(--text-lg);font-weight:600;line-height:1.3;margin:0;min-width:0}.co-card-title-row .co-status-badge{flex-shrink:0;margin-left:auto}.co-expand-btn{align-items:center;background:color-mix(in srgb,var(--color-text-muted) 10%,#0000);border:none;border-radius:50%;color:var(--color-text-muted);cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;transition:all .2s ease;width:36px}.co-card-expanded .co-expand-btn,.co-expand-btn:hover{background:color-mix(in srgb,var(--color-secondary) 15%,#0000);color:var(--color-secondary)}.co-card-body{animation:slideDown .3s ease;padding:1.5rem}.co-description{color:var(--color-text-light);font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;margin:0 0 1.5rem}.co-details-grid{grid-gap:1rem;background:var(--color-bg);border-radius:var(--radius-lg);display:grid;gap:1rem;grid-template-columns:repeat(4,1fr);margin-bottom:1.25rem;padding:1rem}.co-detail-item{display:flex;flex-direction:column;gap:.25rem}.co-detail-label{color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:.05em;text-transform:uppercase}.co-detail-value{color:var(--color-text-dark);font-family:var(--font-body);font-size:var(--text-base);font-weight:500}.co-cost-value{font-weight:600}.co-status-badge{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-family:var(--font-body);font-size:var(--text-xxs);font-weight:600;gap:.375rem;letter-spacing:.03em;padding:.375rem .75rem;text-transform:uppercase}.co-status-badge svg{font-size:var(--icon-xxs)}.co-status-approved{background:var(--bg-status-success);color:var(--status-success)}.co-status-completed{background:var(--badge-success);color:var(--color-surface)}.co-status-pending{background:var(--bg-status-warning);color:var(--status-warning)}.co-status-denied{background:var(--bg-status-danger);color:var(--status-danger)}.co-attachments{border-top:1px solid var(--color-border-light);margin-top:1rem;padding-top:1rem}.co-attachments-label{color:var(--color-text-muted);display:block;font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:.05em;margin-bottom:.75rem;text-transform:uppercase}.co-attachments-grid{display:flex;flex-wrap:wrap;gap:.75rem}.co-attachment-item{border-radius:var(--radius-md);cursor:pointer;overflow:hidden;transition:all .2s ease}.co-attachment-image{cursor:pointer}.co-attachment-thumbnail{border:1px solid var(--color-border-light);border-radius:var(--radius-md);height:80px;overflow:hidden;position:relative;width:80px}.co-attachment-thumbnail img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.co-attachment-thumbnail:hover img{transform:scale(1.05)}.co-attachment-overlay{align-items:center;background:#00000080;bottom:0;color:var(--color-surface);display:flex;font-size:var(--text-base);justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .2s ease}.co-attachment-thumbnail:hover .co-attachment-overlay{opacity:1}.co-attachment-file{align-items:center;background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-md);display:flex;gap:.5rem;padding:.625rem .875rem;transition:all .2s ease}.co-attachment-file:hover{background:var(--color-bg-dk);border-color:var(--color-secondary)}.co-attachment-pdf .co-file-icon{color:var(--color-secondary)}.co-file-icon{color:var(--color-text-muted);flex-shrink:0;font-size:var(--text-base)}.co-file-name{color:var(--color-text-dark);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.co-file-badge{background:var(--bg-status-success);color:var(--status-success);font-size:var(--text-xxs);font-weight:700;letter-spacing:.03em;padding:.2rem .4rem;text-transform:uppercase}.co-download-btn,.co-file-badge{border-radius:var(--radius-sm);margin-left:auto}.co-download-btn{align-items:center;background:var(--color-secondary);color:var(--color-surface);display:flex;font-size:var(--text-xs);height:28px;justify-content:center;text-decoration:none;transition:all .2s ease;width:28px}.co-download-btn:hover{background:var(--color-primary);transform:translateY(-1px)}.co-signature-status{align-items:center;border-radius:var(--radius-md);display:flex;font-family:var(--font-body);font-weight:500;gap:.5rem;margin-top:1rem;padding:.75rem 1rem}.co-signature-status,.co-signature-status svg{font-size:var(--text-sm)}.co-signed{background:var(--bg-status-success);color:var(--status-success)}.co-unsigned{background:var(--bg-status-warning);color:var(--status-warning)}.co-denial-banner{align-items:flex-start;background:color-mix(in srgb,var(--status-danger) 8%,#0000);border:1px solid color-mix(in srgb,var(--status-danger) 25%,#0000);border-radius:var(--radius-md);display:flex;gap:.75rem;margin-top:1rem;padding:1rem}.co-denial-icon{color:var(--status-danger);flex-shrink:0;font-size:var(--text-sm);margin-top:.1rem}.co-denial-content{flex:1 1;min-width:0}.co-denial-label{display:block;font-size:var(--text-xs);font-weight:700;letter-spacing:.05em;margin-bottom:.375rem;text-transform:uppercase}.co-denial-label,.co-denial-text{color:var(--status-danger);font-family:var(--font-body)}.co-denial-text{font-size:var(--text-base);font-style:italic;line-height:1.5;margin:0}.co-impact-section{margin-bottom:2rem}.co-impact-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden}.co-impact-header{align-items:center;background:var(--color-bg);border-bottom:1px solid var(--color-border-light);display:flex;gap:.75rem;padding:1.25rem 1.5rem}.co-impact-header-icon{color:var(--status-success);font-size:var(--text-lg)}.co-impact-title{color:var(--color-text-dark);font-family:var(--font-heading);font-size:var(--text-lg);font-weight:600;margin:0}.co-impact-content{grid-gap:0;display:grid;gap:0;grid-template-columns:1fr 1fr}.co-impact-column{padding:1.5rem}.co-impact-column:first-child{border-right:1px solid var(--color-border-light)}.co-impact-column-title{color:var(--color-text-dark);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;margin:0 0 1rem}.co-impact-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem}.co-impact-row{align-items:center;display:flex;justify-content:space-between;padding-bottom:.5rem}.co-impact-label{color:var(--color-text-light)}.co-impact-label,.co-impact-value{font-family:var(--font-body);font-size:var(--text-sm)}.co-impact-value{font-weight:500}.co-time-value{color:var(--type-custom)}.co-impact-total{align-items:center;border-top:1px solid var(--color-border-light);display:flex;justify-content:space-between;padding-top:1rem}.co-impact-total-label{color:var(--color-text-dark);font-family:var(--font-body);font-size:var(--text-base);font-weight:600}.co-impact-total-value{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:700}.co-pdf-modal-overlay{align-items:center;animation:fadeIn .3s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:var(--z-modal)}.co-pdf-modal{animation:slideUp .3s ease;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);display:flex;flex-direction:column;max-height:90vh;max-width:900px;overflow:hidden;width:100%}.co-pdf-modal-header{align-items:center;background:var(--color-bg);border-bottom:1px solid var(--color-border-light);display:flex;gap:1rem;justify-content:space-between;padding:1rem 1.5rem}.co-pdf-modal-title{align-items:center;display:flex;gap:.75rem;min-width:0}.co-pdf-modal-icon{color:var(--color-secondary);flex-shrink:0;font-size:var(--text-xl)}.co-pdf-modal-title span{color:var(--color-text-dark);font-family:var(--font-body);font-size:var(--text-base);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.co-pdf-modal-actions{align-items:center;display:flex;flex-shrink:0;gap:1rem}.co-pdf-download-btn{align-items:center;background:var(--color-secondary);border:none;border-radius:var(--radius-md);color:var(--color-surface);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;gap:.5rem;padding:.625rem 1.25rem;text-decoration:none;transition:all .2s ease}.co-pdf-download-btn:hover{background:var(--color-primary);box-shadow:var(--shadow-btn);transform:translateY(-1px)}.co-pdf-close-btn{align-items:center;background:var(--color-bg-dk);border:none;border-radius:50%;border-radius:var(--radius-full,50%);color:var(--color-text-muted);cursor:pointer;display:flex;flex-shrink:0;font-size:var(--icon-sm);height:36px;justify-content:center;padding:8px;transition:all .2s ease;width:36px}.co-pdf-close-btn:hover{background:var(--bg-status-danger);color:var(--status-danger)}.co-pdf-modal-body{background:#f0f0f0;flex:1 1;min-height:0}.co-pdf-viewer{border:none;height:70vh;width:100%}.co-lightbox-overlay{animation:fadeIn .3s ease;background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:var(--z-modal)}.co-lightbox-close,.co-lightbox-overlay{align-items:center;display:flex;justify-content:center}.co-lightbox-close{background:#ffffff1a;border:none;border-radius:50%;color:var(--color-surface);cursor:pointer;font-size:var(--text-xl);height:44px;position:absolute;right:1rem;top:1rem;transition:all .2s ease;width:44px;z-index:10}.co-lightbox-close:hover{background:var(--status-danger)}.co-lightbox-content{align-items:center;display:flex;justify-content:center;max-height:85vh;max-width:90vw}.co-lightbox-content img{border-radius:var(--radius-md);box-shadow:var(--shadow-modal);max-height:85vh;max-width:100%;object-fit:contain}.co-lightbox-nav{align-items:center;background:#ffffff1a;border:none;border-radius:50%;color:var(--color-surface);cursor:pointer;display:flex;font-size:var(--text-xl);height:50px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:all .2s ease;width:50px}.co-lightbox-nav:hover:not(:disabled){background:#fff3}.co-lightbox-nav:disabled{cursor:not-allowed;opacity:.3}.co-lightbox-prev{left:1rem}.co-lightbox-next{right:1rem}.co-lightbox-counter{background:#00000080;border-radius:var(--radius-full);bottom:1.5rem;color:#ffffffb3;font-family:var(--font-body);font-size:var(--text-sm);left:50%;padding:.5rem 1rem;position:absolute;transform:translateX(-50%)}.co-empty-state{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:4rem 2rem;text-align:center}.co-empty-icon{color:var(--color-text-muted);font-size:var(--icon-3xx);margin-bottom:1.5rem;opacity:.5}.co-empty-title{color:var(--color-text-dark);font-family:var(--font-heading);font-size:var(--text-xl);font-weight:600;margin:0 0 .5rem}.co-empty-message{color:var(--color-text-light);font-family:var(--font-body);font-size:var(--text-base);margin:0}@media (max-width:1024px){.co-stats-grid{grid-template-columns:repeat(3,1fr)}.co-stats-grid .co-stat-card:nth-child(4),.co-stats-grid .co-stat-card:nth-child(5){grid-column:span 1}.co-details-grid{grid-template-columns:repeat(2,1fr)}.co-impact-content{grid-template-columns:1fr}.co-impact-column:first-child{border-bottom:1px solid var(--color-border-light);border-right:none}}@media (max-width:768px){.co-stats-grid{grid-template-columns:repeat(2,1fr)}.co-stats-grid .co-stat-card:last-child{grid-column:span 2}.co-stat-card{padding:1.25rem}.co-stat-icon{font-size:var(--text-lg);height:44px;width:44px}.co-stat-value{font-size:var(--text-xl)}.co-card-header{align-items:center;padding:1rem 1.25rem}.co-card-body{padding:1.25rem}.co-card-title{font-size:var(--text-base)}.co-card-title-row{flex-wrap:wrap;gap:.5rem}.co-card-title-row .co-status-badge{justify-content:flex-start;margin-left:0;margin-top:.25rem;order:3;width:100%}.co-expand-btn{align-self:center}.co-details-grid{gap:.875rem;grid-template-columns:repeat(2,1fr);padding:.875rem}.co-attachment-thumbnail{height:70px;width:70px}.co-lightbox-nav{font-size:var(--text-base);height:44px;width:44px}.co-pdf-modal-overlay{padding:1rem}.co-pdf-modal-header{flex-wrap:wrap;gap:.75rem}.co-pdf-modal-title{width:100%}.co-pdf-modal-actions{justify-content:flex-end;width:100%}.co-pdf-viewer{height:60vh}.co-impact-column{padding:1.25rem}}@media (max-width:480px){.co-stats-grid{gap:.75rem;grid-template-columns:1fr}.co-stats-grid .co-stat-card:last-child{grid-column:span 1}.co-stat-card{gap:.875rem;padding:1rem}.co-stat-icon{font-size:var(--text-base);height:40px;width:40px}.co-stat-value{font-size:var(--text-lg)}.co-stat-label{font-size:var(--text-xxs)}.co-section-title{font-size:var(--text-lg)}.co-card-header{align-items:center;padding:1rem}.co-card-body{padding:1rem}.co-card-title-row{flex-wrap:wrap;gap:.5rem}.co-number{font-size:var(--text-xs);padding:.2rem .4rem}.co-card-title{flex:1 1;font-size:var(--text-base)}.co-card-title-row .co-status-badge{margin-left:0;margin-top:.25rem;order:3;width:100%}.co-expand-btn{align-self:center}.co-description{font-size:var(--text-sm)}.co-details-grid{gap:.75rem;grid-template-columns:1fr 1fr;padding:.75rem}.co-detail-label{font-size:var(--text-xxs)}.co-detail-value{font-size:var(--text-sm)}.co-attachments-grid{gap:.5rem}.co-attachment-thumbnail{height:60px;width:60px}.co-attachment-file{flex:1 1;min-width:0;padding:.5rem .75rem}.co-file-name{font-size:var(--text-xs);max-width:100px}.co-download-btn{font-size:var(--icon-xxs);height:26px;width:26px}.co-signature-status{font-size:var(--text-xs);padding:.625rem .875rem}.co-denial-banner{gap:.625rem;padding:.875rem}.co-denial-icon{font-size:var(--text-base)}.co-denial-label{font-size:var(--text-xxs)}.co-denial-text{font-size:var(--text-sm)}.co-lightbox-close{right:.75rem;top:.75rem}.co-lightbox-close,.co-lightbox-nav{height:40px;width:40px}.co-lightbox-prev{left:.5rem}.co-lightbox-next{right:.5rem}.co-empty-state{padding:2.5rem 1.5rem}.co-empty-icon{font-size:var(--icon-2xx)}.co-empty-title{font-size:var(--text-lg)}.co-empty-message{font-size:var(--text-sm)}.co-pdf-modal-overlay{padding:.5rem}.co-pdf-modal-header{padding:1rem}.co-pdf-download-btn{font-size:var(--text-sm);padding:.5rem 1rem}.co-pdf-close-btn{height:32px;width:32px}.co-pdf-viewer{height:55vh}.co-impact-column{padding:1rem}.co-impact-column-title{font-size:var(--text-xs)}.co-impact-total-value{font-size:var(--text-base)}}.client-updates{background:var(--color-bg);font-family:var(--font-body)}.updates-current-week{margin-bottom:32px;padding:28px 32px}.updates-current-header{align-items:center;border-bottom:1px solid var(--color-bg);display:flex;gap:18px;margin-bottom:28px;padding-bottom:20px}.updates-current-icon{align-items:center;background:color-mix(in srgb,var(--color-secondary) 10%,#0000);border-radius:var(--radius-lg);color:var(--color-secondary);display:flex;flex-shrink:0;font-size:var(--icon-xl);height:52px;justify-content:center;width:52px}.updates-current-title h2{color:var(--color-text-dark);font-family:var(--font-heading);font-size:var(--text-xl);font-weight:600;margin:0 0 6px}.updates-week-label{color:var(--color-text-light);font-size:var(--text-sm);font-weight:400}.updates-current-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr);margin-bottom:28px}.updates-stat-item{background:var(--color-bg);gap:16px;padding:20px}.updates-stat-icon,.updates-stat-item{align-items:center;border-radius:var(--radius-md);display:flex}.updates-stat-icon{flex-shrink:0;font-size:var(--text-xl);height:46px;justify-content:center;width:46px}.updates-stat-icon.tasks{background:var(--bg-status-success);color:var(--status-success)}.updates-stat-icon.photos{background:color-mix(in srgb,var(--color-secondary) 10%,#0000);color:var(--color-secondary)}.updates-stat-icon.phase{background:color-mix(in srgb,var(--color-text-muted) 10%,#0000);color:var(--color-primary)}.updates-stat-content{display:flex;flex-direction:column;gap:4px}.updates-stat-value{color:var(--color-text-dark);font-family:var(--font-heading);font-size:var(--text-xl);font-weight:700;line-height:1.2}.updates-stat-label{color:var(--color-text-light);font-size:var(--text-xs);letter-spacing:.5px;text-transform:uppercase}.updates-current-tasks{border-top:1px solid var(--color-bg);padding-top:24px}.updates-section-title{color:var(--color-text-light);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;letter-spacing:.5px;margin:0 0 16px;text-transform:uppercase}.updates-section-title.updates-section-title-empty{padding:20px 0;text-align:center}.updates-task-list{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}.updates-task-item{align-items:center;background:var(--color-bg);border-radius:var(--radius-md);cursor:pointer;display:flex;gap:14px;padding:16px 18px;transition:transform var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}.updates-task-item:hover{background:color-mix(in srgb,var(--color-bg-dk) 25%,#0000);box-shadow:var(--shadow-md);transform:translateX(4px)}.updates-task-check{color:var(--status-success);flex-shrink:0;font-size:var(--text-xl)}.updates-task-content{flex:1 1;min-width:0}.updates-task-name{color:var(--color-text-dark);display:block;font-size:var(--text-base);font-weight:600;line-height:1.4}.updates-task-date-mobile{color:var(--color-text-light);display:none;font-size:var(--text-sm);margin-top:6px}.updates-task-meta{align-items:center;display:flex;flex-shrink:0;gap:14px}.updates-task-date-desktop{color:var(--color-text-light);font-size:var(--text-sm);white-space:nowrap}.updates-task-photos-badge{align-items:center;background:color-mix(in srgb,var(--color-secondary) 10%,#0000);border-radius:var(--radius-full);color:var(--color-secondary);display:inline-flex;font-size:var(--text-sm);font-weight:600;gap:5px;padding:6px 10px}.updates-task-photos-badge svg{font-size:var(--icon-xs)}.updates-archive{margin-bottom:40px}.updates-archive-title{color:var(--color-text-dark);font-family:var(--font-heading);font-size:var(--text-xl);font-weight:600;margin:0 0 20px}.updates-archive-week{margin-bottom:16px;overflow:hidden;padding:0}.updates-archive-header{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;font-family:var(--font-body);justify-content:space-between;padding:18px 24px;transition:background var(--transition-fast);width:100%}.updates-archive-header:hover{background:var(--color-bg)}.updates-archive-info{align-items:center;display:flex;gap:14px}.updates-archive-icon{color:var(--color-secondary);font-size:var(--text-xl)}.updates-archive-label{color:var(--color-text-dark);font-size:var(--text-base);font-weight:600}.updates-archive-count{background:var(--color-bg);border-radius:var(--radius-full);color:var(--color-text-light);font-size:var(--text-xs);padding:5px 12px}.updates-archive-chevron{color:var(--color-text-light);font-size:var(--text-xl);transition:transform var(--transition-fast)}.updates-archive-chevron.expanded{transform:rotate(180deg)}.updates-archive-content{animation:fadeIn .25s ease-out;padding:8px 24px 20px}#progress-photos{scroll-margin-top:100px}.updates-photos-section{margin-bottom:40px;padding:28px 32px}.updates-photos-header{align-items:flex-start;border-bottom:1px solid var(--color-bg);display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:28px;padding-bottom:24px}.updates-photos-title-wrap{align-items:flex-start;display:flex;gap:16px}.updates-photos-icon{align-items:center;background:color-mix(in srgb,var(--color-secondary) 10%,#0000);border-radius:var(--radius-lg);color:var(--color-secondary);display:flex;flex-shrink:0;font-size:var(--icon-xl);height:52px;justify-content:center;width:52px}.updates-photos-title{color:var(--color-text-dark);font-family:var(--font-heading);font-size:var(--text-xl);font-weight:600;margin:0 0 6px}.updates-photos-subtitle{color:var(--color-text-light);font-size:var(--text-sm);line-height:1.4;margin:0}.updates-group-toggle{background:var(--color-bg);border-radius:var(--radius-md);display:flex;padding:5px}.updates-group-btn{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--color-text-light);cursor:pointer;display:flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;gap:8px;padding:12px 18px;transition:all var(--transition-fast)}.updates-group-btn:hover{background:var(--color-surface);color:var(--color-text-dark)}.updates-group-btn.active{background:var(--color-secondary);color:var(--color-surface)}.updates-photo-groups{display:flex;flex-direction:column;gap:36px}.updates-photo-group{animation:fadeIn .4s ease-out}.updates-group-label{align-items:center;background:var(--color-bg);border-radius:var(--radius-md);color:var(--color-text-dark);display:flex;font-family:var(--font-heading);font-size:var(--text-base);font-weight:600;gap:10px;margin:0 0 18px;padding:12px 16px}.updates-group-label svg{color:var(--color-secondary);font-size:var(--text-lg)}.updates-group-count{color:var(--color-text-light);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;margin-left:auto}.updates-photo-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.updates-photo-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);cursor:pointer;overflow:hidden;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.updates-photo-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.updates-photo-thumbnail{aspect-ratio:4/3;overflow:hidden;position:relative}.updates-photo-thumbnail img{height:100%;object-fit:cover;transition:transform var(--transition-normal);width:100%}.updates-photo-card:hover .updates-photo-thumbnail img{transform:scale(1.05)}.updates-photo-overlay{align-items:center;background:#00000080;color:var(--color-surface);display:flex;flex-direction:column;gap:8px;inset:0;justify-content:center;opacity:0;position:absolute;transition:opacity var(--transition-fast)}.updates-photo-overlay svg{font-size:var(--icon-xl)}.updates-photo-overlay span{font-size:var(--text-sm);font-weight:600}.updates-photo-card:hover .updates-photo-overlay{opacity:1}.updates-gallery{animation:slideUp .3s ease;background:var(--color-surface);border-radius:var(--radius-lg);display:flex;flex-direction:column;max-height:90vh;max-width:90vw;overflow:hidden;position:relative}.updates-gallery-image-wrap{align-items:center;background:#1a1a1a;display:flex;flex:1 1;justify-content:center;max-height:70vh;min-height:300px}.updates-gallery-image{display:block;max-height:70vh;max-width:100%;object-fit:contain}.updates-gallery-nav{align-items:center;background:#ffffffe6;border:none;border-radius:50%;box-shadow:var(--shadow-md);color:var(--color-text-dark);cursor:pointer;display:flex;font-size:var(--icon-xl);height:52px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:all var(--transition-fast);width:52px;z-index:10}.updates-gallery-nav:hover{background:var(--color-surface);transform:translateY(-50%) scale(1.1)}.updates-gallery-prev{left:20px}.updates-gallery-next{right:20px}.updates-gallery-info{align-items:center;background:var(--color-bg);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:20px 24px}.updates-gallery-details{display:flex;flex-direction:column;gap:6px}.updates-gallery-task-name{align-items:center;color:var(--color-text-dark);display:flex;font-size:var(--text-base);font-weight:600;gap:10px;margin:0}.updates-gallery-task-name svg{color:var(--status-success);font-size:var(--text-lg)}.updates-gallery-date{align-items:center;color:var(--color-text-light);display:inline-flex;font-size:var(--text-sm);gap:8px}.updates-gallery-date svg{font-size:var(--icon-sm)}.updates-gallery-pagination{align-items:flex-end;display:flex;flex-direction:column;gap:10px}.updates-gallery-counter{background:var(--color-surface);border-radius:var(--radius-full);color:var(--color-text-light);font-size:var(--text-sm);font-weight:600;padding:6px 14px}.updates-gallery-dots{display:flex;gap:8px}.updates-gallery-dot{background:var(--color-border-dark);border:none;border-radius:50%;cursor:pointer;height:10px;padding:0;transition:all var(--transition-fast);width:10px}.updates-gallery-dot:hover{background:var(--color-text-light)}.updates-gallery-dot.active{background:var(--color-secondary);transform:scale(1.25)}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1024px){.updates-current-week,.updates-photos-section{padding:24px 28px}.updates-current-stats{gap:16px;grid-template-columns:repeat(3,1fr)}.updates-photo-grid{gap:16px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}@media (max-width:768px){.updates-current-week,.updates-photos-section{margin-bottom:28px;padding:22px 20px}.updates-current-header,.updates-photos-header{gap:14px;margin-bottom:24px;padding-bottom:18px}.updates-current-icon,.updates-photos-icon{font-size:var(--icon-lg);height:46px;width:46px}.updates-current-title h2,.updates-photos-title{font-size:var(--text-xl)}.updates-current-stats{gap:14px;grid-template-columns:1fr}.updates-stat-item{padding:18px}.updates-task-date-desktop{display:none}.updates-task-date-mobile{display:block}.updates-task-item{align-items:flex-start;padding:14px 16px}.updates-task-check{margin-top:3px}.updates-task-meta{align-items:flex-end;flex-direction:column;gap:10px}.updates-photos-header{align-items:stretch;flex-direction:column}.updates-photos-title-wrap{margin-bottom:8px}.updates-group-toggle{justify-content:center;width:100%}.updates-photo-grid{gap:14px;grid-template-columns:repeat(2,1fr)}.updates-archive-header{padding:16px 20px}.updates-archive-info{gap:12px}.updates-archive-label{font-size:var(--text-base)}.updates-archive-count{font-size:var(--text-xs);padding:4px 10px}.updates-archive-content{padding:8px 20px 18px}.updates-gallery{max-width:95vw}.updates-gallery-nav{font-size:var(--icon-lg);height:44px;width:44px}.updates-gallery-prev{left:12px}.updates-gallery-next{right:12px}.updates-gallery-info{align-items:flex-start;flex-direction:column;padding:18px 20px}.updates-gallery-pagination{align-items:center;flex-direction:row;justify-content:space-between;width:100%}}@media (max-width:480px){.updates-current-week,.updates-photos-section{margin-bottom:24px;padding:18px 16px}.updates-current-header,.updates-photos-header{gap:12px;margin-bottom:20px;padding-bottom:16px}.updates-current-icon,.updates-photos-icon{font-size:var(--text-xl);height:42px;width:42px}.updates-current-title h2,.updates-photos-title{font-size:var(--text-lg)}.updates-photos-subtitle,.updates-week-label{font-size:var(--text-sm)}.updates-current-stats{gap:12px;margin-bottom:20px}.updates-stat-item{gap:14px;padding:16px}.updates-stat-icon{height:42px;width:42px}.updates-stat-value{font-size:var(--text-xl)}.updates-current-tasks{padding-top:20px}.updates-task-list{gap:10px}.updates-task-item{gap:12px;padding:14px}.updates-archive-title{font-size:var(--text-lg);margin-bottom:16px}.updates-archive-week{margin-bottom:12px}.updates-archive-header{padding:14px 16px}.updates-archive-content{padding:6px 16px 16px}.updates-group-toggle{padding:4px}.updates-group-btn{font-size:var(--text-xs);padding:10px 14px}.updates-group-label{font-size:var(--text-base);padding:10px 14px}.updates-photo-grid{gap:12px;grid-template-columns:repeat(2,1fr)}#progress-photos{scroll-margin-top:60px}.updates-gallery-nav{font-size:var(--text-lg);height:38px;width:38px}.updates-gallery-prev{left:8px}.updates-gallery-next{right:8px}.updates-gallery-info{gap:14px;padding:16px 18px}.updates-gallery-task-name{font-size:var(--text-base)}.updates-gallery-image-wrap{min-height:200px}.updates-gallery-dots{gap:6px}.updates-gallery-dot{height:8px;width:8px}}@media print{.updates-group-toggle{display:none}.updates-photo-card{break-inside:avoid;page-break-inside:avoid}.updates-archive-header{background:var(--color-bg)}}.client-profile{background:var(--color-bg);font-family:var(--font-body);min-height:100vh}.profile-container{padding-bottom:120px}.profile-edit-alert,.profile-error-alert,.profile-success-alert{align-items:flex-start;animation:slideDown .3s ease;border-radius:var(--radius-lg);display:flex;font-size:var(--text-sm);font-weight:500;gap:12px;line-height:1.5;margin-bottom:24px;padding:16px 20px}.profile-edit-alert{background:var(--bg-status-warning);border:1px solid var(--status-warning);color:var(--status-warning)}.profile-error-alert{background:var(--bg-status-danger);border:1px solid var(--status-danger);color:var(--status-danger)}.profile-success-alert{background:var(--bg-status-success);border:1px solid var(--status-success);color:var(--status-success)}.profile-alert-icon{flex-shrink:0;font-size:var(--text-lg);margin-top:2px}.profile-edit-alert .profile-alert-icon{color:var(--status-warning)}.profile-error-alert .profile-alert-icon{color:var(--status-danger)}.profile-success-alert .profile-alert-icon{color:var(--status-success)}.profile-card{overflow:hidden;padding:0}.profile-card-header{align-items:center;background:var(--color-bg);border-bottom:1px solid var(--color-border-light);display:flex;justify-content:space-between;padding:24px 32px}.profile-header-info{align-items:center;display:flex;gap:16px}.profile-avatar{align-items:center;background:var(--color-accent);border-radius:50%;box-shadow:var(--shadow-md);color:var(--color-surface);display:flex;font-size:var(--icon-xl);height:60px;justify-content:center;width:60px}.profile-header-text{display:flex;flex-direction:column;gap:4px}.profile-name{color:var(--color-text-dark);font-family:var(--font-heading);font-size:var(--text-xl);font-weight:700;margin:0}.profile-project{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--text-sm);font-weight:600;gap:6px;letter-spacing:.02rem;margin:0}.profile-project-icon{color:var(--color-secondary);font-size:var(--text-xs)}.profile-actions{justify-content:center}.profile-actions,.profile-edit-btn{align-items:center;display:flex;gap:12px;height:100%}.profile-edit-btn{margin-top:0!important}.profile-edit-actions{align-items:center;display:flex;gap:12px;height:100%;justify-items:center}.profile-cancel-btn,.profile-save-btn{align-items:center;display:flex;gap:8px;margin-top:0!important}.profile-save-btn .spinner-small{border-color:#fff #ffffff4d #ffffff4d;border-width:2px;height:16px;width:16px}.profile-fields{padding:32px}.profile-field-items{grid-gap:24px 32px;display:grid;gap:24px 32px;grid-template-columns:1fr 1fr}.profile-section{grid-column:span 2;margin-bottom:32px}.profile-section:last-child{margin-bottom:0}.profile-section-title{border-bottom:2px solid var(--color-border-light);color:var(--color-text-dark);font-family:var(--font-heading);font-size:var(--text-base);font-weight:600;margin:0 0 16px;padding-bottom:12px}.profile-field{align-items:flex-start;background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-md);display:flex;gap:16px;grid-column:span 1;margin-bottom:12px;padding:16px 20px;transition:all .3s ease}.profile-field-full{display:flex;grid-column:span 2}.profile-field-readonly{background:var(--color-bg);border-color:var(--color-border-medium)}.profile-field-editable{background:var(--color-surface);box-shadow:var(--shadow-btn)}.profile-field-icon{align-items:center;background:color-mix(in srgb,var(--color-text-muted) 10%,#0000);border-radius:var(--radius-md);color:var(--color-text-muted);display:flex;flex-shrink:0;font-size:var(--text-base);height:40px;justify-content:center;width:40px}.profile-field-editable .profile-field-icon{background:color-mix(in srgb,var(--color-secondary) 10%,#0000);color:var(--color-secondary)}.profile-field-content{flex:1 1;min-width:0}.profile-field-label{color:var(--color-text-muted);display:block;font-size:var(--text-xs);font-weight:600;letter-spacing:.05em;margin-bottom:4px;text-transform:uppercase}.profile-field-value{color:var(--color-text-base);font-size:var(--text-base);margin:0;word-break:break-word}.profile-address{line-height:1.6;white-space:pre-line}.profile-input,.profile-textarea{background:var(--color-surface);border:2px solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-base);font-family:var(--font-body);font-size:var(--text-base);padding:10px 14px;transition:all .2s ease;width:100%}.profile-input:focus,.profile-textarea:focus{border-color:var(--color-secondary);box-shadow:var(--shadow-focus);outline:none}.profile-textarea{min-height:80px;resize:vertical}.profile-field-info{align-items:flex-start;background:var(--bg-status-info);border:1px solid var(--status-info);border-radius:var(--radius-md);display:flex;font-weight:500;gap:8px;line-height:1.4;margin-top:10px;padding:10px 12px}.profile-field-info,.profile-info-icon{color:var(--status-info);font-size:var(--text-sm)}.profile-info-icon{flex-shrink:0;margin-top:1px}@media (max-width:1024px){.profile-card-header{padding:20px 24px}.profile-fields{padding:24px}}@media (max-width:768px){.profile-card-header{align-items:flex-start;flex-direction:column;gap:20px;padding:20px}.profile-actions{width:100%}.profile-edit-btn{justify-content:center;width:100%}.profile-edit-actions{width:100%}.profile-cancel-btn,.profile-save-btn{flex:1 1;justify-content:center}.profile-avatar{font-size:var(--text-2xl);height:56px;width:56px}.profile-name{font-size:var(--text-lg)}.profile-fields{padding:20px}.profile-section-title{font-size:var(--text-sm)}.profile-field{gap:12px;padding:14px 16px}.profile-field-icon{height:36px;width:36px}.profile-field-icon,.profile-field-value{font-size:var(--text-sm)}.profile-edit-alert,.profile-error-alert,.profile-success-alert{font-size:var(--text-xs);padding:14px 16px}}@media (max-width:480px){.profile-container{margin:10px auto;padding:16px 12px 140px}.profile-card-header{padding:16px}.profile-header-info{gap:12px}.profile-avatar{font-size:var(--text-xl);height:48px;width:48px}.profile-name{font-size:var(--text-base)}.profile-project{font-size:var(--text-sm)}.profile-fields{padding:16px}.profile-field-items{gap:0;grid-template-columns:1fr}.profile-section{margin-bottom:24px}.profile-field{gap:10px;padding:12px 14px}.profile-field-icon{font-size:var(--icon-xs);height:32px;width:32px}.profile-input,.profile-textarea{font-size:var(--text-sm);padding:8px 12px}.profile-field-info{font-size:var(--text-xxs);padding:8px 10px}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
/*# sourceMappingURL=main.8522f48c.css.map*/