:root{--primary-blue: #1e3a8a;--primary-blue-hover: #1e40af;--primary-blue-light: #3b82f6;--primary-blue-dark: #1e293b;--color-white: rgba(255, 255, 255, 1);--color-black: rgba(0, 0, 0, 1);--color-cream-50: rgba(252, 252, 249, 1);--color-cream-100: rgba(255, 255, 253, 1);--color-gray-200: rgba(245, 245, 245, 1);--color-gray-300: rgba(167, 169, 169, 1);--color-gray-400: rgba(119, 124, 124, 1);--color-slate-500: rgba(98, 108, 113, 1);--color-brown-600: rgba(94, 82, 64, 1);--color-charcoal-700: rgba(31, 33, 33, 1);--color-charcoal-800: rgba(38, 40, 40, 1);--color-slate-900: rgba(19, 52, 59, 1);--color-teal-300: rgba(50, 184, 198, 1);--color-teal-400: rgba(45, 166, 178, 1);--color-teal-500: rgba(33, 128, 141, 1);--color-teal-600: rgba(29, 116, 128, 1);--color-teal-700: rgba(26, 104, 115, 1);--color-teal-800: rgba(41, 150, 161, 1);--color-red-400: rgba(255, 84, 89, 1);--color-red-500: rgba(192, 21, 47, 1);--color-orange-400: rgba(230, 129, 97, 1);--color-orange-500: rgba(168, 75, 47, 1);--color-brown-600-rgb: 94, 82, 64;--color-teal-500-rgb: 33, 128, 141;--color-slate-900-rgb: 19, 52, 59;--color-slate-500-rgb: 98, 108, 113;--color-red-500-rgb: 192, 21, 47;--color-red-400-rgb: 255, 84, 89;--color-orange-500-rgb: 168, 75, 47;--color-orange-400-rgb: 230, 129, 97;--primary-blue-rgb: 30, 58, 138;--color-bg-1: rgba(59, 130, 246, .08);--color-bg-2: rgba(245, 158, 11, .08);--color-bg-3: rgba(34, 197, 94, .08);--color-bg-4: rgba(239, 68, 68, .08);--color-bg-5: rgba(147, 51, 234, .08);--color-bg-6: rgba(249, 115, 22, .08);--color-bg-7: rgba(236, 72, 153, .08);--color-bg-8: rgba(6, 182, 212, .08);--color-background: var(--color-cream-50);--color-surface: var(--color-cream-100);--color-text: var(--color-slate-900);--color-text-secondary: var(--color-slate-500);--color-primary: var(--primary-blue);--color-primary-hover: var(--primary-blue-hover);--color-primary-active: var(--primary-blue-dark);--color-secondary: rgba(var(--color-brown-600-rgb), .12);--color-secondary-hover: rgba(var(--color-brown-600-rgb), .2);--color-secondary-active: rgba(var(--color-brown-600-rgb), .25);--color-border: rgba(var(--color-brown-600-rgb), .2);--color-btn-primary-text: var(--color-cream-50);--color-card-border: rgba(var(--color-brown-600-rgb), .12);--color-card-border-inner: rgba(var(--color-brown-600-rgb), .12);--color-error: var(--color-red-500);--color-success: var(--color-teal-500);--color-warning: var(--color-orange-500);--color-info: var(--color-slate-500);--color-focus-ring: rgba(var(--color-teal-500-rgb), .4);--color-select-caret: rgba(var(--color-slate-900-rgb), .8);--focus-ring: 0 0 0 3px var(--color-focus-ring);--focus-outline: 2px solid var(--color-primary);--status-bg-opacity: .15;--status-border-opacity: .25;--select-caret-light: 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='%23134252' 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");--select-caret-dark: 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='%23f5f5f5' 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");--color-success-rgb: 33, 128, 141;--color-error-rgb: 192, 21, 47;--color-warning-rgb: 168, 75, 47;--color-info-rgb: 98, 108, 113;--color-primary-rgb: var(--primary-blue-rgb);--font-family-base: "FKGroteskNeue", "Geist", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-mono: "Berkeley Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-md: 14px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 20px;--font-size-3xl: 24px;--font-size-4xl: 30px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 550;--font-weight-bold: 600;--line-height-tight: 1.2;--line-height-normal: 1.5;--letter-spacing-tight: -.01em;--space-0: 0;--space-1: 1px;--space-2: 2px;--space-4: 4px;--space-6: 6px;--space-8: 8px;--space-10: 10px;--space-12: 12px;--space-16: 16px;--space-20: 20px;--space-24: 24px;--space-32: 32px;--radius-sm: 6px;--radius-base: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .02);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .02);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .04), 0 2px 4px -1px rgba(0, 0, 0, .02);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .04), 0 4px 6px -2px rgba(0, 0, 0, .02);--shadow-inset-sm: inset 0 1px 0 rgba(255, 255, 255, .15), inset 0 -1px 0 rgba(0, 0, 0, .03);--duration-fast: .15s;--duration-normal: .25s;--ease-standard: cubic-bezier(.16, 1, .3, 1);--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px}@media(prefers-color-scheme:dark){:root{--color-gray-400-rgb: 119, 124, 124;--color-teal-300-rgb: 50, 184, 198;--color-gray-300-rgb: 167, 169, 169;--color-gray-200-rgb: 245, 245, 245;--color-bg-1: rgba(29, 78, 216, .15);--color-bg-2: rgba(180, 83, 9, .15);--color-bg-3: rgba(21, 128, 61, .15);--color-bg-4: rgba(185, 28, 28, .15);--color-bg-5: rgba(107, 33, 168, .15);--color-bg-6: rgba(194, 65, 12, .15);--color-bg-7: rgba(190, 24, 93, .15);--color-bg-8: rgba(8, 145, 178, .15);--color-background: var(--color-charcoal-700);--color-surface: var(--color-charcoal-800);--color-text: var(--color-gray-200);--color-text-secondary: rgba(var(--color-gray-300-rgb), .7);--color-primary: var(--color-teal-300);--color-primary-hover: var(--color-teal-400);--color-primary-active: var(--color-teal-800);--color-secondary: rgba(var(--color-gray-400-rgb), .15);--color-secondary-hover: rgba(var(--color-gray-400-rgb), .25);--color-secondary-active: rgba(var(--color-gray-400-rgb), .3);--color-border: rgba(var(--color-gray-400-rgb), .3);--color-error: var(--color-red-400);--color-success: var(--color-teal-300);--color-warning: var(--color-orange-400);--color-info: var(--color-gray-300);--color-focus-ring: rgba(var(--color-teal-300-rgb), .4);--color-btn-primary-text: var(--color-charcoal-700);--color-card-border: rgba(var(--color-gray-400-rgb), .2);--color-card-border-inner: rgba(var(--color-gray-400-rgb), .15);--shadow-inset-sm: inset 0 1px 0 rgba(255, 255, 255, .1), inset 0 -1px 0 rgba(0, 0, 0, .15);--button-border-secondary: rgba(var(--color-gray-400-rgb), .2);--color-border-secondary: rgba(var(--color-gray-400-rgb), .2);--color-select-caret: rgba(var(--color-gray-200-rgb), .8);--focus-ring: 0 0 0 3px var(--color-focus-ring);--focus-outline: 2px solid var(--color-primary);--status-bg-opacity: .15;--status-border-opacity: .25;--select-caret-light: 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='%23134252' 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");--select-caret-dark: 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='%23f5f5f5' 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");--color-success-rgb: var(--color-teal-300-rgb);--color-error-rgb: var(--color-red-400-rgb);--color-warning-rgb: var(--color-orange-400-rgb);--color-info-rgb: var(--color-gray-300-rgb);--color-primary-rgb: var(--color-teal-300-rgb)}}[data-color-scheme=dark]{--color-gray-400-rgb: 119, 124, 124;--color-teal-300-rgb: 50, 184, 198;--color-gray-300-rgb: 167, 169, 169;--color-gray-200-rgb: 245, 245, 245;--color-bg-1: rgba(29, 78, 216, .15);--color-bg-2: rgba(180, 83, 9, .15);--color-bg-3: rgba(21, 128, 61, .15);--color-bg-4: rgba(185, 28, 28, .15);--color-bg-5: rgba(107, 33, 168, .15);--color-bg-6: rgba(194, 65, 12, .15);--color-bg-7: rgba(190, 24, 93, .15);--color-bg-8: rgba(8, 145, 178, .15);--color-background: var(--color-charcoal-700);--color-surface: var(--color-charcoal-800);--color-text: var(--color-gray-200);--color-text-secondary: rgba(var(--color-gray-300-rgb), .7);--color-primary: var(--color-teal-300);--color-primary-hover: var(--color-teal-400);--color-primary-active: var(--color-teal-800);--color-secondary: rgba(var(--color-gray-400-rgb), .15);--color-secondary-hover: rgba(var(--color-gray-400-rgb), .25);--color-secondary-active: rgba(var(--color-gray-400-rgb), .3);--color-border: rgba(var(--color-gray-400-rgb), .3);--color-error: var(--color-red-400);--color-success: var(--color-teal-300);--color-warning: var(--color-orange-400);--color-info: var(--color-gray-300);--color-focus-ring: rgba(var(--color-teal-300-rgb), .4);--color-btn-primary-text: var(--color-charcoal-700);--color-card-border: rgba(var(--color-gray-400-rgb), .15);--color-card-border-inner: rgba(var(--color-gray-400-rgb), .15);--shadow-inset-sm: inset 0 1px 0 rgba(255, 255, 255, .1), inset 0 -1px 0 rgba(0, 0, 0, .15);--button-border-secondary: rgba(var(--color-gray-400-rgb), .2);--color-border-secondary: rgba(var(--color-gray-400-rgb), .2);--color-select-caret: rgba(var(--color-gray-200-rgb), .8);--focus-ring: 0 0 0 3px var(--color-focus-ring);--focus-outline: 2px solid var(--color-primary);--status-bg-opacity: .15;--status-border-opacity: .25;--select-caret-light: 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='%23134252' 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");--select-caret-dark: 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='%23f5f5f5' 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");--color-success-rgb: var(--color-teal-300-rgb);--color-error-rgb: var(--color-red-400-rgb);--color-warning-rgb: var(--color-orange-400-rgb);--color-info-rgb: var(--color-gray-300-rgb);--color-primary-rgb: var(--color-teal-300-rgb)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family-base);background-color:var(--color-background);color:var(--color-text);line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:var(--font-size-base)}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text);letter-spacing:var(--letter-spacing-tight)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin:0 0 var(--space-16) 0;color:var(--color-text-secondary)}a{color:var(--color-primary);text-decoration:none;transition:color var(--duration-fast) var(--ease-standard)}a:hover{color:var(--color-primary-hover)}#root{min-height:100vh;display:flex;flex-direction:column}.app-container{display:flex;min-height:100vh;background:var(--color-background)}.sidebar{width:70px;background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;position:fixed;height:auto;left:0;top:0;z-index:1000;box-shadow:var(--shadow-sm);transition:width .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sidebar:hover{width:260px;box-shadow:4px 0 12px #00000026;z-index:1001}.sidebar span{opacity:0;white-space:nowrap;transition:opacity .2s ease;margin-left:12px}.sidebar:hover span{opacity:1;transition:opacity .3s ease .1s}.sidebar-header{padding:var(--space-24) var(--space-20);border-bottom:1px solid var(--color-border);background:var(--color-primary);color:var(--color-btn-primary-text)}.sidebar-header h1{font-size:var(--font-size-xl);margin:0;color:var(--color-btn-primary-text);font-weight:var(--font-weight-bold)}.sidebar-nav{padding:var(--space-16) 0}.sidebar-nav ul{list-style:none;padding:0;margin:0}.sidebar-nav li{margin:0}.sidebar-nav a,.sidebar-nav button{display:flex;align-items:center;gap:var(--space-12);padding:var(--space-12) var(--space-20);color:var(--color-text-secondary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);border:none;background:none;width:100%;text-align:left;cursor:pointer;transition:all var(--duration-fast) var(--ease-standard);border-left:3px solid transparent}.sidebar-nav a:hover,.sidebar-nav button:hover{background:var(--color-secondary);color:var(--color-primary)}.sidebar-nav a.active,.sidebar-nav button.active{background:rgba(var(--color-teal-500-rgb),.1);color:var(--color-primary);border-left-color:var(--color-primary);font-weight:var(--font-weight-semibold)}.sidebar-nav i{width:var(--space-20);min-width:var(--space-20);flex-shrink:0;display:inline-block;text-align:center;font-size:var(--font-size-lg)}.sidebar-footer{padding:var(--space-16) var(--space-20);border-top:1px solid var(--color-border)}.logout-btn{width:100%;padding:var(--space-12);background:rgba(var(--color-red-500-rgb),.1);color:var(--color-error);border:none;border-radius:var(--radius-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--duration-normal) var(--ease-standard);display:flex;align-items:center;justify-content:center;gap:var(--space-8)}.logout-btn:hover{background:var(--color-error);color:var(--color-surface)}.main-content{flex:1;margin-left:70px;margin-top:64px;padding:var(--space-32);max-width:100%;transition:margin-left .3s ease}.container-narrow{max-width:var(--container-md);margin:0 auto;padding:0 var(--space-16)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-8) var(--space-16);border-radius:var(--radius-base);font-size:var(--font-size-base);font-weight:500;line-height:1.5;cursor:pointer;transition:all var(--duration-normal) var(--ease-standard);border:none;text-decoration:none;position:relative}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn:disabled{opacity:.5;cursor:not-allowed}.form-control{display:block;width:100%;padding:var(--space-8) var(--space-12);font-size:var(--font-size-md);line-height:1.5;color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-base);transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}textarea.form-control{font-family:var(--font-family-base);font-size:var(--font-size-base)}select.form-control{padding:var(--space-8) var(--space-12);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:var(--select-caret-light);background-repeat:no-repeat;background-position:right var(--space-12) center;background-size:16px;padding-right:var(--space-32)}@media(prefers-color-scheme:dark){select.form-control{background-image:var(--select-caret-dark)}}[data-color-scheme=dark] select.form-control{background-image:var(--select-caret-dark)}[data-color-scheme=light] select.form-control{background-image:var(--select-caret-light)}.form-control:focus{border-color:var(--color-primary);outline:var(--focus-outline)}.form-label{display:block;margin-bottom:var(--space-8);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm)}.card{background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-card-border);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow var(--duration-normal) var(--ease-standard)}.card:hover{box-shadow:var(--shadow-md)}.card__body{padding:var(--space-16)}.card__header,.card__footer{padding:var(--space-16);border-bottom:1px solid var(--color-card-border-inner)}.status{display:inline-flex;align-items:center;padding:var(--space-6) var(--space-12);border-radius:var(--radius-full);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm)}.status--success{background-color:rgba(var(--color-success-rgb, 33, 128, 141),var(--status-bg-opacity));color:var(--color-success);border:1px solid rgba(var(--color-success-rgb, 33, 128, 141),var(--status-border-opacity))}.status--error{background-color:rgba(var(--color-error-rgb, 192, 21, 47),var(--status-bg-opacity));color:var(--color-error);border:1px solid rgba(var(--color-error-rgb, 192, 21, 47),var(--status-border-opacity))}.status--warning{background-color:rgba(var(--color-warning-rgb, 168, 75, 47),var(--status-bg-opacity));color:var(--color-warning);border:1px solid rgba(var(--color-warning-rgb, 168, 75, 47),var(--status-border-opacity))}.status--info{background-color:rgba(var(--color-info-rgb, 98, 108, 113),var(--status-bg-opacity));color:var(--color-info);border:1px solid rgba(var(--color-info-rgb, 98, 108, 113),var(--status-border-opacity))}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:var(--space-16);padding-left:var(--space-16)}@media(min-width:640px){.container{max-width:var(--container-sm)}}@media(min-width:768px){.container{max-width:var(--container-md)}}@media(min-width:1024px){.container{max-width:var(--container-lg)}}@media(min-width:1280px){.container{max-width:var(--container-xl)}}.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-4{gap:var(--space-4)}.gap-8{gap:var(--space-8)}.gap-16{gap:var(--space-16)}.m-0{margin:0}.mt-8{margin-top:var(--space-8)}.mb-8{margin-bottom:var(--space-8)}.mx-8{margin-left:var(--space-8);margin-right:var(--space-8)}.my-8{margin-top:var(--space-8);margin-bottom:var(--space-8)}.p-0{padding:0}.py-8{padding-top:var(--space-8);padding-bottom:var(--space-8)}.px-8{padding-left:var(--space-8);padding-right:var(--space-8)}.py-16{padding-top:var(--space-16);padding-bottom:var(--space-16)}.px-16{padding-left:var(--space-16);padding-right:var(--space-16)}.block{display:block}.hidden{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:focus-visible{outline:var(--focus-outline);outline-offset:2px}@font-face{font-family:FKGroteskNeue;src:url(https://r2cdn.perplexity.ai/fonts/FKGroteskNeue.woff2) format("woff2")}button{font-family:inherit;cursor:pointer;border:none;outline:none;transition:all var(--duration-normal) var(--ease-standard)}.btn-primary{background:var(--color-primary);color:var(--color-btn-primary-text);padding:var(--space-12) var(--space-24);border-radius:var(--radius-base);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);border:none;cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-8);transition:all var(--duration-normal) var(--ease-standard)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:transparent;color:var(--color-text);padding:var(--space-12) var(--space-24);border-radius:var(--radius-base);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);border:2px solid var(--color-border);transition:all .2s ease;display:inline-flex;align-items:center;gap:var(--space-8)}.btn-secondary:hover:not(:disabled){background:var(--color-secondary);border-color:var(--color-primary);transform:translateY(-1px)}.btn-secondary:active{transform:translateY(0)}.btn-success{background:var(--color-success);color:var(--color-btn-primary-text);padding:var(--space-12) var(--space-24);border-radius:var(--radius-base);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.btn-success:hover:not(:disabled){background:var(--color-teal-700)}.btn-warning{background:var(--color-warning);color:var(--color-cream-50);padding:var(--space-12) var(--space-24);border-radius:var(--radius-base);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);display:inline-flex;align-items:center;gap:var(--space-8)}.btn-warning:hover:not(:disabled){background:var(--color-orange-500);transform:translateY(-1px)}.btn-danger{background:var(--color-error);color:var(--color-cream-50);padding:var(--space-12) var(--space-24);border-radius:var(--radius-base);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);display:inline-flex;align-items:center;gap:var(--space-8)}.btn-danger:hover:not(:disabled){background:var(--color-red-500);transform:translateY(-1px)}.btn-large{width:100%;padding:var(--space-16);font-size:var(--font-size-lg);margin-top:var(--space-20)}.form-group{margin-bottom:var(--space-10)}.form-group label{display:block;margin-bottom:var(--space-8);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-text)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:var(--space-12) var(--space-16);border:1px solid var(--color-border);border-radius:var(--radius-base);font-size:var(--font-size-base);font-family:inherit;transition:all var(--duration-fast) var(--ease-standard);background:var(--color-surface);color:var(--color-text)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:var(--focus-outline);border-color:var(--color-primary);box-shadow:var(--focus-ring)}.form-group input:disabled,.form-group textarea:disabled,.form-group select:disabled{background:var(--color-secondary);cursor:not-allowed;color:var(--color-text-secondary)}input[type=date]{cursor:pointer}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer}.form-row{display:grid;gap:var(--space-20)}.form-row-2{grid-template-columns:1fr 1fr}.checkbox-label{display:flex;align-items:center;gap:var(--space-10);cursor:pointer;font-weight:var(--font-weight-medium);color:var(--color-text)}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.error-message{padding:var(--space-12) var(--space-16);background:rgba(var(--color-error-rgb),.1);color:var(--color-error);border-radius:var(--radius-base);margin-bottom:var(--space-20);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-left:4px solid var(--color-error)}.input-suffix{margin-left:var(--space-10);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.form-hint{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--space-4);margin-bottom:var(--space-16)}.char-counter{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:var(--space-4);display:block;text-align:right}.required-indicator{color:var(--color-warning);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.steps-list{display:flex;flex-direction:column;gap:var(--space-12)}.step-input-row{display:flex;align-items:flex-start;gap:var(--space-12);background:var(--color-surface);padding:var(--space-12);border-radius:var(--radius-base);border:1px solid var(--color-border);transition:all var(--duration-fast) var(--ease-standard)}.step-input-row:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.drag-handle{cursor:grab;color:var(--color-text-secondary);padding:var(--space-4);display:flex;align-items:center;opacity:.5;transition:opacity var(--duration-fast)}.drag-handle:hover{opacity:1}.step-input-row:active .drag-handle{cursor:grabbing}.step-input-container{flex:1;display:flex;flex-direction:column;gap:var(--space-4)}.step-input-container input{margin-bottom:0}.step-mobile-controls{display:flex;flex-direction:column;gap:var(--space-4)}.btn-icon{padding:var(--space-6);background:var(--color-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;transition:all var(--duration-fast);display:flex;align-items:center;justify-content:center;width:32px;height:32px}.btn-icon:hover:not(:disabled){background:var(--color-secondary-hover);color:var(--color-primary)}.btn-icon:disabled{opacity:.4;cursor:not-allowed}.form-section{padding-top:var(--space-24);border-top:1px solid var(--color-border)}.form-section h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);margin-bottom:var(--space-16)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:500px;width:90%;max-height:90vh;overflow-y:auto;overflow-x:hidden;animation:modalSlideIn .2s ease;border:1px solid var(--color-card-border);box-sizing:border-box}.modal-large{max-width:700px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-24);border-bottom:1px solid var(--color-border)}.modal-header h2{margin:0;font-size:var(--font-size-2xl);color:var(--color-text)}.modal-close{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-2xl);padding:var(--space-4);display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);transition:all var(--duration-fast) var(--ease-standard)}.modal-close:hover{background:var(--color-secondary);color:var(--color-text)}.modal-body{padding:var(--space-24);overflow-x:hidden}.modal-body *{box-sizing:border-box}.modal-content>form{padding:var(--space-24);padding-top:0;overflow-x:hidden}.modal-content>form *{box-sizing:border-box}.modal-content>form>.form-row:first-child,.modal-content>form>.form-group:first-child{margin-top:var(--space-24)}.modal-footer{padding:var(--space-20) var(--space-24);border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:var(--space-12)}.modal-actions{padding:var(--space-20) var(--space-24);border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:var(--space-12);margin-top:var(--space-24);padding-bottom:var(--space-24)}.modal-actions button:not([class*=btn-]){padding:var(--space-12) var(--space-24);border-radius:var(--radius-base);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);background:var(--color-secondary);color:var(--color-text);border:1px solid var(--color-border);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard)}.modal-actions button:not([class*=btn-]):hover:not(:disabled){background:var(--color-secondary-hover);border-color:var(--color-primary)}.modal-actions button:not([class*=btn-]):disabled{opacity:.5;cursor:not-allowed}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-var(--space-20))}to{opacity:1;transform:translateY(0)}}.badge{display:inline-flex;align-items:center;padding:var(--space-4) var(--space-12);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:capitalize}.badge-active{background:rgba(var(--color-success-rgb),.1);color:var(--color-success);border:1px solid rgba(var(--color-success-rgb),.25)}.badge-success{background:rgba(var(--color-success-rgb),.2);color:var(--color-success);border:1px solid rgba(var(--color-success-rgb),.4);font-weight:var(--font-weight-bold)}.badge-inactive{background:rgba(var(--color-info-rgb),.1);color:var(--color-info);border:1px solid rgba(var(--color-info-rgb),.25)}.badge-open{background:rgba(var(--color-teal-500-rgb),.1);color:var(--color-primary);border:1px solid rgba(var(--color-teal-500-rgb),.25)}.badge-completed{background:rgba(var(--color-success-rgb),.1);color:var(--color-success);border:1px solid rgba(var(--color-success-rgb),.25)}.badge-overdue{background:rgba(var(--color-error-rgb),.1);color:var(--color-error);border:1px solid rgba(var(--color-error-rgb),.25)}.badge-completed-with-issues,.badge-completed.with-issues{background:rgba(var(--color-warning-rgb),.15);color:var(--color-warning);border:1px solid rgba(var(--color-warning-rgb),.3);position:relative}.badge-completed-with-issues:after,.badge-completed.with-issues:after{content:"";position:absolute;top:-2px;right:-2px;width:8px;height:8px;background:var(--color-error);border-radius:50%;border:2px solid var(--color-surface)}.badge-steps{background:rgba(var(--color-primary-rgb),.1);color:var(--color-primary);border:1px solid rgba(var(--color-primary-rgb),.25);font-size:var(--font-size-xs);padding:var(--space-4) var(--space-8);font-weight:var(--font-weight-semibold);font-family:var(--font-family-mono)}.badge-steps.with-issues{background:rgba(var(--color-warning-rgb),.15);color:var(--color-warning);border:1px solid rgba(var(--color-warning-rgb),.3)}.badge-steps-compact{background:rgba(var(--color-primary-rgb),.1);color:var(--color-primary);border:1px solid rgba(var(--color-primary-rgb),.25);font-size:var(--font-size-xs);padding:2px 6px;font-weight:var(--font-weight-semibold);font-family:var(--font-family-mono);border-radius:var(--radius-sm);margin-left:auto}.badge-steps-compact.with-issues{background:rgba(var(--color-warning-rgb),.15);color:var(--color-warning);border:1px solid rgba(var(--color-warning-rgb),.3)}.badge-info{background:rgba(var(--color-info-rgb),.1);color:var(--color-info);border:1px solid rgba(var(--color-info-rgb),.25)}.notification-toast{position:fixed;top:84px;right:var(--space-20);min-width:300px;max-width:500px;background:var(--color-surface);border-radius:var(--radius-base);box-shadow:var(--shadow-lg);padding:var(--space-16) var(--space-20);display:flex;align-items:center;justify-content:space-between;gap:var(--space-12);z-index:10000;animation:toastSlideIn .3s var(--ease-standard);cursor:pointer;border:1px solid var(--color-card-border);transition:all var(--duration-fast) var(--ease-standard)}.notification-toast:hover{box-shadow:0 12px 20px -3px #00000014,0 6px 8px -2px #0000000a}@keyframes toastSlideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.notification-toast.notification-success{border-left:4px solid var(--color-success)}.notification-toast.notification-error{border-left:4px solid var(--color-error)}.notification-content{display:flex;align-items:center;gap:var(--space-12);flex:1}.notification-content span{color:var(--color-text);font-size:var(--font-size-base);line-height:var(--line-height-normal)}.notification-toast i{font-size:var(--font-size-xl);flex-shrink:0}.notification-success i{color:var(--color-success)}.notification-error i{color:var(--color-error)}.notification-close{background:none;border:none;cursor:pointer;padding:var(--space-4);color:var(--color-text-secondary);font-size:var(--font-size-lg);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--duration-fast) var(--ease-standard);flex-shrink:0}.notification-close:hover{color:var(--color-text);background:var(--color-secondary)}@media(max-width:767px){.notification-toast{top:72px;right:var(--space-16);left:var(--space-16);min-width:auto;max-width:none}}.resolve-issues-content{padding:var(--space-24)}.resolve-issues-content .task-info{margin-bottom:var(--space-24);padding-bottom:var(--space-16);border-bottom:1px solid var(--color-border)}.resolve-issues-content .task-info h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0 0 var(--space-8) 0}.resolve-issues-content .task-info p{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.incomplete-steps{margin-bottom:var(--space-24);padding:var(--space-16);background:rgba(var(--color-warning-rgb),.05);border-radius:var(--radius-base);border-left:4px solid var(--color-warning)}.incomplete-steps h4{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0 0 var(--space-12) 0}.incomplete-steps ul{margin:0;padding:0;list-style:none}.incomplete-steps li{display:flex;align-items:flex-start;gap:var(--space-8);padding:var(--space-8) 0;color:var(--color-text);font-size:var(--font-size-sm);line-height:1.5}.incomplete-steps li i{color:var(--color-error);margin-top:2px;flex-shrink:0}.original-comment{margin-bottom:var(--space-24);padding:var(--space-16);background:var(--color-background);border-radius:var(--radius-base);border:1px solid var(--color-border)}.original-comment h4{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0 0 var(--space-12) 0}.original-comment p{margin:0;color:var(--color-text);font-size:var(--font-size-sm);line-height:1.6}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:var(--color-background)}.loader{width:48px;height:48px;border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen p{margin-top:20px;color:var(--color-text-secondary);font-size:16px}.app-header{position:fixed;top:0;left:0;right:0;height:64px;background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;padding:0 24px;z-index:999;box-shadow:0 1px 3px #0000000d;transition:left .3s ease}.header-brand{flex:1;text-align:center}.header-brand h1{font-size:1.5rem;color:var(--color-primary);margin:0;font-weight:700}.header-right{display:flex;align-items:center;gap:16px;flex-shrink:0}.menu-toggle{position:absolute;left:16px;width:44px;height:44px;border:none;background:var(--color-secondary);color:var(--color-text);border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;transition:all .2s;z-index:10}.menu-toggle:hover{background:var(--color-secondary-hover);color:var(--color-primary)}.user-avatar{width:40px;height:40px;border-radius:50%;background:var(--color-primary);color:var(--color-btn-primary-text);border:2px solid var(--color-primary);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;position:relative}.user-avatar:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);transform:scale(1.05)}.user-dropdown-container{position:relative}.user-dropdown{position:absolute;top:calc(100% + 12px);right:0;width:240px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 4px 12px #00000026;overflow:hidden;z-index:1000;animation:dropdown-slide-in .2s ease}@keyframes dropdown-slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.user-dropdown-header{padding:16px;background:var(--color-secondary)}.user-dropdown-name{font-size:14px;font-weight:600;color:var(--color-text);margin-bottom:4px}.user-dropdown-email{font-size:12px;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-dropdown-divider{height:1px;background:var(--color-border);margin:8px 0}.user-dropdown-item{width:100%;padding:12px 16px;display:flex;align-items:center;gap:12px;background:var(--color-surface);border:none;text-align:left;font-size:14px;color:var(--color-text);cursor:pointer;transition:background .2s ease}.user-dropdown-item:hover{background:var(--color-secondary)}.user-dropdown-item i{width:16px;font-size:14px;color:var(--color-text-secondary)}.user-dropdown-item:hover i{color:var(--color-primary)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-teal-400) 100%);padding:var(--space-20)}.login-container{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-32);width:100%;max-width:440px;border:1px solid var(--color-card-border)}.login-header{text-align:center;margin-bottom:var(--space-32)}.login-header h1{font-size:var(--font-size-3xl);color:var(--color-text);margin-bottom:var(--space-8)}.login-header p{color:var(--color-text-secondary);font-size:var(--font-size-base)}.login-form{margin-bottom:0}.login-btn{width:100%;padding:var(--space-16);background:var(--color-primary);color:var(--color-btn-primary-text);border:none;border-radius:var(--radius-base);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--duration-normal) var(--ease-standard);margin-top:var(--space-10)}.login-btn:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-divider{display:flex;align-items:center;text-align:center;margin:var(--space-32) 0 var(--space-20) 0}.login-divider:before,.login-divider:after{content:"";flex:1;border-bottom:1px solid var(--color-border)}.login-divider span{padding:0 var(--space-16);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.microsoft-login-btn{width:100%;padding:var(--space-16) var(--space-20);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-base);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text);cursor:pointer;transition:all var(--duration-normal) var(--ease-standard);display:flex;align-items:center;justify-content:center;gap:var(--space-12)}.microsoft-login-btn:hover:not(:disabled){background:var(--color-secondary);border-color:var(--color-border);box-shadow:var(--shadow-sm)}.microsoft-login-btn:disabled{opacity:.6;cursor:not-allowed}.microsoft-icon{width:21px;height:21px}.dashboard-view{max-width:1400px}.welcome-text{color:var(--color-text-secondary);font-size:16px;margin:8px 0 0}.dashboard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:40px}.integrated-task-card{background:var(--color-surface);border-radius:12px;border-left:4px solid var(--color-border);box-shadow:0 1px 3px #0000001a;transition:all .3s ease;overflow:hidden;display:flex;flex-direction:column}.integrated-task-card:hover{box-shadow:0 4px 6px #0000001a}.integrated-stat-header{display:flex;align-items:center;gap:16px;padding:16px 20px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s ease;position:relative}.integrated-stat-header:hover{background:#00000005}.integrated-stat-header .stat-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.integrated-stat-header .stat-content{flex:1}.integrated-stat-header .stat-content h3{font-size:1.75rem;margin:0 0 2px;font-weight:700;color:var(--color-text);line-height:1}.integrated-stat-header .stat-content h3.with-issues{position:relative}.integrated-stat-header .stat-content h3.with-issues:after{content:"";position:absolute;top:-2px;right:-10px;width:10px;height:10px;background:var(--color-error);border-radius:50%;border:2px solid var(--color-surface)}.integrated-stat-header .stat-content p{margin:0;font-size:13px;color:var(--color-text-secondary);font-weight:500}.integrated-stat-header .chevron{font-size:14px;color:var(--color-text-secondary);transition:transform .3s ease;flex-shrink:0}.integrated-stat-header .chevron.rotated{transform:rotate(-180deg)}.integrated-task-content{border-top:1px solid rgba(0,0,0,.06);padding:16px;max-height:2000px;overflow:hidden;transition:max-height .4s ease,padding .3s ease}.integrated-task-card.collapsed .integrated-task-content{max-height:400px;padding:12px 16px}.task-list-expanded{display:flex;flex-direction:column;gap:12px}.task-group-more{margin-top:8px;text-align:center;color:var(--color-text-secondary);font-size:12px;font-style:italic;padding:4px 0}.integrated-task-card.stat-danger{border-left-color:var(--color-error);background:linear-gradient(135deg,var(--color-surface) 0%,rgba(var(--color-red-500-rgb),.03) 100%)}.integrated-task-card.stat-warning{border-left-color:var(--color-warning);background:linear-gradient(135deg,var(--color-surface) 0%,rgba(var(--color-orange-500-rgb),.03) 100%)}.integrated-task-card.stat-info{border-left-color:var(--color-primary);background:linear-gradient(135deg,var(--color-surface) 0%,rgba(var(--color-teal-500-rgb),.03) 100%)}.integrated-task-card.stat-success{border-left-color:var(--color-success);background:linear-gradient(135deg,var(--color-surface) 0%,rgba(var(--color-teal-500-rgb),.03) 100%)}@media(max-width:1200px){.dashboard-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.dashboard-grid{grid-template-columns:1fr;gap:16px}.integrated-stat-header{padding:14px 16px}.integrated-stat-header .stat-icon{width:40px;height:40px;font-size:20px}.integrated-stat-header .stat-content h3{font-size:1.5rem}.integrated-task-content{padding:12px}.integrated-task-card.collapsed .integrated-task-content{padding:10px 12px}.view-header{flex-direction:column;align-items:flex-start;gap:16px}.header-actions{flex-wrap:wrap;width:100%}.filter-toggle{font-size:13px;padding:7px 12px}.filter-dropdown{min-width:200px}}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-bottom:40px}.stat-card{background:var(--color-surface);border-radius:12px;padding:24px;display:flex;align-items:center;gap:20px;box-shadow:0 1px 3px #0000001a;border-left:4px solid var(--color-border);transition:all .3s}.stat-card:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.stat-card.stat-danger{border-left-color:var(--color-error);background:linear-gradient(135deg,var(--color-surface) 0%,rgba(var(--color-red-500-rgb),.05) 100%)}.stat-card.stat-warning{border-left-color:var(--color-warning);background:linear-gradient(135deg,var(--color-surface) 0%,rgba(var(--color-orange-500-rgb),.05) 100%)}.stat-card.stat-info{border-left-color:var(--color-primary);background:linear-gradient(135deg,var(--color-surface) 0%,rgba(var(--color-teal-500-rgb),.05) 100%)}.stat-card.stat-success{border-left-color:var(--color-success);background:linear-gradient(135deg,var(--color-surface) 0%,rgba(var(--color-teal-500-rgb),.05) 100%)}.stat-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0}.stat-danger .stat-icon{background:rgba(var(--color-error-rgb),.15);color:var(--color-error)}.stat-warning .stat-icon{background:rgba(var(--color-warning-rgb),.15);color:var(--color-warning)}.stat-info .stat-icon{background:rgba(var(--color-teal-500-rgb),.15);color:var(--color-primary)}.stat-success .stat-icon{background:rgba(var(--color-success-rgb),.15);color:var(--color-success)}.stat-content h3{font-size:2rem;margin:0 0 4px;font-weight:700;color:var(--color-text)}.stat-content p{margin:0;font-size:14px;color:var(--color-text-secondary);font-weight:500}.task-groups{display:flex;flex-direction:column;gap:24px}.task-group{background:var(--color-surface);border-radius:12px;border:1px solid var(--color-border);overflow:hidden;transition:all .3s ease}.task-group>h3{padding:20px 24px;margin:0;font-size:18px;font-weight:600;color:var(--color-text);display:flex;align-items:center;gap:12px;background:rgba(var(--color-teal-500-rgb),.03);border-bottom:1px solid var(--color-border)}.task-group>h3 i{font-size:20px}.task-group>.task-cards{padding:24px}.task-group-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s ease}.task-group-header:hover{background:rgba(var(--color-teal-500-rgb),.05)}.task-group-header h3{display:flex;align-items:center;gap:12px;margin:0;font-size:18px;font-weight:600;color:var(--color-text)}.task-group-header h3 i{font-size:20px}.task-group-header .chevron{font-size:16px;color:var(--color-text-secondary);transition:transform .3s ease}.task-group-header .chevron.rotated{transform:rotate(-180deg)}.task-group-content{max-height:5000px;overflow:hidden;transition:max-height .4s ease,opacity .3s ease,padding .3s ease;opacity:1;padding:0 24px 24px}.task-group.collapsed .task-group-content{max-height:200px;padding:0 24px 16px}.task-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.task-group-more{margin-top:16px;text-align:center;color:var(--color-text-secondary);font-size:14px;font-style:italic}.compact-task-list{display:flex;flex-direction:column;gap:6px}.compact-task-item{display:flex;align-items:center;gap:var(--space-8);padding:8px 12px;background:rgba(var(--color-teal-500-rgb),.05);border-radius:6px;border-left:3px solid var(--color-border);transition:all .2s ease;cursor:pointer}.compact-task-item:hover{background:rgba(var(--color-teal-500-rgb),.1);border-left-color:var(--color-primary)}.compact-task-item:active{transform:scale(.98)}.compact-task-title{flex:1;font-size:13px;color:var(--color-text);font-weight:500;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-task-badges{display:flex;align-items:center;gap:var(--space-6)}.badge-overdue-compact{background:rgba(var(--color-error-rgb),.1);color:var(--color-error);border:1px solid rgba(var(--color-error-rgb),.25);font-size:10px;padding:2px 5px;border-radius:var(--radius-sm);font-weight:var(--font-weight-semibold);line-height:1}.compact-task-more{padding:6px 12px;text-align:center;color:var(--color-text-secondary);font-size:12px;font-style:italic}.stat-danger .compact-task-item{border-left-color:var(--color-error);background:rgba(var(--color-error-rgb),.05)}.stat-danger .compact-task-item:hover{background:rgba(var(--color-error-rgb),.1)}.stat-warning .compact-task-item{border-left-color:var(--color-warning);background:rgba(var(--color-warning-rgb),.05)}.stat-warning .compact-task-item:hover{background:rgba(var(--color-warning-rgb),.1)}.stat-info .compact-task-item{border-left-color:var(--color-primary);background:rgba(var(--color-teal-500-rgb),.05)}.stat-info .compact-task-item:hover{background:rgba(var(--color-teal-500-rgb),.1)}.stat-success .compact-task-item{border-left-color:var(--color-success);background:rgba(var(--color-success-rgb),.05)}.stat-success .compact-task-item:hover{background:rgba(var(--color-success-rgb),.1)}.task-group-overdue>h3 i,.task-group-overdue .task-group-header h3 i{color:var(--color-error)}.task-group-today>h3 i,.task-group-today .task-group-header h3 i{color:var(--color-warning)}.task-group-upcoming>h3 i,.task-group-upcoming .task-group-header h3 i{color:var(--color-primary)}.task-group-completed>h3 i,.task-group-completed .task-group-header h3 i{color:var(--color-success)}@media(max-width:768px){.task-cards{grid-template-columns:1fr}.task-group>h3,.task-group-header{padding:16px 20px}.task-group>h3,.task-group-header h3{font-size:16px}.task-group>.task-cards{padding:20px}.task-group-content{padding:0 20px 20px}.task-group.collapsed .task-group-content{padding:0 20px 12px}.template-actions{flex-direction:column;gap:var(--space-8)}.template-actions button{width:100%;justify-content:center}}.task-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-24);margin-bottom:var(--space-32)}.task-card{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-card-border);padding:var(--space-20);box-shadow:var(--shadow-sm);transition:all var(--duration-normal) var(--ease-standard);cursor:pointer;position:relative;overflow:hidden}.task-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--color-primary);transition:width var(--duration-fast) var(--ease-standard)}.task-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.task-card:hover:before{width:8px}.task-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-16)}.task-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0 0 var(--space-4) 0}.task-id{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.task-priority{padding:var(--space-4) var(--space-8);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.priority-high{background:rgba(var(--color-error-rgb),.1);color:var(--color-error)}.priority-medium{background:rgba(var(--color-warning-rgb),.1);color:var(--color-warning)}.priority-low{background:rgba(var(--color-info-rgb),.1);color:var(--color-info)}.task-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-16);line-height:1.6}.task-meta{display:flex;flex-direction:column;gap:var(--space-8);padding-top:var(--space-16);border-top:1px solid var(--color-border)}.meta-row{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-sm)}.meta-label{color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.meta-value{color:var(--color-text);font-weight:var(--font-weight-semibold)}.task-footer{display:flex;justify-content:flex-end;gap:var(--space-8);margin-top:var(--space-16)}.task-action{padding:var(--space-8) var(--space-16);border-radius:var(--radius-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard);border:none}.task-action--primary{background:var(--color-primary);color:var(--color-btn-primary-text)}.task-action--primary:hover{background:var(--color-primary-hover)}.task-action--secondary{background:var(--color-secondary);color:var(--color-text)}.task-action--secondary:hover{background:var(--color-secondary-hover)}.task-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-12);margin-bottom:var(--space-12)}.task-card-header h4{flex:1;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0;line-height:1.3}.task-header-badges{display:flex;align-items:center;gap:var(--space-8);flex-shrink:0}.task-card-meta{display:flex;flex-wrap:wrap;gap:var(--space-12);font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--space-12)}.meta-item{display:flex;align-items:center;gap:var(--space-6)}.meta-item i{color:var(--color-primary);font-size:var(--font-size-sm)}.task-completed-info{margin-top:var(--space-16);padding-top:var(--space-12);border-top:1px solid var(--color-border);font-size:var(--font-size-sm);color:var(--color-success);display:flex;align-items:center;gap:var(--space-6)}.task-completed-info i{font-size:var(--font-size-base)}.task-detail-view{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-card-border);padding:var(--space-32);box-shadow:var(--shadow-sm)}.task-detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-24);padding-bottom:var(--space-24);border-bottom:2px solid var(--color-border)}.task-detail-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text);margin-bottom:var(--space-8)}.task-detail-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);display:flex;gap:var(--space-16)}.task-detail-body{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-32)}.task-main-section h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text);margin-bottom:var(--space-16);padding-bottom:var(--space-12);border-bottom:1px solid var(--color-border)}.task-detail-sidebar{display:flex;flex-direction:column;gap:var(--space-24)}.sidebar-section{background:var(--color-background);padding:var(--space-20);border-radius:var(--radius-base);border:1px solid var(--color-border)}.sidebar-section h4{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text);margin-bottom:var(--space-12)}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-12) 0;border-bottom:1px solid var(--color-border)}.detail-row:last-child{border-bottom:none}.detail-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.detail-value{font-size:var(--font-size-sm);color:var(--color-text);font-weight:var(--font-weight-semibold)}.recurrence-selector{background:var(--color-background);padding:var(--space-20);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.recurrence-type-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-12);margin-bottom:var(--space-20)}.recurrence-btn{padding:var(--space-12) var(--space-16);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-base);cursor:pointer;text-align:center;font-weight:var(--font-weight-medium);transition:all var(--duration-fast) var(--ease-standard);display:flex;flex-direction:column;align-items:center;gap:var(--space-8);color:var(--color-text)}.recurrence-btn i{font-size:var(--font-size-xl);color:var(--color-text-secondary)}.recurrence-btn:hover{border-color:var(--color-primary);background:rgba(var(--color-teal-500-rgb),.05)}.recurrence-btn:hover i{color:var(--color-primary)}.recurrence-btn.active{border-color:var(--color-primary);background:rgba(var(--color-teal-500-rgb),.1);color:var(--color-primary);font-weight:var(--font-weight-semibold)}.recurrence-btn.active i{color:var(--color-primary)}.recurrence-config{margin-top:var(--space-20)}.weekday-selector{display:flex;gap:var(--space-8);justify-content:center;margin-top:var(--space-20)}.weekday-btn{width:48px;height:48px;border-radius:50%;border:2px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);transition:all var(--duration-fast) var(--ease-standard)}.weekday-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.weekday-btn.selected{background:var(--color-primary);color:var(--color-btn-primary-text);border-color:var(--color-primary)}.task-detail-content{padding:var(--space-24)}.task-info-section{display:flex;flex-direction:column;gap:var(--space-16);margin-bottom:var(--space-24);padding-bottom:var(--space-24);border-bottom:1px solid var(--color-border)}.info-row{display:flex;align-items:flex-start;gap:var(--space-12)}.info-label{font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);font-size:var(--font-size-sm);display:flex;align-items:center;gap:var(--space-8);min-width:140px}.info-label i{color:var(--color-primary);width:16px;text-align:center}.info-value{color:var(--color-text);font-size:var(--font-size-sm);flex:1}.task-steps-section{padding:var(--space-24);background:var(--color-background);border-radius:var(--radius-lg);border:1px solid var(--color-border);margin-bottom:var(--space-20)}.task-steps-section h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);margin-bottom:var(--space-16)}.steps-checklist{display:flex;flex-direction:column;gap:var(--space-12)}.step-checkbox-row{display:flex;align-items:flex-start}.step-checkbox-label{display:flex;align-items:flex-start;gap:var(--space-12);cursor:pointer;padding:var(--space-12);border-radius:var(--radius-base);transition:background var(--duration-fast);width:100%}.step-checkbox-label:hover{background:var(--color-secondary)}.step-checkbox-label input[type=checkbox]{margin-top:var(--space-2);width:20px;height:20px;cursor:pointer;flex-shrink:0;accent-color:var(--color-primary)}.step-checkbox-label span{flex:1;color:var(--color-text);line-height:1.5}.step-checkbox-label span.completed{color:var(--color-text-secondary)}.steps-saving-indicator{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--space-12);display:flex;align-items:center;gap:var(--space-8)}.completed-steps-summary{margin-top:var(--space-20);padding:var(--space-16);background:var(--color-background);border-radius:var(--radius-base);border:1px solid var(--color-border)}.completed-steps-summary h4{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text);margin-bottom:var(--space-12)}.steps-list-completed{display:flex;flex-direction:column;gap:var(--space-8)}.step-completed-row{display:flex;align-items:flex-start;padding:var(--space-8);border-radius:var(--radius-sm);background:var(--color-surface)}.step-completed,.step-incomplete{display:flex;align-items:flex-start;gap:var(--space-8);font-size:var(--font-size-sm);line-height:1.5}.step-completed{color:var(--color-success)}.step-completed i{margin-top:2px;flex-shrink:0}.step-incomplete{color:var(--color-error)}.step-incomplete i{margin-top:2px;flex-shrink:0}.task-completion-section{padding:var(--space-24);background:var(--color-background);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.task-completion-section h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);margin-bottom:var(--space-20)}.photo-upload{margin-top:var(--space-8)}.photo-upload-btn,.form-group .photo-upload-btn{display:inline-flex;align-items:center;gap:var(--space-8);padding:var(--space-12) var(--space-24);background:var(--color-primary);color:var(--color-btn-primary-text)!important;border-radius:var(--radius-base);border:none;cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);transition:all var(--duration-normal) var(--ease-standard);box-shadow:var(--shadow-sm);margin-bottom:0}.photo-upload-btn:hover,.form-group .photo-upload-btn:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.photo-preview{margin-top:var(--space-16);position:relative;display:inline-block;border-radius:var(--radius-base);overflow:hidden;box-shadow:var(--shadow-md)}.photo-preview img{max-width:100%;max-height:400px;display:block;border-radius:var(--radius-base)}.photo-remove{position:absolute;top:var(--space-8);right:var(--space-8);width:32px;height:32px;border-radius:50%;background:var(--color-error);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--duration-fast) var(--ease-standard)}.photo-remove:hover{transform:scale(1.1);box-shadow:0 2px 8px #0003}.task-completed-section{padding:var(--space-24);background:rgba(var(--color-success-rgb),.05);border-radius:var(--radius-lg);border:1px solid rgba(var(--color-success-rgb),.2)}.completed-badge{display:inline-flex;align-items:center;gap:var(--space-8);padding:var(--space-8) var(--space-16);background:rgba(var(--color-success-rgb),.1);color:var(--color-success);border-radius:var(--radius-full);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-16)}.completed-badge i{font-size:var(--font-size-lg)}.completed-badge.with-issues{background:rgba(var(--color-warning-rgb),.15);color:var(--color-warning);border:1px solid rgba(var(--color-warning-rgb),.3)}.task-completed-section .issues-note{color:var(--color-warning);font-weight:var(--font-weight-medium)}.overdue-badge{background:rgba(var(--color-error-rgb),.1);color:var(--color-error);padding:2px 6px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);margin-left:var(--space-8);font-weight:var(--font-weight-semibold)}.resolution-note{margin-top:var(--space-20);padding:var(--space-16);background:rgba(var(--color-primary-rgb),.05);border-radius:var(--radius-base);border-left:4px solid var(--color-primary)}.resolution-note strong{display:block;color:var(--color-text);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-8)}.resolution-note p{color:var(--color-text);line-height:1.5;margin:0}.resolution-date{margin-top:var(--space-8);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.completed-photo{margin-top:var(--space-16);border-radius:var(--radius-base);overflow:hidden;box-shadow:var(--shadow-md)}.completed-photo img{max-width:100%;display:block;border-radius:var(--radius-base)}.completed-comment{margin-top:var(--space-16);padding:var(--space-16);background:var(--color-surface);border-radius:var(--radius-base);border-left:4px solid var(--color-success)}.completed-comment strong{display:block;margin-bottom:var(--space-8);color:var(--color-text);font-weight:var(--font-weight-semibold)}.completed-comment p{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-20)}.template-card{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-card-border);padding:var(--space-20);box-shadow:var(--shadow-sm);transition:all var(--duration-normal) var(--ease-standard);cursor:pointer;position:relative;overflow:hidden}.template-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--color-primary);transition:width var(--duration-fast) var(--ease-standard)}.template-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.template-card:hover:before{width:8px}.template-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-12);margin-bottom:var(--space-12)}.template-card-header h3{flex:1;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0;line-height:1.3;display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-8)}.template-name{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0 0 var(--space-4) 0}.template-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-16);line-height:1.6}.template-meta{display:flex;flex-wrap:wrap;gap:var(--space-12);font-size:var(--font-size-sm);color:var(--color-text-secondary);padding-top:var(--space-16);border-top:1px solid var(--color-border);margin-top:var(--space-12)}.template-info{display:flex;flex-direction:column;gap:var(--space-8);font-size:var(--font-size-sm);padding-top:var(--space-16);border-top:1px solid var(--color-border)}.template-info-row{display:flex;justify-content:space-between;align-items:center}.template-info-label{color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.template-info-value{color:var(--color-text);font-weight:var(--font-weight-semibold)}.template-actions{display:flex;justify-content:center;gap:var(--space-8);margin-top:var(--space-16);padding-top:var(--space-16);border-top:1px solid var(--color-border)}.template-actions button{padding:var(--space-6) var(--space-12);font-size:var(--font-size-sm);border-radius:var(--radius-base);font-weight:var(--font-weight-medium);cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-6);transition:all var(--duration-fast) var(--ease-standard);border:none;white-space:nowrap}.template-actions button i{font-size:var(--font-size-xs)}.template-actions .btn-success{background:var(--color-success);color:var(--color-btn-primary-text)}.template-actions .btn-success:hover{background:var(--color-teal-600);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.template-actions .btn-warning{background:var(--color-warning);color:var(--color-surface)}.template-actions .btn-warning:hover{background:var(--color-orange-500);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.template-actions .btn-secondary{background:var(--color-secondary);color:var(--color-text);border:1px solid var(--color-border)}.template-actions .btn-secondary:hover{background:var(--color-secondary-hover);border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.template-actions .btn-danger{background:rgba(var(--color-error-rgb),.1);color:var(--color-error);border:1px solid rgba(var(--color-error-rgb),.25)}.template-actions .btn-danger:hover{background:var(--color-error);color:var(--color-surface);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.grouping-controls{display:flex;align-items:center;gap:var(--space-16);margin:var(--space-20) 0;padding:var(--space-16);background:var(--color-surface);border-radius:var(--radius-base);border:1px solid var(--color-border)}.grouping-controls label{font-weight:var(--font-weight-medium);color:var(--color-text-secondary);font-size:var(--font-size-sm);white-space:nowrap}.segmented-control{display:inline-flex;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-base);padding:2px}.segmented-control button{padding:var(--space-8) var(--space-16);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background:transparent;border:none;border-radius:calc(var(--radius-base) - 2px);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard);display:inline-flex;align-items:center;gap:var(--space-6);white-space:nowrap}.segmented-control button:hover{color:var(--color-text);background:rgba(var(--color-primary-rgb),.05)}.segmented-control button.active{color:var(--color-btn-primary-text);background:var(--color-primary);box-shadow:var(--shadow-sm)}.segmented-control button i{font-size:var(--font-size-xs)}.task-groups{display:flex;flex-direction:column;gap:var(--space-24)}.task-group{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-20);border:1px solid var(--color-border)}.task-group h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0 0 var(--space-16) 0;display:flex;align-items:center;gap:var(--space-8)}.task-group h3 i{color:var(--color-primary)}.header-actions{display:flex;gap:var(--space-12);align-items:center}.template-checkbox{position:absolute;top:var(--space-12);right:var(--space-12);z-index:10}.template-checkbox input[type=checkbox]{width:24px;height:24px;cursor:pointer;accent-color:var(--color-primary)}.template-card.template-selected{border-color:var(--color-primary);border-width:2px;box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.template-card.template-selected:before{width:8px;background:var(--color-primary)}.batch-selection-toolbar{position:fixed;bottom:0;left:0;right:0;background:var(--color-surface);border-top:2px solid var(--color-primary);box-shadow:0 -4px 12px #0000001a;z-index:1000;animation:slideUp .3s var(--ease-standard)}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.toolbar-content{max-width:1400px;margin:0 auto;padding:var(--space-16) var(--space-20);display:flex;justify-content:space-between;align-items:center;gap:var(--space-20)}.selection-info{display:flex;align-items:center;gap:var(--space-12);font-weight:var(--font-weight-semibold);color:var(--color-text)}.selection-info i{color:var(--color-primary);font-size:var(--font-size-lg)}.toolbar-actions{display:flex;gap:var(--space-12);align-items:center}.toolbar-actions button{padding:var(--space-10) var(--space-16);font-size:var(--font-size-base);border-radius:var(--radius-base);font-weight:var(--font-weight-medium);cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-8);transition:all var(--duration-fast) var(--ease-standard);border:none;white-space:nowrap}.toolbar-actions button:disabled{opacity:.5;cursor:not-allowed}.toolbar-actions button:not(:disabled):hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.toolbar-actions .btn-success{background:var(--color-success);color:var(--color-btn-primary-text)}.toolbar-actions .btn-warning{background:var(--color-warning);color:var(--color-surface)}.toolbar-actions .btn-secondary{background:var(--color-secondary);color:var(--color-text);border:1px solid var(--color-border)}.toolbar-actions .btn-secondary:hover{background:var(--color-secondary-hover);border-color:var(--color-primary)}.template-active:before{background:var(--color-success)}.template-inactive:before{background:var(--color-text-tertiary)}@media(max-width:768px){.toolbar-content{flex-direction:column;gap:var(--space-12);padding:var(--space-12)}.selection-info{width:100%;justify-content:center}.toolbar-actions{width:100%;flex-wrap:wrap;justify-content:center}.toolbar-actions button{flex:1;min-width:140px;justify-content:center}.header-actions{flex-wrap:wrap;justify-content:flex-end}.template-checkbox input[type=checkbox]{width:20px;height:20px}.grouping-controls{flex-direction:column;align-items:flex-start;gap:var(--space-12)}.segmented-control{width:100%}.segmented-control button{flex:1;justify-content:center}}.filters{background:var(--color-surface);padding:var(--space-20) var(--space-24);border-radius:var(--radius-lg);border:1px solid var(--color-card-border);margin-bottom:var(--space-32);box-shadow:var(--shadow-sm)}.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-16);margin-bottom:var(--space-16)}.tabs{display:flex;gap:var(--space-4);border-bottom:2px solid var(--color-border);margin-bottom:var(--space-24)}.tab{padding:var(--space-12) var(--space-20);background:none;border:none;border-bottom:3px solid transparent;color:var(--color-text-secondary);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard);position:relative;bottom:-2px}.tab:hover{color:var(--color-primary);background:var(--color-secondary)}.tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:var(--font-weight-semibold)}.multi-select-filter{position:relative}.filter-toggle{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.filter-toggle:hover{background:var(--color-secondary);border-color:var(--color-primary)}.filter-toggle.has-selection{background:rgba(var(--color-teal-500-rgb),.1);border-color:var(--color-primary);color:var(--color-primary)}.filter-toggle i{font-size:12px;transition:transform .2s ease}.filter-toggle i.rotated{transform:rotate(-180deg)}.filter-dropdown{position:absolute;top:calc(100% + 8px);left:0;min-width:240px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1000;overflow:hidden}.filter-options{max-height:300px;overflow-y:auto;padding:8px 0}.filter-option{display:flex;align-items:center;gap:10px;padding:10px 16px;cursor:pointer;transition:background .15s ease;-webkit-user-select:none;user-select:none}.filter-option:hover{background:var(--color-secondary)}.filter-option input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary)}.filter-option span{flex:1;font-size:14px;color:var(--color-text)}.filter-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--color-border);background:rgba(var(--color-teal-500-rgb),.03)}.btn-primary-small{padding:6px 14px;background:var(--color-primary);color:var(--color-btn-primary-text);border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-primary-small:hover{background:var(--color-primary-hover);transform:translateY(-1px)}.btn-primary-small:active{transform:translateY(0)}.btn-secondary-small{padding:6px 14px;background:var(--color-secondary);color:var(--color-text);border:1px solid var(--color-border);border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-secondary-small:hover{background:var(--color-secondary-hover);border-color:var(--color-primary)}.btn-secondary-small:active{transform:translateY(0)}.no-data{text-align:center;padding:var(--space-32);color:var(--color-text-secondary);font-size:var(--font-size-base)}.scheduler-view{display:flex;flex-direction:column;gap:var(--space-24)}.scheduler-controls{display:flex;justify-content:space-between;align-items:center;padding:var(--space-20);background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-card-border);box-shadow:var(--shadow-sm)}.current-month{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text)}.month-nav{display:flex;gap:var(--space-12)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-4);background:var(--color-surface);padding:var(--space-20);border-radius:var(--radius-lg);border:1px solid var(--color-card-border);box-shadow:var(--shadow-sm)}.calendar-day-header{text-align:center;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-text-secondary);padding:var(--space-12)}.calendar-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:var(--space-8);border-radius:var(--radius-base);border:1px solid var(--color-border);background:var(--color-background);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard);position:relative}.calendar-day:hover{background:var(--color-secondary);border-color:var(--color-primary)}.calendar-day.today{background:rgba(var(--color-primary),.1);border-color:var(--color-primary);font-weight:var(--font-weight-semibold)}.calendar-day.selected{background:var(--color-primary);color:var(--color-btn-primary-text);border-color:var(--color-primary)}.calendar-day.other-month{opacity:.4}.calendar-day.has-tasks{font-weight:var(--font-weight-semibold)}.calendar-day.has-tasks:after{content:"";position:absolute;bottom:4px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:var(--color-primary)}.calendar-day-number{font-size:var(--font-size-sm);margin-bottom:var(--space-4)}.calendar-task-count{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.scheduled-tasks{margin-top:var(--space-24)}.scheduled-task-item{display:flex;align-items:center;gap:var(--space-16);padding:var(--space-16);background:var(--color-surface);border-radius:var(--radius-base);border:1px solid var(--color-card-border);margin-bottom:var(--space-12);transition:all var(--duration-fast) var(--ease-standard)}.scheduled-task-item:hover{box-shadow:var(--shadow-md);transform:translate(4px)}.task-time{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-primary);min-width:80px}.task-details{flex:1}.analytics-view{max-width:1400px}.chart-container{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-card-border);padding:var(--space-24);margin-bottom:var(--space-24);box-shadow:var(--shadow-sm)}.chart-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text);margin-bottom:var(--space-20)}.chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:var(--space-24)}.analytics-section{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-16) var(--space-20);margin-bottom:var(--space-24);border:1px solid var(--color-card-border);box-shadow:var(--shadow-sm)}.analytics-filters{margin-bottom:var(--space-16)}.date-range-filter{display:grid;grid-template-columns:auto 1fr 1fr;gap:var(--space-12);align-items:end;margin-bottom:var(--space-12)}.date-range-presets{display:flex;gap:var(--space-6);flex-wrap:nowrap}.btn-preset{padding:var(--space-8) var(--space-12);border:1px solid var(--color-border);border-radius:var(--radius-base);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard);white-space:nowrap;flex-shrink:0}.btn-preset:hover{background:var(--color-primary);color:var(--color-btn-primary-text);border-color:var(--color-primary)}.date-range-inputs{display:contents}.date-range-inputs .form-group{margin-bottom:0}.date-range-inputs label{display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin-bottom:var(--space-4)}.date-range-inputs input[type=date]{width:100%;padding:var(--space-8) var(--space-12);border:1px solid var(--color-border);border-radius:var(--radius-base);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-sm);font-family:inherit;transition:all var(--duration-fast) var(--ease-standard)}.date-range-inputs input[type=date]:hover{border-color:var(--color-primary)}.date-range-inputs input[type=date]:focus{outline:var(--focus-outline);border-color:var(--color-primary);box-shadow:var(--focus-ring)}.filter-row{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-12)}.filter-row .form-group{margin-bottom:0}.filter-row .form-group label{display:block;margin-bottom:var(--space-4);font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.filter-select{width:100%;padding:var(--space-8) var(--space-12);border:1px solid var(--color-border);border-radius:var(--radius-base);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-sm);font-family:inherit;cursor:pointer;transition:all var(--duration-fast) var(--ease-standard)}.filter-select:hover{border-color:var(--color-primary)}.filter-select:focus{outline:var(--focus-outline);border-color:var(--color-primary);box-shadow:var(--focus-ring)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-12);margin-top:var(--space-12);margin-bottom:0}.stat-card{background:var(--color-background);border:1px solid var(--color-card-border);border-radius:var(--radius-lg);padding:var(--space-12) var(--space-16);display:flex;align-items:center;gap:var(--space-12);transition:all var(--duration-normal) var(--ease-standard);box-shadow:var(--shadow-xs)}.stat-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.stat-icon{width:36px;height:36px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.stat-content{flex:1;min-width:0}.stat-content h3{font-size:1.5rem;font-weight:700;margin:0 0 2px;color:var(--color-text);line-height:1}.stat-content p{font-size:11px;font-weight:500;color:var(--color-text-secondary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-card.stat-primary .stat-icon{background:rgba(var(--color-primary-rgb),.1);color:var(--color-primary)}.stat-card.stat-success .stat-icon{background:rgba(var(--color-success-rgb),.1);color:var(--color-success)}.stat-card.stat-warning .stat-icon{background:rgba(var(--color-warning-rgb),.1);color:var(--color-warning)}.stat-card.stat-danger .stat-icon{background:rgba(var(--color-error-rgb),.1);color:var(--color-error)}.stat-card.stat-info .stat-icon{background:rgba(var(--color-info-rgb),.1);color:var(--color-info)}.no-stats-data{text-align:center;padding:var(--space-12);color:var(--color-text-secondary);font-size:var(--font-size-xs);margin-top:var(--space-12);background:var(--color-secondary);border-radius:var(--radius-base)}.no-stats-data i{margin-right:var(--space-6)}.task-list-filters{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-12) var(--space-16);margin-bottom:var(--space-20);border:1px solid var(--color-card-border);border-left:4px solid var(--color-info);box-shadow:var(--shadow-sm)}.task-list-filters h3{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin:0 0 var(--space-8) 0;text-transform:uppercase;letter-spacing:.5px}@media(max-width:1200px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.analytics-section{padding:var(--space-12)}.date-range-filter{grid-template-columns:1fr;gap:var(--space-8)}.date-range-presets{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}.btn-preset{padding:var(--space-6) var(--space-8);font-size:11px;text-align:center}.date-range-inputs{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8)}.filter-row,.stats-grid{grid-template-columns:1fr;gap:var(--space-8)}.stat-card{padding:var(--space-10) var(--space-12)}.stat-content h3{font-size:1.25rem}.stat-icon{width:32px;height:32px;font-size:16px}.stat-content p{font-size:10px}}.location-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-24)}.location-card{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-card-border);padding:var(--space-24);box-shadow:var(--shadow-sm);transition:all var(--duration-normal) var(--ease-standard)}.location-name{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0}.location-info{display:flex;flex-direction:column;gap:var(--space-8);margin-bottom:var(--space-20);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.location-info i{width:20px;text-align:center;color:var(--color-primary)}.location-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-16);padding-top:var(--space-16);border-top:1px solid var(--color-border)}.location-stat{text-align:center}.location-stat-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-primary)}.location-stat-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.locations-view{max-width:1400px}.locations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-20);margin-top:var(--space-24)}.location-card{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-card-border);padding:var(--space-20);box-shadow:var(--shadow-sm);transition:all var(--duration-normal) var(--ease-standard)}.location-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.location-card.inactive{opacity:.6;background:var(--color-secondary)}.location-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-16)}.location-header h3{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text)}.location-address{display:flex;align-items:center;gap:var(--space-8);color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--space-16)}.location-address i{color:var(--color-primary)}.location-actions{display:flex;gap:var(--space-8);margin-top:var(--space-16)}.user-table-container{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-card-border);box-shadow:var(--shadow-sm);overflow-x:auto;overflow-y:hidden}.user-table{width:100%;border-collapse:collapse;min-width:800px}.user-table thead{background:var(--color-secondary);border-bottom:2px solid var(--color-border)}.user-table th{padding:var(--space-16) var(--space-20);text-align:left;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-text);text-transform:uppercase;letter-spacing:.5px}.user-table td{padding:var(--space-16) var(--space-20);border-bottom:1px solid var(--color-border);color:var(--color-text-secondary)}.user-table tr:hover{background:var(--color-secondary)}.user-table tr:last-child td{border-bottom:none}.user-avatar-small{width:40px;height:40px;min-width:40px;min-height:40px;border-radius:50%;background:var(--color-primary);color:var(--color-btn-primary-text);display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);flex-shrink:0}.user-name-cell{display:flex;align-items:center;gap:var(--space-12);min-width:200px}.user-name-cell strong{color:var(--color-text);font-weight:var(--font-weight-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-table th:nth-child(1),.user-table td:nth-child(1){min-width:200px}.user-table th:nth-child(2),.user-table td:nth-child(2){min-width:200px}.user-table th:nth-child(3),.user-table td:nth-child(3){min-width:120px}.user-table th:nth-child(4),.user-table td:nth-child(4){min-width:100px}.user-table th:nth-child(5),.user-table td:nth-child(5){min-width:140px}.role-badge{display:inline-flex;align-items:center;padding:var(--space-4) var(--space-12);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:capitalize}.role-admin{background:rgba(var(--color-error-rgb),.1);color:var(--color-error)}.role-manager{background:rgba(var(--color-warning-rgb),.1);color:var(--color-warning)}.role-staff{background:rgba(var(--color-success-rgb),.1);color:var(--color-success)}.status-badge{display:inline-flex;align-items:center;padding:var(--space-4) var(--space-12);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:capitalize}.status-active{background:rgba(var(--color-success-rgb),.1);color:var(--color-success)}.status-inactive{background:rgba(var(--color-info-rgb),.1);color:var(--color-info)}.view-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-32);padding-bottom:var(--space-20);border-bottom:2px solid var(--color-border)}.view-header h2{margin:0;font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text)}.header-actions{display:flex;align-items:center;gap:12px}.modal-danger{border-top:4px solid var(--color-error);padding:var(--space-24)}.delete-warning{display:flex;gap:var(--space-16);padding:var(--space-24);background:rgba(var(--color-error-rgb),.05);border-radius:var(--radius-base);border:1px solid rgba(var(--color-error-rgb),.2);margin-bottom:var(--space-24)}.delete-warning i{font-size:var(--font-size-2xl);color:var(--color-error);flex-shrink:0}.delete-warning p{margin:0;color:var(--color-text);font-size:var(--font-size-sm);line-height:1.6}.delete-warning p strong{color:var(--color-error);font-weight:var(--font-weight-semibold)}@media(max-width:767px){.task-grid,.template-grid,.location-grid,.form-row-2{grid-template-columns:1fr}.form-group input[type=date],.form-group input[type=text],.form-group input[type=number],.form-group select,.form-group textarea{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.recurrence-config .form-row input[type=date]{min-width:0;max-width:100%;width:100%}.modal-content input[type=date],.modal-body input[type=date],.modal-content input[type=text],.modal-content input[type=number],.modal-content select,.modal-content textarea{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.modal-content{width:95%;padding:0}.modal-content>form{padding:var(--space-16);padding-top:0}.modal-body,.modal-header,.modal-actions{padding:var(--space-16)}.task-detail-body,.chart-grid{grid-template-columns:1fr}.calendar-grid{font-size:var(--font-size-xs)}.weekday-selector{gap:var(--space-6)}.weekday-btn{width:40px;height:40px;font-size:var(--font-size-base)}.meta-item{font-size:var(--font-size-xs)}.steps-list{gap:var(--space-8)}.step-input-row{flex-direction:column;gap:var(--space-8)}.step-mobile-controls{flex-direction:row;justify-content:flex-end;width:100%}.drag-handle{display:none}.task-header-badges{flex-wrap:wrap}.step-checkbox-label{padding:var(--space-10)}}@media(max-width:767px){.login-container{padding:var(--space-24)}.app-header{left:0!important;padding:0 64px;display:flex!important;position:fixed!important;top:0!important;justify-content:center!important}.user-avatar{width:36px;height:36px;font-size:14px}.user-dropdown{width:220px;right:-8px}.menu-toggle{left:8px!important;width:48px;height:48px;font-size:22px}.header-brand{position:static;transform:none}.header-brand h1{font-size:1.25rem}.header-right{position:absolute!important;right:8px!important}.user-name{display:block;font-size:12px}.logout-btn-header{padding:8px 12px!important;font-size:12px!important;display:flex!important}.logout-btn-header i{font-size:14px}.logout-text{display:inline!important}.sidebar{top:0!important;width:260px!important;transform:translate(-100%)!important;box-shadow:none;transition:transform .3s ease;height:100vh!important}.sidebar span{opacity:1!important;display:inline!important}.sidebar:hover span{opacity:1!important}.sidebar.mobile-open{transform:translate(0)!important;box-shadow:4px 0 8px #0000001a;z-index:1100}.sidebar-collapsed .sidebar{width:260px}.sidebar-collapsed .sidebar span{display:inline;opacity:1}.sidebar-collapsed .sidebar-nav button{justify-content:flex-start;padding:14px 20px}.main-content{margin-left:0;margin-top:64px;padding:20px 16px}.user-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.user-table{min-width:800px}.user-avatar-small{width:36px;height:36px;min-width:36px;min-height:36px;font-size:12px}.user-table th,.user-table td{padding:var(--space-12) var(--space-16);white-space:nowrap}.user-name-cell{min-width:180px}.role-badge,.status-badge{white-space:nowrap}.sidebar-collapsed .main-content{margin-left:0}}@media(min-width:768px)and (max-width:1024px){.user-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.user-table{min-width:800px}.user-table th,.user-table td{padding:var(--space-12) var(--space-16)}}@media(min-width:768px){.app-header{display:flex!important;position:fixed!important;top:0!important;left:0!important;right:0!important}.menu-toggle{display:none!important}.user-name{display:block!important}.logout-text{display:inline!important}.header-right{position:absolute!important;right:24px!important;flex-direction:row!important;align-items:center!important;gap:16px!important;display:flex!important}.logout-btn-header{display:flex!important}.sidebar{top:64px!important;transform:translate(0);width:70px;transition:width .3s ease}.sidebar:hover{width:260px}.main-content{margin-left:70px;margin-top:64px;transition:margin-left .3s ease}.sidebar-collapsed .main-content{margin-left:70px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(var(--space-20))}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn var(--duration-normal) ease}.slide-up{animation:slideUp var(--duration-normal) ease}@media print{.sidebar,.sidebar-footer,.logout-btn,.btn-primary,.btn-secondary,.btn-danger,.filters{display:none!important}.main-content{margin-left:0}.task-card,.template-card,.location-card{break-inside:avoid;page-break-inside:avoid}}
