@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--color-primary: #191919;--color-primary-hover: #2F2F2F;--color-primary-active: #0A0A0A;--color-primary-light: #F1F1EF;--color-primary-dark: #000000;--color-accent: #EB5757;--color-accent-hover: #D94848;--color-accent-light: #FDEBEB;--color-background: #FFFFFF;--color-surface: #FFFFFF;--color-surface-elevated: #FFFFFF;--color-surface-secondary: #F7F6F3;--color-surface-tertiary: #EEEEEC;--color-surface-hover: #F1F1EF;--color-border: rgba(55, 53, 47, .09);--color-border-hover: rgba(55, 53, 47, .16);--color-border-focus: var(--color-primary);--color-border-subtle: rgba(55, 53, 47, .05);--color-text-primary: #37352F;--color-text-secondary: #6B6B6B;--color-text-tertiary: #9B9A97;--color-text-muted: #B4B4B3;--color-text-inverse: #FFFFFF;--color-success: #0F7B6C;--color-success-hover: #0D6B5E;--color-success-light: #DBEDEA;--color-success-border: #0F7B6C;--color-warning: #D9730D;--color-warning-hover: #C4680C;--color-warning-light: #FAEBDD;--color-warning-border: #D9730D;--color-error: #E03E3E;--color-error-hover: #CC3838;--color-error-light: #FBE4E4;--color-error-border: #E03E3E;--color-info: #6B7280;--color-info-hover: #4B5563;--color-info-light: #F3F4F6;--color-info-border: #6B7280;--color-tag-gray: #E3E2E0;--color-tag-brown: #EEE0DA;--color-tag-orange: #FADEC9;--color-tag-yellow: #FDECC8;--color-tag-green: #DBEDDB;--color-tag-blue: #D3E5EF;--color-tag-purple: #E8DEEE;--color-tag-pink: #F5E0E9;--color-tag-red: #FFE2DD;--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-mono: "SFMono-Regular", Menlo, Consolas, "PT Mono", monospace;--text-xs: 11px;--text-sm: 13px;--text-base: 14px;--text-md: 15px;--text-lg: 16px;--text-xl: 18px;--text-2xl: 20px;--text-3xl: 24px;--text-4xl: 30px;--text-5xl: 36px;--leading-none: 1;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .01em;--tracking-wider: .02em;--tracking-widest: .05em;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--radius-none: 0;--radius-sm: 3px;--radius-md: 4px;--radius-lg: 6px;--radius-xl: 8px;--radius-2xl: 12px;--radius-3xl: 16px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: rgba(15, 15, 15, .05) 0px 0px 0px 1px, rgba(15, 15, 15, .1) 0px 3px 6px, rgba(15, 15, 15, .2) 0px 9px 24px;--shadow-md: rgba(15, 15, 15, .05) 0px 0px 0px 1px, rgba(15, 15, 15, .1) 0px 5px 10px, rgba(15, 15, 15, .2) 0px 15px 40px;--shadow-lg: rgba(15, 15, 15, .05) 0px 0px 0px 1px, rgba(15, 15, 15, .1) 0px 7px 14px, rgba(15, 15, 15, .2) 0px 24px 56px;--shadow-xl: rgba(15, 15, 15, .05) 0px 0px 0px 1px, rgba(15, 15, 15, .1) 0px 12px 24px, rgba(15, 15, 15, .2) 0px 36px 72px;--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-primary: 0 1px 2px rgba(25, 25, 25, .15);--shadow-success: 0 1px 2px rgba(15, 123, 108, .15);--shadow-error: 0 1px 2px rgba(224, 62, 62, .15);--ring-width: 2px;--ring-offset: 0px;--ring-color: rgba(25, 25, 25, .35);--transition-fast: 80ms ease;--transition-base: .12s ease;--transition-slow: .2s ease;--transition-slower: .3s ease;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-normal);line-height:var(--leading-normal);color:var(--color-text-primary);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}body.menu-open{overflow:hidden;touch-action:none}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);font-weight:var(--font-semibold);line-height:var(--leading-tight);color:var(--color-text-primary);letter-spacing:var(--tracking-tight)}h1{font-size:var(--text-4xl);font-weight:var(--font-bold)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg);font-weight:var(--font-medium)}h6{font-size:var(--text-base);font-weight:var(--font-medium)}p{margin-bottom:var(--space-4);color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.mono{font-family:var(--font-mono);font-size:.9em;letter-spacing:-.02em}small{font-size:var(--text-sm)}strong,b{font-weight:var(--font-semibold)}a{color:var(--color-text-primary);text-decoration:underline;text-decoration-color:var(--color-border-hover);text-underline-offset:2px;transition:all var(--transition-fast)}a:hover{text-decoration-color:var(--color-text-primary)}a:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset);border-radius:var(--radius-sm)}button{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium);line-height:var(--leading-none);cursor:pointer;border:none;background:none;transition:background-color var(--transition-fast)}button:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}button:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}input,textarea,select{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-normal);color:var(--color-text-primary);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);width:100%;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}input:hover,textarea:hover,select:hover{background-color:var(--color-surface-hover)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary);background-color:var(--color-surface)}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}textarea{resize:vertical;min-height:100px}select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;padding-right:var(--space-10)}.form-group{margin-bottom:var(--space-4)}.form-label{display:block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary);margin-bottom:var(--space-1)}.form-hint{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:var(--space-1)}.form-error{font-size:var(--text-xs);color:var(--color-error);margin-top:var(--space-1)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border-hover);border-radius:var(--radius-full);border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted);border:2px solid transparent;background-clip:content-box}*{scrollbar-width:thin;scrollbar-color:var(--color-border-hover) transparent}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);transition:background-color var(--transition-fast)}.card:hover{background-color:var(--color-surface-hover)}.card-interactive:hover{background-color:var(--color-surface-secondary)}.card-header{margin-bottom:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.card-title{font-size:var(--text-md);font-weight:var(--font-semibold);color:var(--color-text-primary);margin:0}.card-subtitle{font-size:var(--text-sm);color:var(--color-text-tertiary);margin-top:var(--space-1)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:3px 6px;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-medium);line-height:var(--leading-none);white-space:nowrap}.badge-primary{background-color:var(--color-tag-gray);color:#37352f}.badge-accent{background-color:var(--color-tag-orange);color:#d9730d}.badge-success{background-color:var(--color-tag-green);color:#0f7b6c}.badge-warning{background-color:var(--color-tag-yellow);color:#cb912f}.badge-error{background-color:var(--color-tag-red);color:#e03e3e}.badge-info{background-color:var(--color-tag-gray);color:#6b7280}.badge-neutral{background-color:var(--color-tag-gray);color:var(--color-text-secondary)}.badge-pill{border-radius:var(--radius-full);padding:3px 8px}.status-dot{display:inline-block;width:8px;height:8px;border-radius:var(--radius-full);flex-shrink:0}.status-dot-lg{width:10px;height:10px}.status-operational{background-color:var(--color-success)}.status-warning{background-color:var(--color-warning)}.status-critical{background-color:var(--color-error)}.status-pending{background-color:var(--color-text-tertiary)}.status-inactive{background-color:var(--color-text-muted)}.status-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.fade-in{animation:fadeIn .15s var(--ease-out)}.fade-in-up{animation:fadeInUp .15s var(--ease-out)}.slide-in-left{animation:slideInLeft .15s var(--ease-out)}.slide-in-right{animation:slideInRight .15s var(--ease-out)}.scale-in{animation:scaleIn .15s var(--ease-out)}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-6);gap:var(--space-4)}.page-header-content{flex:1}.page-title{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--color-text-primary);margin:0 0 var(--space-1) 0;letter-spacing:var(--tracking-tight)}.page-subtitle{font-size:var(--text-sm);color:var(--color-text-tertiary);margin:0;line-height:var(--leading-relaxed)}.page-actions{display:flex;gap:var(--space-2);flex-shrink:0}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4);gap:var(--space-4)}.section-title svg{color:var(--color-text-muted)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16);color:var(--color-text-tertiary);font-size:var(--text-sm);gap:var(--space-3)}.loading-spinner{width:24px;height:24px;border:2px solid var(--color-border);border-top-color:var(--color-text-muted);border-radius:var(--radius-full);animation:spin .6s linear infinite}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12) var(--space-6);text-align:center;color:var(--color-text-tertiary)}.empty-state-icon{width:48px;height:48px;margin-bottom:var(--space-4);color:var(--color-text-muted);opacity:.5}.empty-state h3{font-size:var(--text-md);font-weight:var(--font-medium);color:var(--color-text-secondary);margin-bottom:var(--space-1)}.empty-state p{font-size:var(--text-sm);max-width:320px;margin:0;line-height:var(--leading-relaxed)}hr{border:none;height:1px;background:var(--color-border);margin:var(--space-4) 0}.divider-vertical{width:1px;height:100%;background:var(--color-border)}table{width:100%;border-collapse:collapse}th{text-align:left;padding:var(--space-2) var(--space-3);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-text-tertiary);border-bottom:1px solid var(--color-border)}td{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--color-text-primary);border-bottom:1px solid var(--color-border)}tbody tr:hover{background-color:var(--color-surface-hover)}tbody tr:last-child td{border-bottom:none}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-muted{color:var(--color-text-muted)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1024px){:root{--text-4xl: 28px;--text-3xl: 22px;--text-2xl: 18px}}@media(max-width:768px){:root{--text-4xl: 24px;--text-3xl: 20px;--text-2xl: 17px;--text-xl: 16px;--space-6: 20px;--space-8: 28px}.page-header{flex-direction:column;align-items:stretch;margin-bottom:var(--space-6)}.page-actions{justify-content:flex-start}.page-title{font-size:var(--text-2xl)}.page-subtitle{font-size:var(--text-sm)}}@media(max-width:480px){:root{--text-4xl: 22px;--text-3xl: 18px;--text-2xl: 16px;--space-5: 16px;--space-6: 18px}.card{padding:var(--space-3);border-radius:var(--radius-md)}}.modal-overlay{position:fixed;inset:0;background-color:#0f0f0f99;display:flex;align-items:flex-start;justify-content:center;z-index:var(--z-modal-backdrop);animation:fadeIn .1s var(--ease-out);padding:var(--space-16) var(--space-6);overflow-y:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:480px;max-height:none;display:flex;flex-direction:column;animation:modalSlideUp .15s var(--ease-out);overflow:visible;z-index:var(--z-modal)}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.modal-content.modal-small{max-width:380px}.modal-content.modal-large{max-width:700px}.modal-content.modal-full{max-width:900px}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--space-4) var(--space-5);flex-shrink:0}.modal-header-content{flex:1;min-width:0}.modal-title{font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0;color:var(--color-text-primary);line-height:var(--leading-tight)}.modal-subtitle{font-size:var(--text-sm);color:var(--color-text-tertiary);margin-top:var(--space-1)}.modal-close{background:transparent;border:none;color:var(--color-text-tertiary);cursor:pointer;padding:4px;border-radius:var(--radius-sm);transition:background-color var(--transition-fast);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:var(--space-2)}.modal-close svg{width:18px;height:18px}.modal-close:hover{background-color:var(--color-surface-hover);color:var(--color-text-primary)}.modal-close:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.modal-body{padding:0 var(--space-5) var(--space-5);flex:1;overflow-y:visible;min-height:0}.modal-body-padded{padding:var(--space-5)}.modal-body-scrollable{overflow-y:auto;max-height:60vh}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border);flex-shrink:0}.modal-footer-left{justify-content:flex-start}.modal-footer-between{justify-content:space-between}.form-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--color-border)}.form-actions-left{justify-content:flex-start}.form-actions-between{justify-content:space-between}.delete-confirm{text-align:center;padding:var(--space-6) 0}.delete-confirm-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;background-color:var(--color-error-light);color:var(--color-error);border-radius:var(--radius-full);margin-bottom:var(--space-5)}.delete-confirm-icon svg{width:32px;height:32px}.delete-confirm h3{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-text-primary);margin-bottom:var(--space-2)}.delete-confirm p{margin-bottom:var(--space-4);color:var(--color-text-secondary)}.confirm-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:var(--radius-full);margin-bottom:var(--space-5)}.confirm-icon.success{background-color:var(--color-success-light);color:var(--color-success)}.confirm-icon.warning{background-color:var(--color-warning-light);color:var(--color-warning)}.confirm-icon.info{background-color:var(--color-info-light);color:var(--color-info)}.confirm-icon svg{width:32px;height:32px}.modal-section{margin-bottom:var(--space-6)}.modal-section:last-child{margin-bottom:0}.modal-section-title{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:var(--tracking-wider);margin-bottom:var(--space-4)}.modal-divider{height:1px;background-color:var(--color-border);margin:var(--space-6) 0}@media(max-width:768px){.modal-overlay{padding:var(--space-4);padding-top:72px;padding-bottom:var(--space-4);align-items:flex-start;overflow-x:hidden;overflow-y:auto}.modal-content{min-width:auto;width:100%;max-width:100%;max-height:none;border-radius:var(--radius-2xl);overflow-x:hidden;margin-bottom:var(--space-4)}.modal-content.modal-small,.modal-content.modal-large,.modal-content.modal-full{min-width:auto;max-width:100%}.modal-header{padding:var(--space-5) var(--space-5);gap:var(--space-3)}.modal-title{font-size:var(--text-lg)}.modal-close{padding:var(--space-3);min-width:44px;min-height:44px}.modal-close svg{width:20px;height:20px}.modal-body{padding:var(--space-5);overflow-x:hidden;overflow-y:auto}.modal-body *{max-width:100%;word-wrap:break-word;overflow-wrap:break-word}.modal-footer{padding:var(--space-4) var(--space-5)}.form-actions{flex-direction:column}.form-actions .btn{width:100%}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}}@media(max-width:480px){.modal-overlay{padding:var(--space-3);padding-top:72px;padding-bottom:var(--space-3)}.modal-content{max-height:none;border-radius:var(--radius-2xl);margin-bottom:var(--space-3)}.modal-header{padding:var(--space-4) var(--space-4)}.modal-body{padding:var(--space-4)}.modal-footer{padding:var(--space-4) var(--space-4)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border-radius:var(--radius-md);font-family:var(--font-sans);font-weight:var(--font-medium);font-size:var(--text-sm);line-height:var(--leading-none);transition:background-color var(--transition-fast);white-space:nowrap;cursor:pointer;border:none;text-decoration:none}.btn:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.btn-small{padding:6px 12px;font-size:var(--text-sm);border-radius:var(--radius-sm);gap:6px}.btn-small svg{width:16px;height:16px}.btn-medium{padding:10px 18px;font-size:var(--text-sm)}.btn-medium svg{width:18px;height:18px}.btn-large{padding:12px 24px;font-size:var(--text-md);border-radius:var(--radius-md)}.btn-large svg{width:20px;height:20px}.btn-full{width:100%}.btn-icon{display:flex;align-items:center}.btn-icon svg{width:16px;height:16px}.btn-icon-only{padding:var(--space-2);aspect-ratio:1}.btn-icon-only.btn-small{padding:var(--space-1)}.btn-icon-only.btn-large{padding:var(--space-3)}.btn-primary{background-color:var(--color-primary);color:var(--color-text-inverse)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.btn-primary:active:not(:disabled){background-color:var(--color-primary-active)}.btn-secondary{background-color:var(--color-surface-secondary);color:var(--color-text-primary);border:none}.btn-secondary:hover:not(:disabled){background-color:var(--color-surface-tertiary)}.btn-secondary:active:not(:disabled){background-color:var(--color-border-hover)}.btn-ghost{background-color:transparent;color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled){background-color:var(--color-surface-hover);color:var(--color-text-primary)}.btn-ghost:active:not(:disabled){background-color:var(--color-surface-secondary)}.btn-success{background-color:var(--color-success);color:var(--color-text-inverse)}.btn-success:hover:not(:disabled){background-color:var(--color-success-hover)}.btn-success:active:not(:disabled){opacity:.9}.btn-warning{background-color:var(--color-warning);color:var(--color-text-inverse)}.btn-warning:hover:not(:disabled){background-color:var(--color-warning-hover)}.btn-warning:active:not(:disabled){opacity:.9}.btn-danger{background-color:var(--color-error);color:var(--color-text-inverse)}.btn-danger:hover:not(:disabled){background-color:var(--color-error-hover)}.btn-danger:active:not(:disabled){opacity:.9}.btn-danger-outline{background-color:var(--color-tag-red);color:var(--color-error);border:none}.btn-danger-outline:hover:not(:disabled){background-color:var(--color-error-light)}.btn-accent{background-color:var(--color-accent);color:var(--color-text-inverse)}.btn-accent:hover:not(:disabled){background-color:var(--color-accent-hover)}.btn-accent:active:not(:disabled){opacity:.9}.btn-link{background-color:transparent;color:var(--color-text-secondary);padding:0;font-weight:var(--font-normal);text-decoration:underline;text-decoration-color:var(--color-border-hover);text-underline-offset:2px}.btn-link:hover:not(:disabled){color:var(--color-text-primary);text-decoration-color:var(--color-text-primary)}.btn-filter{background-color:transparent;color:var(--color-text-tertiary);border:none;font-size:var(--text-sm);padding:8px 14px}.btn-filter:hover:not(:disabled){background-color:var(--color-surface-hover);color:var(--color-text-primary)}.btn-filter.active{background-color:var(--color-surface-secondary);color:var(--color-text-primary);font-weight:var(--font-medium)}.btn-loading{position:relative;color:transparent!important}.btn-loading:after{content:"";position:absolute;width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:var(--radius-full);animation:spin .6s linear infinite}.btn-primary.btn-loading:after,.btn-success.btn-loading:after,.btn-danger.btn-loading:after,.btn-accent.btn-loading:after{border-color:#ffffff4d;border-top-color:#fff}.btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.btn-group{display:inline-flex;gap:1px;background-color:var(--color-border);border-radius:var(--radius-md);padding:1px}.btn-group .btn{border-radius:var(--radius-sm)}.btn-group .btn:first-child{border-radius:var(--radius-sm) var(--radius-sm) var(--radius-sm) var(--radius-sm)}.btn-group .btn:last-child{border-radius:var(--radius-sm) var(--radius-sm) var(--radius-sm) var(--radius-sm)}.btn-group .btn-secondary:not(:last-child){border-right:none}@media(max-width:768px){.btn-small{padding:6px 10px;font-size:var(--text-xs)}.btn-small svg{width:14px;height:14px}.btn-medium{padding:8px 14px}.btn-medium svg{width:16px;height:16px}.btn-large{padding:10px 18px;font-size:var(--text-sm)}.btn-large svg{width:18px;height:18px}.btn-filter{padding:6px 10px}}.profile-form{display:flex;flex-direction:column;gap:var(--space-4)}.profile-section{display:flex;flex-direction:column;gap:var(--space-3)}.profile-section-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary);margin:0;padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.profile-section-hint{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin:calc(var(--space-2) * -1) 0 0 0}.profile-error{padding:var(--space-3);background-color:var(--color-error-light, rgba(239, 68, 68, .1));border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);font-size:var(--font-size-sm)}.profile-success{padding:var(--space-3);background-color:var(--color-success-light, rgba(34, 197, 94, .1));border:1px solid var(--color-success);border-radius:var(--radius-md);color:var(--color-success);font-size:var(--font-size-sm)}.profile-info{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background-color:var(--color-surface);border-radius:var(--radius-sm)}.profile-info-label{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.profile-info-value{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:500;text-transform:capitalize}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.layout{display:flex;min-height:100vh;background-color:var(--color-background);width:100%;overflow-x:hidden}@keyframes slideInFromLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fadeInUp{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.layout.animate-entrance .sidebar{animation:slideInFromLeft .3s var(--ease-out) forwards}.layout.animate-entrance .nav-link{opacity:0;animation:fadeInUp .2s var(--ease-out) forwards}.layout.animate-entrance .main-content{animation:fadeInUp .3s var(--ease-out) forwards}@keyframes slideOutToRight{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.layout.animate-exit{animation:slideOutToRight .3s var(--ease-in) forwards}.sidebar{width:240px;background-color:var(--color-surface-secondary);display:flex;flex-direction:column;position:fixed;height:100vh;left:0;top:0;z-index:var(--z-fixed);border-right:1px solid #D3E5EF}.sidebar-header{padding:var(--space-3) var(--space-3);display:flex;align-items:center;justify-content:space-between}.sidebar-logo{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--color-text-primary);margin:0;letter-spacing:var(--tracking-tight);display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast)}.sidebar-logo:hover{background-color:var(--color-surface-hover)}.sidebar-logo-divider{height:1px;background-color:var(--color-border);margin:var(--space-2) 0}.sidebar-logo-icon{width:22px;height:22px;background-color:var(--color-primary);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:#fff;font-size:var(--text-xs);font-weight:var(--font-bold)}.sidebar-nav{flex:1;padding:var(--space-2) var(--space-2);overflow-y:auto}.nav-section{margin-bottom:var(--space-3)}.nav-section-title{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-text-tertiary);padding:var(--space-1) var(--space-2);margin-bottom:var(--space-1)}.nav-link{display:flex;align-items:center;gap:var(--space-2);padding:6px var(--space-2);color:var(--color-text-secondary);border-radius:var(--radius-md);transition:background-color var(--transition-fast);font-size:var(--text-sm);font-weight:var(--font-normal);margin-bottom:1px;text-decoration:none;position:relative}.nav-link svg{width:18px;height:18px;flex-shrink:0;color:var(--color-text-tertiary);transition:color var(--transition-fast)}.nav-link:hover{background-color:var(--color-surface-hover);color:var(--color-text-primary)}.nav-link:hover svg{color:var(--color-text-secondary)}.nav-link.active{background-color:var(--color-surface-hover);color:var(--color-text-primary);font-weight:var(--font-medium)}.nav-link.active svg{color:var(--color-text-primary)}.nav-badge{margin-left:auto;background-color:var(--color-tag-red);color:var(--color-error);font-size:10px;font-weight:var(--font-semibold);padding:2px 5px;border-radius:var(--radius-sm);min-width:16px;text-align:center}.sidebar-footer{padding:var(--space-3);background-color:var(--color-surface-secondary);border-top:1px solid var(--color-border)}.user-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.user-card-main{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);background:transparent;border:none;cursor:pointer;text-align:left;transition:background-color var(--transition-fast)}.user-card-main:hover{background-color:var(--color-surface-hover)}.user-avatar-large{width:36px;height:36px;border-radius:var(--radius-md);background-color:#d3e5ef;color:#37352f;display:flex;align-items:center;justify-content:center;font-weight:var(--font-bold);font-size:var(--text-sm);flex-shrink:0}.user-info{flex:1;min-width:0}.user-name{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.user-email{font-size:var(--text-xs);color:var(--color-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-card-footer{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);background-color:var(--color-surface-secondary);border-top:1px solid var(--color-border)}.user-role-badge{display:inline-flex;align-items:center;padding:3px 8px;background-color:#d3e5ef;color:#37352f;font-size:var(--text-xs);font-weight:var(--font-medium);border-radius:var(--radius-full);text-transform:capitalize}.sign-out-btn{display:inline-flex;align-items:center;gap:var(--space-1);padding:4px 10px;background-color:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast)}.sign-out-btn svg{width:12px;height:12px}.sign-out-btn:hover{background-color:var(--color-error-light);border-color:var(--color-error);color:var(--color-error)}.main-content{flex:1;margin-left:240px;min-height:100vh;background-color:var(--color-background)}.content-wrapper{padding:var(--space-8) var(--space-10);max-width:100%}.page-header-left{flex:1;min-width:0}.page-header-right{display:flex;gap:var(--space-3);flex-shrink:0}.mobile-header,.mobile-close-btn{display:none}@media(max-width:1024px){.sidebar{width:220px}.main-content{margin-left:220px}.content-wrapper{padding:var(--space-6) var(--space-8)}}@media(max-width:768px){.mobile-header{display:flex;align-items:center;justify-content:space-between;position:fixed;top:0;left:0;right:0;height:56px;padding:0 var(--space-4);background-color:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:100}.mobile-menu-btn,.mobile-profile-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;transition:background-color var(--transition-fast)}.mobile-menu-btn:hover,.mobile-profile-btn:hover{background-color:var(--color-surface-secondary)}.mobile-header-title{font-size:var(--text-md);font-weight:var(--font-semibold);color:var(--color-text-primary);margin:0}.mobile-avatar{width:32px;height:32px;border-radius:var(--radius-full);background-color:var(--color-primary);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:var(--font-semibold);font-size:var(--text-xs)}.mobile-profile-btn{visibility:hidden;width:40px}.mobile-overlay{position:fixed;inset:0;background-color:#00000080;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;z-index:150}.mobile-overlay.open{opacity:1;visibility:visible}.sidebar{width:100%;height:100vh;height:100dvh;transform:translate(-100%);transition:transform .3s ease;z-index:200;border-right:none;padding-bottom:env(safe-area-inset-bottom,0)}.sidebar.mobile-open{transform:translate(0)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);min-height:48px}.sidebar-logo{font-size:var(--text-md)}.mobile-close-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast)}.mobile-close-btn:hover{background-color:var(--color-surface-secondary);border-color:var(--color-border-hover)}.nav-link{padding:var(--space-2) var(--space-4);font-size:var(--text-sm)}.nav-link svg{width:18px;height:18px}.sidebar-nav{flex:1;padding:var(--space-2) var(--space-3);overflow-y:auto}.sidebar-footer{padding:var(--space-3) var(--space-4);padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0));margin-top:auto;flex-shrink:0}.user-card{border-radius:var(--radius-lg)}.user-card-main{padding:var(--space-3)}.user-avatar-large{width:40px;height:40px}.user-name{font-size:var(--text-sm)}.user-email{font-size:var(--text-xs)}.user-card-footer{padding:var(--space-2) var(--space-3)}.main-content{margin-left:0;padding-top:56px}.content-wrapper{padding:var(--space-4)}.page-header{flex-direction:column;align-items:stretch;gap:var(--space-3);margin-bottom:var(--space-5)}.page-header-right{justify-content:flex-start;flex-wrap:wrap}}@media(max-width:480px){.mobile-header{padding:0 var(--space-3)}.content-wrapper{padding:var(--space-3)}.page-header{margin-bottom:var(--space-4)}.sidebar{width:100%}}.login-page{min-height:100vh;display:flex}.login-brand-side{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:var(--space-10);position:relative;overflow:hidden}.login-brand-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0}.login-brand-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#191919e6,#191919cc,#191919e6);z-index:1}.login-brand-content{position:relative;z-index:2;text-align:center;max-width:400px}.login-brand-title{font-size:var(--text-3xl);font-weight:var(--font-semibold);color:#fff;margin:0 0 var(--space-4);letter-spacing:var(--tracking-tight)}.login-brand-tagline{font-size:var(--text-md);color:#ffffffd9;margin:0;line-height:var(--leading-relaxed)}.login-brand-footer{position:absolute;bottom:var(--space-6);left:0;right:0;text-align:center}.login-brand-footer p{font-size:var(--text-xs);color:#fff9;margin:0}.login-form-side{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-10);background-color:var(--color-background)}.login-form-container{width:100%;max-width:380px;animation:fadeIn .4s var(--ease-out)}.login-mobile-header,.login-card-branding,.login-mobile-branding{display:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:var(--space-8)}.login-title{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--color-text-primary);margin:0 0 var(--space-2);letter-spacing:var(--tracking-tight)}.login-subtitle{font-size:var(--text-sm);color:var(--color-text-tertiary);margin:0}.login-form{display:flex;flex-direction:column;gap:var(--space-5)}.login-error{display:flex;align-items:center;gap:var(--space-3);background-color:var(--color-error-light);border:1px solid var(--color-error-border);border-radius:var(--radius-lg);padding:var(--space-4);color:var(--color-error);font-size:var(--text-sm)}.login-error svg{flex-shrink:0}.login-field{display:flex;flex-direction:column;gap:var(--space-2)}.login-field label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-primary)}.login-field input{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-md);font-family:var(--font-sans);border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-surface);color:var(--color-text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);box-sizing:border-box}.login-field input:hover{border-color:var(--color-border-hover)}.login-field input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #19191926}.login-field input::placeholder{color:var(--color-text-muted)}.login-field-header{display:flex;justify-content:space-between;align-items:center}.login-forgot{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}.login-forgot:hover{color:var(--color-primary-hover);text-decoration:underline}.login-button{width:100%;padding:var(--space-3) var(--space-6);font-size:var(--text-md);font-weight:var(--font-medium);font-family:var(--font-sans);color:#fff;background-color:var(--color-primary);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast);margin-top:var(--space-2)}.login-button:hover:not(:disabled){background-color:var(--color-primary-hover)}.login-button:active:not(:disabled){background-color:var(--color-primary-active)}.login-button:disabled{opacity:.4;cursor:not-allowed}.login-button-loading{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2)}.login-button-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:var(--radius-full);animation:spin .8s linear infinite}.login-footer{margin-top:var(--space-8);text-align:center}.login-footer p{font-size:var(--text-xs);color:var(--color-text-muted);margin:0}.login-card{width:100%;max-width:380px;animation:fadeIn .4s var(--ease-out)}.reset-icon,.success-icon,.error-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:var(--radius-full);margin-bottom:var(--space-5)}.reset-icon{background-color:var(--color-primary-light);color:var(--color-primary)}.success-icon{background-color:var(--color-success-light);color:var(--color-success)}.error-icon{background-color:var(--color-error-light);color:var(--color-error)}.reset-icon svg,.success-icon svg,.error-icon svg{width:28px;height:28px}.reset-instructions{background-color:var(--color-surface-secondary);padding:var(--space-4);border-radius:var(--radius-lg);margin-bottom:var(--space-5);font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.reset-instructions p{margin:0}.reset-instructions p+p{margin-top:var(--space-2)}.back-to-login{display:flex;align-items:center;justify-content:center;gap:var(--space-2);color:var(--color-text-tertiary);font-size:var(--text-sm);font-weight:var(--font-medium);text-decoration:none;margin-top:var(--space-6);transition:color var(--transition-fast)}.back-to-login:hover{color:var(--color-primary)}.back-to-login svg{width:16px;height:16px}@media(max-width:1024px){.login-brand-side{flex:.8;padding:var(--space-8)}.login-form-side{flex:1.2;padding:var(--space-8)}.login-brand-title{font-size:var(--text-2xl)}.login-brand-tagline{font-size:var(--text-sm)}}@media(max-width:768px){.login-page{flex-direction:column;min-height:100vh;min-height:100dvh;position:relative;background-color:#191919}.login-brand-side{display:block;position:absolute;top:0;left:0;right:0;height:45%;padding:0;flex:none}.login-brand-image{height:100%}.login-brand-overlay{background:linear-gradient(180deg,#191919bf,#191919e0 60%,#191919)}.login-mobile-branding{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;top:0;left:0;right:0;height:45%;z-index:10;text-align:center;padding:var(--space-6)}.login-mobile-logo{width:64px;height:64px;background:#fff;border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-4);box-shadow:0 4px 20px #00000026}.login-mobile-logo svg{width:32px;height:32px;color:var(--color-primary)}.login-mobile-brand-title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:#fff;margin:0 0 var(--space-2);letter-spacing:var(--tracking-tight)}.login-mobile-brand-subtitle{font-size:var(--text-sm);color:#fffc;margin:0}.login-form-side{position:absolute;inset:40% 0 0;padding:0;background:#fff;border-radius:var(--radius-3xl) var(--radius-3xl) 0 0;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;z-index:20;box-shadow:0 -4px 30px #0000001a}.login-form-side:has(input:focus){top:0;border-radius:0;justify-content:flex-start;padding-top:var(--space-6)}.login-form-container,.login-card{width:100%;max-width:100%;background-color:transparent;padding:48px var(--space-6) var(--space-8);border-radius:0;box-shadow:none;flex:1;display:flex;flex-direction:column}.login-header{margin-bottom:var(--space-5);text-align:left}.login-title{font-size:var(--text-xl);color:var(--color-text-primary)}.login-subtitle{font-size:var(--text-sm);color:var(--color-text-tertiary)}.login-form{gap:var(--space-4)}.login-field label{font-size:var(--text-sm);color:var(--color-text-secondary)}.login-field input{padding:var(--space-4);font-size:16px;border-radius:var(--radius-lg);background-color:var(--color-surface-secondary);border:1px solid transparent}.login-field input:focus{background-color:#fff;border-color:var(--color-primary)}.login-button{padding:var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-md);margin-top:var(--space-3)}.login-footer{margin-top:auto;padding-top:var(--space-4);padding-bottom:var(--space-4)}.login-footer p{color:var(--color-text-muted)}.login-error{border-radius:var(--radius-lg)}.login-forgot{font-size:var(--text-xs)}}@media(max-width:480px){.login-form-side{top:38%}.login-brand-side{height:42%}.login-mobile-branding{height:42%;padding:var(--space-4)}.login-mobile-logo{width:56px;height:56px}.login-mobile-logo svg{width:28px;height:28px}.login-mobile-brand-title{font-size:var(--text-xl)}.login-mobile-brand-subtitle{font-size:var(--text-xs)}.login-form-container,.login-card{padding:var(--space-5) var(--space-5) var(--space-6)}.login-title{font-size:var(--text-lg)}}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.card:hover{border-color:var(--color-border-hover)}.card-hoverable{cursor:pointer}.card-hoverable:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);transition:all var(--transition-base)}.card-elevated{box-shadow:var(--shadow-sm);border-color:transparent}.card-elevated:hover{box-shadow:var(--shadow-lg)}.card-flat{border:none;background-color:var(--color-surface-secondary)}.card-outlined{box-shadow:none}.card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5);padding-bottom:var(--space-5);border-bottom:1px solid var(--color-border)}.card-header-left{flex:1;min-width:0}.card-header-right{flex-shrink:0;display:flex;align-items:center;gap:var(--space-2)}.card-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text-primary);margin:0;line-height:var(--leading-tight)}.card-subtitle{font-size:var(--text-sm);color:var(--color-text-tertiary);margin-top:var(--space-1);line-height:var(--leading-relaxed)}.card-content{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.card-footer{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.card-footer-actions{display:flex;gap:var(--space-2)}.stat-card{text-align:left;padding:var(--space-5)}.stat-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.stat-card-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-xl);background-color:var(--color-primary-light);color:var(--color-primary);flex-shrink:0}.stat-card-icon svg{width:24px;height:24px}.stat-card-icon.success{background-color:var(--color-success-light);color:var(--color-success)}.stat-card-icon.warning{background-color:var(--color-warning-light);color:var(--color-warning)}.stat-card-icon.error{background-color:var(--color-error-light);color:var(--color-error)}.stat-card-icon.info{background-color:var(--color-info-light);color:var(--color-info)}.stat-value{font-size:var(--text-4xl);font-weight:var(--font-bold);color:var(--color-text-primary);line-height:var(--leading-none);margin-bottom:var(--space-2);letter-spacing:var(--tracking-tight)}.stat-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.stat-trend{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);font-weight:var(--font-medium);margin-top:var(--space-2)}.stat-trend.positive{color:var(--color-success)}.stat-trend.negative{color:var(--color-error)}.stat-trend svg{width:14px;height:14px}.card-grid{display:grid;gap:var(--space-5)}.card-grid-2{grid-template-columns:repeat(2,1fr)}.card-grid-3{grid-template-columns:repeat(3,1fr)}.card-grid-4{grid-template-columns:repeat(4,1fr)}.card-grid-auto{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.card-list{display:flex;flex-direction:column;gap:var(--space-4)}.card-list-item{padding:var(--space-5)}.card-list-item-content{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.card-list-item-info{flex:1;min-width:0}.card-list-item-actions{flex-shrink:0;display:flex;gap:var(--space-2)}.card-accent{border-left:3px solid var(--color-primary)}.card-accent.success{border-left-color:var(--color-success)}.card-accent.warning{border-left-color:var(--color-warning)}.card-accent.error{border-left-color:var(--color-error)}@media(max-width:1024px){.card-grid-4,.card-grid-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.card{padding:var(--space-4);border-radius:var(--radius-lg)}.card-header{flex-direction:column;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4);padding-bottom:var(--space-4)}.card-header-right{width:100%;justify-content:flex-start}.card-title{font-size:var(--text-md)}.card-grid-2,.card-grid-3,.card-grid-4{grid-template-columns:1fr}.stat-value{font-size:var(--text-3xl)}.stat-card-icon{width:40px;height:40px}.stat-card-icon svg{width:20px;height:20px}.card-hoverable:hover{transform:none}}@media(max-width:480px){.card{padding:var(--space-3)}.card-footer{flex-direction:column;align-items:stretch}.card-footer-actions{justify-content:flex-start}}.asset-detail{display:flex;flex-direction:column;gap:var(--space-4)}.asset-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4)}.asset-detail-title{font-size:var(--font-size-xl);font-weight:600;margin:0;color:var(--color-text-primary)}.asset-detail-info{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2)}.asset-info-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-3);background-color:var(--color-surface);border-radius:var(--radius-sm)}.asset-info-label{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.asset-info-value{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:500;text-align:right}.asset-edit-section,.asset-maintenance-section,.asset-notes-section{padding:var(--space-4);background-color:var(--color-surface);border-radius:var(--radius-md)}.asset-edit-section h4,.asset-maintenance-section h4,.asset-notes-section h4{font-size:var(--font-size-sm);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-weight:600;margin:0 0 var(--space-3) 0}.asset-edit-section .form-group{margin-bottom:var(--space-3)}.asset-edit-section .form-group:last-child{margin-bottom:0}.asset-edit-section .form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.asset-edit-section label{display:block;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-1)}.asset-edit-section select,.asset-edit-section input,.asset-edit-section textarea{width:100%;padding:var(--space-2) var(--space-3);background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm)}.asset-edit-section select:focus,.asset-edit-section input:focus,.asset-edit-section textarea:focus{outline:none;border-color:var(--color-primary)}.asset-edit-section textarea{resize:vertical}.asset-maintenance-section .asset-info-row{background-color:var(--color-bg)}.asset-notes-section p{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.6;margin:0}.asset-detail-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.asset-tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-4)}.asset-tab{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:none;border:none;font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s ease}.asset-tab:hover{color:var(--color-text-primary)}.asset-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 var(--space-1);font-size:var(--font-size-xs);font-weight:600;background-color:var(--color-primary);color:#fff;border-radius:9px}.certificates-section{display:flex;flex-direction:column;gap:var(--space-3)}.certificates-header{display:flex;justify-content:space-between;align-items:center}.certificates-header h4{font-size:var(--font-size-sm);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-weight:600;margin:0}.certificates-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8) var(--space-4);color:var(--color-text-tertiary);text-align:center;background-color:var(--color-surface);border-radius:var(--radius-md);gap:var(--space-3)}.certificates-empty svg{opacity:.5}.certificates-empty p{margin:0;font-size:var(--font-size-sm)}.certificates-list{display:flex;flex-direction:column;gap:var(--space-3)}.certificate-item{padding:var(--space-3);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all .2s ease}.certificate-item.expiring{border-color:var(--color-warning);background-color:rgba(var(--color-warning-rgb),.05)}.certificate-item.expired{border-color:var(--color-error);background-color:rgba(var(--color-error-rgb),.05)}.cert-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.cert-item-title{display:flex;align-items:center;gap:var(--space-2);font-weight:500;color:var(--color-text-primary)}.cert-item-title svg{color:var(--color-text-tertiary)}.cert-status-badge{display:inline-flex;align-items:center;gap:4px;padding:2px var(--space-2);font-size:var(--font-size-xs);font-weight:500;border-radius:var(--radius-full)}.cert-status-badge.valid{background-color:var(--color-success-light);color:var(--color-success)}.cert-status-badge.expiring{background-color:var(--color-warning-light);color:var(--color-warning)}.cert-status-badge.expired{background-color:var(--color-error-light);color:var(--color-error)}.cert-item-actions{display:flex;gap:var(--space-1)}.cert-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-tertiary);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.cert-action-btn:hover{background-color:var(--color-surface-hover);color:var(--color-text-primary)}.cert-action-btn.danger:hover{background-color:var(--color-tag-red);color:var(--color-error)}.cert-item-details{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2)}.cert-detail{display:flex;flex-direction:column;gap:2px}.cert-detail-label{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.cert-detail-value{font-size:var(--font-size-sm);color:var(--color-text-primary)}.cert-item-notes{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border)}.cert-item-notes p{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:var(--space-1) 0 0 0;line-height:1.5}.cert-form{padding:var(--space-4);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-3)}.cert-form h5{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary);margin:0 0 var(--space-3) 0}.cert-form .form-group{margin-bottom:var(--space-3)}.cert-form .form-group:last-of-type{margin-bottom:0}.cert-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-bottom:var(--space-3)}.cert-form label{display:block;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-1)}.cert-form select,.cert-form input,.cert-form textarea{width:100%;padding:var(--space-2) var(--space-3);background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm)}.cert-form select:focus,.cert-form input:focus,.cert-form textarea:focus{outline:none;border-color:var(--color-primary)}.cert-form-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.document-preview{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-2)}.document-preview.existing{background-color:var(--color-success-light);border-color:var(--color-success)}.document-name{flex:1;font-size:var(--font-size-sm);color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remove-document{display:flex;align-items:center;justify-content:center;width:22px;height:22px;background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:all .2s ease}.remove-document:hover{background-color:var(--color-error-light);color:var(--color-error)}.view-document{display:flex;align-items:center;justify-content:center;width:22px;height:22px;color:var(--color-success);text-decoration:none;transition:opacity .2s ease}.view-document:hover{opacity:.7}.document-input{font-size:var(--font-size-sm);padding:var(--space-2)}.document-input::file-selector-button{padding:var(--space-2) var(--space-3);background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;margin-right:var(--space-3);transition:background-color .2s ease}.document-input::file-selector-button:hover{background-color:var(--color-primary-hover)}.cert-item-document{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border)}.document-link{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);background-color:var(--color-primary-light);color:var(--color-primary);text-decoration:none;font-size:var(--font-size-sm);font-weight:500;border-radius:var(--radius-sm);transition:all .2s ease}.document-link:hover{background-color:var(--color-primary);color:#fff}.document-link span{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:640px){.asset-detail-header{flex-direction:column;gap:var(--space-2)}.asset-detail-info,.asset-edit-section .form-row,.cert-form .form-row,.cert-item-details{grid-template-columns:1fr}.asset-detail-footer{flex-direction:column}.asset-detail-footer .btn{width:100%}.certificates-header{flex-direction:column;align-items:flex-start;gap:var(--space-2)}}.dashboard{animation:fadeIn .15s var(--ease-out)}.dashboard-header{margin-bottom:var(--space-6);padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border)}.dashboard-title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text-primary);margin:0 0 var(--space-2) 0;letter-spacing:var(--tracking-tight)}.dashboard-subtitle{font-size:var(--text-md);color:var(--color-text-tertiary);margin:0}.welcome-banner{background-color:var(--color-surface-secondary);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-6);color:var(--color-text-primary);position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:center}.welcome-pets{width:120px;height:auto;position:absolute;bottom:-5px;right:var(--space-4);z-index:1;flex-shrink:0;opacity:.7}.welcome-content{position:relative;z-index:2}.welcome-greeting{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1);flex-wrap:wrap}.greeting-icon{color:var(--color-text-tertiary);flex-shrink:0}.greeting-icon svg{width:20px;height:20px}.welcome-title{font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0;color:var(--color-text-primary);letter-spacing:var(--tracking-tight)}.welcome-divider{color:var(--color-text-muted);font-weight:var(--font-normal)}.welcome-date{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0;font-weight:var(--font-normal)}.welcome-subtitle{font-size:var(--text-sm);color:var(--color-text-tertiary);margin:0;line-height:var(--leading-relaxed)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.stat-card{display:flex;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:background-color var(--transition-fast)}.stat-card:hover{background-color:var(--color-surface-hover)}.stat-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);background-color:var(--color-tag-blue);color:#2383e2;flex-shrink:0}.stat-icon svg{width:20px;height:20px}.stat-card-primary .stat-icon{background-color:var(--color-tag-blue);color:#2383e2}.stat-card-success .stat-icon{background-color:var(--color-tag-green);color:#0f7b6c}.stat-card-warning .stat-icon{background-color:var(--color-tag-yellow);color:#cb912f}.stat-card-error .stat-icon{background-color:var(--color-tag-red);color:#e03e3e}.stat-content{flex:1}.stat-label{font-size:var(--text-xs);color:var(--color-text-tertiary);font-weight:var(--font-medium);margin-bottom:var(--space-1)}.stat-value{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--color-text-primary);line-height:var(--leading-none)}.stat-trend{font-size:var(--text-xs);color:var(--color-success);font-weight:var(--font-medium);margin-top:var(--space-1);display:inline-flex;align-items:center;gap:2px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3);gap:var(--space-3)}.section-title{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:var(--tracking-wider);display:flex;align-items:center;gap:var(--space-2)}.section-title svg{color:var(--color-text-muted);width:16px;height:16px}.todays-schedule-section{margin-bottom:var(--space-8)}.todays-schedule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-5)}.schedule-column{display:flex;flex-direction:column;gap:var(--space-4)}.schedule-column-header{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:var(--tracking-wider);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.schedule-column-header svg{color:var(--color-primary);width:18px;height:18px}.schedule-items{display:flex;flex-direction:column;gap:var(--space-3)}.schedule-item{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);text-decoration:none;transition:all var(--transition-base)}.schedule-item:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.schedule-item-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.schedule-item-id{font-size:var(--text-xs);color:var(--color-text-muted);font-family:var(--font-mono);font-weight:var(--font-medium)}.schedule-item-title{font-size:var(--text-md);font-weight:var(--font-medium);color:var(--color-text-primary);margin:0;line-height:var(--leading-snug)}.schedule-item-meta{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-2)}.schedule-item-vendor{font-size:var(--text-sm);color:var(--color-text-tertiary)}.schedule-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-10) var(--space-5);color:var(--color-text-muted);text-align:center}.schedule-empty-icon{margin-bottom:var(--space-4);opacity:.4}.schedule-empty-icon svg{width:40px;height:40px}.schedule-empty p{margin:0;font-size:var(--text-sm)}.expiring-certs-section{margin-bottom:var(--space-8)}.expiring-certs-section .card-header .card-title{display:flex;align-items:center;gap:var(--space-2)}.section-icon.warning{color:var(--color-warning)}.expiring-certs-list{display:flex;flex-direction:column;gap:var(--space-3)}.expiring-cert-item{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-5);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);transition:all var(--transition-base);text-decoration:none;cursor:pointer}.expiring-cert-item:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-md)}.expiring-cert-item.expiring{border-left:3px solid var(--color-warning)}.expiring-cert-item.expired{border-left:3px solid var(--color-error)}.expiring-cert-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-lg);background-color:var(--color-warning-light);color:var(--color-warning);flex-shrink:0}.expiring-cert-icon svg{width:22px;height:22px}.expiring-cert-item.expired .expiring-cert-icon{background-color:var(--color-error-light);color:var(--color-error)}.expiring-cert-content{flex:1;min-width:0}.expiring-cert-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);flex-wrap:wrap}.expiring-cert-title{font-size:var(--text-md);font-weight:var(--font-medium);color:var(--color-text-primary);margin:0}.expiring-cert-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:var(--font-semibold);border-radius:var(--radius-full)}.expiring-cert-badge.expiring{background-color:var(--color-warning-light);color:var(--color-warning)}.expiring-cert-badge.expired{background-color:var(--color-error-light);color:var(--color-error)}.expiring-cert-asset{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0 0 var(--space-2) 0}.expiring-cert-details{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.approvals-section{margin-bottom:var(--space-8)}.approval-list{display:flex;flex-direction:column;gap:var(--space-3)}.approval-item{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);transition:all var(--transition-base)}.approval-item:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-md)}.approval-item-header{display:flex;align-items:center;gap:var(--space-3)}.approval-id{font-size:var(--text-xs);color:var(--color-text-muted);font-family:var(--font-mono);font-weight:var(--font-medium)}.approval-title{font-size:var(--text-md);font-weight:var(--font-medium);color:var(--color-text-primary);margin:0}.approval-description{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.approval-meta{display:flex;align-items:center;gap:var(--space-5);font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:var(--space-2)}.approval-meta strong{color:var(--color-text-muted);font-weight:var(--font-medium);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.approval-requester,.approval-cost{display:flex;align-items:center;gap:var(--space-3)}.work-orders-section{margin-bottom:var(--space-8)}.work-order-table{overflow-x:auto}.work-order-table table{width:100%;border-collapse:collapse}.work-order-table th{text-align:left;padding:var(--space-4) var(--space-5);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:var(--tracking-wider);border-bottom:1px solid var(--color-border);background-color:var(--color-surface-secondary)}.work-order-table td{padding:var(--space-4) var(--space-5);font-size:var(--text-sm);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}.work-order-table tbody tr:hover{background-color:var(--color-surface-secondary)}.work-order-title{color:var(--color-text-primary);font-weight:var(--font-medium)}@media(max-width:1024px){.stat-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.welcome-pets,.work-orders-section{display:none}.welcome-banner{padding:var(--space-5) var(--space-4);margin-bottom:var(--space-5);border-radius:var(--radius-xl)}.welcome-greeting{gap:var(--space-3);margin-bottom:var(--space-2)}.greeting-icon svg{width:24px;height:24px}.welcome-title{font-size:var(--text-xl)}.welcome-subtitle{font-size:var(--text-sm)}.welcome-date{font-size:var(--text-xs)}.stat-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-3);margin-bottom:var(--space-5)}.stat-card{padding:var(--space-4);gap:var(--space-3)}.stat-icon{width:40px;height:40px;border-radius:var(--radius-lg)}.stat-icon svg{width:20px;height:20px}.stat-label{font-size:9px;margin-bottom:var(--space-1)}.stat-value{font-size:var(--text-2xl)}.section-header{margin-bottom:var(--space-4)}.section-title{font-size:var(--text-lg)}.section-title svg{width:18px;height:18px}.todays-schedule-section{margin-bottom:var(--space-5)}.todays-schedule-grid{grid-template-columns:1fr;gap:var(--space-4)}.schedule-column-header{font-size:10px;padding-bottom:var(--space-3)}.schedule-item{padding:var(--space-4)}.schedule-item:hover{transform:none}.schedule-item-title{font-size:var(--text-sm)}.expiring-certs-section{margin-bottom:var(--space-5)}.expiring-cert-item{flex-direction:row;gap:var(--space-3);padding:var(--space-4)}.expiring-cert-item:hover{transform:none}.expiring-cert-icon{width:36px;height:36px}.expiring-cert-icon svg{width:18px;height:18px}.expiring-cert-title{font-size:var(--text-sm)}.expiring-cert-badge{font-size:10px;padding:2px var(--space-2)}.approval-item{flex-direction:column;align-items:flex-start;gap:var(--space-2);padding:var(--space-4)}.approval-item:hover{transform:none}.approval-title,.approval-description{font-size:var(--text-sm)}.approval-meta{gap:var(--space-3);font-size:var(--text-xs)}.work-order-table{font-size:var(--text-xs)}.work-order-table th,.work-order-table td{padding:var(--space-3) var(--space-2)}}@media(max-width:480px){.stat-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-2)}.stat-card{flex-direction:column;align-items:flex-start;padding:var(--space-3);gap:var(--space-2)}.stat-icon{width:32px;height:32px}.stat-icon svg{width:16px;height:16px}.stat-label{font-size:8px}.stat-value{font-size:var(--text-xl)}.expiring-cert-item .btn{align-self:flex-start}.welcome-banner{padding:var(--space-3) var(--space-4)}.welcome-title{font-size:var(--text-md)}}.photo-upload{display:flex;flex-direction:column;gap:var(--space-3)}.photo-upload-header{display:flex;justify-content:space-between;align-items:center}.photo-label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary)}.photo-actions{display:flex;gap:var(--space-2)}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:var(--space-2)}.photo-item{position:relative;aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg-tertiary)}.photo-item img{width:100%;height:100%;object-fit:cover}.photo-remove{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;background:#000000b3;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.photo-item:hover .photo-remove{opacity:1}.photo-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-4);border:2px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.qr-modal .modal-body{text-align:center;padding:var(--space-6)}.qr-code-wrapper{display:inline-flex;padding:var(--space-4);background:#fff;border-radius:var(--radius-lg);margin-bottom:var(--space-4)}.qr-instructions{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--space-4)}.qr-photos-count{display:flex;align-items:center;justify-content:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-primary)}.qr-photos-count .spinning{animation:spin 1s linear infinite}.create-work-order-page{animation:fadeIn .4s ease-out}.page-header{margin-bottom:var(--space-6)}.create-work-order-card{max-width:900px}.work-order-form{display:flex;flex-direction:column;gap:var(--space-6)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-group.full-width{grid-column:1 / -1}.form-group label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary)}.required{color:var(--color-error)}.form-group input,.form-group select,.form-group textarea{width:100%}.form-group textarea{resize:vertical;min-height:100px;font-family:var(--font-sans)}.form-section{padding:var(--space-4);background-color:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border)}.form-section h4{font-size:var(--font-size-base);margin-bottom:var(--space-3);color:var(--color-text-primary)}.section-hint{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin:0 0 var(--space-3) 0}.checkbox-group{display:flex;flex-direction:column;gap:var(--space-3)}.checkbox-label{display:flex;align-items:center;gap:var(--space-3);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.checkbox-label span{-webkit-user-select:none;user-select:none}.approval-notice{padding:var(--space-4);background-color:var(--color-warning-light);border:1px solid var(--color-warning);border-radius:var(--radius-md)}.approval-notice strong{display:block;color:var(--color-warning);margin-bottom:var(--space-2);font-size:var(--font-size-sm)}.approval-notice p{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.error-message{padding:var(--space-4);background-color:var(--color-error-light);border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);font-size:var(--font-size-sm);margin-bottom:var(--space-4)}.form-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.work-order-form-modal{gap:var(--space-4)}.work-order-form-modal .form-row{gap:var(--space-3)}.work-order-form-modal .form-group{gap:var(--space-1)}.work-order-form-modal textarea{min-height:60px}.modal-form-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:var(--space-6)}.modal-form-left,.modal-form-right{display:flex;flex-direction:column;gap:var(--space-4)}.form-section.compact{padding:var(--space-3)}.form-section.compact h4{font-size:var(--font-size-sm);margin-bottom:var(--space-2)}.checkbox-group.vertical{gap:var(--space-2)}.checkbox-group.vertical .checkbox-label{font-size:var(--font-size-xs)}.approval-notice.compact{padding:var(--space-3)}.approval-notice.compact strong{font-size:var(--font-size-xs);margin-bottom:var(--space-1)}.approval-notice.compact p{font-size:var(--font-size-xs)}.recurring-options{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--space-2)}.recurring-options label{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.recurring-options select{padding:var(--space-2);font-size:var(--font-size-xs);border-radius:var(--radius-sm)}.image-upload-area{display:flex;flex-direction:column;gap:var(--space-3)}.upload-button{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3);background-color:var(--color-surface);border:2px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:all .2s ease}.upload-button:hover{border-color:var(--color-primary);color:var(--color-primary);background-color:var(--color-primary-light)}.image-preview-list{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.image-preview-item{position:relative;aspect-ratio:1;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--color-border)}.image-preview-item img{width:100%;height:100%;object-fit:cover}.remove-image-btn{position:absolute;top:2px;right:2px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;background-color:var(--color-error);color:#fff;border:none;border-radius:50%;cursor:pointer;opacity:.9;transition:opacity .2s ease}.remove-image-btn:hover{opacity:1}.no-images-text{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4);color:var(--color-text-tertiary);font-size:var(--font-size-xs)}@media(max-width:768px){.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions button{width:100%}.modal-form-grid{grid-template-columns:1fr}.image-preview-list{grid-template-columns:repeat(4,1fr)}.schedule-row{grid-template-columns:1fr 1fr}}.schedule-row{grid-template-columns:repeat(4,1fr)}.schedule-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.schedule-grid .form-group{gap:var(--space-1)}.schedule-grid input{padding:var(--space-2);font-size:var(--font-size-xs)}.form-section.full-width{width:100%}.approval-section{padding:var(--space-5);background-color:var(--color-surface-secondary);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.section-label{display:block;font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-4)}.approval-options{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.approval-option{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background-color:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease}.approval-option:hover,.approval-option.selected{border-color:var(--color-primary);background-color:var(--color-primary-light)}.approval-option-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:var(--color-background);border-radius:var(--radius-md);color:var(--color-primary);flex-shrink:0}.approval-option.selected .approval-option-icon{background-color:var(--color-primary);color:#fff}.approval-option-content{flex:1;min-width:0}.approval-option-label{font-weight:600;font-size:var(--text-sm);color:var(--color-text-primary);margin-bottom:var(--space-1)}.approval-option-description{font-size:var(--text-xs);color:var(--color-text-tertiary)}.approver-selection{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.approver-list{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2)}.approver-checkbox{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease}.approver-checkbox:hover{border-color:var(--color-primary)}.approver-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary)}.approver-name{font-weight:500;font-size:var(--text-sm);color:var(--color-text-primary)}.approver-email{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-left:auto}.approver-hint{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-warning)}@media(max-width:768px){.approval-options{grid-template-columns:1fr}.approver-email{display:none}}.wo-detail-premium{display:flex;flex-direction:column;gap:var(--space-5)}.wo-hero{background:linear-gradient(135deg,var(--color-primary) 0%,#0a5d5f 100%);margin:calc(var(--space-6) * -1);margin-bottom:0;padding:var(--space-8) var(--space-6);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.wo-hero-content{display:flex;flex-direction:column;gap:var(--space-3)}.wo-id-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);background:#fff3;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;color:#fff;letter-spacing:.5px;width:fit-content;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.wo-hero-title{font-size:var(--text-2xl);font-weight:700;color:#fff;margin:0;letter-spacing:-.02em;line-height:1.2}.wo-hero-badges{display:flex;gap:var(--space-2);margin-top:var(--space-1)}.wo-description-section{display:flex;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border-radius:var(--radius-lg);border-left:3px solid var(--color-primary)}.wo-section-icon{color:var(--color-text-tertiary);flex-shrink:0;margin-top:2px}.wo-description-text{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.6;margin:0}.wo-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.wo-info-card{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);transition:all .2s ease}.wo-info-card:hover{border-color:var(--color-border-hover);box-shadow:0 2px 8px #0000000a}.wo-info-card-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--color-primary-light);border-radius:var(--radius-md);color:var(--color-primary);flex-shrink:0}.wo-info-card-icon.cost{background:#dcfce7;color:#16a34a}.wo-info-card-content{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.wo-info-card-label{font-size:var(--text-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px;font-weight:500}.wo-info-card-value{font-size:var(--text-sm);color:var(--color-text-primary);font-weight:600}.wo-info-card-value.cost{font-family:var(--font-mono);color:#16a34a}.wo-schedule-card{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);overflow:hidden}.wo-schedule-card-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-background)}.wo-schedule-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.wo-edit-btn{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease}.wo-edit-btn:hover{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.wo-schedule-display{padding:var(--space-4)}.wo-schedule-dates{display:flex;flex-direction:column;gap:var(--space-3)}.wo-schedule-date-item{display:flex;align-items:center;gap:var(--space-4)}.wo-schedule-date-label{font-size:var(--text-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px;font-weight:500;width:40px}.wo-schedule-date-value{font-size:var(--text-sm);color:var(--color-text-primary);font-weight:500}.wo-schedule-time{color:var(--color-text-secondary);font-weight:400}.wo-no-schedule{font-size:var(--text-sm);color:var(--color-text-tertiary);font-style:italic}.wo-schedule-edit{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4)}.wo-schedule-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.wo-schedule-field{display:flex;flex-direction:column;gap:var(--space-1)}.wo-schedule-field label{font-size:var(--text-xs);color:var(--color-text-tertiary);font-weight:500}.wo-schedule-field input{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm);background:var(--color-background);color:var(--color-text-primary);transition:all .15s ease}.wo-schedule-field input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.wo-schedule-actions{display:flex;justify-content:flex-end;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border)}.wo-progress-card{background:#eff6ff;border:1px solid #bfdbfe;border-radius:var(--radius-lg);padding:var(--space-4)}.wo-progress-item{display:flex;align-items:center;gap:var(--space-3);color:#1d4ed8}.wo-progress-label{font-size:var(--text-sm);font-weight:500}.wo-progress-value{font-size:var(--text-sm);margin-left:auto;font-family:var(--font-mono)}.wo-approval-card{border-radius:var(--radius-lg);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.wo-approval-card.approved{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac}.wo-approval-card.rejected{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fca5a5}.wo-approval-header{display:flex;align-items:center;gap:var(--space-2);font-weight:600;font-size:var(--text-sm)}.wo-approval-card.approved .wo-approval-header{color:#16a34a}.wo-approval-card.rejected .wo-approval-header{color:#dc2626}.wo-approval-details{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.wo-approval-by{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.wo-approval-date{font-size:var(--text-xs);color:var(--color-text-tertiary);font-family:var(--font-mono)}.wo-approval-comments{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0;padding:var(--space-3);background:#fff9;border-radius:var(--radius-md);line-height:1.5}.wo-recurring-badge{display:inline-flex;align-items:center;padding:var(--space-2) var(--space-3);background:#fef3c7;border:1px solid #fcd34d;border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:500;color:#92400e;text-transform:capitalize;width:fit-content}.wo-photos-section{display:flex;flex-direction:column;gap:var(--space-3)}.wo-photos-title{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary);margin:0}.wo-photos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:var(--space-3)}.wo-photo-item{aspect-ratio:1;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-border);transition:all .2s ease}.wo-photo-item:hover{transform:scale(1.02);box-shadow:0 4px 12px #0000001a}.wo-photo-item img{width:100%;height:100%;object-fit:cover}.wo-detail-footer{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding-top:var(--space-5);border-top:1px solid var(--color-border);margin-top:var(--space-2)}.wo-status-indicator{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:500}.wo-status-indicator.awaiting{color:var(--color-warning)}.wo-status-indicator.completed{color:var(--color-success)}.wo-footer-actions{display:flex;gap:var(--space-3);margin-left:auto}@media(max-width:640px){.wo-hero{margin:calc(var(--space-4) * -1);margin-bottom:0;padding:var(--space-6) var(--space-4)}.wo-hero-title{font-size:var(--text-xl)}.wo-info-grid,.wo-schedule-row{grid-template-columns:1fr}.wo-detail-footer{flex-direction:column;align-items:stretch;gap:var(--space-3)}.wo-status-indicator{justify-content:center}.wo-footer-actions{flex-direction:column;margin-left:0}.wo-footer-actions .btn{width:100%;justify-content:center}.wo-approval-details{flex-direction:column;align-items:flex-start}.wo-photos-grid{grid-template-columns:repeat(3,1fr)}}.work-orders-page{animation:fadeIn .15s var(--ease-out)}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-8);gap:var(--space-4)}.page-title{font-size:var(--text-3xl);font-weight:var(--font-semibold);margin-bottom:var(--space-2);letter-spacing:var(--tracking-tight)}.search-bar{position:relative;margin-bottom:var(--space-5)}.search-input{width:100%;padding:var(--space-3) var(--space-3) var(--space-3) var(--space-10);font-size:var(--text-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);color:var(--color-text-primary);transition:border-color var(--transition-fast)}.work-orders-tabs{display:flex;gap:.5rem;margin-bottom:var(--space-6);flex-wrap:wrap}.work-orders-tabs .tab{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;font-size:.875rem;transition:all .15s ease}.work-orders-tabs .tab:hover{background:var(--color-surface-hover)}.work-orders-tabs .tab.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.work-orders-tabs .tab-count{background:#fff3;padding:.125rem .5rem;border-radius:10px;font-size:.75rem;font-weight:600}.work-orders-tabs .tab:not(.active) .tab-count{background:var(--color-background)}.work-orders-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:var(--space-4)}.wo-card-enhanced{display:flex;flex-direction:column;gap:var(--space-4)}.wo-card-top{display:flex;flex-direction:column;gap:var(--space-2)}.wo-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3)}.wo-card-id{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);background:var(--color-primary-light);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;color:var(--color-primary);font-family:var(--font-mono);letter-spacing:.5px}.wo-card-badges{display:flex;gap:var(--space-2);flex-wrap:wrap}.wo-card-title{font-size:var(--text-lg);font-weight:600;color:var(--color-text-primary);margin:0;line-height:1.3;letter-spacing:-.01em}.wo-card-description{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.wo-card-details{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border)}.wo-card-detail-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.wo-card-detail{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-tertiary)}.wo-card-detail svg{flex-shrink:0;opacity:.7}.wo-card-detail-label{flex-shrink:0}.wo-card-detail-value{font-weight:600;color:var(--color-text-primary);margin-left:auto;text-align:right}.wo-card-detail.cost .wo-card-detail-value{color:#16a34a;font-family:var(--font-mono)}.wo-card-footer{display:flex;flex-wrap:wrap;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.wo-card-user,.wo-card-schedule,.wo-card-approval,.wo-card-vendor{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--color-text-tertiary)}.wo-card-user svg,.wo-card-schedule svg,.wo-card-approval svg,.wo-card-vendor svg{opacity:.7}.wo-card-approval.approved{color:var(--color-success)}.wo-card-approval.approved svg{opacity:1}.wo-card-approval.rejected{color:var(--color-error)}.wo-card-approval.rejected svg{opacity:1}.wo-card-schedule{color:var(--color-primary)}.wo-card-vendor{color:#8b5cf6}.work-order-card-header{display:flex;justify-content:space-between;margin-bottom:var(--space-3)}.work-order-id{display:block;font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-2);font-family:var(--font-mono);font-weight:var(--font-medium)}.work-order-card-title{margin:var(--space-2) 0;font-size:var(--text-lg);font-weight:var(--font-medium);color:var(--color-text-primary)}.work-order-description{color:var(--color-text-secondary);font-size:var(--text-sm);margin:0;line-height:var(--leading-relaxed)}.work-order-badges{display:flex;gap:var(--space-2);align-items:flex-start;flex-wrap:wrap}.work-order-meta{display:flex;gap:var(--space-5);font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:var(--space-2);flex-wrap:wrap}.work-order-meta .approved-text{color:var(--color-success)}.work-order-meta .rejected-text{color:var(--color-error)}.loading-state{text-align:center;padding:var(--space-12);color:var(--color-text-secondary)}@media(max-width:768px){.work-orders-list{grid-template-columns:1fr}.wo-card-detail-row{grid-template-columns:1fr;gap:var(--space-2)}.wo-card-detail-value{margin-left:var(--space-2)}.page-header{flex-direction:column;gap:var(--space-4);align-items:stretch;margin-bottom:var(--space-5)}.page-title{font-size:var(--text-xl)}.page-subtitle{font-size:var(--text-sm)}.search-bar{margin-bottom:var(--space-4)}.search-input{font-size:16px;padding:var(--space-3) var(--space-3) var(--space-3) var(--space-10)}.work-orders-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:var(--space-1);gap:.5rem;margin-bottom:var(--space-4);flex-wrap:nowrap}.work-orders-list{gap:var(--space-3)}.work-order-card-title{font-size:var(--text-md)}.work-order-description{font-size:var(--text-sm)}.work-order-meta{flex-direction:column;gap:var(--space-2);font-size:var(--text-xs)}.work-order-badges{flex-wrap:wrap}}@media(max-width:480px){.page-header{margin-bottom:var(--space-4)}.search-bar{margin-bottom:var(--space-3)}.work-orders-tabs{margin-bottom:var(--space-4);gap:.25rem}.work-orders-list{gap:var(--space-3)}}.review-modal{display:flex;flex-direction:column;gap:var(--space-5)}.review-header{display:flex;justify-content:space-between;align-items:flex-start}.review-wo-id{display:block;font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-bottom:var(--space-1)}.review-title{font-size:var(--font-size-xl);font-weight:600;margin:0}.review-info{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);background-color:var(--color-surface);border-radius:var(--radius-md)}.review-info-row{display:flex;justify-content:space-between;align-items:center}.review-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.review-value{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:500}.review-description h4,.review-attachments h4{font-size:var(--font-size-sm);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-weight:600;margin-bottom:var(--space-2)}.review-description p{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.6;margin:0}.attachments-list{display:flex;flex-direction:column;gap:var(--space-2)}.attachment-button{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);text-decoration:none;transition:all .15s ease}.attachment-button:hover{background-color:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.attachment-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-external{opacity:.5;flex-shrink:0}.attachment-button:hover .attachment-external{opacity:1}.reject-form{display:flex;flex-direction:column;gap:var(--space-2)}.reject-form label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.reject-form textarea{padding:var(--space-3);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);resize:vertical}.reject-form textarea:focus{outline:none;border-color:var(--color-primary)}.approval-result{padding:var(--space-4);background-color:var(--color-surface);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--space-2)}.approval-result .approval-comments{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-style:italic;margin:0}.review-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.approvals-page{animation:fadeIn .15s var(--ease-out)}.approvals-header{margin-bottom:var(--space-8)}.page-title{font-size:var(--text-3xl);margin-bottom:var(--space-2);letter-spacing:var(--tracking-tight)}.page-subtitle{font-size:var(--text-md);color:var(--color-text-secondary);margin:0}.approval-tabs{display:flex;gap:.5rem;margin-bottom:var(--space-6)}.approval-tabs .tab{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;font-size:.875rem;transition:all .15s ease}.approval-tabs .tab:hover{background:var(--color-surface-hover)}.approval-tabs .tab.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.approval-tabs .tab-count{background:#fff3;padding:.125rem .5rem;border-radius:10px;font-size:.75rem;font-weight:600}.approval-tabs .tab:not(.active) .tab-count{background:var(--color-background)}.approvals-list{display:flex;flex-direction:column;gap:var(--space-4)}.approval-row{padding:var(--space-5) var(--space-6)}.approval-row-content{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6)}.approval-row-info{flex:1;min-width:0}.approval-row-header{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-2)}.approval-row-id{font-size:var(--text-xs);color:var(--color-text-muted);font-family:var(--font-mono);font-weight:var(--font-medium)}.approval-site-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);background:var(--color-primary-light);border:1px solid var(--color-primary);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-primary);font-family:var(--font-mono)}.approval-assigned-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);background:var(--color-info-light);border:1px solid var(--color-info);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-info)}.approval-row-title{font-size:var(--text-lg);font-weight:var(--font-medium);color:var(--color-text-primary);margin:0 0 var(--space-2) 0}.approval-row-description{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin:0 0 var(--space-3) 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.approval-row-meta{display:flex;align-items:center;gap:var(--space-5);font-size:var(--text-sm);color:var(--color-text-secondary)}.approval-row-meta strong{color:var(--color-text-muted);font-weight:var(--font-medium);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.approval-row-requester,.approval-row-vendor,.approval-row-cost,.approval-row-approver{display:flex;align-items:center;gap:var(--space-2)}.approval-row-approver{padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--font-medium)}.approval-row-approver.approved{background:var(--color-success-light);color:var(--color-success)}.approval-row-approver.rejected{background:var(--color-error-light);color:var(--color-error)}.approval-date{margin-left:var(--space-2);opacity:.7}.approval-row-actions{flex-shrink:0}.empty-state{text-align:center;padding:var(--space-16);color:var(--color-text-secondary)}.empty-icon{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;background-color:var(--color-surface-secondary);border-radius:var(--radius-full);color:var(--color-text-muted);margin-bottom:var(--space-6)}.empty-icon svg{width:36px;height:36px}.empty-state h3{font-size:var(--text-xl);color:var(--color-text-primary);margin-bottom:var(--space-3)}.empty-state p{font-size:var(--text-md);margin:0;color:var(--color-text-tertiary)}.loading-state{text-align:center;padding:var(--space-12);color:var(--color-text-secondary);font-size:var(--text-md)}@media(max-width:768px){.approvals-grid{grid-template-columns:1fr}.approvals-header{margin-bottom:var(--space-5)}.page-title{font-size:var(--text-xl)}.page-subtitle{font-size:var(--text-sm)}.approval-tabs{flex-wrap:wrap;gap:.5rem;margin-bottom:var(--space-4)}.approval-tabs .tab{flex:1;min-width:100px;justify-content:center}.approvals-list{gap:var(--space-3)}.approval-row{padding:var(--space-4)}.approval-row-content{flex-direction:column;gap:var(--space-3)}.approval-row-title{font-size:var(--text-md)}.approval-row-description{font-size:var(--text-sm);margin-bottom:var(--space-2)}.approval-row-meta{flex-wrap:wrap;gap:var(--space-3);font-size:var(--text-xs)}.approval-row-actions{align-self:flex-start}.empty-state{padding:var(--space-10) var(--space-4)}.empty-icon{width:64px;height:64px;margin-bottom:var(--space-4)}.empty-icon svg{width:28px;height:28px}.empty-state h3{font-size:var(--text-lg)}.empty-state p{font-size:var(--text-sm)}}@media(max-width:480px){.approval-tabs{gap:.25rem}.approval-tabs .tab{min-width:80px;padding:.375rem .75rem;font-size:.8rem}.approval-row{padding:var(--space-3) var(--space-4)}.approval-row-header{flex-wrap:wrap;gap:var(--space-2)}}.assets-page{animation:fadeIn .15s var(--ease-out)}.assets-filters{margin-bottom:var(--space-6)}.search-box{position:relative;flex:1;max-width:360px}.search-input{width:100%;padding:var(--space-3) var(--space-3) var(--space-3) var(--space-10);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);font-size:var(--text-sm);transition:border-color var(--transition-fast)}.assets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-5)}.asset-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-4)}.asset-card-title{margin:var(--space-2) 0;font-size:var(--text-lg);font-weight:var(--font-medium);color:var(--color-text-primary)}.asset-id{display:block;font-size:var(--text-xs);color:var(--color-text-muted);font-family:var(--font-mono);font-weight:var(--font-medium)}.asset-meta{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary)}.asset-maintenance{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--color-border)}.asset-maintenance-title{font-size:var(--text-sm);font-weight:var(--font-semibold);margin-bottom:var(--space-3);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.asset-maintenance-dates{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary)}@media(max-width:768px){.assets-filters{margin-bottom:var(--space-4)}.assets-grid{grid-template-columns:1fr;gap:var(--space-3)}.search-box{max-width:100%}.search-input{font-size:16px;padding:var(--space-3) var(--space-3) var(--space-3) var(--space-10)}.asset-card-title{font-size:var(--text-md)}.asset-meta{font-size:var(--text-xs)}.asset-maintenance{margin-top:var(--space-4);padding-top:var(--space-4)}.asset-maintenance-title,.asset-maintenance-dates{font-size:var(--text-xs)}}@media(max-width:480px){.assets-filters{margin-bottom:var(--space-3)}.assets-grid{gap:var(--space-3)}}.vendors-page{animation:fadeIn .15s var(--ease-out)}.search-bar{position:relative;margin-bottom:var(--space-6)}.search-icon{position:absolute;left:var(--space-4);top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);pointer-events:none}.search-icon svg{width:18px;height:18px}.search-input{width:100%;padding:var(--space-4) var(--space-4) var(--space-4) var(--space-12);font-size:var(--text-md);border:1px solid var(--color-border);border-radius:var(--radius-xl);background-color:var(--color-surface);color:var(--color-text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.search-input:hover{border-color:var(--color-border-hover)}.search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 var(--ring-width) var(--ring-color)}.search-input::placeholder{color:var(--color-text-muted)}.vendors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-5)}.vendor-card-header{margin-bottom:var(--space-4)}.vendor-card-title{margin:0 0 var(--space-2) 0;font-size:var(--text-lg);font-weight:var(--font-medium);color:var(--color-text-primary)}.vendor-meta{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--text-sm);margin-bottom:var(--space-4);color:var(--color-text-secondary)}.vendor-services{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--color-border)}.vendor-services-title{font-size:var(--text-sm);font-weight:var(--font-semibold);margin-bottom:var(--space-3);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.services-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.detail-content{display:flex;flex-direction:column;gap:var(--space-5)}.detail-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.detail-title{margin:0;font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--color-text-primary)}.detail-section{padding-top:var(--space-5);border-top:1px solid var(--color-border)}.detail-section-title{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wider);margin:0 0 var(--space-4) 0}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.detail-item{display:flex;flex-direction:column;gap:var(--space-2)}.detail-label{font-size:var(--text-xs);color:var(--color-text-muted);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.detail-value{font-size:var(--text-sm);color:var(--color-text-primary)}.services-badges{display:flex;flex-wrap:wrap;gap:var(--space-2)}.delete-confirm-section{padding:var(--space-4);background:var(--color-error-light);border-radius:var(--radius-lg);border:1px solid var(--color-error-border)}.delete-confirm-section p{margin:0 0 var(--space-2) 0;color:var(--color-text-secondary)}.delete-warning{font-size:var(--text-sm);color:var(--color-error);font-weight:var(--font-medium)}@media(max-width:768px){.search-bar{margin-bottom:var(--space-4)}.vendors-grid{grid-template-columns:1fr;gap:var(--space-3)}.search-input{font-size:16px;padding:var(--space-3) var(--space-3) var(--space-3) var(--space-10)}.vendor-card-title{font-size:var(--text-md)}.vendor-meta{font-size:var(--text-xs)}.vendor-services{margin-top:var(--space-4);padding-top:var(--space-4)}.vendor-services-title{font-size:var(--text-xs)}.detail-grid{grid-template-columns:1fr}.detail-title{font-size:var(--text-xl)}.detail-header{flex-direction:column;align-items:flex-start}}@media(max-width:480px){.search-bar{margin-bottom:var(--space-3)}.vendors-grid{gap:var(--space-3)}.services-list{gap:var(--space-1)}}.spaces-page{display:flex;flex-direction:column;gap:1.5rem;animation:fadeIn .15s var(--ease-out)}.desktop-only-message{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;gap:1rem;color:var(--color-text-secondary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-top:1rem}.desktop-only-message h2{margin:0;color:var(--color-text-primary);font-size:1.25rem}.desktop-only-message p{margin:0;max-width:400px;line-height:1.6}.floor-tabs{display:flex;gap:.5rem;flex-wrap:wrap}.floor-tab{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--color-text-secondary);transition:all .15s ease;font-family:inherit}.floor-tab:hover{background:var(--color-surface-hover)}.floor-tab.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.floor-description{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem 1.25rem}.floor-description p{margin:0;font-size:.875rem;color:var(--color-text-secondary)}.floor-controls{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.zoom-controls{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.zoom-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;color:var(--color-text-primary);transition:all .15s ease}.zoom-btn:hover{background:var(--color-surface);border-color:var(--color-primary);color:var(--color-primary)}.zoom-level{font-size:.875rem;font-weight:500;color:var(--color-text-secondary);padding:0 .5rem;min-width:50px;text-align:center}.download-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;text-decoration:none;cursor:pointer;transition:all .15s ease}.download-btn:hover{background:var(--color-primary-hover)}.open-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem;font-weight:500;text-decoration:none;cursor:pointer;transition:all .15s ease}.open-btn:hover{background:var(--color-background);border-color:var(--color-primary);color:var(--color-primary)}.floor-plan-wrapper{position:relative;background:#f8f9fa;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;height:70vh;min-height:500px;display:flex;align-items:center;justify-content:center}.floor-plan-content{transition:transform .1s ease-out;display:flex;align-items:center;justify-content:center}.pdf-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--color-text-secondary);padding:2rem}.pdf-loading p{margin:0;font-size:.875rem}.loading-spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.pdf-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--color-text-secondary);padding:2rem}.pdf-error p{margin:0;font-size:.875rem}.floor-info{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.25rem}.floor-info h4{margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.floor-info p{margin:0;font-size:.875rem;color:var(--color-text-secondary);line-height:1.6}.react-pdf__Page{display:flex;justify-content:center}.react-pdf__Page__canvas{border-radius:var(--radius-md);box-shadow:0 4px 20px #0000001a}@media(max-width:768px){.floor-plan-wrapper{height:50vh;min-height:300px}}.users-page{animation:fadeIn .15s var(--ease-out)}.users-table-card{padding:0;overflow:hidden}.users-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.users-table th{text-align:left;padding:var(--space-3) var(--space-4);background:var(--color-surface);font-weight:500;font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-border)}.users-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);vertical-align:middle}.users-table tbody tr:last-child td{border-bottom:none}.users-table tbody tr:hover{background:var(--color-surface)}.users-table tbody tr.current-user{background:var(--color-primary-light)}.user-cell{display:flex;align-items:center;gap:var(--space-3)}.user-avatar-sm{width:32px;height:32px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--font-size-xs);flex-shrink:0}.user-name-text{font-weight:500}.you-badge{background:var(--color-success);color:#fff;font-size:10px;font-weight:600;padding:2px 6px;border-radius:var(--radius-sm);margin-left:var(--space-2)}.email-cell{color:var(--color-text-secondary)}.user-actions{display:flex;gap:var(--space-1);justify-content:flex-end}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.icon-spinner{width:12px;height:12px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.role-selector{display:flex;flex-direction:column;gap:var(--space-2)}.role-option{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease}.role-option:hover{border-color:var(--color-primary);background:var(--color-surface)}.role-option.selected{border-color:var(--color-primary);background:var(--color-primary-light)}.role-option-content{flex:1}.role-option-label{font-weight:500;font-size:var(--font-size-sm);margin-bottom:2px}.role-option-description{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.user-form{display:flex;flex-direction:column;gap:var(--space-4)}.form-help{margin-top:var(--space-1);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.access-denied{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;color:var(--color-text-secondary)}.access-denied svg{margin-bottom:var(--space-4);opacity:.5}.access-denied h2{margin:0 0 var(--space-2) 0;color:var(--color-text-primary)}@media(max-width:768px){.form-row{grid-template-columns:1fr}.users-table thead{display:none}.users-table,.users-table tbody,.users-table tr,.users-table td{display:block;width:100%}.users-table tbody tr{padding:var(--space-4);border-bottom:1px solid var(--color-border);position:relative}.users-table tbody tr:last-child{border-bottom:none}.users-table td{padding:var(--space-1) 0;border-bottom:none}.users-table td:first-child{padding-bottom:var(--space-2);margin-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.user-cell{flex-wrap:wrap}.user-avatar-sm{width:40px;height:40px;font-size:var(--font-size-sm)}.user-name-text{font-size:var(--font-size-md)}.email-cell{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.users-table td:last-child{position:absolute;top:var(--space-4);right:var(--space-4);width:auto;padding:0}.user-actions{gap:var(--space-2)}.icon-btn{width:36px;height:36px}.icon-btn svg{width:16px;height:16px}}.settings-page{animation:fadeIn .15s var(--ease-out)}.settings-card{margin-bottom:var(--space-6)}.settings-card .card-title{display:flex;align-items:center;gap:var(--space-2)}.settings-form{display:flex;flex-direction:column;gap:var(--space-4)}.settings-form .form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.settings-form .form-group{display:flex;flex-direction:column;gap:var(--space-2)}.settings-form .form-group.full-width{grid-column:1 / -1}.settings-form label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-primary)}.settings-form input[type=text],.settings-form input[type=email],.settings-form input[type=password]{padding:var(--space-3);font-size:var(--text-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);color:var(--color-text-primary);transition:border-color var(--transition-fast)}.settings-form input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2383e226}.settings-form input::placeholder{color:var(--color-text-tertiary)}.form-hint{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.form-divider{height:1px;background-color:var(--color-border);margin:var(--space-2) 0}.checkbox-label{display:flex;align-items:center;gap:var(--space-3);cursor:pointer}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-primary)}.test-result{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.test-result.success{background-color:var(--color-success-light);color:var(--color-success);border:1px solid var(--color-success)}.test-result.error{background-color:var(--color-error-light);color:var(--color-error);border:1px solid var(--color-error)}.settings-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.setup-guide{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.setup-guide ol{margin:0;padding-left:var(--space-6)}.setup-guide li{margin-bottom:var(--space-4)}.setup-guide li:last-child{margin-bottom:0}.setup-guide strong{color:var(--color-text-primary);display:block;margin-bottom:var(--space-1)}.setup-guide p{margin:0;line-height:1.5}.setup-guide code{background-color:var(--color-surface);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--font-size-xs)}@media(max-width:768px){.settings-form .form-row{grid-template-columns:1fr}.settings-actions{flex-direction:column}}.locations-section{display:flex;flex-direction:column;gap:var(--space-4)}.section-description{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0}.locations-list{display:flex;flex-direction:column;gap:var(--space-2)}.empty-locations{display:flex;flex-direction:column;align-items:center;padding:var(--space-6);color:var(--color-text-tertiary);text-align:center}.empty-locations svg{margin-bottom:var(--space-2);opacity:.5}.empty-locations p{margin:0}.location-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border)}.location-info{display:flex;flex-direction:column;gap:var(--space-1)}.location-name{font-weight:600;color:var(--color-text-primary);display:flex;align-items:center;gap:var(--space-2)}.location-code{display:inline-block;padding:2px 6px;background:var(--color-primary-light);color:var(--color-primary);font-size:var(--font-size-xs);font-weight:600;border-radius:var(--radius-sm);font-family:var(--font-mono)}.location-address{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.location-actions{display:flex;gap:var(--space-2)}.location-form{display:flex;flex-direction:column;gap:var(--space-4)}.lockout-card.locked{border:2px solid var(--color-error)}.lockout-card.locked .card-title{color:var(--color-error)}.lockout-section{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.lockout-status{flex:1}.status-indicator{display:flex;align-items:center;gap:var(--space-2);font-weight:600;margin-bottom:var(--space-2)}.status-indicator.locked{color:var(--color-error)}.status-indicator.unlocked{color:var(--color-success)}.lockout-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.lockout-confirm,.delete-confirm{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3)}.warning-icon{color:var(--color-warning)}.unlock-icon{color:var(--color-success)}.lockout-note{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.mobile-upload-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.mobile-upload-container{width:100%;max-width:400px;background:#fff;border-radius:24px;padding:32px 24px;box-shadow:0 20px 60px #0000004d}.mobile-upload-header{text-align:center;margin-bottom:24px}.mobile-upload-header h1{font-size:24px;font-weight:700;color:#1a1a2e;margin:0 0 8px}.mobile-upload-header p{font-size:14px;color:#666;margin:0}.upload-status{display:flex;justify-content:center;margin-bottom:24px}.upload-success,.upload-hint{display:flex;align-items:center;gap:8px;padding:12px 20px;border-radius:12px;font-size:14px;font-weight:500}.upload-success{background:#e8f5e9;color:#2e7d32}.upload-hint{background:#f5f5f5;color:#666}.upload-buttons{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.upload-btn{display:flex;align-items:center;justify-content:center;gap:12px;padding:20px;border-radius:16px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;border:none}.upload-btn:active{transform:scale(.98)}.upload-btn:disabled{opacity:.6;cursor:not-allowed}.camera-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 15px #667eea66}.gallery-btn{background:#fff;color:#333;border:2px solid #e0e0e0}.uploading-indicator{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px;background:#f5f5f5;border-radius:12px;margin-bottom:24px;color:#666;font-size:14px}.spinner{width:20px;height:20px;border:2px solid #e0e0e0;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.mobile-upload-note{text-align:center;font-size:12px;color:#999;margin:0}.mobile-upload-loading{color:#fff;font-size:18px}.mobile-upload-error{text-align:center;color:#fff;background:#0003;padding:32px;border-radius:24px}.mobile-upload-error h2{margin:16px 0 8px}.mobile-upload-error p{margin:0;opacity:.9}.policies-page{animation:fadeIn .4s ease-out}.policies-filters{display:flex;gap:var(--space-3);margin-bottom:var(--space-4)}.policies-filters .search-input{flex:1;max-width:300px}.policies-filters .form-select{width:180px}.policies-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-4)}.policy-card{display:flex;flex-direction:column;padding:var(--space-4)}.policy-card-header{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3);align-items:center}.policy-card-number{font-size:var(--font-size-xs);color:var(--color-text-tertiary);background:var(--color-surface);padding:2px 8px;border-radius:var(--radius-sm)}.policy-card-title{font-size:var(--font-size-base);font-weight:600;margin:0 0 var(--space-2) 0;color:var(--color-text-primary)}.policy-card-preview{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.6;flex:1;margin:0}.policy-card-meta{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border);font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.policy-review-date{display:flex;align-items:center;gap:var(--space-1)}.policy-review-date.overdue{color:var(--color-warning)}.policy-card-actions{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3)}.policy-card-actions .icon-btn{margin-left:auto}.policy-card-actions .icon-btn:first-of-type{margin-left:auto}.icon-btn{width:28px;height:28px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface-elevated);color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.icon-btn:hover{background:var(--color-surface);color:var(--color-text-primary)}.icon-btn.danger:hover{background:var(--color-error);border-color:var(--color-error);color:#fff}.policy-form{display:flex;flex-direction:column;gap:var(--space-3);height:100%}.policy-form-top{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.policy-form .form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:40px}.category-label{display:flex;align-items:center;gap:var(--space-2)}.category-label:before{content:"";width:8px;height:8px;border-radius:50%;background-color:var(--color-primary)}.form-textarea{width:100%;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);color:var(--color-text-primary);font-size:var(--font-size-sm);font-family:inherit;resize:none;flex:1;min-height:0}.policy-form .form-group-content{flex:1;display:flex;flex-direction:column;min-height:0}.view-policy{display:flex;flex-direction:column;gap:var(--space-4);height:100%}.view-policy-header{display:flex;justify-content:space-between;align-items:flex-start}.view-policy-header>div{display:flex;flex-direction:column;gap:var(--space-2)}.view-policy-number{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-tertiary);background:var(--color-surface);padding:4px 10px;border-radius:var(--radius-sm);display:inline-block;margin-bottom:var(--space-1)}.view-policy-title{font-size:var(--font-size-xl);font-weight:600;margin:0}.view-policy-version{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.view-policy-meta{display:flex;gap:var(--space-6);padding:var(--space-4);background:var(--color-surface);border-radius:var(--radius-md)}.view-policy-meta-item{display:flex;flex-direction:column;gap:var(--space-1)}.meta-label{font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em}.meta-value{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:500}.meta-value.overdue{color:var(--color-warning)}.view-policy-content{flex:1;display:flex;flex-direction:column;min-height:0}.view-policy-content h4{font-size:var(--font-size-sm);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 var(--space-3) 0;flex-shrink:0}.policy-text{background:var(--color-surface);padding:var(--space-4);border-radius:var(--radius-md);flex:1;overflow-y:auto;min-height:0}.policy-text p{margin:0 0 var(--space-2) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.7}.policy-text p:last-child{margin-bottom:0}@media(max-width:768px){.policies-filters{flex-direction:column}.policies-filters .search-input,.policies-filters .form-select{max-width:none;width:100%}.policy-form-top,.form-row,.policies-grid{grid-template-columns:1fr}.view-policy-meta{flex-direction:column;gap:var(--space-3)}}.email-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1100}.email-modal{background:var(--color-surface-elevated);border-radius:var(--radius-lg);padding:var(--space-6);width:100%;max-width:400px;box-shadow:0 20px 40px #0003}.email-modal h3{margin:0 0 var(--space-2) 0;font-size:var(--font-size-lg);color:var(--color-text-primary)}.email-modal>p{margin:0 0 var(--space-4) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.email-modal .form-group{margin-bottom:var(--space-4)}.email-modal .form-actions{margin-top:var(--space-4)}.maintenance-page{animation:fadeIn .15s var(--ease-out)}.maintenance-filters{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:var(--space-4);gap:var(--space-4);flex-wrap:wrap}.location-filter{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-secondary)}.location-filter .form-select{min-width:180px}.maintenance-tabs{display:flex;gap:.5rem;margin-bottom:var(--space-4)}.maintenance-tabs .tab{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text-secondary);font-size:.875rem;cursor:pointer;transition:all .15s ease}.maintenance-tabs .tab:hover{background:var(--color-surface-hover)}.maintenance-tabs .tab.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.maintenance-tabs .tab-count{background:#fff3;padding:.125rem .5rem;border-radius:10px;font-size:.75rem;font-weight:600}.maintenance-tabs .tab:not(.active) .tab-count{background:var(--color-background)}.maintenance-tabs .tab-count.warning{background:var(--color-warning);color:#fff}.maintenance-list{display:flex;flex-direction:column;gap:var(--space-3)}.maintenance-row{padding:var(--space-4)}.maintenance-row.overdue{border-left:3px solid var(--color-error)}.maintenance-row.upcoming{border-left:3px solid var(--color-warning)}.maintenance-row-content{display:flex;gap:var(--space-4);align-items:flex-start}.maintenance-row-status{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--color-surface)}.status-icon.overdue{color:var(--color-error)}.status-icon.upcoming{color:var(--color-warning)}.status-icon.scheduled{color:var(--color-text-tertiary)}.maintenance-row-info{flex:1;min-width:0}.maintenance-row-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2)}.maintenance-row-title{font-size:var(--font-size-base);font-weight:600;margin:0}.maintenance-row-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--space-2) 0}.maintenance-row-meta{display:flex;flex-wrap:wrap;gap:var(--space-4);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.maintenance-meta-item{display:inline-flex;align-items:center;gap:var(--space-1)}.maintenance-meta-item.due-date.overdue{color:var(--color-error);font-weight:600}.maintenance-meta-item.due-date.upcoming{color:var(--color-warning);font-weight:600}.maintenance-row-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.icon-btn{width:28px;height:28px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--color-text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-fast),color var(--transition-fast)}.icon-btn.danger:hover{background:var(--color-tag-red);color:var(--color-error)}.maintenance-form{display:flex;flex-direction:column;gap:var(--space-4);height:100%}.maintenance-form-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-4)}.maintenance-form .form-group-grow{flex:1;display:flex;flex-direction:column;min-height:0}.maintenance-form .form-group-grow .form-textarea{flex:1;min-height:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.form-textarea{width:100%;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);color:var(--color-text-primary);font-size:var(--font-size-sm);font-family:inherit;resize:vertical}.form-textarea:focus{outline:none;border-color:var(--color-primary)}.form-error{background:var(--color-error-light);border:1px solid var(--color-error);color:var(--color-error);padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.form-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-4)}.complete-maintenance{display:flex;flex-direction:column;gap:var(--space-4)}.complete-info h3{margin:0 0 var(--space-1) 0;font-size:var(--font-size-lg)}.complete-asset{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0}.complete-next{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--color-surface);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.complete-next strong{color:var(--color-text-primary)}.history-modal{display:flex;flex-direction:column;gap:var(--space-4)}.history-header{display:flex;align-items:center;gap:var(--space-3)}.history-header h3{margin:0;flex:1}.history-empty{display:flex;flex-direction:column;align-items:center;padding:var(--space-6);color:var(--color-text-tertiary);text-align:center}.history-empty svg{margin-bottom:var(--space-2);opacity:.5}.history-list{display:flex;flex-direction:column;gap:var(--space-3);max-height:400px;overflow-y:auto}.history-item{padding:var(--space-3);background:var(--color-surface);border-radius:var(--radius-md)}.history-item-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.history-check{color:var(--color-success)}.history-item-body{padding-left:calc(16px + var(--space-2))}.history-by{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.history-notes{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin:var(--space-2) 0 0 0;font-style:italic}.delete-confirm p{margin-bottom:var(--space-3)}.delete-warning{color:var(--color-error);font-size:var(--font-size-sm)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-10);text-align:center;color:var(--color-text-secondary)}.empty-state svg{margin-bottom:var(--space-4);opacity:.4}.empty-state h3{margin:0 0 var(--space-2) 0;color:var(--color-text-primary)}.empty-state p{margin:0;font-size:var(--font-size-sm)}@media(max-width:768px){.maintenance-tabs{flex-wrap:wrap;gap:.5rem}.form-row{grid-template-columns:1fr}.maintenance-row-content{flex-direction:column}.maintenance-row-status{display:none}.maintenance-row-actions{width:100%;justify-content:flex-end;margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}}.planner-page{display:flex;flex-direction:column;gap:1.5rem;animation:fadeIn .15s var(--ease-out)}.planner-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.planner-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.summary-card{padding:1rem;cursor:pointer;transition:background-color var(--transition-fast)}.summary-card:hover{background-color:var(--color-surface-hover)}.summary-card.active{border:2px solid var(--color-primary)}.summary-item{display:flex;align-items:center;gap:.75rem}.summary-icon{flex-shrink:0}.summary-icon.work-orders{color:var(--color-primary)}.summary-icon.deliveries{color:#8b5cf6}.summary-icon.maintenance{color:#10b981}.summary-icon.personal{color:#6366f1}.summary-content{display:flex;flex-direction:column}.summary-count{font-size:1.5rem;font-weight:600;color:var(--color-text-primary);line-height:1}.summary-label{font-size:.75rem;color:var(--color-text-secondary);margin-top:.25rem}.summary-badge{font-size:.65rem;padding:.125rem .375rem;border-radius:10px;margin-top:.25rem;display:inline-block;width:fit-content}.summary-badge.pending{background:rgba(var(--color-info-rgb),.15);color:var(--color-info)}.summary-badge.overdue{background:rgba(var(--color-danger-rgb),.15);color:var(--color-danger)}.filter-indicator{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--color-primary-light);border-radius:6px;font-size:.875rem;color:var(--color-primary)}.status-filter-tabs{display:flex;gap:.5rem}.status-tab{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);cursor:pointer;font-size:.875rem;font-weight:500;color:var(--color-text-secondary);transition:all .15s ease}.status-tab:hover{background:var(--color-surface-hover)}.status-tab.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.planner-calendar-card{padding:0;overflow:hidden}.calendar-controls{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.view-toggle{display:flex;gap:.25rem;background:var(--color-background);padding:.25rem;border-radius:var(--radius-md)}.calendar-navigation{display:flex;align-items:center;gap:.5rem}.calendar-period{font-weight:600;color:var(--color-text-primary);margin-left:1rem}.calendar-container{overflow-x:auto}.calendar-header{display:flex;border-bottom:2px solid var(--color-border);background:var(--color-background);position:sticky;top:0;z-index:10}.time-column-header{flex:0 0 60px;padding:.75rem .5rem;border-right:1px solid var(--color-border);background:var(--color-surface)}.date-column-header{flex:1;min-width:150px;padding:1rem .75rem;text-align:center;border-right:1px solid var(--color-border);display:flex;flex-direction:column;gap:.25rem}.date-column-header:last-child{border-right:none}.date-column-header.today{background:var(--color-primary-light)}.date-header-day{font-size:.7rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.date-header-num{font-size:1.25rem;font-weight:600;color:var(--color-text-primary)}.date-column-header.today .date-header-num{color:var(--color-primary)}.calendar-body{display:flex;min-height:500px}.time-column{flex:0 0 60px;border-right:1px solid var(--color-border);background:var(--color-surface);display:flex;flex-direction:column}.all-day-header{height:32px;border-bottom:1px solid var(--color-border);flex-shrink:0}.time-slots{flex:1}.time-slot{height:80px;display:flex;align-items:flex-start;justify-content:flex-end;padding:0 .5rem;border-bottom:1px solid var(--color-border)}.time-label{font-size:.7rem;color:var(--color-text-tertiary);transform:translateY(-.5rem)}.day-column{flex:1;min-width:150px;border-right:1px solid var(--color-border);display:flex;flex-direction:column}.day-column:last-child{border-right:none}.day-column.today{background:rgba(var(--color-primary-rgb),.03)}.all-day-section{height:32px;padding:.25rem;border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;gap:.125rem;background:var(--color-surface);overflow:hidden;flex-shrink:0}.time-grid{flex:1;position:relative}.hour-cell{height:80px;border-bottom:1px solid var(--color-border)}.hour-cell:last-child{border-bottom:none}.calendar-item{border-radius:4px;padding:.25rem .5rem;cursor:pointer;display:flex;align-items:center;gap:.25rem;overflow:hidden;color:#fff;font-size:.75rem;transition:transform .1s ease,box-shadow .1s ease}.calendar-item:hover{transform:scale(1.02);box-shadow:0 2px 8px #00000026;z-index:5}.calendar-item.all-day{min-height:20px;padding:.125rem .375rem;font-size:.65rem}.calendar-item.timed{position:absolute;right:2px;min-height:24px;z-index:1}.calendar-item.full-day{position:absolute;top:0;bottom:0;min-height:auto;z-index:1;flex-direction:column;justify-content:flex-start;padding:.5rem .375rem;writing-mode:vertical-rl;text-orientation:mixed}.calendar-item-time{font-weight:600;font-size:.65rem;opacity:.9}.calendar-item-icon{flex-shrink:0;opacity:.9}.calendar-item-title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.planner-key-row{display:flex;gap:.75rem}.planner-key-card{padding:.5rem .75rem;flex:1}.key-header{display:flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:.375rem}.key-items-horizontal{display:flex;flex-wrap:wrap;gap:.75rem}.key-item{display:flex;align-items:center;gap:.375rem;font-size:.7rem;color:var(--color-text-primary)}.key-color{width:10px;height:10px;border-radius:2px}.planner-detail-modal{display:flex;flex-direction:column;gap:1rem}.detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.detail-header h2{margin:0;font-size:1.25rem;font-weight:600}.detail-info{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:var(--color-background);border-radius:8px}.detail-row{display:flex;justify-content:space-between;gap:1rem}.detail-label{color:var(--color-text-secondary);font-size:.875rem}.detail-value{font-weight:500;text-align:right}.detail-items{padding:1rem;background:var(--color-background);border-radius:8px}.detail-items h4{margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:var(--color-text-secondary)}.detail-items ul{margin:0;padding-left:1.25rem;font-size:.875rem}.detail-items li{margin-bottom:.25rem}.detail-items .received{color:var(--color-success)}.detail-items .partial{color:var(--color-warning)}.receipt-table{width:100%;border-collapse:collapse;font-size:.875rem}.receipt-table th,.receipt-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--color-border)}.receipt-table th{font-weight:600;color:var(--color-text-secondary);font-size:.75rem;text-transform:uppercase}.receipt-quantity-input{width:80px;padding:.25rem .5rem;border:1px solid var(--color-border);border-radius:4px;font-size:.875rem}.receipt-quantity-input:focus{outline:none;border-color:var(--color-primary)}.receipt-quick-actions{display:flex;gap:.75rem;padding:1rem;background:var(--color-background);border-radius:8px;flex-wrap:wrap}.detail-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid var(--color-border)}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:var(--color-text-secondary);text-align:center;min-height:300px}.hour-cell{cursor:pointer;transition:background-color .15s ease}.hour-cell:hover{background:rgba(var(--color-primary-rgb),.05)}.personal-task-form{display:flex;flex-direction:column;gap:1rem}.personal-task-form .form-group{display:flex;flex-direction:column;gap:.375rem}.personal-task-form label{font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.personal-task-form input,.personal-task-form select,.personal-task-form textarea{padding:.625rem .75rem;border:1px solid var(--color-border);border-radius:6px;font-size:.875rem;background:var(--color-background);color:var(--color-text-primary);transition:border-color .15s ease,box-shadow .15s ease}.personal-task-form input:focus,.personal-task-form select:focus,.personal-task-form textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.personal-task-form .form-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.personal-task-form .form-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:.5rem;border-top:1px solid var(--color-border);margin-top:.5rem}.personal-task-form .delete-confirm-section{padding:1rem;background:rgba(var(--color-danger-rgb),.1);border-radius:6px;border:1px solid var(--color-danger)}.personal-task-form .delete-confirm-section p{margin:0 0 .75rem;color:var(--color-danger)}.planner-key-card.personal{background:linear-gradient(135deg,#6366f11a,#8b5cf61a)}.calendar-item[draggable=true]{cursor:grab}.calendar-item[draggable=true]:active{cursor:grabbing}.day-column.drop-target{transition:background-color .15s ease}.day-column.drop-target:hover{background:rgba(var(--color-primary-rgb),.1)}.day-column.drop-target .time-grid{pointer-events:none}.day-column.drop-target .calendar-item{pointer-events:auto}.list-view-container{display:flex;flex-direction:column;gap:1rem;padding:1rem;max-height:800px;overflow-y:auto}.list-day-group{display:flex;flex-direction:column;gap:.5rem}.list-day-header{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--color-border)}.list-day-header.today{border-bottom-color:var(--color-primary)}.list-day-name{font-weight:600;font-size:.9rem;color:var(--color-text-primary)}.list-day-header.today .list-day-name{color:var(--color-primary)}.list-day-date{font-size:.8rem;color:var(--color-text-secondary)}.list-items{display:flex;flex-direction:column;gap:.5rem}.list-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background:var(--color-surface);border-radius:var(--radius-md);border-left:3px solid;cursor:pointer;transition:all .15s ease}.list-item:hover{background:var(--color-background);transform:translate(4px)}.list-item-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;color:#fff;flex-shrink:0}.list-item-content{flex:1;min-width:0}.list-item-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.25rem}.list-item-title{font-weight:500;font-size:.875rem;color:var(--color-text-primary)}.list-item-type{font-size:.7rem;color:var(--color-text-secondary);background:var(--color-background);padding:.125rem .375rem;border-radius:4px;flex-shrink:0}.list-item-details{display:flex;align-items:center;gap:.75rem;font-size:.75rem;color:var(--color-text-secondary)}.list-item-time{display:flex;align-items:center;gap:.25rem}.list-item-status{text-transform:capitalize;padding:.125rem .375rem;border-radius:4px;font-size:.7rem;font-weight:500}.list-item-status.status-completed{background:#05b26826;color:var(--color-success)}.list-item-status.status-in-progress{background:#0052ff26;color:var(--color-primary)}.list-item-status.status-pending{background:#f9b03826;color:var(--color-warning)}.list-item-status.status-overdue{background:#e53e3e26;color:var(--color-error)}.list-item-status.status-scheduled{background:#10b98126;color:#10b981}.list-item-status.status-received{background:#05b26826;color:var(--color-success)}.list-empty-state{text-align:center;padding:2rem;color:var(--color-text-secondary);font-size:.9rem}@media(max-width:768px){.calendar-controls{flex-direction:row;justify-content:center;gap:.5rem}.calendar-navigation.mobile-nav{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%}.calendar-navigation.mobile-nav .calendar-period.mobile-date{margin-left:0;font-size:1rem;text-align:center}.planner-summary{grid-template-columns:repeat(2,1fr)}.planner-key-row,.status-filter-tabs,.filter-indicator{display:none}.mobile-day-view{padding:1rem}.mobile-empty-state{text-align:center;padding:3rem 1rem;color:var(--color-text-secondary);font-size:.9rem}.mobile-day-items{display:flex;flex-direction:column;gap:.75rem}.mobile-item{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:var(--color-surface);border-radius:var(--radius-lg);border-left:4px solid;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.mobile-item:active{transform:scale(.98)}.mobile-item-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;color:#fff;flex-shrink:0}.mobile-item-content{flex:1;min-width:0}.mobile-item-title{font-weight:600;font-size:.95rem;color:var(--color-text-primary);margin-bottom:.25rem}.mobile-item-meta{display:flex;align-items:center;gap:.75rem;font-size:.8rem;color:var(--color-text-secondary)}.mobile-item-time{display:flex;align-items:center;gap:.25rem}.mobile-item-type{background:var(--color-background);padding:.125rem .5rem;border-radius:4px;font-size:.7rem}.view-toggle{display:none}.day-column,.date-column-header{min-width:120px}}.deliveries-page{display:flex;flex-direction:column;gap:1.5rem;animation:fadeIn .15s var(--ease-out)}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.deliveries-filters{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.search-box{position:relative;flex:1;max-width:300px}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);pointer-events:none}.search-input{width:100%;padding:8px 12px 8px 40px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);font-size:var(--font-size-sm);transition:all .15s ease}.search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2383e226}.search-input::placeholder{color:var(--color-text-tertiary)}.deliveries-tabs{display:flex;gap:.5rem}.deliveries-tabs .tab{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;font-size:.875rem;transition:all .15s ease}.deliveries-tabs .tab:hover{background:var(--color-surface-hover)}.deliveries-tabs .tab.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.tab-count{background:#fff3;padding:.125rem .5rem;border-radius:10px;font-size:.75rem;font-weight:600}.deliveries-tabs .tab:not(.active) .tab-count{background:var(--color-background)}.tab-count.warning{background:var(--color-warning);color:#fff}.deliveries-list{display:flex;flex-direction:column;gap:.75rem}.delivery-row{padding:1rem;transition:background-color var(--transition-fast)}.delivery-row:hover{background-color:var(--color-surface-hover)}.delivery-row-content{display:flex;align-items:center;gap:1rem}.delivery-row-status{flex-shrink:0}.status-icon{color:var(--color-text-tertiary)}.status-icon.received{color:var(--color-success)}.status-icon.in-transit{color:var(--color-info)}.status-icon.partial{color:var(--color-warning)}.status-icon.scheduled{color:var(--color-text-secondary)}.status-icon.cancelled{color:var(--color-danger)}.delivery-row-info{flex:1;min-width:0}.delivery-row-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.25rem}.delivery-row-id{font-size:.7rem;color:var(--color-text-tertiary)}.delivery-row-title{font-size:1rem;font-weight:500;margin:0 0 .5rem;color:var(--color-text-primary)}.delivery-row-meta{display:flex;flex-wrap:wrap;gap:1rem;font-size:.8rem;color:var(--color-text-secondary)}.delivery-meta-item strong{color:var(--color-text-tertiary);font-weight:500}.delivery-row-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.icon-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:4px;background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease}.icon-btn:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.icon-btn.danger:hover{background:var(--color-danger-light);color:var(--color-danger)}.delivery-form{display:flex;flex-direction:column;gap:1rem}.form-section{padding:1rem;background:var(--color-background);border-radius:8px}.form-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.form-section-header .form-label{margin-bottom:0}.delivery-items-list{display:flex;flex-direction:column;gap:.5rem}.delivery-item-row{display:flex;gap:.5rem;align-items:center}.item-name{flex:2}.item-quantity{width:80px}.item-unit{width:100px}.delivery-detail{display:flex;flex-direction:column;gap:1.5rem}.delivery-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.delivery-detail-title{font-size:1.25rem;font-weight:600;margin:0}.delivery-detail-info{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:var(--color-background);border-radius:8px}.delivery-info-row{display:flex;justify-content:space-between;gap:1rem}.delivery-info-label{color:var(--color-text-secondary);font-size:.875rem}.delivery-info-value{font-weight:500;text-align:right}.delivery-items-section h4{margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.delivery-items-table{width:100%;border-collapse:collapse;font-size:.875rem}.delivery-items-table th,.delivery-items-table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--color-border)}.delivery-items-table th{font-weight:600;color:var(--color-text-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.delivery-items-table tr.received{background:rgba(var(--color-success-rgb),.05)}.delivery-items-table tr.partial{background:rgba(var(--color-warning-rgb),.05)}.item-status{display:flex;align-items:center;gap:.25rem;font-size:.75rem}.item-status.received{color:var(--color-success)}.item-status.partial{color:var(--color-warning)}.item-status.pending{color:var(--color-text-secondary)}.receive-item-form{padding:1rem;background:var(--color-primary-light);border-radius:8px;border:1px solid var(--color-primary)}.receive-item-form h4{margin:0 0 1rem;font-size:.875rem;color:var(--color-primary)}.delivery-detail-footer{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid var(--color-border)}.delete-confirm{text-align:center}.delete-confirm p{margin:0 0 1rem}.delete-warning{color:var(--color-danger);font-size:.875rem}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:var(--color-text-secondary);text-align:center}.empty-state svg{margin-bottom:1rem;opacity:.5}.empty-state h3{margin:0;font-size:1.125rem;color:var(--color-text-primary)}.empty-state p{margin:.5rem 0 0;font-size:.875rem}@media(max-width:768px){.delivery-row-content{flex-direction:column;align-items:flex-start}.delivery-row-actions{width:100%;justify-content:flex-end;margin-top:.5rem}.delivery-item-row{flex-wrap:wrap}.item-name{flex:1 1 100%}.deliveries-tabs{flex-wrap:wrap}}.welcome-screen{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background-color:var(--color-background);z-index:9999;transition:opacity .4s ease-out}.welcome-screen.fade-out{opacity:0}.welcome-content{text-align:center;animation:welcomeFadeIn .5s ease-out forwards}@keyframes welcomeFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.welcome-title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text-primary);margin:0 0 var(--space-2);letter-spacing:var(--tracking-tight)}.welcome-subtitle{font-size:var(--text-md);color:var(--color-text-tertiary);margin:0 0 var(--space-8)}.welcome-loader{width:200px;height:4px;background-color:var(--color-border);border-radius:var(--radius-full);margin:0 auto;overflow:hidden}.welcome-loader-bar{height:100%;width:0;background-color:var(--color-primary);border-radius:var(--radius-full);animation:welcomeProgress 1.8s ease-out forwards}@keyframes welcomeProgress{0%{width:0}50%{width:60%}to{width:100%}}@media(max-width:768px){.welcome-title{font-size:var(--text-xl)}.welcome-subtitle{font-size:var(--text-sm)}.welcome-loader{width:160px}}.developer-page{animation:fadeIn .15s var(--ease-out)}.developer-page .page-title{display:flex;align-items:center;gap:var(--space-3)}.dev-info-banner{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fcd34d;border-radius:var(--radius-lg);margin-bottom:var(--space-6);color:#78350f}.dev-info-banner svg{flex-shrink:0;margin-top:2px}.dev-info-banner strong{color:#92400e}.dev-info-note{font-size:var(--text-sm);opacity:.8}.dev-section{margin-bottom:var(--space-8)}.dev-section-title{font-size:var(--text-xl);font-weight:600;color:var(--color-text-primary);margin:0 0 var(--space-2) 0}.dev-section-subtitle{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0 0 var(--space-4) 0}.dev-tests-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--space-4)}.dev-test-card{display:flex;flex-direction:column;gap:var(--space-3)}.dev-test-header{display:flex;align-items:flex-start;gap:var(--space-3)}.dev-test-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--color-primary-light);color:var(--color-primary);border-radius:var(--radius-md);flex-shrink:0}.dev-test-info{flex:1;min-width:0}.dev-test-name{font-size:var(--text-md);font-weight:600;color:var(--color-text-primary);margin:0 0 var(--space-1) 0}.dev-test-description{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0;line-height:1.4}.dev-test-actions{display:flex;justify-content:flex-end}.dev-test-actions button{display:flex;align-items:center;gap:var(--space-2)}.dev-result{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500}.dev-result.success{background:#dcfce7;color:#166534}.dev-result.error{background:#fee2e2;color:#991b1b}.dev-result svg{flex-shrink:0}.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dev-env-card{padding:var(--space-4)}.dev-env-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-4)}.dev-env-item{display:flex;flex-direction:column;gap:var(--space-1)}.dev-env-label{font-size:var(--text-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px}.dev-env-value{font-size:var(--text-sm);color:var(--color-text-primary);font-weight:500;font-family:var(--font-mono)}.dev-section-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4)}.dev-section-actions{flex-shrink:0}.dev-progress-container{margin-bottom:var(--space-4)}.dev-progress-bar{height:8px;background:var(--color-bg-tertiary);border-radius:var(--radius-full);overflow:hidden;margin-bottom:var(--space-2)}.dev-progress-fill{height:100%;background:linear-gradient(90deg,var(--color-primary) 0%,#2d5a8a 100%);border-radius:var(--radius-full);transition:width .2s ease-out}.dev-progress-text{font-size:var(--text-sm);color:var(--color-text-secondary);text-align:center}.dev-ui-stats{display:flex;flex-wrap:wrap;gap:var(--space-4);padding:var(--space-4);background:var(--color-bg-secondary);border-radius:var(--radius-lg);margin-bottom:var(--space-4)}.dev-stat-item{display:flex;flex-direction:column;align-items:center;padding:var(--space-3) var(--space-4);background:var(--color-bg-primary);border-radius:var(--radius-md);min-width:80px}.dev-stat-item.success .dev-stat-value{color:#16a34a}.dev-stat-item.error .dev-stat-value{color:#dc2626}.dev-stat-value{font-size:var(--text-xl);font-weight:700;color:var(--color-text-primary);font-family:var(--font-mono)}.dev-stat-label{font-size:var(--text-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-top:var(--space-1)}.dev-ui-results{display:flex;flex-direction:column;gap:var(--space-4)}.dev-suite-card{overflow:hidden}.dev-suite-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}.dev-suite-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--color-primary-light);color:var(--color-primary);border-radius:var(--radius-md);flex-shrink:0}.dev-suite-info{flex:1;min-width:0}.dev-suite-name{font-size:var(--text-md);font-weight:600;color:var(--color-text-primary);margin:0}.dev-suite-path{font-size:var(--text-xs);color:var(--color-text-tertiary);font-family:var(--font-mono)}.dev-suite-stats{display:flex;align-items:center;gap:var(--space-3)}.dev-suite-badge{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600}.dev-suite-badge.success{background:#dcfce7;color:#166534}.dev-suite-badge.error{background:#fee2e2;color:#991b1b}.dev-suite-time{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--color-text-tertiary);font-family:var(--font-mono)}.dev-tests-list-card{margin-bottom:var(--space-6)}.dev-tests-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary)}.dev-tests-header .dev-tests-count{font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary)}.dev-tests-list{display:flex;flex-direction:column}.dev-tests-empty{padding:var(--space-8);text-align:center;color:var(--color-text-secondary)}.dev-tests-empty p{margin:0 0 var(--space-2) 0}.dev-tests-empty .dev-tests-count{font-size:var(--text-lg);font-weight:600;color:var(--color-text-primary)}.dev-test-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);font-size:var(--text-sm)}.dev-test-row:last-child{border-bottom:none}.dev-test-row:nth-child(odd){background:var(--color-bg-secondary)}.dev-test-row.passed .dev-test-status{color:#16a34a}.dev-test-row.failed .dev-test-status{color:#dc2626}.dev-test-row.failed{background:#fef2f2}.dev-test-status{flex-shrink:0;display:flex;align-items:center}.dev-test-category{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);font-weight:600;color:var(--color-primary);background:var(--color-primary-light);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);min-width:100px;flex-shrink:0}.dev-test-category-tag{font-size:10px;font-weight:500;color:var(--color-text-tertiary);background:var(--color-bg-tertiary);padding:2px 6px;border-radius:var(--radius-sm);flex-shrink:0;text-transform:uppercase;letter-spacing:.3px}.dev-test-name-col{font-weight:600;color:var(--color-text-primary);min-width:200px;flex:0 0 auto}.dev-test-message{flex:1;min-width:0;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dev-test-time{font-size:var(--text-xs);color:var(--color-text-tertiary);font-family:var(--font-mono);flex-shrink:0;min-width:50px;text-align:right}.dev-suites-preview{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:var(--space-4)}.dev-suites-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-3);margin-bottom:var(--space-4)}.dev-suite-preview{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-bg-primary);border-radius:var(--radius-md);border:1px solid var(--color-border)}.dev-suite-preview-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--color-primary-light);color:var(--color-primary);border-radius:var(--radius-md);flex-shrink:0}.dev-suite-preview-info{display:flex;flex-direction:column;gap:2px}.dev-suite-preview-name{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.dev-suite-preview-count{font-size:var(--text-xs);color:var(--color-text-tertiary)}.dev-suites-total{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding-top:var(--space-3);border-top:1px solid var(--color-border);text-align:center}.dev-suites-total strong{font-size:var(--text-lg);color:var(--color-text-primary)}.dev-suites-total span{font-size:var(--text-sm);color:var(--color-text-secondary)}@media(max-width:768px){.dev-tests-grid{grid-template-columns:1fr}.dev-info-banner{flex-direction:column}.dev-env-grid{grid-template-columns:1fr 1fr}.dev-section-header{flex-direction:column}.dev-ui-stats{justify-content:center}.dev-stat-item{flex:1;min-width:70px}.dev-test-row{flex-wrap:wrap;gap:var(--space-2)}.dev-test-category{min-width:auto}.dev-test-name-col{min-width:auto;flex:1}.dev-test-message{width:100%;order:10;padding-left:var(--space-6)}}@media(max-width:480px){.dev-env-grid{grid-template-columns:1fr}.dev-ui-stats{gap:var(--space-2)}.dev-stat-item{min-width:60px;padding:var(--space-2)}.dev-stat-value{font-size:var(--text-lg)}.dev-test-row{padding:var(--space-2) var(--space-3)}.dev-test-category{font-size:10px;padding:2px var(--space-1)}}
