@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.doc-content{color:#000;font-size:11pt;font-family:Arial;line-height:1.15;padding:72pt;background:#fff;max-width:800px;margin:0 auto}@media print{.no-print{display:none!important}.doc-content{padding:0;margin:0;max-width:none;background:none}.c11{page-break-inside:avoid}*{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:none!important}body>*:not(.doc-content){display:none!important}body{margin:0;padding:0;background:#fff}}.c0{margin-left:0;padding-top:0;padding-bottom:0;line-height:1.15;orphans:2;widows:2;text-align:left}.c1{margin-left:0;padding-top:9pt;padding-bottom:0;line-height:1.15;orphans:2;widows:2;text-align:left}.c2{padding-left:0}.c3{height:11pt}.c4{font-weight:700}.c5{font-family:Arial}.c6{font-weight:700;color:red}.c7{color:#00f}.c8{font-size:8pt}.c9{font-style:italic}.c10{margin-left:0;padding-top:0;padding-bottom:0;line-height:1;orphans:2;widows:2;text-align:center}.c11{padding-top:0;padding-bottom:0;line-height:1;orphans:2;widows:2;text-align:center;height:11pt}.c12{font-weight:700;font-style:italic}.c13{font-weight:700;font-size:10pt}.c14{margin-left:0;padding-top:9pt;padding-bottom:0;line-height:1;orphans:2;widows:2;text-align:left}.c15{padding-top:0;padding-bottom:0;line-height:1;orphans:2;widows:2;text-align:center}.c16{font-size:8pt;font-style:italic}.c17{margin-left:36pt}.c18{text-decoration:underline}.c19{color:#00f;font-weight:700}.c20{font-size:14pt}.c21{font-weight:700;font-size:14pt}.c22{padding:0;margin:0}.c23{text-decoration:underline;font-size:10pt}.c24{text-decoration:underline;color:red}.c25{font-weight:700;font-size:10pt}.c27{font-size:12pt}.c28{font-size:10pt}.li-bullet-0:before{margin-left:-18pt;white-space:nowrap;display:inline-block;min-width:18pt}.lst-kix_list_11-0>li:before{content:"● "}.lst-kix_list_14-0>li:before{content:""counter(lst-ctn-kix_list_14-0,decimal) ". "}ol.lst-kix_list_14-0,ul.lst-kix_list_11-0{list-style-type:none}.lateness-form-template{max-width:210mm;margin:0 auto;padding:20mm;font-family:Arial,sans-serif;line-height:1.5}.header{text-align:center;margin-bottom:2rem}.header h1{font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.subtitle{font-style:italic;color:#666}.reminder{background-color:#f8f8f8;padding:1rem;margin-bottom:2rem;border:1px solid #ddd}.reminder h2{font-size:1.1rem;font-weight:700;margin-bottom:.5rem}.reminder p{margin:.25rem 0;font-size:.9rem}.form-section{margin-bottom:2rem}.form-row{display:flex;gap:2rem;margin-bottom:1rem}.form-field{flex:1;margin-bottom:1rem}.form-field label{display:block;font-weight:700;margin-bottom:.25rem;font-size:.9rem}.form-field span{display:block;min-height:1.5rem;padding:.25rem 0;border-bottom:1px solid #ddd}.response-text{margin:.5rem 0;padding:.5rem;min-height:2rem;background-color:#f8f8f8;border:1px solid #ddd;white-space:pre-wrap}.signatures{margin-top:3rem;page-break-inside:avoid}.signature-line{display:flex;align-items:center;margin-bottom:1.5rem}.signature-line label{width:150px;font-weight:700;font-size:.9rem}.signature-box{flex:1;height:40px;border-bottom:1px solid #000}.footer{margin-top:3rem;text-align:center;font-size:.8rem;color:#666;page-break-inside:avoid}.footer p{margin:.25rem 0}@media print{.lateness-form-template{padding:0}.form-section{page-break-inside:avoid}.signatures{margin-top:2rem}.footer{position:fixed;bottom:20mm;left:0;right:0}}.print-container{padding:20px;max-width:800px;margin:0 auto;background:#fff}.print-button{position:fixed;top:20px;right:20px;z-index:1000}.print-btn{background-color:#0284c7;color:#fff;padding:8px 16px;border-radius:4px;border:none;cursor:pointer;font-weight:500;transition:background-color .2s}.print-btn:hover{background-color:#0369a1}@media print{.print-container{padding:0;max-width:none}.print-button{display:none}body{margin:0;padding:0;background:#fff}body>*:not(.print-container){display:none!important}}.justify-center{justify-center:center}.text-gray-600{color:#4b5563}.text-red-600{color:#dc2626}.text-gray-500{color:#6b7280}.task-code-manager{background-color:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:1.25rem;position:fixed;right:1.5rem;top:6rem;width:350px;max-height:calc(100vh - 8rem);overflow-y:auto;overflow-x:hidden;z-index:100;box-shadow:0 10px 35px #00000026;transition:all .25s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#fffffff7;box-sizing:border-box;transform:translate(0)}.task-code-manager.minimized{height:auto;max-height:55px;overflow:hidden;opacity:.95;transform:translate(calc(100% - 55px));box-shadow:0 4px 20px #0000000f}.task-code-manager.minimized:before{content:"";position:absolute;top:0;left:-15px;width:15px;height:100%;background:transparent}.task-code-manager.minimized:hover{opacity:1;transform:translate(0);box-shadow:0 10px 35px #00000014}.task-codes-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;width:100%;box-sizing:border-box;border-bottom:1px solid #e2e8f0;padding-bottom:.75rem;background:linear-gradient(135deg,#4f46e5,#6366f1);margin:-1.25rem -1.25rem 1.25rem;padding:1rem 1.25rem;border-radius:15px 15px 0 0}.header-left{display:flex;align-items:center;gap:.5rem;min-width:0;overflow:hidden;width:100%;position:relative}.minimize-button{background:none;border:none;color:#fff;font-size:1.5rem;line-height:1;padding:.5rem;cursor:pointer;transition:all .2s ease;z-index:10;border-radius:8px}.minimize-button:hover{color:#fff;background-color:#fff3}.add-code-icon-button{background:none;border:none;color:#fff;font-size:1.5rem;line-height:1;padding:.5rem;cursor:pointer;transition:all .2s ease;margin-left:auto;border-radius:8px}.add-code-icon-button:hover{color:#fff;background-color:#fff3}.task-codes-header h3{margin:0;font-size:1.1rem;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em}.sidebar-instructions{font-size:.85rem;color:#4a5568;margin-bottom:1rem;padding:.75rem .75rem .75rem 2.5rem;background-color:#f8fafc;border-radius:8px;text-align:left;border-left:3px solid #4472C4;line-height:1.5;position:relative;display:flex;flex-direction:column}.sidebar-instructions:before{content:"ℹ️";position:absolute;left:.75rem;font-size:1rem}.auto-collapse-hint{display:block;margin-top:.5rem;font-size:.75rem;color:#718096;font-style:italic}.add-code-form{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:1.5rem;margin-bottom:1.25rem;box-shadow:0 4px 10px #0000000a;animation:fadeIn .3s ease;position:relative;overflow:hidden}.add-code-form:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(to right,#4472c4,#4472c480);border-radius:14px 14px 0 0}.form-row{display:flex;flex-direction:column;gap:1rem;width:100%;box-sizing:border-box}.form-row input[type=text]{padding:.75rem .85rem;border:1px solid #e2e8f0;border-radius:10px;font-size:.95rem;width:100%;box-sizing:border-box;transition:all .2s ease;box-shadow:0 2px 4px #00000005}.form-row select{padding:.75rem .85rem;border:1px solid #e2e8f0;border-radius:10px;font-size:.95rem;width:100%;box-sizing:border-box;background-color:#fff;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #00000005}.form-row input[type=color]{padding:0;width:100%;height:3rem;border:1px solid #e2e8f0;border-radius:10px;cursor:pointer;box-sizing:border-box;box-shadow:0 2px 4px #00000005}.form-row select:focus{outline:none;border-color:#4472c4;box-shadow:0 0 0 3px #4272c41a}.form-row input[type=text]:focus{outline:none;border-color:#4472c4;box-shadow:0 0 0 3px #4272c41a}.save-code-button{padding:.75rem 1rem;background-color:#4472c4;color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .25s ease;width:100%;margin-top:.75rem;box-shadow:0 3px 6px #4272c440;position:relative;overflow:hidden}.save-code-button:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(to right,#fff0,#fff3,#fff0);transition:all .6s ease}.save-code-button:hover:not(:disabled):after{left:100%}.save-code-button:hover:not(:disabled){background-color:#3b62b3;transform:translateY(-2px);box-shadow:0 5px 10px #4272c44d}.save-code-button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.task-codes-list{display:flex;flex-direction:column;gap:1rem;max-height:calc(100vh - 18rem);overflow-y:auto;width:100%;padding-right:5px}.task-category{margin-bottom:1.5rem}.category-header{font-size:.95rem;font-weight:600;color:#4a5568;margin:0 0 .9rem;padding-bottom:.35rem;border-bottom:1px solid #edf2f7;display:flex;align-items:center}.category-header:before{content:"";display:inline-block;width:8px;height:8px;background-color:#4472c4;border-radius:50%;margin-right:8px}.task-code-item{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1rem;background-color:#f8fafc;border:1px solid #edf2f7;border-radius:12px;cursor:default;transition:all .25s ease;margin-bottom:.55rem;box-sizing:border-box;width:100%;overflow:hidden;box-shadow:0 2px 5px #00000008;padding-left:32px;position:relative}.task-code-item:hover{background-color:#f0f7ff;transform:translateY(-1px);box-shadow:0 3px 8px #0000000d}.task-code-item:active{cursor:grabbing;transform:translateY(0)}.task-code-item.dragging{background-color:#ffffffe6;transform:scale(1.02);box-shadow:0 8px 20px #0000001f;opacity:.8;z-index:999}.move-buttons-area{position:absolute;left:0;top:0;bottom:0;width:32px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px dashed rgba(0,0,0,.07);border-top-left-radius:10px;border-bottom-left-radius:10px;z-index:2}.move-button{width:22px;height:22px;padding:0;margin:1px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:#4472c4;font-size:14px;cursor:pointer;opacity:.7;transition:all .2s ease;border-radius:4px}.move-button:hover:not(:disabled){background-color:#4472c41a;opacity:1;transform:scale(1.1)}.move-button:active:not(:disabled){background-color:#4472c433;transform:scale(.95)}.task-code-item:hover .move-buttons-area{background-color:#4472c40f}.task-code-item:hover .move-button{opacity:.9}.task-code-item{padding-left:32px}@keyframes moveComplete{0%{transform:translateY(0);background-color:#3b82f633;border-color:#3b82f6}50%{transform:translateY(-3px);background-color:#3b82f61a;border-color:#3b82f6}to{transform:translateY(0);background-color:transparent;border-color:transparent}}.task-code-item.drop-complete{animation:moveComplete .5s ease-out forwards;border:1px solid rgba(59,130,246,.5);z-index:3}@keyframes moveComplete{0%{transform:scale(1) translateY(0);box-shadow:0 2px 8px #0000001a;background-color:#4a90e21a;border-color:#4a90e299}30%{transform:scale(1.05) translateY(-3px);box-shadow:0 6px 15px #00000026;background-color:#4a90e226;border-color:#4a90e2cc}60%{transform:scale(1.02) translateY(-1px);box-shadow:0 3px 10px #0000001f;background-color:#4a90e21f;border-color:#4a90e2b3}to{transform:scale(1) translateY(0);box-shadow:0 2px 8px #0000001a;background-color:transparent;border-color:#00000014}}@media (max-width: 768px){.task-code-item{padding:16px 16px 16px 48px;margin-bottom:12px}.move-buttons-area{width:48px}.move-button{width:32px;height:32px;font-size:18px;margin:2px 0;background-color:#ffffff80}.task-code-content{min-height:50px}.task-code{min-width:45px;height:45px;font-size:1.1rem}.task-code-action-button{width:36px;height:36px;font-size:1.1rem;padding:0;display:flex;align-items:center;justify-content:center;background-color:#ffffff80;border-radius:18px;opacity:.9}.edit-code-button,.delete-code-button,.task-code-action-button{opacity:.8}.task-code-action-button:active{transform:scale(.9);background-color:#0000000d}button:active,.task-code-content:active{transform:scale(.98);transition:transform .1s}.tab-button:active{background-color:#4472c426}.minimize-button{width:44px;height:44px;font-size:1.3rem}.tab-button{padding:12px 0;min-height:48px}.sidebar-instructions{padding:16px 16px 16px 46px;font-size:.9rem;line-height:1.6}.sidebar-instructions:before{left:16px;top:16px}.task-codes-list::-webkit-scrollbar{width:10px}.form-row{gap:16px}.drag-drop-hint{font-size:.85rem;padding:8px 0 0;color:#64748b}}@media (prefers-color-scheme: dark) and (max-width: 768px){.task-code-manager{background-color:#1e293bf7;box-shadow:-5px 0 15px #00000040}.task-codes-header{background:linear-gradient(to right,#4338ca,#5b21b6)}.task-code-item{background-color:#1e293bcc;border-color:#33415599}.task-code{background-color:#33415599;color:#f8fafc}.task-description{color:#e2e8f0}.sidebar-instructions{background-color:#3341554d;color:#f1f5f9;border-left-color:#6366f1}}@media (max-width: 375px){.task-code-manager{width:100%;max-width:100%}.task-code-manager.minimized{transform:translate(calc(100% - 60px));width:60px;max-width:60px}.task-codes-header{padding:14px}.task-code-item{padding:14px 14px 14px 44px;margin-bottom:10px}.move-buttons-area{width:44px}.task-code{min-width:38px;height:38px}.task-code-content{flex-direction:column;align-items:flex-start;gap:8px}.task-description{white-space:normal;font-size:.85rem;line-height:1.3}.edit-form-row{flex-direction:column;gap:10px}.form-row{flex-direction:column}.tab-button{padding:10px 0;font-size:.85rem}.tab-count{margin-left:4px;min-width:20px;height:20px}}@media (pointer: coarse){.task-code-manager.minimized:after{content:"←";position:absolute;top:50%;left:10px;color:#ffffffb3;font-size:1.2rem;animation:pulseLeft 1.5s infinite;opacity:.7;transform:translateY(-50%)}@keyframes pulseLeft{0%{transform:translateY(-50%) translate(0);opacity:.4}50%{transform:translateY(-50%) translate(-3px);opacity:.8}to{transform:translateY(-50%) translate(0);opacity:.4}}.task-code-actions{gap:12px}.task-code-action-button{min-width:40px;min-height:40px}button:focus-visible,.task-code-content:focus-visible{outline:2px solid #4472C4;outline-offset:2px}}@media (prefers-reduced-motion: reduce){.task-code-item.drop-complete,.task-code-item.newly-added,.task-code-item,.task-category,.save-code-button:after,.task-code-manager.minimized:after{animation:none!important;transition:none!important}.task-code-item:hover,.task-code-item:active,button:hover,button:active,.task-code-content:hover,.task-code-content:active{transform:none!important}}.task-code-list.dragging-over{background-color:#3b82f60d;border-radius:8px;padding:4px;margin:-4px}.task-code-list-placeholder{height:54px;margin:8px 0;background-color:#4472c414;border:2px dashed rgba(68,114,196,.4);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#4472c4;font-size:.9rem;font-style:italic;animation:placeholderPulse 1.5s infinite ease-in-out;padding:0 1rem;text-align:center}@keyframes placeholderPulse{0%{background-color:#4472c40d}50%{background-color:#4472c41f}to{background-color:#4472c40d}}.react-beautiful-dnd-draggable-ghost .task-code-content{display:flex!important;opacity:1!important}.react-beautiful-dnd-draggable-ghost .task-code{display:flex!important;opacity:1!important;background-color:inherit!important}.react-beautiful-dnd-draggable-ghost .task-description{display:block!important;opacity:1!important}[data-rbd-placeholder-context-id]{opacity:.9!important;background-color:#4472c41a!important;border:2px dashed rgba(68,114,196,.4)!important;border-radius:12px!important;margin:6px 0!important;min-height:54px!important;box-shadow:0 3px 10px #0000000d!important;transform:translateZ(0)!important;transition:all .15s cubic-bezier(.2,0,0,1)!important}@keyframes dropComplete{0%{transform:translateY(0);background-color:#3b82f633;border-color:#3b82f6}50%{transform:translateY(-3px);background-color:#3b82f61a;border-color:#3b82f6}to{transform:translateY(0);background-color:transparent;border-color:transparent}}.task-code-item.drop-complete{animation:dropComplete .5s ease-out forwards;border:1px solid rgba(59,130,246,.5);z-index:3}.task-code-list.dragging-over{background-color:#4472c414;border-radius:12px;padding:.75rem!important;margin:-.75rem!important;border:2px dashed rgba(68,114,196,.5)!important;transition:all .2s ease;box-shadow:inset 0 0 20px #4472c40d;transform:translateZ(0)}[data-rbd-drag-handle-context-id]{cursor:grab!important}[data-rbd-drag-handle-context-id]:active{cursor:grabbing!important}[data-rbd-draggable-id]{transition:none!important}[data-rbd-draggable-id][data-rbd-drag-handle-draggable-id]{transform:none!important}.task-code-item{transform:translateZ(0);backface-visibility:hidden;perspective:1000px;will-change:transform,opacity,box-shadow}.task-code-item.is-dragging .drag-handle-area,.task-code-item.is-dragging .task-code-content{opacity:1!important;visibility:visible!important;display:flex!important}.task-code-item .drag-handle-area{touch-action:none;cursor:grab}.task-code-item .drag-handle-area:active{cursor:grabbing}.task-code-item{transition:transform .2s ease,opacity .2s ease,background-color .15s ease,border-color .15s ease;will-change:transform}.task-code-list.dragging-over{background-color:#f9f9f9;border:1px dashed #0072c6;transition:background-color .2s ease,border .2s ease;transform:translateZ(0)}.task-code-list-placeholder{height:40px;margin:4px 0;background-color:#0072c614;border:1px dashed rgba(0,114,198,.3);border-radius:4px;transition:height .2s ease,opacity .2s ease}.task-code-content{transition:background-color .15s ease,transform .15s ease}.task-code-content:hover{transform:translateY(-1px)}.task-code-content:active{transform:translateY(0)}@keyframes dropComplete{0%{transform:scale(1) translateZ(0);box-shadow:0 2px 8px #0000001a;background-color:#4a90e21a;border-color:#4a90e299}30%{transform:scale(1.05) translateZ(0);box-shadow:0 4px 12px #00000026;background-color:#4a90e226;border-color:#4a90e2cc}60%{transform:scale(1.02) translateZ(0);box-shadow:0 3px 10px #0000001f;background-color:#4a90e21f;border-color:#4a90e2b3}to{transform:scale(1) translateZ(0);box-shadow:0 2px 8px #0000001a;background-color:transparent;border-color:#00000014}}.task-code-item.drop-complete{animation:dropComplete .8s ease-out forwards;border:1px solid rgba(74,144,226,.6);z-index:2}.task-code-content{display:flex;align-items:center;gap:.75rem;overflow:hidden;width:100%;cursor:pointer;padding:.2rem 0;transition:all .2s ease;border-radius:6px}.task-code-content:hover{background-color:#00000005}.task-code-content:active{transform:scale(.98)}.task-code{display:flex;justify-content:center;align-items:center;min-width:40px;height:40px;background-color:#f1f5f9;border-radius:10px;color:#2d3748;font-weight:700;font-size:1rem;padding:0 10px;border:2px solid rgba(0,0,0,.08);box-shadow:0 2px 4px #0000000d;transition:all .25s ease;position:relative;overflow:hidden}.task-code:after{content:"";position:absolute;top:0;left:0;right:0;height:40%;background:linear-gradient(to bottom,hsl(var(--background) / .2),hsl(var(--background) / 0));pointer-events:none;border-radius:8px 8px 0 0}.task-code-item:hover .task-code{transform:scale(1.05);box-shadow:0 3px 6px hsl(var(--foreground) / .08)}.task-description{flex:1;font-size:.92rem;font-weight:500;color:hsl(var(--muted-foreground));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.edit-code-button,.delete-code-button{background:none;border:none;color:hsl(var(--muted-foreground));font-size:1.25rem;line-height:1;padding:.25rem;cursor:pointer;opacity:0;transition:all .2s ease}.task-code-item:hover .edit-code-button,.task-code-item:hover .delete-code-button{opacity:1}.edit-code-button:hover{color:hsl(var(--primary))}.delete-code-button:hover{color:hsl(var(--destructive))}.edit-color-row{display:flex;gap:.5rem;width:100%}.edit-color-row input[type=color]{flex:1}.edit-color-row select{flex:2}.edit-buttons{display:flex;gap:.5rem;margin-top:.5rem}.save-edit-button,.cancel-edit-button{flex:1;padding:.5rem;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.save-edit-button{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.save-edit-button:hover:not(:disabled){background-color:hsl(var(--primary) / .9)}.cancel-edit-button{background-color:hsl(var(--destructive));color:hsl(var(--destructive-foreground))}.cancel-edit-button:hover{background-color:hsl(var(--destructive) / .9)}.task-codes-list::-webkit-scrollbar{width:8px}.task-codes-list::-webkit-scrollbar-track{background:#f1f5f9;border-radius:10px}.task-codes-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px;border:2px solid #f1f5f9}.task-codes-list::-webkit-scrollbar-thumb:hover{background:#94a3b8}.task-category:empty:after{content:"No task codes added yet";display:block;text-align:center;color:#94a3b8;font-size:.85rem;padding:1rem;font-style:italic;background-color:#f8fafc;border-radius:8px;border:1px dashed #e2e8f0}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;color:#718096;gap:1rem}.loading-state .spinner{width:30px;height:30px;border:3px solid rgba(66,114,196,.2);border-top-color:#4472c4;border-radius:50%;animation:spin 1s linear infinite}.loading-state p{font-size:.9rem;font-weight:500;margin:0}.empty-task-codes{padding:1.5rem;background-color:#f8fafc;border-radius:8px;border:1px dashed #e2e8f0;text-align:center;color:#64748b;margin-bottom:1rem}.empty-task-codes p{margin:0;font-size:.9rem;line-height:1.5}.shared-codes-hint{display:block;margin-top:.3rem;font-size:.75rem;color:#4472c4;font-weight:500}.task-category:nth-child(1) .task-code{border-color:#4472c44d;background-color:#4472c40d}.task-category:nth-child(2) .task-code{border-color:#ec48994d;background-color:#ec48990d}.task-code-item{animation:fadeIn .3s ease forwards}.task-code-item:nth-child(2){animation-delay:.05s}.task-code-item:nth-child(3){animation-delay:.1s}.task-code-item:nth-child(4){animation-delay:.15s}.task-code-item:nth-child(5){animation-delay:.2s}@keyframes highlightNew{0%{background-color:#4472c433}to{background-color:#f8fafc}}.task-code-item.new-code{animation:highlightNew 1.5s ease}@keyframes scaleIn{0%{transform:scale(.9) translateZ(0);opacity:0}70%{transform:scale(1.04) translateZ(0);opacity:1}to{transform:scale(1) translateZ(0);opacity:1}}.task-code-item.newly-added{animation:scaleIn .3s ease forwards}.task-code-item .drag-handle-area{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.task-tabs{display:flex;margin-bottom:1rem;border-bottom:1px solid #e2e8f0;position:relative}.tab-button{padding:.75rem 1.25rem;background:none;border:none;color:#4a5568;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;position:relative;flex:1;text-align:center;border-top-left-radius:8px;border-top-right-radius:8px}.tab-button:hover{background-color:#4472c40d;color:#3b62b3}.tab-button.active{color:#4472c4;font-weight:700;background-color:#4472c414}.tab-button.active:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:3px;background-color:#4472c4;border-top-left-radius:3px;border-top-right-radius:3px}.tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;margin-left:8px;background-color:#4472c41a;color:#4472c4;border-radius:12px;font-size:.75rem;font-weight:700}.tab-button.active .tab-count{background-color:#4472c4;color:#fff}.task-codes-list{display:flex;flex-direction:column;gap:.5rem;max-height:calc(100vh - 24rem);overflow-y:auto;width:100%;padding-right:5px}@media (max-width: 1200px){.task-tabs{margin-bottom:.75rem}.tab-button{padding:.6rem 1rem;font-size:.85rem}.task-codes-list{max-height:calc(50vh - 14rem)}}@media (max-width: 375px){.tab-button{padding:.5rem;font-size:.8rem}.tab-count{min-width:20px;height:20px;font-size:.7rem;margin-left:4px}}.task-category{margin-bottom:0}.task-category{animation:fadeIn .3s ease}.rota-planner-container{font-family:inherit;color:inherit;width:100%;height:100%;overflow:visible;padding:0;margin:0;display:flex;flex-direction:column;flex:1 1 auto}.rota-planner-container .App{width:100%;max-width:100%;margin:0}.rota-planner-container .App-header{background:none;padding:0;margin-bottom:1rem;display:block;min-height:auto;width:100%}.rota-planner-container .App-footer{display:none}.rota-planner-container .rota-hub,.rota-planner-container .rota-planner,.rota-planner-container .weekly-rota,.rota-planner-container .daily-planner{width:100%;margin:0}.loading-wrapper{display:flex;justify-content:center;align-items:center;min-height:400px;font-size:18px;color:#666;text-align:center;background-color:#f9fafb;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a;position:relative}.loading-wrapper:after{content:"";position:absolute;width:40px;height:40px;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;animation:spinner 1s linear infinite;margin-top:50px}@keyframes spinner{to{transform:rotate(360deg)}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px;box-sizing:border-box}.modal-content{background:#fff;border-radius:12px;width:90%;max-width:550px;box-shadow:0 10px 25px #0003;position:relative;animation:modalSlideIn .3s ease-out;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;background:linear-gradient(to right,#f8f9fa,#e9ecef);border-bottom:1px solid #e9ecef}.modal-header h2{font-size:1.25rem;font-weight:600;color:#111827;margin:0}.close-button{display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#6b7280;width:32px;height:32px;border-radius:50%;cursor:pointer;transition:all .2s ease}.close-button:hover{background-color:#ef44441a;color:#ef4444}form{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-size:.9rem;font-weight:500;color:#374151;margin-bottom:.5rem}.input-container{position:relative;display:flex;align-items:center;width:100%;border:1px solid #d1d5db;border-radius:8px;overflow:hidden;transition:all .2s ease}.input-container:focus-within{border-color:#3a3a3a;box-shadow:0 0 0 3px #3a3a3a1a}.input-icon{margin:0 10px;color:#6b7280}.input-container input{flex:1;width:100%;padding:.75rem .75rem .75rem 0;border:none;font-size:.9rem;background:transparent}.input-container input:focus{outline:none}.helper-text{display:flex;align-items:center;margin-top:.5rem;color:#6b7280;font-size:.8rem}.helper-icon{margin-right:.5rem;flex-shrink:0}.error-message{display:flex;align-items:flex-start;background-color:#fee2e2;color:#b91c1c;padding:1rem;border-radius:8px;border-left:4px solid #ef4444;font-size:.9rem;margin-bottom:1.5rem}.error-icon{color:#ef4444;margin-right:.75rem;flex-shrink:0;margin-top:2px}.google-sheet-info{background-color:#f8fafc;border-radius:8px;padding:1.25rem;margin-bottom:1.5rem;border:1px solid #e2e8f0}.google-sheet-info h3{font-size:1rem;font-weight:600;color:#334155;margin-top:0;margin-bottom:1rem}.google-sheet-info ol{margin:0;padding-left:1.5rem}.google-sheet-info li{margin-bottom:.5rem;font-size:.9rem;color:#475569;line-height:1.4}.google-sheet-info li:last-child{margin-bottom:0}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem}.cancel-button,.submit-button{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.cancel-button{background-color:#fff;color:#374151;border:1px solid #d1d5db}.cancel-button:hover:not(:disabled){background-color:#f3f4f6}.submit-button{background:linear-gradient(to right,#3a3a3a,#2d2d2d);color:#fff;border:none}.submit-button:hover:not(:disabled){background:linear-gradient(to right,#2d2d2d,#1f1f1f);transform:translateY(-1px);box-shadow:0 4px 6px #0000001a}.submit-button:disabled,.cancel-button:disabled{opacity:.5;cursor:not-allowed}.submit-button:disabled{background:#6b7280}.import-icon{color:currentColor}.spinner{width:18px;height:18px;border:3px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s linear infinite;margin-right:.5rem}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 640px){.modal-content{width:95%}.form-actions{flex-direction:column-reverse}.cancel-button,.submit-button{width:100%}.modal-header,form{padding:1rem}}:root{--primary: #4f46e5;--primary-light: #6366f1;--primary-dark: #4338ca;--secondary: #64748b;--success: #22c55e;--warning: #f59e0b;--danger: #ef4444;--background: #f8fafc;--card-bg: #ffffff;--text-primary: #1e293b;--text-secondary: #64748b;--border-color: #e2e8f0;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1)}.rota-hub{padding:20px;max-width:1200px;margin:0 auto;background-color:var(--background);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:16px}.header h1{margin:0;font-size:28px;font-weight:600;color:#1a202c}.header-controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.search-sort{display:flex;gap:8px}.search-input{padding:8px 12px;border:1px solid #e2e8f0;border-radius:4px;min-width:250px;font-size:14px}.sort-select{padding:8px 12px;border:1px solid #e2e8f0;border-radius:4px;font-size:14px;background-color:#fff}.import-button{display:flex;align-items:center;gap:8px;background-color:#4299e1;color:#fff;border:none;border-radius:4px;padding:8px 16px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.import-button:hover{background-color:#3182ce}.import-button svg{width:16px;height:16px}.import-button.secondary{background-color:#6b7280;color:#fff}.import-button.secondary:hover{background-color:#4b5563}.rota-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;margin-bottom:24px}.month-group{margin-bottom:40px}.month-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid #e2e8f0}.month-title{font-size:20px;font-weight:600;color:#1a202c;margin:0}.month-count{background-color:#f1f5f9;color:#64748b;padding:4px 12px;border-radius:12px;font-size:14px;font-weight:500}.month-divider{grid-column:1 / -1;margin:32px 0 24px;position:relative}.month-divider-content{display:flex;align-items:center;justify-content:center;position:relative;padding:0}.month-divider-content:before,.month-divider-content:after{content:"";flex:1;height:2px;background:linear-gradient(90deg,transparent 0%,#e2e8f0 20%,#cbd5e1 50%,#e2e8f0 80%,transparent 100%)}.month-divider-content:before{margin-right:20px}.month-divider-content:after{margin-left:20px}.month-divider-title{margin:0;padding:16px 48px;background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff;border-radius:32px;box-shadow:0 8px 24px #4f46e54d,0 4px 8px #00000026;position:relative;letter-spacing:1.5px;text-transform:uppercase;font-size:20px;font-weight:700;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.month-divider-title:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:32px;padding:2px;background:linear-gradient(135deg,#ffffff4d,#fff0);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.month-divider-title:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 12px 32px #4f46e566,0 6px 12px #0003}.rota-card{border-radius:12px;background-color:#fff;box-shadow:0 4px 12px #00000014;border:1px solid #eef1f6;overflow:hidden;transition:transform .2s,box-shadow .2s;cursor:pointer;display:flex;flex-direction:column}.rota-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.rota-card-header{padding:16px 20px;border-bottom:1px solid #eef1f6;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#4f46e5,#6366f1)}.rota-card-title{margin:0;font-size:18px;font-weight:600;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.01em;text-shadow:0 1px 2px rgba(0,0,0,.1)}.card-actions{display:flex;gap:8px}.delete-button{background:#fff3;border:none;width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:6px;color:#fff;transition:background-color .2s,color .2s}.delete-button:hover{background-color:#ffffff4d;color:#fff}.rota-content{display:flex;flex-direction:column;flex-grow:1;padding:0}.week-info{padding:20px;background-color:#f9fafc;border-bottom:1px solid #eef1f6}.week-label{font-size:14px;font-weight:500;color:#64748b;margin-bottom:4px}.week-date{font-size:18px;font-weight:600;color:#1e293b}.rota-details{padding:20px;display:flex;flex-direction:column;gap:16px;flex-grow:1}.detail-item{display:flex;align-items:flex-start;gap:12px}.detail-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.detail-icon svg{width:20px;height:20px}.department-icon{background-color:#ede9fe;color:#7c3aed}.staff-icon{background-color:#e0f2fe;color:#0ea5e9}.date-icon{background-color:#fef3c7;color:#d97706}.detail-content{flex-grow:1}.detail-label{font-size:13px;color:#64748b;margin-bottom:2px}.detail-value{font-size:15px;font-weight:500;color:#1e293b}.card-footer{padding:16px 20px;border-top:1px solid #eef1f6;background-color:#f9fafc;display:flex;justify-content:flex-end}.view-button{display:flex;align-items:center;gap:8px;background-color:#4f46e5;color:#fff;border:none;border-radius:6px;padding:10px 16px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.view-button:hover{background-color:#4338ca}.view-button svg{width:16px;height:16px}@media (max-width: 768px){.rota-card{box-shadow:0 2px 8px #0000000f}.rota-card:active{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.rota-card-header{padding:14px 16px}.rota-card-title{font-size:16px}.week-info{padding:16px}.week-date{font-size:16px}.rota-details{padding:16px;gap:14px}.detail-icon{width:32px;height:32px}.detail-icon svg{width:18px;height:18px}.detail-label{font-size:12px}.detail-value{font-size:14px}.card-footer{padding:12px 16px}.view-button{width:100%;justify-content:center;padding:12px}}@media (max-width: 768px){.rota-hub{padding:16px}.header{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:20px}.header h1{font-size:24px;margin-bottom:0}.header-controls,.search-sort{width:100%;flex-direction:column;gap:12px}.search-input,.sort-select{width:100%;padding:12px;font-size:16px}.import-button{width:100%;justify-content:center;padding:12px;font-size:16px}.rota-grid{grid-template-columns:1fr;gap:16px}.rota-card{box-shadow:0 2px 8px #0000000f}.rota-card:active{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.rota-card-header{padding:14px 16px}.rota-card-title{font-size:16px}.week-info{padding:16px}.week-date{font-size:16px}.rota-details{padding:16px;gap:14px}.detail-icon{width:32px;height:32px}.detail-icon svg{width:18px;height:18px}.detail-label{font-size:12px}.detail-value{font-size:14px}.card-footer{padding:12px 16px}.view-button{width:100%;justify-content:center;padding:12px}.empty-state{padding:32px 16px}.empty-state-title{font-size:18px}.empty-state-text{font-size:14px}.confirmation-modal{width:90%;max-width:350px;padding:20px}.confirmation-modal h3{font-size:18px}.confirmation-actions{flex-direction:column;gap:12px}.cancel-button,.delete-confirm-button{width:100%;padding:12px}}.auth-error-container{max-width:800px;margin:2rem auto;padding:1.5rem;background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;text-align:center}.auth-error-container h2{color:#f43f5e;margin-bottom:.5rem}.auth-error-container p{color:#666;margin-bottom:1.5rem}.empty-state{grid-column:1 / -1;text-align:center;padding:48px 16px;background-color:#f9fafc;border-radius:12px;border:1px dashed #e2e8f0}.empty-state svg{width:48px;height:48px;color:#94a3b8;margin-bottom:16px}.empty-state-title{margin:0 0 8px;font-size:20px;font-weight:600;color:#1e293b}.empty-state-text{font-size:16px;color:#64748b;max-width:500px;margin:0 auto 24px}.loading-state{grid-column:1 / -1;text-align:center;padding:48px 16px}.spinner{width:40px;height:40px;border:3px solid rgba(79,70,229,.1);border-radius:50%;border-top-color:#4f46e5;display:inline-block;animation:spin 1s linear infinite;margin-bottom:16px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.confirmation-modal{background-color:#fff;border-radius:12px;padding:24px;max-width:400px;width:100%;box-shadow:0 10px 25px #0000001a}.confirmation-modal h3{margin-top:0;margin-bottom:16px;font-size:18px;color:#ef4444}.confirmation-modal p{margin-bottom:24px;color:#4b5563;line-height:1.5}.confirmation-actions{display:flex;justify-content:flex-end;gap:12px}.cancel-button{padding:10px 16px;background-color:#f1f5f9;color:#475569;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.cancel-button:hover{background-color:#e2e8f0}.delete-confirm-button{padding:10px 16px;background-color:#ef4444;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.delete-confirm-button:hover{background-color:#dc2626}.database-setup-required{grid-column:1 / -1;text-align:center;padding:48px 16px;background-color:#fff;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 4px 12px #0000000d}.setup-message{max-width:600px;margin:0 auto}.setup-message h2{margin-top:0;font-size:24px;font-weight:600;color:#1e293b;margin-bottom:12px}.setup-message p{font-size:16px;color:#4b5563;margin-bottom:24px}.setup-button{background-color:#4f46e5;color:#fff;border:none;border-radius:8px;padding:12px 20px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .2s}.setup-button:hover{background-color:#4338ca}.setup-button:disabled{background-color:#94a3b8;cursor:not-allowed}.manual-setup{margin-top:24px;padding:20px;background-color:#f8fafc;border-radius:8px;border-left:4px solid #4f46e5}.manual-setup h3{margin-top:0;color:#4f46e5;font-size:18px;margin-bottom:12px}.manual-setup ol{margin-left:20px;margin-bottom:20px;color:#4b5563}.manual-setup li{margin-bottom:8px}.sql-code{background-color:#1e293b;border-radius:8px;margin-bottom:16px;position:relative}.sql-code pre{padding:16px;overflow-x:auto;color:#e2e8f0;font-family:Courier New,Courier,monospace;font-size:14px;line-height:1.5;max-height:300px}.copy-button{position:absolute;top:8px;right:8px;background-color:#ffffff1a;color:#e2e8f0;border:none;border-radius:6px;padding:6px 12px;font-size:12px;cursor:pointer;transition:background-color .2s}.copy-button:hover{background-color:#fff3}.try-again-button{background-color:#4f46e5;color:#fff;border:none;border-radius:8px;padding:10px 16px;font-size:16px;cursor:pointer;transition:background-color .2s}.try-again-button:hover{background-color:#4338ca}.auth-error-container{grid-column:1 / -1;text-align:center;padding:48px 16px;background-color:#fff;border-radius:12px;border:1px solid #fee2e2;box-shadow:0 4px 12px #0000000d}.auth-error-container h2{margin-top:0;font-size:24px;font-weight:600;color:#ef4444}.auth-error-container p{font-size:16px;color:#4b5563;margin-bottom:24px}.view-toggle{display:flex;gap:8px;margin-right:16px}.view-toggle-button{display:flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#64748b;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.view-toggle-button svg{width:16px;height:16px}.view-toggle-button.active:hover{background:#4338ca;border-color:#4338ca}.rota-details-modern{padding:16px 20px 20px;display:flex;flex-direction:column;gap:12px}.detail-row{display:flex;gap:12px;flex-wrap:wrap}.detail-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:8px;font-size:.8125rem;font-weight:500;color:#475569;transition:all .2s ease}.detail-badge:hover{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 2px 4px #0000000d}.detail-badge svg{color:#6366f1;flex-shrink:0}.detail-badge span{white-space:nowrap}.detail-badge-highlight{background:linear-gradient(135deg,#ede9fe,#ddd6fe);border-color:#c4b5fd;font-weight:600}.detail-badge-highlight:hover{background:linear-gradient(135deg,#ddd6fe,#c4b5fd);border-color:#a78bfa}.detail-badge-highlight svg{color:#7c3aed}.rota-status{display:flex;align-items:center;gap:8px;padding:8px 12px;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #bbf7d0;border-radius:8px;margin-top:4px}.status-indicator{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 2px #22c55e33;animation:pulse-green 2s ease-in-out infinite}@keyframes pulse-green{0%,to{box-shadow:0 0 0 2px #22c55e33}50%{box-shadow:0 0 0 4px #22c55e1a}}.status-text{font-size:.8125rem;font-weight:500;color:#166534}.rota-calendar{background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014;padding:20px;margin-bottom:24px}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:16px}.calendar-controls{display:flex;align-items:center;gap:12px}.calendar-header h2{margin:0;font-size:20px;font-weight:600;color:#1a202c;min-width:200px;text-align:center}.calendar-nav-button{background:none;border:1px solid #e2e8f0;font-size:16px;color:#4f46e5;cursor:pointer;padding:8px 12px;border-radius:6px;transition:all .2s}.calendar-nav-button:hover{background-color:#f3f4f6;border-color:#4f46e5}.calendar-today-button{background:#4f46e5;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.calendar-today-button:hover{background:#4338ca}.view-toggle{display:flex;gap:8px}.view-toggle-button{padding:8px 16px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#64748b;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.view-toggle-button:hover{background:#f8fafc;border-color:#cbd5e1}.calendar-grid{display:flex;flex-direction:column;gap:8px}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:8px}.weekday{text-align:center;font-weight:500;color:#64748b;font-size:14px;padding:12px 8px;background:#f8fafc;border-radius:6px}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;animation:fadeInUp .6s ease-out}.calendar-day{aspect-ratio:1;border:1px solid #e2e8f0;border-radius:8px;padding:8px;min-height:120px;display:flex;flex-direction:column;background:#fff;transition:all .3s cubic-bezier(.4,0,.2,1);transform:translateY(0);opacity:0;animation:slideInDay .5s ease-out forwards}.calendar-day:hover{border-color:#4f46e5;box-shadow:0 8px 25px #4f46e526;transform:translateY(-4px) scale(1.02)}.calendar-day.other-month{background:#f8fafc;color:#94a3b8}.calendar-day.today{border-color:#4f46e5;background:#f5f3ff}.day-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid #e2e8f0;flex-wrap:wrap;gap:4px}.day-number{font-size:14px;font-weight:600;color:#1e293b}.week-commencing-label{font-size:12px;font-weight:500;color:#4f46e5;background:#4f46e51a;padding:2px 6px;border-radius:4px;white-space:nowrap}.calendar-day.week-commencing{border-left:3px solid #4f46e5}.today-indicator{font-size:12px;font-weight:500;color:#4f46e5;background:#4f46e51a;padding:2px 6px;border-radius:4px}.day-rotas{display:flex;flex-direction:column;gap:4px;overflow-y:auto;flex-grow:1}.rota-indicator{padding:6px 8px;border-radius:4px;font-size:12px;cursor:pointer;color:#fff;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:2px;transform:translateY(0) scale(1);opacity:0;animation:slideInRota .4s ease-out forwards}.rota-indicator:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 4px 12px #00000026}.rota-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.rota-day-label{font-size:10px;opacity:.85;font-weight:500;letter-spacing:.5px;text-transform:uppercase;background:#fff3;padding:2px 6px;border-radius:3px;align-self:flex-start}.rota-department{font-size:11px;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 768px){.rota-calendar{padding:12px}.calendar-header{flex-direction:column;align-items:stretch}.calendar-controls{justify-content:space-between}.calendar-header h2{font-size:18px}.calendar-day{min-height:100px}.weekday{padding:8px 4px;font-size:12px}.day-number{font-size:13px}.rota-indicator{padding:4px 6px;font-size:11px}.rota-department{font-size:10px}}.calendar-days.week-view{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;width:100%;max-width:100%;overflow:hidden}.calendar-days.week-view .calendar-day{min-height:140px;max-height:160px;width:100%;padding:6px;font-size:12px}.calendar-days.week-view .day-number{font-size:12px}.calendar-days.week-view .rota-indicator{padding:4px 6px;font-size:10px;margin-bottom:2px}.calendar-days.week-view .rota-name{font-size:10px}.calendar-days.week-view .rota-day-label{font-size:8px;padding:1px 4px}.calendar-days.week-view .week-commencing-label,.calendar-days.week-view .today-indicator{font-size:10px;padding:1px 4px}@media (max-width: 768px){.calendar-days.week-view{gap:3px}.calendar-days.week-view .calendar-day{min-height:120px;max-height:140px;padding:4px}.calendar-days.week-view .day-number{font-size:11px}.calendar-days.week-view .rota-indicator{padding:3px 4px;font-size:9px}}@media (max-width: 640px){.calendar-days.week-view{gap:2px}.calendar-days.week-view .calendar-day{min-height:100px;max-height:120px;padding:3px}.calendar-days.week-view .day-number{font-size:10px}.calendar-days.week-view .rota-indicator{padding:2px 3px;font-size:8px}.calendar-days.week-view .rota-name{font-size:8px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDay{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideInRota{0%{opacity:0;transform:translate(-10px) scale(.9)}to{opacity:1;transform:translate(0) scale(1)}}.calendar-day:nth-child(1){animation-delay:.05s}.calendar-day:nth-child(2){animation-delay:.1s}.calendar-day:nth-child(3){animation-delay:.15s}.calendar-day:nth-child(4){animation-delay:.2s}.calendar-day:nth-child(5){animation-delay:.25s}.calendar-day:nth-child(6){animation-delay:.3s}.calendar-day:nth-child(7){animation-delay:.35s}.calendar-day:nth-child(8){animation-delay:.4s}.calendar-day:nth-child(9){animation-delay:.45s}.calendar-day:nth-child(10){animation-delay:.5s}.calendar-day:nth-child(11){animation-delay:.55s}.calendar-day:nth-child(12){animation-delay:.6s}.calendar-day:nth-child(13){animation-delay:.65s}.calendar-day:nth-child(14){animation-delay:.7s}.calendar-day:nth-child(15){animation-delay:.75s}.calendar-day:nth-child(16){animation-delay:.8s}.calendar-day:nth-child(17){animation-delay:.85s}.calendar-day:nth-child(18){animation-delay:.9s}.calendar-day:nth-child(19){animation-delay:.95s}.calendar-day:nth-child(20){animation-delay:1s}.calendar-day:nth-child(21){animation-delay:1.05s}.calendar-day:nth-child(22){animation-delay:1.1s}.calendar-day:nth-child(23){animation-delay:1.15s}.calendar-day:nth-child(24){animation-delay:1.2s}.calendar-day:nth-child(25){animation-delay:1.25s}.calendar-day:nth-child(26){animation-delay:1.3s}.calendar-day:nth-child(27){animation-delay:1.35s}.calendar-day:nth-child(28){animation-delay:1.4s}.calendar-day:nth-child(29){animation-delay:1.45s}.calendar-day:nth-child(30){animation-delay:1.5s}.calendar-day:nth-child(31){animation-delay:1.55s}.calendar-day:nth-child(32){animation-delay:1.6s}.calendar-day:nth-child(33){animation-delay:1.65s}.calendar-day:nth-child(34){animation-delay:1.7s}.calendar-day:nth-child(35){animation-delay:1.75s}.calendar-day:nth-child(36){animation-delay:1.8s}.calendar-day:nth-child(37){animation-delay:1.85s}.calendar-day:nth-child(38){animation-delay:1.9s}.calendar-day:nth-child(39){animation-delay:1.95s}.calendar-day:nth-child(40){animation-delay:2s}.calendar-day:nth-child(41){animation-delay:2.05s}.calendar-day:nth-child(42){animation-delay:2.1s}.rota-indicator:nth-child(1){animation-delay:.1s}.rota-indicator:nth-child(2){animation-delay:.2s}.rota-indicator:nth-child(3){animation-delay:.3s}.rota-indicator:nth-child(4){animation-delay:.4s}.rota-indicator:nth-child(5){animation-delay:.5s}.calendar-day:hover .rota-indicator{transform:translateY(-1px) scale(1.02)}.calendar-day.today{border-color:#4f46e5;background:linear-gradient(135deg,#f5f3ff,#ede9fe);box-shadow:0 4px 12px #4f46e51a}.calendar-day.week-commencing{border-left:3px solid #4f46e5;background:linear-gradient(135deg,#fff,#f8fafc)}.calendar-days.changing{animation:fadeOut .2s ease-in-out}@keyframes fadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.daily-planner{width:100%;font-family:Arial,sans-serif;overflow-x:visible;padding:1rem;box-sizing:border-box;background:hsl(var(--background));border-radius:8px;box-shadow:0 1px 3px #0000001a;margin:1rem 0}.daily-planner-header{padding:1.5rem;border-bottom:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:8px 8px 0 0;margin-bottom:24px;width:100%}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.header-top h2{font-size:1.5rem;font-weight:600;color:hsl(var(--foreground));margin:0;display:flex;align-items:center;gap:.5rem}.header-actions{display:flex;gap:.75rem;align-items:center}.undo-button,.clear-tasks-button{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;transition:all .2s ease;cursor:pointer;border:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground))}.undo-button:hover,.clear-tasks-button:hover{background:hsl(var(--accent));color:hsl(var(--accent-foreground));border-color:hsl(var(--accent))}.undo-button svg{width:16px;height:16px}.daily-planner-header h2{margin:0;padding:0;font-size:1.4rem;font-weight:600;text-align:left;color:#333;letter-spacing:-.02em;display:flex;align-items:center;gap:8px}.daily-planner-header h2:before{content:"";width:10px;height:10px;background-color:#4472c4;border-radius:50%;display:inline-block}.daily-planner-header p{margin:6px 0;font-size:.95rem;text-align:left;color:#555;display:flex;align-items:center;gap:8px}.trading-hours,.events-info{display:flex;align-items:center;gap:.5rem}.trading-hours:before{content:"🕒"}.events-info:before{content:"📅"}.planner-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;padding:1rem;background:hsl(var(--muted));border-radius:6px}.planner-info-grid p{margin:0;display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:hsl(var(--muted-foreground))}.planner-table-container{width:100%;overflow-x:auto;border-radius:4px;box-shadow:0 2px 4px #0000001a;-webkit-overflow-scrolling:touch;margin-bottom:20px;max-height:none;overflow-y:visible;position:relative}.planner-table{width:100%;border-collapse:collapse;table-layout:fixed;min-width:1100px;border:1px solid #ccc}.planner-table thead{position:sticky;top:0;z-index:2;background:#f2f2f2;box-shadow:0 2px 4px #0000001a}.planner-table th{background-color:#f2f2f2;font-weight:700;white-space:nowrap;color:#333;border-bottom:2px solid #ddd;padding:8px 4px;position:sticky;top:0;z-index:2}.planner-table th,.planner-table td{border:1px solid #000!important;padding:4px;text-align:center;font-size:.9rem;line-height:1.2;vertical-align:middle}.planner-table th:not(:first-child):not(:nth-child(2)):not(:nth-child(3)),.planner-table td:not(:first-child):not(:nth-child(2)):not(:nth-child(3)){width:auto;min-width:65px}.planner-table th:first-child,.planner-table td:first-child{position:sticky;left:0;background-color:#f2f2f2;z-index:3;width:120px;min-width:120px;box-shadow:2px 0 5px -2px #0000001a}.planner-table th:nth-child(2),.planner-table td:nth-child(2){position:sticky;left:120px;background-color:#f2f2f2;z-index:3;width:140px;min-width:140px;text-align:left;padding-left:8px;box-shadow:2px 0 5px -2px #0000001a}.planner-table th:nth-child(3),.planner-table td:nth-child(3){position:sticky;left:260px;background-color:#f2f2f2;z-index:3;width:60px;min-width:60px;box-shadow:2px 0 5px -2px #0000001a}.planner-table thead th:first-child,.planner-table thead th:nth-child(2),.planner-table thead th:nth-child(3){z-index:4}.team-header td{background-color:#f2f2f2;color:#000;font-weight:700;text-align:left;padding-left:10px;font-size:1rem;text-transform:uppercase;text-shadow:none;position:relative;z-index:2}.staff-row:nth-child(2n){background-color:#f9f9f9}.staff-row:hover{background-color:#e9e9e9}.team-cell{text-align:left;white-space:normal;color:#777;font-size:.7rem;padding-left:5px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;max-width:140px}.name-cell{text-align:left;white-space:normal;font-weight:700;color:#333;padding-left:5px;line-height:1.2}.shift-cell{text-align:center;white-space:nowrap;font-weight:700;color:#333}.time-slot-cell{text-align:center;padding:.5rem;border:1px solid #000;font-size:.875rem;transition:all .2s ease;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.time-slot-cell.active{background-color:#fff;cursor:pointer;border:1px solid #000}.time-slot-cell.active:hover{opacity:.9;transform:scale(1.05)}.time-slot-cell:not(.active){background-color:#d1d2d5;color:#9ca3af}.time-slot-cell[data-has-task=true]{font-weight:600;text-shadow:0 1px 1px rgba(0,0,0,.1)}.time-slot-cell-code{font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;color:#000}.time-slot-cell.active.has-task-code{border-color:#b0b0b0;box-shadow:0 1px 2px #0000001a}.team-total-row{font-weight:700;background-color:#e6e6e6}.team-total-row td:first-child{background-color:#e6e6e6}.team-total-row td:nth-child(2){background-color:#e6e6e6}.team-total-row td:nth-child(3){background-color:#e6e6e6;text-align:center}.total-cell{font-weight:700;background-color:#f2f2f2;position:relative;cursor:help}.total-cell:hover{background-color:#e9e9e9}.shift-time{display:inline-block;padding:2px 6px;border-radius:3px;font-weight:700;font-size:.8rem;position:relative}.morning-shift .shift-time{background-color:#e1f5fe;color:#0277bd;border:1px solid #B3E5FC}.morning-shift .shift-time:before{content:"AM";position:absolute;top:-8px;right:-4px;background-color:#0277bd;color:#fff;font-size:7px;padding:1px 3px;border-radius:3px;font-weight:700}.evening-shift .shift-time{background-color:#fff3e0;color:#e65100;border:1px solid #FFE0B2}.evening-shift .shift-time:before{content:"PM";position:absolute;top:-8px;right:-4px;background-color:#e65100;color:#fff;font-size:7px;padding:1px 3px;border-radius:3px;font-weight:700}tr.morning-shift{background-color:#e1f5fe33}tr.evening-shift{background-color:#fff3e033}tr.morning-shift:nth-child(2n){background-color:#e1f5fe4d}tr.evening-shift:nth-child(2n){background-color:#fff3e04d}tr.morning-shift:hover,tr.evening-shift:hover{background-color:#e9e9e9}tr.morning-shift td:first-child,tr.morning-shift td:nth-child(2),tr.morning-shift td:nth-child(3){background-color:#f2f2f2}tr.evening-shift td:first-child,tr.evening-shift td:nth-child(2),tr.evening-shift td:nth-child(3){background-color:#f2f2f2}.no-staff-message{padding:30px;text-align:center;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;margin-top:20px}.no-staff-message p{font-size:1.1rem;color:#6c757d}.evening-team-header td{background-color:#fef1e6;background-image:none;color:#000;font-weight:700;text-align:left;padding-left:10px;font-size:1rem;text-transform:uppercase;text-shadow:none}@media (max-width: 768px){.daily-planner{font-size:.85rem;padding:10px}.daily-planner-header{padding:16px;margin-bottom:16px;flex-direction:column;align-items:flex-start;gap:12px;border-radius:12px;background:linear-gradient(to right,#f3f4f6,#e5e7eb)}.daily-planner-title{font-size:1.3rem;margin-bottom:10px;width:100%;color:#374151}.clear-tasks-button{width:100%;justify-content:center;padding:12px;font-size:.95rem;border-radius:10px;background-color:#6366f1;color:#fff;font-weight:500;border:none;box-shadow:0 1px 3px #0000001a;transition:background-color .2s}.clear-tasks-button:active{background-color:#4f46e5}.trading-hours,.events-info{padding:12px 14px;margin-bottom:12px;font-size:.9rem;border-radius:8px;box-shadow:0 1px 2px #0000000d}.planner-table-container{margin:0 -10px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:16px;scrollbar-width:thin}.planner-table-container::-webkit-scrollbar{height:8px}.planner-table-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:8px}.planner-table-container::-webkit-scrollbar-thumb{background:#c5c5c5;border-radius:8px}.planner-table-container::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.planner-table{min-width:650px;font-size:.85rem;border-collapse:separate;border-spacing:0}.planner-table thead th{position:sticky;top:0;z-index:5;background-color:#f9fafb;padding:12px 6px;font-weight:600;box-shadow:0 1px 2px #0000000d}.planner-table tbody td:first-child,.planner-table thead th:first-child{position:sticky;left:0;z-index:4;background-color:#f9fafb}.header-row th{padding:12px 6px;position:sticky;top:0;z-index:10;background-color:#f9fafb;white-space:nowrap;font-size:.8rem;font-weight:600;color:#4b5563}.team-column,.team-name-cell{position:sticky;left:0;z-index:9;background-color:#f9fafb;box-shadow:2px 0 4px #0000000d}.header-cell{min-width:70px;font-size:.8rem;padding:10px 6px;white-space:nowrap;text-align:center}.team-header td{background-color:#e0e7ff;font-weight:600;color:#4338ca;padding:10px 8px;text-align:left;position:sticky;left:0;font-size:.9rem}.staff-cell{min-height:50px;padding:4px}.time-slot-cell{min-width:70px;height:45px;text-align:center;position:relative;cursor:pointer;border-radius:6px;transition:background-color .2s;padding:4px;touch-action:manipulation}.time-slot-cell:active{background-color:#6366f11a}.time-slot-cell-code{padding:6px 4px;border-radius:4px;font-weight:500;font-size:.85rem;color:#1f2937;margin:auto;display:flex;justify-content:center;align-items:center;height:100%;min-height:32px}.name-cell{min-width:120px;max-width:150px;padding:8px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.9rem}.shift-cell{min-width:80px;white-space:nowrap;padding:8px;font-size:.8rem}}@media (max-width: 360px){.daily-planner{font-size:.8rem;padding:6px}.daily-planner-header{padding:10px}.daily-planner-title{font-size:1.1rem}.planner-table{min-width:550px}.header-cell{min-width:55px;font-size:.75rem}.team-name-cell{min-width:100px;font-size:.8rem}.staff-bubble{padding:4px 5px;font-size:.7rem}}.team-header+tr th{background-color:#f2f2f2;font-weight:700;white-space:nowrap;color:#333;border-bottom:2px solid #ddd;padding:8px 4px;z-index:2}.team-header+tr th:first-child{position:sticky;left:0;background-color:#f2f2f2;z-index:3;width:120px;min-width:120px;box-shadow:2px 0 5px -2px #0000001a}.team-header+tr th:nth-child(2){position:sticky;left:120px;background-color:#f2f2f2;z-index:3;width:140px;min-width:140px;text-align:left;padding-left:8px;box-shadow:2px 0 5px -2px #0000001a}.team-header+tr th:nth-child(3){position:sticky;left:260px;background-color:#f2f2f2;z-index:3;width:60px;min-width:60px;box-shadow:2px 0 5px -2px #0000001a}.lunch-indicator{font-size:.75em;color:#8b0000;font-weight:700;margin-left:2px;background-color:#ffe0e0;padding:1px 3px;border-radius:3px;border:1px solid #FF9B9B}.time-slot-cell[data-has-task=true] .time-slot-cell-code{padding:2px 4px;border-radius:4px;display:inline-block}.time-slot-cell-code:only-child{display:flex;justify-content:center;align-items:center;height:100%;width:100%}.dragging{opacity:.5;cursor:grabbing}.staff-row{transition:all .2s ease-in-out}.staff-row.dragging{background-color:#0000000d;outline:2px dashed #2d8cff}.team-header{position:relative;transition:background-color .2s ease}.team-header.drop-target{background-color:#2d8cff33!important}.staff-context-menu{position:absolute;background-color:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 2px 10px #0000001a;padding:8px 0;z-index:1000;min-width:160px}.staff-context-menu-header{padding:8px 16px;font-weight:700;color:#555;border-bottom:1px solid #eee;margin-bottom:8px}.staff-context-menu-item{padding:8px 16px;cursor:pointer}.staff-context-menu-item:hover{background-color:#f5f5f5}@keyframes moveSuccess{0%{transform:translateY(0)}50%{transform:translateY(-5px)}to{transform:translateY(0)}}.move-success{animation:moveSuccess .3s ease}.loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#fffc;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000;border-radius:8px}.loading-spinner{width:40px;height:40px;border:3px solid hsl(var(--border));border-top-color:hsl(var(--primary));border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.staff-row{cursor:pointer;transition:background-color .2s ease,opacity .2s ease,transform .2s ease}.staff-row:hover{background-color:#00000008;transform:translateY(-1px)}.staff-row.dragging{opacity:.65;background-color:#2d8cff1f;border:1px dashed rgba(45,140,255,.6);transform:scale(1.01);box-shadow:0 3px 10px #0000001a}.staff-name-container{display:flex;align-items:center;justify-content:space-between}.staff-name{font-weight:500}.move-indicator{opacity:0;color:#666;margin-left:8px;font-size:14px;transition:opacity .2s ease;cursor:grab}.staff-row:hover .move-indicator{opacity:.8}.staff-row.dragging .move-indicator{opacity:1;color:#2d8cff}.staff-row:active .move-indicator{cursor:grabbing}.staff-context-menu{position:fixed;background-color:#fff;border:1px solid rgba(0,0,0,.1);border-radius:4px;box-shadow:0 2px 8px #00000026;padding:4px 0;z-index:1000;min-width:180px;max-width:220px}.context-menu-header{padding:8px 12px;font-size:14px;font-weight:500;color:#555;border-bottom:1px solid rgba(0,0,0,.1);margin-bottom:4px}.context-menu-subheader{padding:6px 12px;font-size:13px;color:#777;font-style:italic}.context-menu-item{padding:8px 12px;font-size:14px;cursor:pointer;transition:background-color .1s ease}.context-menu-item:hover{background-color:#2d8cff1a;color:#2d8cff}.context-menu-item.disabled{opacity:.5;cursor:not-allowed;color:#999}.context-menu-item.disabled:hover{background-color:transparent;color:#999}.staff-drag-preview{position:fixed;top:-1000px;left:-1000px;background-color:#fff;border:1px solid #ddd;border-radius:4px;padding:8px 12px;font-size:14px;color:#333;box-shadow:0 2px 8px #00000026;pointer-events:none;z-index:1000}.name-with-edit{display:flex;align-items:center;gap:8px}.edit-name-button{background:none;border:none;color:#6b7280;cursor:pointer;padding:2px;display:flex;align-items:center;justify-content:center;border-radius:4px;opacity:.6;transition:all .2s}.edit-name-button:hover{background-color:#f3f4f6;color:#4f46e5;opacity:1}.staff-context-menu{background-color:#fff;border-radius:4px;box-shadow:0 2px 10px #0000001a;padding:4px;min-width:120px}.staff-context-menu button{display:block;width:100%;text-align:left;padding:8px 12px;background:none;border:none;border-radius:4px;cursor:pointer}.staff-context-menu button:hover{background-color:#f3f4f6;color:#4f46e5}.team-section{position:relative;transition:background-color .3s ease,border .3s ease,box-shadow .3s ease,transform .2s ease}.team-section.drop-target-active{background-color:#2d8cff1a;border:2px dashed #2d8cff;box-shadow:inset 0 0 0 2px #2d8cff4d;transform:scale(1.01)}.team-section.drop-target-active:after{content:"Drop staff member here";position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#2d8cff1a;border:2px dashed #2d8cff;color:#2d8cff;font-weight:700;font-size:16px;pointer-events:none;z-index:10}@keyframes dropSuccess{0%{background-color:#4caf5026;border-color:#4caf5080}50%{background-color:#4caf504d;border-color:#4caf50cc}to{background-color:#4caf5026;border-color:#4caf5080}}.team-section.drop-success{background-color:#4caf5026;border:2px solid rgba(76,175,80,.5);box-shadow:inset 0 0 0 2px #4caf504d;animation:dropSuccess 1s ease-in-out}.staff-name-edit-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1100;animation:fadeIn .2s ease-out}.staff-name-edit-modal{background-color:#fff;border-radius:8px;width:90%;max-width:450px;box-shadow:0 4px 20px #00000026;animation:slideUp .3s ease-out}.staff-name-edit-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e5e7eb}.staff-name-edit-header h3{margin:0;font-size:1.2rem;font-weight:600;color:#111827}.close-button{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;transition:background-color .2s}.close-button:hover{background-color:#f3f4f6;color:#111827}.staff-name-edit-content{padding:20px}.staff-info{background-color:#f9fafb;border-radius:6px;padding:16px;margin-bottom:20px;border:1px solid #e5e7eb}.info-row{display:flex;margin-bottom:8px}.info-row:last-child{margin-bottom:0}.info-label{font-weight:500;color:#4b5563;width:110px;flex-shrink:0}.info-value{color:#111827;font-weight:500}.name-edit-field{margin-bottom:24px}.name-edit-field label{display:block;font-weight:500;color:#374151;margin-bottom:6px}.name-edit-field input{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.name-edit-field input:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a;outline:none}.name-edit-actions{display:flex;justify-content:flex-end;gap:12px}.cancel-button,.revert-button,.save-button{padding:8px 16px;border-radius:6px;font-weight:500;font-size:.95rem;cursor:pointer;transition:all .2s}.cancel-button{background-color:#f3f4f6;color:#4b5563;border:1px solid #d1d5db}.cancel-button:hover{background-color:#e5e7eb}.revert-button{background-color:#fff0f0;color:#dc2626;border:1px solid #fecaca}.revert-button:hover{background-color:#fee2e2}.save-button{background-color:#4f46e5;color:#fff;border:none}.save-button:hover{background-color:#4338ca}.save-button:disabled,.cancel-button:disabled,.revert-button:disabled{opacity:.5;cursor:not-allowed}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 640px){.staff-name-edit-modal{width:95%;max-height:90vh;overflow-y:auto}.staff-name-edit-header{padding:14px 16px}.staff-name-edit-content{padding:16px}.name-edit-actions{flex-direction:column-reverse;gap:8px}.cancel-button,.revert-button,.save-button{width:100%;padding:12px}}.clear-tasks-modal{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 10px #0000001a;width:90%;max-width:500px}.clear-tasks-modal h2{margin:0 0 1.5rem;color:#333;font-size:1.5rem}.clear-options{margin-bottom:1.5rem}.option-group{margin-bottom:1rem}.option-group label{display:block;margin-bottom:.5rem;color:#666;font-weight:500}.option-group select{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;background-color:#fff}.warning-message{background-color:#fff3cd;border:1px solid #ffeeba;color:#856404;padding:1rem;border-radius:4px;margin-bottom:1.5rem}.warning-message p{margin:0;display:flex;align-items:center;gap:.5rem}.modal-actions{display:flex;justify-content:flex-end;gap:1rem}.cancel-button,.clear-button{padding:.5rem 1rem;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .2s}.cancel-button{background-color:#f8f9fa;border:1px solid #ddd;color:#333}.cancel-button:hover{background-color:#e9ecef}.clear-button{background-color:#dc3545;border:1px solid #dc3545;color:#fff}.clear-button:hover{background-color:#c82333}.clear-button:disabled{background-color:#e9ecef;border-color:#ddd;color:#6c757d;cursor:not-allowed}.weekly-rota{position:relative;width:100%;height:auto;min-height:100%;padding:0;background-color:#fff;border-radius:0;box-shadow:none;box-sizing:border-box;overflow:visible;padding-bottom:env(safe-area-inset-bottom,20px)}.weekly-rota-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:20px 24px;border-bottom:none;width:100%;background:linear-gradient(135deg,#f8fafc,#fff);border-radius:10px;box-shadow:0 2px 8px #0000000a;box-sizing:border-box}.rota-planner-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;position:sticky;top:65px;z-index:9999;background:#fff;padding:15px 20px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.rota-planner-header{transition:box-shadow .3s ease}.rota-planner-header.sticky{box-shadow:0 4px 12px #00000014}@media (max-width: 768px){.rota-planner-header{position:relative;top:auto;backdrop-filter:none;-webkit-backdrop-filter:none}}.header-left{flex:1}.header-right{display:flex;gap:12px;align-items:center}.button-group{display:flex;gap:8px;align-items:center}.weekly-rota-header h1{font-size:1.6rem;margin:0 0 .5rem;color:#2d3748;font-weight:600;letter-spacing:-.02em}.google-sheet-link{font-size:.95rem;margin:0;color:#4a5568;display:flex;align-items:center;gap:8px}.google-sheet-link:before{content:"🔗";font-size:14px}.google-sheet-link a{color:#4472c4;text-decoration:none;font-weight:500;transition:all .2s ease}.google-sheet-link a:hover{text-decoration:underline;color:#2c4f9c}.day-selector{display:flex;flex-wrap:wrap;gap:.75rem;margin:0 1rem 2rem;background-color:#f8fafc;border-radius:12px;padding:1rem;box-shadow:0 4px 12px #0000000d;border:1px solid #e2e8f0;width:calc(100% - 2rem)}.day-button{flex:1;min-width:120px;background-color:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:14px 10px;font-size:.95rem;font-weight:600;color:#4a5568;cursor:pointer;transition:all .25s ease;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;box-shadow:0 2px 6px #0000000a}.day-button .day-name{font-size:1.05rem;margin-bottom:6px;font-weight:700;color:#2d3748;z-index:1}.day-button .day-date{font-size:.85rem;color:#718096;font-weight:500;z-index:1}.day-button:before{content:"";position:absolute;top:0;left:0;width:100%;height:5px;opacity:.85}.day-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000000f;border-color:#cbd5e0}.day-button.active{background-color:#ebf8ff;border-color:#4472c4;box-shadow:0 5px 15px #4272c426}.day-button.active:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border:2px solid #4472C4;border-radius:10px;pointer-events:none}.export-button,.print-button{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;font-size:.9rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px hsl(var(--foreground) / .05);border:none}.export-button,.print-button{background-color:hsl(var(--accent));color:hsl(var(--primary));border:1px solid hsl(var(--border))}.export-button:hover,.print-button:hover{transform:translateY(-1px);box-shadow:0 4px 8px hsl(var(--foreground) / .1)}.export-button:hover,.print-button:hover{background-color:hsl(var(--accent) / .8)}.day-button[data-day=MON]:before,.day-button[data-day=Mon]:before,.day-button[data-day=Monday]:before{background-color:hsl(var(--primary))}.day-button[data-day=TUES]:before,.day-button[data-day=TUE]:before,.day-button[data-day=Tue]:before,.day-button[data-day=Tues]:before,.day-button[data-day=Tuesday]:before{background-color:hsl(var(--destructive))}.day-button[data-day=WEDS]:before,.day-button[data-day=WED]:before,.day-button[data-day=Wed]:before,.day-button[data-day=Weds]:before,.day-button[data-day=Wednesday]:before{background-color:hsl(var(--accent))}.day-button[data-day=THURS]:before,.day-button[data-day=THU]:before,.day-button[data-day=Thur]:before,.day-button[data-day=Thurs]:before,.day-button[data-day=Thursday]:before{background-color:hsl(var(--primary))}.day-button[data-day=FRI]:before,.day-button[data-day=Fri]:before,.day-button[data-day=Friday]:before{background-color:hsl(var(--accent))}.day-button[data-day=SAT]:before,.day-button[data-day=Sat]:before,.day-button[data-day=Saturday]:before{background-color:#ff6d01}.day-button[data-day=SUN]:before,.day-button[data-day=Sun]:before,.day-button[data-day=Sunday]:before{background-color:#777}.day-today-indicator{position:absolute;top:4px;right:4px;width:8px;height:8px;border-radius:50%;background-color:#ff5252;box-shadow:0 0 4px #ff525280}.error-message{background-color:var(--background, #f8f9fa);border:1px solid var(--border-color, #e0e0e0);border-radius:.375rem;padding:1rem;color:var(--text-secondary, #666);text-align:center;margin-top:1rem}@media (max-width: 768px){.weekly-rota-header{flex-direction:column;align-items:stretch;padding:12px;gap:12px}.header-right{flex-direction:column;gap:10px;width:100%}.button-group{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}.button-group button{width:100%;padding:8px 10px;font-size:.85rem;display:flex;align-items:center;justify-content:center;gap:5px}.day-selector{overflow-x:auto;-webkit-overflow-scrolling:touch;padding:0 0 12px;margin:0 -5px;width:calc(100% + 10px);justify-content:flex-start;scrollbar-width:none;scroll-behavior:smooth;position:relative;display:flex;-ms-overflow-style:none;gap:4px}.day-selector::-webkit-scrollbar{display:none}.day-button{min-width:70px;padding:10px 6px;margin:0 2px;border-radius:10px;flex-shrink:0;touch-action:manipulation;border:2px solid transparent;transition:all .2s ease;position:relative;display:flex;flex-direction:column;align-items:center}.day-button.active{border-color:#6366f1;background-color:#6366f114;transform:translateY(-2px);box-shadow:0 2px 5px #0000001a}.day-button.active:after{width:25px;height:3px;bottom:-5px}.day-name{font-size:.85rem;margin-bottom:4px;font-weight:600}.day-date{font-size:.8rem}.day-today-indicator{top:3px;right:3px;width:8px;height:8px;border-radius:50%}.day-button.selected-day{border-width:2px;transform:translateY(-2px);transition:transform .2s ease}.weekly-rota-content{padding:0}.weekly-rota-table{font-size:.85rem}.team-name-cell{font-size:.9rem;padding:8px 10px;min-width:100px}th,td{padding:8px 5px}.print-options-panel{width:100%;left:0;right:0;top:0;bottom:0;border-radius:0;max-width:none;height:100vh;padding:16px;box-sizing:border-box;position:fixed;animation:slideUpPrintPanel .3s ease-out}@keyframes slideUpPrintPanel{0%{transform:translateY(100%)}to{transform:translateY(0)}}.print-options-header{margin-bottom:15px}.print-options-header h3{font-size:1.1rem}.print-options-form{margin-bottom:15px;overflow-y:auto;max-height:calc(100vh - 170px)}.print-options-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:15px}.print-options-actions button{width:100%;padding:10px;font-size:.9rem}.print-team-option{padding:10px 0;border-bottom:1px solid #edf2f7}.print-team-option label{font-size:.9rem}.print-options-footer{display:grid;grid-template-columns:1fr 1fr;gap:10px}.print-options-footer button{width:100%;padding:12px 10px;font-size:.9rem}.mobile-weekly-rota{padding-bottom:80px}.task-application-footer{display:none}.mobile-footer{position:fixed;bottom:0;left:0;right:0;background:#fff;padding:12px 16px;box-shadow:0 -2px 8px #0000001a;z-index:1000}}@media (max-width: 360px){.button-group{grid-template-columns:1fr}.day-button{min-width:60px;padding:8px 5px}.day-name{font-size:.8rem;margin-bottom:2px}.day-date{font-size:.75rem}}.print-options-panel{background-color:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.25rem;margin:1rem;box-shadow:0 4px 12px #0000000d}.print-options-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;border-bottom:1px solid #e2e8f0;padding-bottom:.75rem}.team-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;margin-bottom:1rem}.team-option label{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#4a5568;cursor:pointer}.team-option input[type=checkbox]{width:16px;height:16px;cursor:pointer}.print-options-footer{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e2e8f0}@media (max-width: 768px){.mobile-weekly-rota{padding:8px}.mobile-team-section{margin-bottom:16px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;overflow:hidden}.mobile-team-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f8fafc;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.mobile-team-header h3{margin:0;font-size:16px;font-weight:600;color:#2d3748}.team-toggle{font-size:14px;color:#4a5568}.mobile-team-staff{padding:8px}.mobile-day-section{margin-bottom:16px;padding:12px;background:#f8fafc;border-radius:6px}.mobile-day-header{margin:0 0 12px;font-size:15px;font-weight:600;color:#2d3748;padding-bottom:8px;border-bottom:1px solid #e2e8f0}.mobile-staff-card{background:#fff;border-radius:6px;padding:12px;margin-bottom:8px;box-shadow:0 1px 2px #0000000d;display:flex;justify-content:space-between;align-items:center}.mobile-staff-header{flex:1}.mobile-staff-header h4{margin:0;font-size:15px;font-weight:600;color:#2d3748}.staff-role{font-size:13px;color:#718096;background:#edf2f7;padding:2px 8px;border-radius:4px;display:inline-block;margin-top:4px}.shift-time{font-size:14px;color:#2d3748;font-weight:500;background:#f7fafc;padding:4px 8px;border-radius:4px;min-width:80px;text-align:center}.no-staff-message{text-align:center;color:#718096;font-size:14px;padding:12px;background:#fff;border-radius:6px;margin-top:8px}.mobile-team-header:active,.mobile-staff-card:active{background:#edf2f7}.mobile-team-staff{transition:max-height .3s ease-out;overflow:hidden}.mobile-team-staff.collapsed{max-height:0}}.mobile-weekly-rota{padding:12px;background:#f8fafc;border-radius:12px;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.mobile-team-section{margin-bottom:16px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;overflow:hidden;transition:all .3s ease}.mobile-team-section:last-child{margin-bottom:20px}.mobile-team-header{display:flex;justify-content:space-between;align-items:center;padding:16px;background:linear-gradient(135deg,#f8fafc,#fff);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background-color .2s ease}.mobile-team-header:active{background:#f1f5f9}.mobile-team-header h3{margin:0;font-size:16px;font-weight:600;color:#1e293b;display:flex;align-items:center;gap:8px}.team-toggle{font-size:14px;color:#64748b;transition:transform .3s ease}.mobile-team-staff{padding:12px;background:#fff;transition:max-height .3s ease-out;overflow:hidden}.mobile-day-section{margin-bottom:16px;padding:12px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.mobile-day-section:last-child{margin-bottom:0}.mobile-day-header{margin:0 0 12px;font-size:15px;font-weight:600;color:#1e293b;padding-bottom:8px;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;gap:8px}.mobile-staff-card{background:#fff;border-radius:8px;padding:12px;margin-bottom:8px;box-shadow:0 1px 3px #0000000d;display:flex;justify-content:space-between;align-items:center;transition:transform .2s ease,box-shadow .2s ease}.mobile-staff-card:last-child{margin-bottom:0}.mobile-staff-card:active{transform:translateY(1px);box-shadow:0 1px 2px #0000000d}.mobile-staff-header{flex:1}.mobile-staff-header h4{margin:0;font-size:15px;font-weight:600;color:#1e293b;display:flex;align-items:center;gap:8px}.staff-role{font-size:13px;color:#64748b;background:#f1f5f9;padding:4px 8px;border-radius:6px;display:inline-block;margin-top:4px}.shift-time{font-size:14px;color:#1e293b;font-weight:500;background:#f8fafc;padding:6px 12px;border-radius:6px;min-width:90px;text-align:center;border:1px solid #e2e8f0}.no-staff-message{text-align:center;color:#64748b;font-size:14px;padding:16px;background:#f8fafc;border-radius:8px;border:1px dashed #cbd5e1}.mobile-team-staff{max-height:0;opacity:0;transition:max-height .3s ease-out,opacity .2s ease-out}.mobile-team-staff.expanded{max-height:2000px;opacity:1}.mobile-team-header:active,.mobile-staff-card:active{background:#f1f5f9}.mobile-team-section.loading{opacity:.7;pointer-events:none}.mobile-weekly-rota:empty:after{content:"No teams available";display:block;text-align:center;padding:24px;color:#64748b;font-size:14px;background:#fff;border-radius:12px;margin:16px 0}.mobile-team-staff{position:relative}.mobile-team-staff:after{content:"";position:absolute;bottom:0;left:0;right:0;height:20px;background:linear-gradient(to top,rgba(255,255,255,.9),transparent);pointer-events:none;opacity:0;transition:opacity .2s ease}.mobile-team-staff.scrollable:after{opacity:1}.staff-count,.date-badge{font-size:13px;color:#64748b;background:#f1f5f9;padding:2px 8px;border-radius:12px;margin-left:8px}.mobile-team-header h3{display:flex;align-items:center;gap:8px}.mobile-team-header h3 svg{color:#64748b}.shift-time{display:flex;align-items:center;gap:6px;justify-content:center}.shift-time svg{color:#64748b}.no-staff-message{display:flex;align-items:center;justify-content:center;gap:8px}.no-staff-message svg{color:#94a3b8}.mobile-team-header:hover{background:#f1f5f9}.mobile-staff-card:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000000d}.mobile-team-staff{transition:all .3s ease-out}.mobile-team-staff.expanded{max-height:2000px;opacity:1;padding:12px}.mobile-team-section.loading{animation:pulse 1.5s infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.mobile-team-staff.scrollable:after{animation:fadeIn .3s ease-out}.planner-table th:nth-child(3),.planner-table td:nth-child(3){position:sticky;left:260px;background-color:#f2f2f2;z-index:3;width:105px;min-width:60px;box-shadow:2px 0 5px -2px #0000001a}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}@media print{.rota-planner-container .planner-header,.rota-planner-container .sheet-url-form,.rota-planner-container .day-selector,.rota-planner-container .header-right,.rota-planner-container .task-code-manager,.rota-planner-container .clear-tasks-button,.rota-planner-container .auto-refresh-settings,.rota-planner-container .google-sheet-link,.rota-planner-container .back-button,.rota-planner-container .print-options-panel,.DashboardLayout>header,.DashboardLayout>.Sidebar{display:none!important}.print-hidden{display:none!important}body{background-color:#fff;font-size:12pt;color:#000;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important}.rota-planner-container .weekly-rota,.rota-planner-container .daily-planner{width:100%!important;margin:0!important;padding:0!important;box-shadow:none!important;background-color:#fff!important;transform:none!important;position:static!important}.rota-planner-container .weekly-rota-header h1{font-size:18pt;margin-bottom:.5cm;text-align:center}.rota-planner-container .planner-table-container{overflow:visible!important;max-height:none!important;width:100%!important;box-shadow:none!important;margin-bottom:.5cm;transform:none!important}.rota-planner-container .planner-table{border-collapse:collapse;width:100%!important;min-width:0!important;font-size:9pt!important;table-layout:fixed!important}.rota-planner-container .planner-table th,.rota-planner-container .planner-table td{border:1px solid black!important;padding:3pt!important;text-align:center;font-size:8pt!important;page-break-inside:avoid;position:static!important;transform:none!important}.rota-planner-container .planner-table td{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;forced-color-adjust:none!important}.rota-planner-container .planner-table th,.rota-planner-container .planner-table td,.rota-planner-container .planner-table thead th{position:static!important;z-index:auto!important;box-shadow:none!important;transform:none!important}.rota-planner-container tr.team-header.stockroom-team:first-of-type:not(.print-hidden){page-break-before:always!important}.rota-planner-container tr.team-header.shopfloor-team td{background-color:#e1f5fe!important;font-weight:700!important;font-size:10pt!important;text-align:left!important;padding-left:6pt!important;text-transform:uppercase!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.rota-planner-container tr.team-header.stockroom-team td{background-color:#fff3e0!important;font-weight:700!important;font-size:10pt!important;text-align:left!important;padding-left:6pt!important;text-transform:uppercase!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.rota-planner-container tr.team-header.shopfloor-team:first-of-type:not(.print-hidden) td:before{content:"SHOPFLOOR TEAMS";display:block;font-size:12pt;font-weight:700;margin-bottom:6pt;text-align:center;color:#333}.rota-planner-container tr.team-header.stockroom-team:first-of-type:not(.print-hidden) td:before{content:"STOCKROOM TEAM";display:block;font-size:12pt;font-weight:700;margin-bottom:6pt;text-align:center;color:#333}.rota-planner-container .staff-row{page-break-inside:avoid}.rota-planner-container .time-slot-cell{page-break-inside:avoid;border:1px solid black!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;forced-color-adjust:none!important}.rota-planner-container .time-slot-cell.has-task-code,.rota-planner-container td.time-slot-cell.has-task-code,.rota-planner-container .planner-table td.time-slot-cell.has-task-code,.rota-planner-container .time-slot-cell[style*=background],.rota-planner-container td.time-slot-cell[style*=background],.rota-planner-container .planner-table td.time-slot-cell[style*=background],.rota-planner-container .time-slot-cell[data-has-task=true],.rota-planner-container td.time-slot-cell[data-has-task=true],.rota-planner-container .planner-table td.time-slot-cell[data-has-task=true]{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;forced-color-adjust:none!important;print-color:exact!important}.rota-planner-container .time-slot-cell-code{color:#000!important;font-weight:700!important;font-size:9pt!important;text-shadow:none!important}.rota-planner-container .time-slot-cell.active:not([style*=background]):not([data-has-task=true]){background-color:#fff!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.rota-planner-container .time-slot-cell:not(.active):not([style*=background]):not([data-has-task=true]){background-color:#d1d2d5!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.rota-planner-container .time-slot-cell.active[data-has-task=true]{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;forced-color-adjust:none!important}.rota-planner-container .shift-time{border:1px solid black!important;padding:2pt!important;font-size:11pt!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.rota-planner-container .morning-shift .shift-time{background-color:#e1f5fe!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.rota-planner-container .evening-shift .shift-time{background-color:#fff3e0!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.rota-planner-container .team-total-row{page-break-after:auto}@page{margin:1cm;size:landscape}.rota-planner-container .weekly-rota:after{content:"Printed on " attr(data-print-date);position:absolute;top:1cm;right:1cm;font-size:8pt;color:#666}.rota-planner-container+*{display:none!important}.rota-planner-container{display:block!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;position:static!important;transform:none!important}.rota-planner-container .Card,.rota-planner-container .CardHeader,.rota-planner-container .CardContent{margin:0!important;padding:0!important;box-shadow:none!important;border:none!important;position:static!important;transform:none!important}.rota-planner-container .TabsList,.rota-planner-container .TabsTrigger{display:none!important}.rota-planner-container .TabsContent{margin:0!important;padding:0!important;position:static!important;transform:none!important}@media (max-width: 768px){.rota-planner-container .planner-table{font-size:7pt!important}.rota-planner-container .planner-table th,.rota-planner-container .planner-table td{padding:2pt!important;font-size:11pt!important}.rota-planner-container tr.team-header.shopfloor-team td,.rota-planner-container tr.team-header.stockroom-team td{font-size:8pt!important}.rota-planner-container .time-slot-cell-code{font-size:11pt!important}}}body.printing .rota-planner-container .planner-header,body.printing .rota-planner-container .sheet-url-form,body.printing .rota-planner-container .day-selector,body.printing .rota-planner-container .header-right,body.printing .rota-planner-container .task-code-manager,body.printing .rota-planner-container .clear-tasks-button,body.printing .rota-planner-container .auto-refresh-settings,body.printing .rota-planner-container .google-sheet-link,body.printing .rota-planner-container .back-button,body.printing .rota-planner-container .print-options-panel{display:none!important}body.printing .rota-planner-container .time-slot-cell.has-task-code,body.printing .rota-planner-container td[style*=background],body.printing .rota-planner-container .time-slot-cell[data-has-task=true]{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;forced-color-adjust:none!important}.print-options-panel{position:fixed;top:50%;left:50%;background-color:#fff;border:1px solid #ddd;border-radius:8px;padding:20px;width:400px;max-height:100vh;overflow-y:auto;box-shadow:0 4px 12px #00000026;z-index:1000}.print-options-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;border-bottom:1px solid #eee;padding-bottom:10px}.print-options-header h3{font-size:1.2rem;margin:0}.print-options-actions{display:flex;gap:10px}.select-all-button,.deselect-all-button{background-color:#f0f0f0;border:1px solid #ddd;border-radius:4px;padding:5px 10px;font-size:.8rem;cursor:pointer}.team-options{display:flex;flex-direction:column;gap:10px;margin-bottom:20px;max-height:50vh;overflow-y:auto;padding:10px;border:1px solid #eee;border-radius:4px}.team-option{display:flex;align-items:center}.team-option label{display:flex;align-items:center;cursor:pointer;width:100%;padding:5px}.team-option label:hover{background-color:#f9f9f9}.team-option input[type=checkbox]{margin-right:10px;cursor:pointer}.print-options-footer{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #eee;padding-top:15px}.cancel-print-button{background-color:#f0f0f0;color:#333;border:1px solid #ddd;border-radius:4px;padding:8px 16px;cursor:pointer}.confirm-print-button{background-color:#007bff;color:#fff;border:none;border-radius:4px;padding:8px 16px;cursor:pointer}.confirm-print-button:hover{background-color:#0069d9}.confirm-print-button:disabled{background-color:#a3c9f5;cursor:not-allowed}.auto-refresh-settings{background-color:transparent;border:none;border-radius:8px;padding:10px 0;margin-bottom:0;box-shadow:none;transition:all .2s ease}.auto-refresh-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;border-bottom:1px solid #f0f0f0;padding-bottom:10px}.refresh-title{display:flex;align-items:center;gap:12px}.auto-refresh-header h3{margin:0;font-size:1.1rem;color:#333;font-weight:600}.next-refresh-timer{display:flex;align-items:center;gap:6px;background-color:#f5f9ff;padding:4px 8px;border-radius:16px;font-size:.8rem;color:#06c;border:1px solid #cce0ff}.timer-circle{width:8px;height:8px;border-radius:50%;background-color:#06c;animation:pulse 2s infinite}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.refresh-actions{display:flex;align-items:center}.manual-refresh-button{background-color:#f0f7ff;color:#06c;border:1px solid #cce0ff;border-radius:6px;padding:8px 16px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px}.manual-refresh-button:before{content:"↻";font-weight:700;font-size:1.1rem}.manual-refresh-button:hover{background-color:#e0efff}.manual-refresh-button:disabled{background-color:#f5f5f5;color:#999;border-color:#e0e0e0;cursor:not-allowed}.settings-content{padding:8px 0}.setting-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.frequency-setting{background-color:transparent;padding:10px 0;border-radius:6px;margin-bottom:12px}.frequency-controls{display:flex;align-items:center;gap:12px}.setting-row label{font-size:.9rem;color:#555;font-weight:500}.setting-row select{padding:6px 12px;border:1px solid #ddd;border-radius:6px;background-color:#fff;font-size:.9rem;min-width:130px;color:#333;transition:all .2s ease}.setting-row select:focus{border-color:#06c;outline:none;box-shadow:0 0 0 2px #0066cc1a}.setting-row select.disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed}.auto-refresh-toggle{display:flex;align-items:center;gap:8px;cursor:pointer}.toggle-container{position:relative;display:inline-block;width:44px;height:22px}.toggle-container input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.3s;border-radius:22px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:2px;bottom:2px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 1px 3px #0000001a}input:checked+.toggle-slider{background-color:#06c}input:focus+.toggle-slider{box-shadow:0 0 1px #06c}input:checked+.toggle-slider:before{transform:translate(22px)}.toggle-label{font-size:.85rem;color:#666;font-weight:500;min-width:24px}.refresh-status{background-color:transparent;border-radius:6px;padding:8px 0;margin-top:5px;border:none}.status-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:.85rem}.status-label{color:#666}.status-value{font-weight:600;color:#333;background-color:#fff;padding:4px 8px;border-radius:4px;border:1px solid #eee}@media (max-width: 768px){.auto-refresh-header{flex-direction:column;align-items:flex-start;gap:12px}.refresh-actions{width:100%}.manual-refresh-button{width:100%;justify-content:center}.setting-row{flex-direction:column;align-items:flex-start;gap:8px}.frequency-controls{width:100%;flex-wrap:wrap}.setting-row select{flex:1;min-width:0}}.source-setting{margin-top:10px;display:flex;align-items:center;justify-content:space-between}.source-controls{display:flex;align-items:center}.source-refresh-toggle{display:flex;align-items:center;cursor:pointer}.source-refresh-toggle .toggle-label{margin-right:8px;font-size:.8rem;color:var(--secondary-text-color)}.source-refresh-toggle .toggle-slider{background-color:#dfc27d}.source-refresh-toggle input:checked+.toggle-slider{background-color:#c27825}.rota-planner-container{width:100%;height:auto;min-height:100%;margin:0;padding:0;font-family:Arial,sans-serif;box-sizing:border-box;overflow:visible;display:flex;flex-direction:column}.rota-planner-container.with-sidebar{padding-right:0;max-width:100%}@media (min-width: 1400px){.rota-planner-container.with-sidebar{padding-right:0;max-width:100%}}.rota-planner-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;padding:20px 24px;border-bottom:none;width:100%;background:#fff;position:sticky;top:65px;z-index:10;box-shadow:0 2px 8px #0000000d;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-sizing:border-box}.rota-planner-header h2{margin:0;font-size:1.7rem;color:#333;font-weight:700;letter-spacing:-.03em}.header-buttons{display:flex;gap:12px;align-items:center}.back-button{display:flex;align-items:center;gap:8px;padding:10px 16px;background-color:#f1f5f9;color:#4a5568;border:1px solid #e2e8f0;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.back-button:hover{background-color:#e2e8f0;transform:translateY(-1px);box-shadow:0 2px 5px #0000000d}.back-button svg{width:16px;height:16px}.print-button{display:inherit;align-items:center;gap:8px;padding:10px 16px;background-color:#f0f7ff;color:#4472c4;border:1px solid #cce0ff;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000000d;position:inherit!important;z-index:1!important}.print-button:hover{background-color:#e0efff;transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.print-button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.print-options-panel{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100vh;background-color:#fff;border:none;border-radius:0;padding:1.25rem;margin:0;box-shadow:none;z-index:1000;display:flex;flex-direction:column;overflow-y:auto}.print-options-header{position:sticky;top:0;background-color:#fff;z-index:1;padding:1rem 0;margin-bottom:1rem;border-bottom:1px solid #e2e8f0}.print-options-header h3{font-size:1.1rem;font-weight:600;color:#2d3748;margin:0}.print-options-actions{display:flex;gap:.5rem}.select-all-button,.deselect-all-button{padding:.4rem .75rem;font-size:.8rem;font-weight:500;border-radius:6px;border:1px solid #e2e8f0;background-color:#f8fafc;color:#4a5568;cursor:pointer;transition:all .2s ease}.select-all-button:hover,.deselect-all-button:hover{background-color:#edf2f7}.team-options{flex:1;overflow-y:auto;padding:.5rem 0}.print-options-footer{position:sticky;bottom:0;background-color:#fff;z-index:1;padding:1rem 0;margin-top:1rem;border-top:1px solid #e2e8f0}.cancel-print-button,.confirm-print-button{padding:.65rem 1.25rem;font-size:.9rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s ease}.cancel-print-button{background-color:#f1f5f9;color:#4a5568;border:1px solid #e2e8f0}.confirm-print-button{background-color:#4472c4;color:#fff;border:none;box-shadow:0 2px 4px #4272c433}.cancel-print-button:hover{background-color:#e2e8f0}.confirm-print-button:hover{background-color:#3b62b3;transform:translateY(-1px);box-shadow:0 4px 8px #4272c440}.confirm-print-button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.auto-refresh-section{margin-bottom:24px;padding:20px;background-color:#fff;border-radius:10px;border:1px solid #edf2f7;box-shadow:0 2px 10px #00000008}.form-footer{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;width:100%}.last-import{font-size:.9rem;color:#4a5568;margin-bottom:5px;padding:6px 10px;background-color:#f7fafc;border-radius:6px;border-left:3px solid #4472C4}.auto-refresh-controls{display:flex;flex-direction:column;width:100%}.next-refresh{font-size:.8rem;color:#6c757d;text-align:right}.error-message{padding:16px 20px;margin-bottom:20px;background-color:#fff5f5;border-left:4px solid #e53e3e;color:#c53030;border-radius:8px;font-size:.95rem;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 8px #e53e3e1a}.error-message:before{content:"⚠️";margin-right:12px;font-size:1.2rem}.sample-button,.debug-button{padding:10px 16px;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .25s ease;display:inline-flex;align-items:center;justify-content:center;margin-left:10px;box-shadow:0 2px 4px #0000001a}.sample-button{background-color:#ebf8ff;color:#3182ce;border:1px solid #bee3f8}.debug-button{background-color:#e0f0ff;color:#06c;border:1px solid #99CCFF;white-space:nowrap}.sample-button:hover{background-color:#bee3f8;transform:translateY(-1px);box-shadow:0 4px 6px #3182ce1a}.debug-button:hover{background-color:#cce5ff;transform:translateY(-1px);box-shadow:0 4px 6px #0066cc1a}.sample-button:disabled,.debug-button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.help-section{margin-bottom:24px}.help-toggle{background:none;border:none;color:#4472c4;text-decoration:none;cursor:pointer;font-size:.9rem;padding:8px 16px;border-radius:6px;transition:all .2s ease;display:inline-flex;align-items:center;gap:6px}.help-toggle:before{content:"?";display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;background-color:#4472c4;color:#fff;border-radius:50%;font-size:12px;font-weight:700}.help-toggle:hover{color:#2c4f9c;background-color:#f0f7ff}.help-content{margin-top:16px;padding:20px 24px;background-color:#f8fafc;border:none;border-left:4px solid #4472C4;border-radius:8px;font-size:.9rem;box-shadow:0 2px 8px #0000000d}.help-content h3{margin-top:0;margin-bottom:16px;color:#2d3748;font-size:1.1rem;font-weight:600}.help-content h4{margin-top:20px;margin-bottom:10px;color:#4a5568;font-size:1rem;font-weight:600}.help-content p{margin-bottom:12px;line-height:1.6;color:#4a5568}.rota-controls{width:100%;padding:0 16px 16px;background:#fff;border-radius:10px;margin-bottom:24px}.rota-content{width:100%;height:auto;min-height:100%;overflow:visible;margin:0;padding:0;display:flex;flex-direction:column}.rota-content.with-footer-padding{padding-bottom:350px}.rota-content.with-application-padding{padding-bottom:150px}.weekly-rota{width:100%;height:auto;min-height:100%;overflow:visible;border-radius:0;background-color:#fff;box-shadow:none;padding:0}.rota-empty-state,.rota-error-state{padding:16px;width:100%}@media (max-width: 768px){.rota-controls{width:100%;padding:0;background:#fff;border-radius:10px;margin-bottom:24px}.rota-planner-container{padding:8px;overflow-x:hidden}.rota-planner-header{padding:16px;margin-bottom:16px;top:0;border-radius:12px;background:linear-gradient(135deg,#4f46e5,#6366f1);width:100%;flex-direction:column;align-items:flex-start;gap:12px}.rota-planner-header h2{font-size:1.4rem;margin-bottom:8px;color:#fff;width:100%;text-shadow:0 1px 2px rgba(0,0,0,.1)}.rota-planner-header .header-buttons{display:none}.footer-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;padding:16px;background:#fff;position:fixed;bottom:0;left:0;box-shadow:0 -2px 10px #0000001a;z-index:100}.footer-buttons button{width:100%;justify-content:center;font-size:.95rem;padding:14px 10px;text-align:center;border-radius:10px;display:flex;align-items:center;gap:8px;font-weight:500;transition:transform .1s ease,box-shadow .2s ease;border:none}.weekly-rota{width:100vw;min-width:unset;max-width:100vw;overflow-x:unset;position:relative}.weekly-rota table{width:100vw;min-width:unset;max-width:100vw;table-layout:fixed}.weekly-rota th,.weekly-rota td{word-break:break-word;white-space:normal;font-size:13px;padding:6px 2px}.weekly-rota:after{display:none}}@media (max-width: 360px){.header-buttons{grid-template-columns:1fr;gap:8px}.header-buttons button{padding:12px 8px;font-size:.9rem}.print-button{order:2}.hour-focus-button{order:1}.save-button{order:3;grid-column:1}.rota-planner-header h2{font-size:1.3rem}}@media (max-width: 1200px){.rota-planner-container.with-sidebar{padding-right:16px;max-width:100%}.form-group,.sheet-url-input,.form-actions{width:100%}}@media (min-width: 361px) and (max-width: 480px){.header-buttons button span{font-size:.85rem}}.rota-name-input{display:flex;gap:16px;margin-bottom:20px;padding:16px;background-color:#f8fafc;border-radius:8px;border:1px solid #edf2f7}.name-input,.department-input{flex:1;padding:10px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;outline:none;transition:all .2s ease;box-shadow:0 1px 3px #0000000d;background-color:#fff}.name-input:focus,.department-input:focus{border-color:#4472c4;box-shadow:0 0 0 3px #4299e126}.save-button{display:inline-flex;align-items:center;gap:8px;padding:.6rem 1.2rem;background-color:#38a169;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .25s ease;box-shadow:0 2px 4px #38a16933}.save-button:hover{background-color:#2d8753}.save-button:disabled{background-color:#6ee7b7;cursor:not-allowed}.save-button svg{width:16px;height:16px}.save-button.saving{background-color:#6ee7b7}.spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s ease-in-out infinite}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:#6b7280}.spinner{width:40px;height:40px;border:4px solid rgba(79,70,229,.1);border-radius:50%;border-top-color:#4f46e5;animation:spin 1s ease-in-out infinite;margin-bottom:16px}.hour-focus-button{display:flex;align-items:center;gap:6px;padding:8px 14px;font-weight:500;font-size:.9rem;border-radius:6px;border:1px solid #e2e8f0;background-color:#eef2ff;color:#4f46e5;cursor:pointer;transition:all .2s ease;white-space:nowrap}.hour-focus-button:hover{background-color:#e0e7ff;border-color:#c7d2fe}.hour-focus-button:disabled{opacity:.5;cursor:not-allowed;background-color:#f9fafb;color:#9ca3af;border-color:#e5e7eb}.hour-focus-button svg{width:16px;height:16px}.source-url-management{margin-top:10px;padding-top:10px;border-top:1px solid #eaeaea}.source-url-info{display:flex;align-items:center;font-size:.85rem;color:#555}.source-url-label{font-weight:500;margin-right:5px}.source-url-value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#06c;margin-right:10px}.change-source-button{background-color:#f0f0f0;border:1px solid #ccc;border-radius:3px;padding:2px 6px;font-size:.8rem;cursor:pointer}.change-source-button:hover{background-color:#e0e0e0}.add-source-button{background-color:#f0f8ff;border:1px dashed #4dabf7;border-radius:3px;padding:5px 10px;width:100%;text-align:center;color:#06c;cursor:pointer;font-size:.9rem}.add-source-button:hover{background-color:#e3f2fd;border-color:#06c}.source-warning{font-size:.75rem;color:#e67700;margin-top:5px;font-style:italic}@media (max-width: 768px){.source-url-management{margin-top:16px;padding:16px;background-color:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.source-url-info{flex-direction:column;align-items:flex-start;gap:8px;width:100%}.source-url-label{font-size:.9rem;color:#4a5568;margin-bottom:4px}.source-url-value{font-size:.85rem;padding:8px;background-color:#fff;border:1px solid #e2e8f0;border-radius:6px;width:100%;margin-right:0;margin-bottom:8px}.change-source-button{width:100%;padding:10px;text-align:center;font-size:.9rem;background-color:#edf2f7;border-color:#e2e8f0;border-radius:6px}.add-source-button{padding:12px;font-size:.95rem;border-radius:6px;background-color:#edf2f7;border:1px solid #e2e8f0;color:#4a5568}.source-warning{font-size:.8rem;padding:8px;background-color:#fff8e1;border-radius:6px;border:1px solid #ffe082;margin-top:8px;text-align:center}}.filter-toggle-button{padding:8px 16px;background-color:#edf2f7;border:1px solid #e2e8f0;border-radius:6px;color:#4a5568;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;margin-left:auto;display:flex;align-items:center;gap:8px}.team-filter-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000d;margin:16px 0;padding:16px;animation:slideDown .3s ease-out}.team-filter-option label{display:flex;align-items:center;gap:8px;cursor:pointer}.team-filter-option span{font-size:14px;color:#4a5568}@media (max-width: 768px){.rota-planner-container{padding:8px;overflow-x:hidden}.rota-planner-header{flex-direction:column;gap:12px;padding:12px}.header-buttons{display:grid;grid-template-columns:1fr;gap:8px;width:100%}.header-buttons button{width:100%;justify-content:center;padding:12px}.rota-name-input{flex-direction:column;gap:8px}.name-input,.department-input{width:100%}.team-filter-container{margin:8px 0;padding:12px}.team-filter-options{display:grid;grid-template-columns:1fr;gap:8px}.team-filter-option{min-width:100%}.weekly-rota{overflow-x:auto;-webkit-overflow-scrolling:touch}.daily-planner{min-width:100%;margin:0;padding:8px}.staff-cell{min-height:44px;padding:8px}.daily-planner{touch-action:pan-x}.print-options-panel{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;background:#fff;padding:16px;overflow-y:auto}.print-options-header{position:sticky;top:0;background:#fff;padding:12px 0;z-index:1}.mobile-nav{position:fixed;bottom:0;left:0;right:0;background:#fff;padding:8px 16px;box-shadow:0 -2px 10px #0000001a;display:flex;justify-content:space-around;z-index:100}.mobile-nav-button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px;color:#4a5568;font-size:12px}.mobile-nav-button svg{width:24px;height:24px}.pull-to-refresh{position:absolute;top:0;left:0;right:0;height:60px;display:flex;align-items:center;justify-content:center;transform:translateY(-100%);transition:transform .2s}.pull-to-refresh.active{transform:translateY(0)}.task-code-manager{position:fixed;bottom:0;left:0;right:0;background:#fff;padding:12px;box-shadow:0 -2px 10px #0000001a;z-index:100;transform:translateY(100%);transition:transform .3s}.task-code-manager.active{transform:translateY(0)}.hour-focus-view{position:fixed;top:0;left:0;right:0;bottom:0;background:#fff;z-index:1000;padding:16px;overflow-y:auto}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideDown{0%{transform:translateY(0)}to{transform:translateY(100%)}}.staff-card{background:#fff;border-radius:8px;padding:12px;margin-bottom:8px;box-shadow:0 2px 4px #0000000d}.staff-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.staff-card-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.time-slot{padding:8px;border-radius:6px;background:#f8fafc;text-align:center}.mobile-loading{position:fixed;top:0;left:0;right:0;bottom:0;background:#ffffffe6;display:flex;align-items:center;justify-content:center;z-index:1000}.mobile-error{padding:16px;margin:16px;border-radius:8px;background:#fff5f5;color:#c53030}}@media (max-width: 360px){.header-buttons button{font-size:14px;padding:10px}.staff-card-content{grid-template-columns:1fr}.time-slot{font-size:14px}}@media (max-width: 768px){.mobile-daily-view{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.day-navigation{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#f8fafc;border-radius:8px;margin-bottom:16px}.day-navigation button{padding:8px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#4a5568;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.day-navigation button:disabled{opacity:.5;cursor:not-allowed}.day-navigation button:not(:disabled):hover{background:#edf2f7}.day-navigation span{font-size:16px;font-weight:600;color:#2d3748}.weekly-rota{min-width:100%;overflow-x:auto}.weekly-rota table{min-width:600px}.weekly-rota th,.weekly-rota td{padding:8px;font-size:14px;white-space:nowrap}.weekly-rota:after{content:"";position:absolute;top:0;right:0;bottom:0;width:20px;background:linear-gradient(to left,rgba(0,0,0,.05),transparent);pointer-events:none}.staff-cell{min-height:44px;padding:8px}.mobile-daily-view:before,.mobile-daily-view:after{content:"";position:absolute;top:50%;width:20px;height:40px;background:#0000001a;border-radius:4px;transform:translateY(-50%);opacity:0;transition:opacity .2s}.mobile-daily-view:before{left:0}.mobile-daily-view:after{right:0}.mobile-daily-view.swiping:before,.mobile-daily-view.swiping:after{opacity:1}}@media (max-width: 360px){.day-navigation{padding:8px}.day-navigation button{padding:6px 12px;font-size:13px}.day-navigation span{font-size:14px}.weekly-rota th,.weekly-rota td{padding:6px;font-size:13px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;padding:20px;border-radius:8px;min-width:300px;max-width:90%}.modal-content h3{margin:0 0 20px;color:#333}.focus-hours-inputs{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.focus-hours-inputs>div{display:flex;align-items:center;gap:10px}.focus-hours-inputs label{min-width:80px;color:#666}.focus-hours-inputs input[type=time]{padding:8px;border:1px solid #ddd;border-radius:4px;font-size:14px}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.modal-actions button{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s}.modal-actions button:first-child{background-color:#f5f5f5;color:#333}.modal-actions button:last-child{background-color:#007bff;color:#fff}.modal-actions button:hover{opacity:.9}@media (max-width: 768px){.rota-content.with-footer-padding{padding-bottom:400px}.rota-content.with-application-padding{padding-bottom:180px}}@media (min-width: 768px){.print-options-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:400px;height:auto;max-height:80vh;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 4px 12px #00000026}.print-options-header{position:relative;padding:0 0 1rem}.print-options-footer{position:relative;padding:1rem 0 0}}.view-toggle-container{display:flex;gap:8px;padding:12px;background:#f8fafc;border-radius:8px;margin:12px 0;justify-content:center}.view-toggle-button{padding:8px 16px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#64748b;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;flex:1;max-width:150px}.view-toggle-button:hover{background:#f1f5f9;border-color:#cbd5e1}.view-toggle-button.active{background:#4f46e5;border-color:#4f46e5;color:#fff}.mobile-full-table-view{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:1rem;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.mobile-full-table-view .weekly-rota{display:block!important;width:100%;min-width:800px}.mobile-full-table-view .planner-table-container{display:block!important;width:100%;overflow-x:auto}.mobile-full-table-view .planner-table{display:table!important;width:100%;min-width:800px}.mobile-full-table-view .planner-table th,.mobile-full-table-view .planner-table td{display:table-cell!important;padding:.5rem;border:1px solid #e2e8f0;text-align:left;white-space:nowrap}.mobile-full-table-view .planner-table th:first-child,.mobile-full-table-view .planner-table td:first-child{position:sticky;left:0;background:#f8fafc;z-index:2}.mobile-full-table-view .planner-table th:nth-child(2),.mobile-full-table-view .planner-table td:nth-child(2){position:sticky;left:120px;background:#f8fafc;z-index:2}.mobile-full-table-view .planner-table th:nth-child(3),.mobile-full-table-view .planner-table td:nth-child(3){position:sticky;left:240px;background:#f8fafc;z-index:2}.mobile-full-table-view:after{content:"";position:absolute;top:0;right:0;bottom:0;width:20px;background:linear-gradient(to left,rgba(0,0,0,.05),transparent);pointer-events:none}.mobile-full-table-view{touch-action:pan-x;-webkit-overflow-scrolling:touch}.mobile-full-table-view::-webkit-scrollbar{height:8px}.mobile-full-table-view::-webkit-scrollbar-track{background:#f1f1f1;border-radius:8px}.mobile-full-table-view::-webkit-scrollbar-thumb{background:#c5c5c5;border-radius:8px}.mobile-full-table-view::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.view-toggle-container{margin-bottom:1rem}.source-url-value.clickable{transition:all .2s ease;border-radius:4px;padding:2px 4px}.source-url-value.clickable:hover{background-color:#f3f4f6;color:#4338ca!important;transform:translateY(-1px)}.copy-source-button{background:#4f46e5;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease;font-weight:500}.copy-source-button:hover{background:#4338ca;transform:translateY(-1px);box-shadow:0 2px 4px #4f46e533}.copy-source-button:active{transform:translateY(0)}.source-url-info{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.source-url-label{font-weight:500;color:#374151}.rota-top-bar{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;min-height:56px;box-shadow:0 1px 3px #0000000d}.rota-top-bar-left,.rota-top-bar-center,.rota-top-bar-right{display:flex;align-items:center;gap:1rem}.rota-top-bar-left{gap:1.5rem}.day-navigation{display:flex;align-items:center;gap:.5rem;background:#f3f4f6;padding:.25rem;border-radius:8px}.nav-btn{background:none;border:none;padding:.5rem;cursor:pointer;color:#4b5563;border-radius:6px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.nav-btn:hover{background:#e5e7eb;color:#1f2937}.nav-btn:disabled{opacity:.5;cursor:not-allowed}.today-btn{background:#e5e7eb}.today-btn:hover{background:#d1d5db}.day-info{display:flex;flex-direction:column;gap:.25rem}.topbar-current-day{font-weight:600;font-size:1.1rem;color:#1f2937}.topbar-week-code{font-size:.875rem;color:#6b7280}.topbar-last-updated{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#6b7280;padding:.5rem .75rem;background:#f3f4f6;border-radius:6px}.action-btn{background:none;border:none;padding:.5rem;cursor:pointer;color:#4b5563;border-radius:6px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.action-btn:hover{background:#f3f4f6;color:#1f2937}.action-btn:disabled{opacity:.5;cursor:not-allowed}.topbar-more-menu{margin-left:.5rem}.settings-menu{position:absolute;top:100%;right:0;background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;min-width:250px;z-index:1000;margin-top:8px}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #eee}.settings-header h3{margin:0;font-size:16px;font-weight:600;color:#333}.close-settings{background:none;border:none;font-size:20px;color:#666;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px}.close-settings:hover{background:#f5f5f5;color:#333}.settings-section{padding:12px 0;border-bottom:1px solid #eee}.settings-section:last-child{border-bottom:none}.settings-section h4{margin:0 0 8px 16px;font-size:14px;font-weight:600;color:#666}.settings-content{padding:0}.settings-item{padding:8px 16px}.settings-item:hover{background:#f5f5f5}.settings-item label{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.settings-item input[type=checkbox]{margin:0}.settings-item .action-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:#666}.settings-btn{position:relative}.settings-btn:hover{background:#f5f5f5}.task-settings-btn{background-color:#4f46e5;color:#fff;border:none;padding:.5rem;border-radius:8px;cursor:pointer;transition:background-color .2s;display:flex;align-items:center;justify-content:center}.task-settings-btn:hover{background-color:#4338ca}.task-settings-btn svg{width:20px;height:20px}.task-palette-toggle{background:none;border:none;padding:.5rem;cursor:pointer;color:#4b5563;border-radius:6px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.task-palette-toggle:hover{background:#f3f4f6;color:#1f2937}.task-palette-toggle.active{background-color:#4f46e5;color:#fff}.task-palette-toggle.active:hover{background-color:#4338ca}.task-palette-toggle svg{width:20px;height:20px}.action-btn.active{background-color:#4f46e5;color:#fff}.action-btn.active:hover{background-color:#4338ca}.action-btn[title*="Application Mode"]{position:relative}.action-btn[title*="Application Mode"].active:after{content:"";position:absolute;bottom:-2px;left:50%;transform:translate(-50%);width:4px;height:4px;background-color:#4f46e5;border-radius:50%}.action-btn[title*="Application Mode"]:hover:before{content:attr(title);position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding:4px 8px;background-color:#1f2937;color:#fff;font-size:12px;border-radius:4px;white-space:nowrap;z-index:1000;margin-bottom:4px}@media (max-width: 768px){.rota-top-bar{padding:.5rem 1rem}.rota-top-bar-left{gap:1rem}.day-navigation{gap:.25rem}.nav-btn,.action-btn{padding:.375rem}.topbar-current-day{font-size:1rem}.topbar-week-code{font-size:.75rem}.topbar-last-updated{font-size:.75rem;padding:.375rem .5rem}}@media (max-width: 640px){.rota-top-bar{flex-direction:column;align-items:stretch;gap:.5rem;padding:.5rem}.rota-top-bar-left,.rota-top-bar-center,.rota-top-bar-right{justify-content:center}.day-info{align-items:center}}.task-settings-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.task-settings-modal{background-color:#fff;border-radius:16px;width:90%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 40px #0003;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.task-settings-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e2e8f0;background:linear-gradient(135deg,#4f46e5,#6366f1);border-radius:16px 16px 0 0}.task-settings-header h2{color:#fff;margin:0;font-size:1.5rem;font-weight:600}.close-button{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:.5rem;line-height:1;border-radius:8px;transition:background-color .2s}.close-button:hover{background-color:#ffffff1a}.task-settings-content{padding:1.5rem;overflow-y:auto;flex:1}.add-code-section{margin-bottom:1.5rem}.add-code-button{background-color:#4f46e5;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:500;cursor:pointer;transition:background-color .2s}.add-code-button:hover{background-color:#4338ca}.add-code-form{margin-top:1rem;background-color:#f8fafc;padding:1rem;border-radius:8px;border:1px solid #e2e8f0}.form-row{display:flex;gap:.75rem;align-items:center}.form-row input[type=text]{flex:2;padding:.5rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.875rem}.form-row input[type=color]{width:40px;height:40px;padding:2px;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer}.form-row select{flex:1;padding:.5rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.875rem;background-color:#fff}.save-code-button{background-color:#10b981;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .2s}.save-code-button:hover:not(:disabled){background-color:#059669}.save-code-button:disabled{opacity:.5;cursor:not-allowed}.task-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:1px solid #e2e8f0;padding-bottom:.5rem}.tab-button{background:none;border:none;padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:#64748b;cursor:pointer;border-radius:6px;transition:all .2s}.tab-button:hover{background-color:#f1f5f9;color:#4f46e5}.tab-button.active{background-color:#4f46e5;color:#fff}.task-codes-list,.task-category{display:flex;flex-direction:column;gap:.75rem}.task-code-item{display:flex;align-items:center;padding:.75rem;background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;transition:all .2s;position:relative}.task-code-item:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000000d}.task-code-item.editing{background-color:#f8fafc;border-color:#4f46e5}.task-code-content{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.task-code{display:inline-flex;align-items:center;justify-content:center;min-width:60px;padding:.25rem .5rem;border-radius:6px;font-weight:600;font-size:.875rem;color:#1e293b;border:1px solid rgba(0,0,0,.08);background-color:#f1f5f9;transition:all .2s}.task-description{font-size:.875rem;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-code-actions{display:flex;gap:.5rem;margin-left:.75rem}.task-code-action-button{background:none;border:none;color:#64748b;font-size:1rem;padding:.25rem;cursor:pointer;border-radius:4px;transition:all .2s}.task-code-action-button:hover{background-color:#f1f5f9;color:#4f46e5}.task-code-action-button.delete:hover{color:#ef4444}.move-buttons-area{display:flex;flex-direction:column;gap:.25rem;margin-right:.75rem}.move-button{background:none;border:none;color:#64748b;font-size:.875rem;padding:.25rem;cursor:pointer;border-radius:4px;transition:all .2s}.move-button:hover:not(:disabled){background-color:#f1f5f9;color:#4f46e5}.move-button:disabled{opacity:.3;cursor:not-allowed}.edit-form{width:100%}.edit-form-row{display:flex;gap:.75rem;margin-bottom:.75rem}.edit-buttons{display:flex;gap:.75rem}.save-edit-button,.cancel-edit-button{flex:1;padding:.5rem;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .2s}.save-edit-button{background-color:#10b981;color:#fff}.save-edit-button:hover:not(:disabled){background-color:#059669}.save-edit-button:disabled{opacity:.5;cursor:not-allowed}.cancel-edit-button{background-color:#ef4444;color:#fff}.cancel-edit-button:hover{background-color:#dc2626}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;color:#64748b}.spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:#4f46e5;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes highlightNew{0%{background-color:#10b98133;border-color:#10b981}to{background-color:transparent;border-color:#e2e8f0}}.task-code-item.newly-added{animation:highlightNew 2s ease-out}@keyframes moveComplete{0%{background-color:#4f46e533;border-color:#4f46e5}to{background-color:transparent;border-color:#e2e8f0}}.task-code-item.drop-complete{animation:moveComplete .5s ease-out}.task-footer{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e0e0e0;box-shadow:0 -2px 4px #0000001a;transition:transform .3s ease,background-color .3s ease;z-index:1000;max-height:65vh;display:flex;flex-direction:column}.task-footer:before{content:"";position:absolute;top:-60px;left:0;right:0;height:60px;background:linear-gradient(to top,rgba(0,0,0,.1),transparent);opacity:0;transition:opacity .3s ease;pointer-events:none}.task-footer:not(.collapsed):before{opacity:1}.task-footer-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:#f8f9fa;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:sticky;top:0;z-index:10;border-bottom:1px solid #e0e0e0}.task-footer.collapsed .task-footer-header{padding:6px 12px;background:#f0f2f5}.task-footer-title{display:flex;align-items:center;gap:8px;font-weight:500;color:#4b5563}.selected-task-indicator{display:flex;align-items:center;gap:6px;margin-left:12px;padding:4px 8px;background-color:#f3f4f6;border-radius:4px;border:1px solid #e5e7eb}.task-color-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.selected-task-code{font-size:13px;font-weight:600;color:#1f2937}.mini-clear-btn{background:none;border:none;color:#6b7280;font-size:16px;font-weight:700;cursor:pointer;padding:0 4px;margin-left:2px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.mini-clear-btn:hover{background-color:#e5e7eb;color:#ef4444}.mini-apply-btn{background-color:#4f46e5;color:#fff;border:none;border-radius:3px;font-size:12px;font-weight:500;padding:2px 6px;margin-left:4px;cursor:pointer;transition:all .2s ease}.mini-apply-btn:hover{background-color:#4338ca}.collapse-button{background:none;border:none;padding:4px;cursor:pointer;color:#6b7280;transition:transform .2s ease}.collapse-button:hover{color:#4b5563}.task-footer.collapsed .collapse-button{transform:rotate(180deg)}.task-footer-content{padding:12px 16px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;flex:1;scrollbar-width:thin;scrollbar-color:#d1d5db transparent}.task-footer-content::-webkit-scrollbar{width:8px}.task-footer-content::-webkit-scrollbar-track{background:transparent}.task-footer-content::-webkit-scrollbar-thumb{background-color:#d1d5db;border-radius:20px;border:3px solid transparent}.scroll-indicator{position:absolute;top:48px;left:50%;transform:translate(-50%);width:40px;height:4px;background:#d1d5db;border-radius:2px;opacity:.7;transition:opacity .3s ease}.task-footer-main{flex-shrink:0}.selected-task{display:flex;align-items:center;gap:12px;padding:12px;background:#f8f9fa;border-radius:6px;border:1px solid #e5e7eb;min-height:48px}.selected-task .task-color{width:24px;height:24px;border-radius:4px;border:1px solid #e5e7eb;flex-shrink:0}.selected-task .task-code{font-weight:600;color:#1f2937;min-width:40px;display:inline-block}.selected-task .task-description{flex:1;color:#4b5563}.task-actions{display:flex;gap:8px}.apply-task-btn,.clear-task-btn{padding:6px 12px;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.apply-task-btn{background:#4f46e5;color:#fff;border:none}.apply-task-btn:hover{background:#4338ca}.clear-task-btn{background:#fff;color:#4b5563;border:1px solid #e5e7eb}.clear-task-btn:hover{background:#f3f4f6;border-color:#d1d5db}.expand-footer-btn{padding:6px 12px;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;background:#f3f4f6;color:#4b5563;border:1px solid #e5e7eb;display:flex;align-items:center;gap:4px}.expand-footer-btn:hover{background:#e5e7eb}.no-task-selected{text-align:center;color:#6b7280;padding:24px}.task-palette-section{border-top:1px solid #e5e7eb;padding-top:16px}.task-palette-header{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.category-tabs{display:flex;gap:8px;border-bottom:1px solid #e5e7eb;padding-bottom:8px}.category-tab{padding:8px 16px;border:none;background:none;color:#6b7280;font-size:14px;font-weight:500;cursor:pointer;position:relative;transition:all .2s ease}.category-tab:hover{background-color:var(--mango-hover)}.category-tab.active{color:#4f46e5}.category-tab.active:after{content:"";position:absolute;bottom:-9px;left:0;right:0;height:2px;background:#4f46e5;border-radius:2px}.search-container{position:relative;display:flex;align-items:center}.task-search{width:100%;padding:8px 32px 8px 12px;border:1px solid #e5e7eb;border-radius:6px;font-size:14px;color:#1f2937;background:#f9fafb;transition:all .2s ease}.task-search:focus{outline:none;border-color:#4f46e5;background:#fff;box-shadow:0 0 0 2px #4f46e51a}.task-search::-moz-placeholder{color:#9ca3af}.task-search::placeholder{color:#9ca3af}.clear-search{position:absolute;right:8px;background:none;border:none;color:#9ca3af;font-size:18px;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.clear-search:hover{background:#f3f4f6;color:#4b5563}.task-palette-grid{display:flex;flex-direction:row;gap:20px;max-width:100%;margin:0 auto;padding:8px 0;min-height:100px;align-items:stretch;overflow-x:auto;min-width:100%;scrollbar-width:thin}.task-palette-grid::-webkit-scrollbar{height:8px}.task-palette-grid::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:4px}.task-palette-item{min-width:160px;max-width:220px;flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px;padding:16px 10px 12px;border-radius:10px;border:1px solid #e5e7eb;cursor:grab;background:#fff;min-height:110px;box-sizing:border-box;box-shadow:0 1px 2px #00000008;transition:box-shadow .2s,border-color .2s,background .2s,transform .15s}.task-palette-item:active{cursor:grabbing}.task-palette-item.dragging{z-index:100;box-shadow:0 8px 24px #6366f140,0 1.5px 4px #4f46e540;transform:scale(1.06) rotate(-2deg);background:#f3f4f6;border-color:#6366f1}.task-palette-item:hover{background-color:#f9fafb;border-color:#d1d5db;box-shadow:0 2px 8px #0000000f;transform:translateY(-2px) scale(1.03)}.task-palette-item.selected{background-color:hsl(var(--accent));border-color:hsl(var(--primary));box-shadow:0 2px 8px hsl(var(--primary) / .12)}.task-palette-item .task-color{width:20px;height:20px;border-radius:4px;border:1px solid hsl(var(--border));margin-bottom:2px;flex-shrink:0}.task-card-code{font-size:16px;font-weight:700;color:hsl(var(--foreground));text-align:center;margin-bottom:2px;word-break:break-word;background:none;border:none;box-shadow:none;min-height:unset;padding:0;display:block;width:100%}.task-card-description{font-size:13px;color:hsl(var(--muted-foreground));text-align:center;white-space:normal;word-break:break-word;max-width:100%;overflow:hidden;text-overflow:ellipsis;display:block}.no-tasks-found{grid-column:1 / -1;text-align:center;padding:24px;color:hsl(var(--muted-foreground));background:hsl(var(--accent));border-radius:6px;border:1px dashed hsl(var(--border))}@media (max-width: 768px){.task-footer{display:none}.rota-planner-container,.mobile-weekly-rota{padding-bottom:20px}}.add-section-bar{display:flex;align-items:center;justify-content:center;gap:12px;margin:24px 0 0;padding:16px 0 0;border-top:1px solid #e5e7eb;background:#f9fafb;border-radius:0 0 12px 12px}.add-section-input{flex:1 1 220px;max-width:320px;padding:10px 14px;border:1.5px solid #e5e7eb;border-radius:8px;font-size:15px;background:#fff;transition:border-color .2s,box-shadow .2s;box-shadow:0 1px 2px #0001}.add-section-input:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 2px #6366f133}.add-section-btn{display:flex;align-items:center;gap:6px;background:#4f46e5;color:#fff;border:none;border-radius:8px;padding:10px 18px;font-size:15px;font-weight:600;cursor:pointer;box-shadow:0 2px 8px #4f46e511;transition:background .2s,box-shadow .2s}.add-section-btn:disabled{background:#a5b4fc;cursor:not-allowed;box-shadow:none}.add-section-btn:hover:not(:disabled){background:#4338ca;box-shadow:0 4px 16px #4f46e522}.add-section-btn svg{width:18px;height:18px;fill:currentColor}.task-section{margin-bottom:12px;background-color:#f9fafb;border-radius:8px;padding:10px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000d}.task-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:6px;border-bottom:2px solid #e5e7eb}.task-section-title{font-weight:700;font-size:1.1rem;color:#374151;margin-bottom:0;text-transform:uppercase;letter-spacing:.02em}.task-section-actions{display:flex;gap:8px}.add-task-to-section-btn{background:transparent;border:none;cursor:pointer;padding:4px;color:#2563eb;display:flex;align-items:center;justify-content:center;border-radius:4px}.add-task-to-section-btn:hover{background-color:#2563eb1a}.add-task-to-section-btn:disabled{color:#ccc;cursor:not-allowed}.delete-section-btn{background:transparent;border:none;cursor:pointer;padding:4px;color:#ef4444;display:flex;align-items:center;justify-content:center;border-radius:4px}.delete-section-btn:hover{background-color:#ef44441a}.loading-sections{display:flex;justify-content:center;align-items:center;height:100px;color:#666;font-style:italic}.section-actions{display:flex;gap:8px;margin-left:auto}.recover-button,.sync-button{padding:4px 8px;font-size:.8rem;border-radius:4px;background-color:var(--mango-button-bg, #f3f4f6);color:var(--mango-button-text, #4b5563);border:1px solid var(--mango-border, #e5e7eb);cursor:pointer;transition:all .2s ease;white-space:nowrap}.recover-button{background-color:#f0fdf4;color:#166534;border-color:#dcfce7}.recover-button:hover{background-color:#dcfce7}.sync-button:hover{background-color:var(--mango-hover, #e5e7eb)}.recover-button:disabled,.sync-button:disabled{opacity:.5;cursor:not-allowed}.refresh-button{background-color:#eff6ff;color:#3b82f6;border:1px solid #bfdbfe;padding:4px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.refresh-button:hover{background-color:#dbeafe}.refresh-button:disabled{opacity:.5;cursor:not-allowed}.task-footer.collapsed{transform:translateY(calc(100% - 45px))}.task-footer.application-mode .task-palette-section{display:none}.task-footer.application-mode{max-height:150px}.hour-focus-view{background:#fff;padding:24px;margin:0 auto;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;animation:slideIn .3s ease-out;min-height:100vh;box-sizing:border-box}@keyframes slideIn{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.hour-focus-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #f0f0f0}.hour-focus-header h2{font-size:24px;font-weight:600;color:#1a1a1a;margin:0}.close-button{background:none;border:none;font-size:24px;color:#666;cursor:pointer;padding:8px;border-radius:50%;transition:all .2s ease;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.close-button:hover{background:#f5f5f5;color:#1a1a1a}.time-selector{background:#f8f9fa;padding:16px;border-radius:8px;margin-bottom:24px;display:flex;align-items:center;gap:16px}.time-selector label{font-weight:500;color:#4a5568;font-size:16px}.time-selector select{padding:10px 16px;border:2px solid #e2e8f0;border-radius:6px;font-size:16px;color:#2d3748;background:#fff;cursor:pointer;transition:all .2s ease;min-width:200px}.time-selector select:hover{border-color:#cbd5e0}.time-selector select:focus{outline:none;border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a}.hour-focus-content{display:grid;gap:24px}.team-section{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000d;overflow:hidden}.team-section h3{background:#f8f9fa;margin:0;padding:16px;font-size:18px;font-weight:600;color:#2d3748;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;gap:8px}.team-section h3:after{content:attr(data-count);background:#4299e1;color:#fff;padding:4px 8px;border-radius:12px;font-size:14px;font-weight:500}.staff-table{width:100%;border-collapse:collapse}.staff-table tr{border-bottom:1px solid #f0f0f0;transition:all .2s ease}.staff-table tr:last-child{border-bottom:none}.staff-table tr:hover,.staff-table tr.expanded{background-color:#f8f9fa}.staff-table td{padding:16px;vertical-align:middle}.staff-name{font-weight:600;color:#2d3748;font-size:16px;margin-bottom:4px}.staff-role{color:#718096;font-size:14px}.task-code{min-height:80px;display:flex;flex-direction:column;justify-content:center;padding:8px 0 6px;margin:2px 0;font-size:15px;border:1px solid #e2e8f0;box-shadow:0 1px 2px #00000008;border-radius:6px;background:#fff;width:90vw;box-sizing:border-box;overflow-x:hidden}.task-code-content{display:flex;flex-direction:column;align-items:center;gap:4px}.task-code-value{font-weight:600;font-size:1.1em}.task-code .task-description{font-size:.85em;text-align:center;opacity:.9;max-width:150px;white-space:normal;word-wrap:break-word}.task-code:hover{transform:translateY(-1px);box-shadow:0 4px 6px #0000001a}.no-task{color:#a0aec0;font-style:italic;font-size:14px;cursor:pointer;padding:8px 16px;border-radius:6px;transition:all .2s ease}.no-task:hover{background-color:#f8f9fa}.task-options-cell{background-color:#f8f9fa;border-left:1px solid #e2e8f0}.task-options{display:flex;flex-wrap:wrap;gap:8px;padding:8px;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.task-option{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px;border-radius:4px;cursor:pointer;min-width:60px;margin:4px;border:none;transition:all .2s ease}.task-option .task-description{font-size:.8em;margin-top:4px;text-align:center;opacity:.9}.task-option:hover{transform:translateY(-1px);box-shadow:0 4px 6px #0000001a}.no-staff-message{text-align:center;padding:48px;background:#f8f9fa;border-radius:8px;color:#718096;font-size:16px}@media (max-width: 640px){.hour-focus-view,.hour-focus-content,.team-section,.staff-list,.staff-card{width:100%;box-sizing:border-box;overflow-x:hidden;max-width:100vw}.hour-focus-view{padding:12px 8px 16px;min-height:100vh;box-sizing:border-box}.hour-focus-header{margin-bottom:4px;padding-bottom:2px;flex-direction:column;align-items:flex-start;gap:2px;background:#fff;position:sticky;top:0;z-index:2;width:100%;box-sizing:border-box}.hour-focus-header h2{font-size:16px;width:100%;font-weight:700;letter-spacing:.01em}.close-button{position:absolute;top:6px;right:6px;width:32px;height:32px;font-size:20px}.time-selector{flex-direction:column;align-items:stretch;gap:4px;padding:6px;margin-bottom:6px;background:#f8f9fa;border-radius:6px;width:100%;box-sizing:border-box}.time-selector label{font-size:14px}.time-selector select{width:100%;padding:8px 10px;font-size:14px}.hour-focus-content{gap:8px;width:100%;box-sizing:border-box;overflow-x:hidden}.team-section{margin-bottom:6px;background:#fff;border-radius:8px;box-shadow:0 1px 4px #0000000a;padding-bottom:1px;width:100%;box-sizing:border-box;overflow-x:hidden}.team-section h3{padding:8px 10px;font-size:14px;font-weight:700;background:#e6f0fa;color:#1a365d;border-bottom:1px solid #e2e8f0;margin:0;position:sticky;top:44px;z-index:1;display:flex;align-items:center;gap:6px;width:100%;box-sizing:border-box}.team-section h3:after{font-size:12px;padding:2px 6px;border-radius:10px;background:#4299e1;color:#fff;font-weight:600}.staff-list{width:100%;box-sizing:border-box;overflow-x:hidden}.staff-list>.staff-card:first-child{margin-top:56px}.staff-card{display:flex;flex-direction:column;background:#f9fafb;margin:4px 0;border-radius:7px;box-shadow:0 1px 2px #00000008;border:1px solid #f0f0f0;padding:12px 8px 10px;width:100%;box-sizing:border-box;overflow-x:hidden}.staff-info{display:flex;flex-direction:row;justify-content:space-between;align-items:center;width:100%;box-sizing:border-box;margin-bottom:8px}.staff-name{font-size:14px;font-weight:600;color:#2d3748;flex:1 1 auto;min-width:0}.staff-role{font-size:12px;color:#718096;flex:0 0 auto;margin-left:8px;min-width:0}.task-cell{width:100%;box-sizing:border-box;overflow-x:hidden;margin-top:8px;margin-bottom:6px}.task-code{min-height:80px;display:flex;flex-direction:column;justify-content:center;padding:8px 0 6px;margin:2px 0;font-size:15px;border:1px solid #e2e8f0;box-shadow:0 1px 2px #00000008;border-radius:6px;background:#fff;width:90vw;box-sizing:border-box;overflow-x:hidden}.task-code-content{width:100%;box-sizing:border-box}.task-code .task-description{font-size:.9em;max-width:100%}.task-options-cell{border-left:none;border-top:1px solid #e2e8f0;margin-top:12px;padding-top:10px;width:100%;box-sizing:border-box;overflow-x:hidden}.task-options{display:flex;flex-direction:row;overflow-x:auto;gap:8px;padding:6px 0;scrollbar-width:thin;scrollbar-color:#cbd5e0 #f8f9fa;-webkit-overflow-scrolling:touch;width:100%;box-sizing:border-box}.task-options::-webkit-scrollbar{height:5px}.task-options::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:3px}.task-options::-webkit-scrollbar-track{background:#f8f9fa}.task-option{min-width:70px;max-width:110px;min-height:40px;font-size:14px;margin:0;padding:8px 4px;border-radius:6px;border:1px solid #e2e8f0;box-shadow:0 1px 2px #00000008;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;white-space:normal;word-break:break-word;background:#fff}.task-option .task-description{font-size:.85em;margin-top:2px}.no-task{text-align:center;padding:8px 0;font-size:14px;color:#a0aec0;width:100%;box-sizing:border-box}.no-staff-message{padding:12px;font-size:14px;width:100%;box-sizing:border-box}}@keyframes taskUpdate{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.task-code.updated{animation:taskUpdate .3s ease}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#fffc;display:flex;align-items:center;justify-content:center;z-index:1001}.loading-spinner{width:40px;height:40px;border:3px solid #f3f3f3;border-top:3px solid #4299e1;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.back-button{background:none;border:none;color:#4299e1;font-size:16px;font-weight:500;cursor:pointer;margin-right:16px;padding:8px 0;transition:color .2s}.back-button:hover{color:#1a365d;text-decoration:underline}.selected-time{font-size:.85em;font-weight:400;color:#555;margin-left:10px}.filter-toggle-button{padding:8px 16px;background-color:#edf2f7;border:1px solid #e2e8f0;border-radius:6px;color:#4a5568;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;margin-left:auto}.filter-toggle-button:hover{background-color:#e2e8f0}.team-filter-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000d;margin-bottom:16px;padding:16px;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.team-filter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #f0f0f0}.team-filter-header h3{font-size:16px;font-weight:600;color:#2d3748;margin:0}.team-filter-actions{display:flex;gap:8px}.team-filter-actions button{padding:4px 8px;background:none;border:1px solid #e2e8f0;border-radius:4px;color:#4a5568;font-size:12px;cursor:pointer;transition:all .2s ease}.team-filter-actions button:hover{background-color:#f7fafc;border-color:#cbd5e0}.team-filter-options{display:flex;flex-wrap:wrap;gap:12px}.team-filter-option{flex:0 0 auto;min-width:120px}.team-filter-option label{display:flex;align-items:center;gap:8px;font-size:14px;color:#4a5568;cursor:pointer}.team-filter-option input[type=checkbox]{width:16px;height:16px;cursor:pointer}@media (max-width: 640px){.filter-toggle-button{width:100%;margin-top:8px;margin-left:0}.team-filter-container{padding:12px 10px;margin-bottom:12px}.team-filter-header{flex-direction:column;align-items:flex-start;gap:8px}.team-filter-actions{width:100%}.team-filter-actions button{flex:1;padding:6px 8px}.team-filter-options{gap:8px}.team-filter-option{min-width:0;width:calc(50% - 4px)}}@keyframes swipeLeft{0%{transform:translate(0);opacity:1}to{transform:translate(-20px);opacity:0}}@keyframes swipeRight{0%{transform:translate(0);opacity:1}to{transform:translate(20px);opacity:0}}.hour-focus-content.swipe-left{animation:swipeLeft .2s ease-out}.hour-focus-content.swipe-right{animation:swipeRight .2s ease-out}.mobile-navigation{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 0}.nav-button{background-color:#edf2f7;border:1px solid #e2e8f0;border-radius:6px;color:#4a5568;font-size:18px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.nav-button:hover:not(.disabled){background-color:#e2e8f0}.nav-button.disabled{opacity:.5;cursor:not-allowed}.current-time-display{font-size:16px;font-weight:500;color:#2d3748;text-align:center;flex:1;padding:0 8px}.team-section.collapsed .staff-list{display:none}.team-section h3.clickable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;padding-right:30px}.expand-indicator{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:12px;transition:transform .2s ease}.quick-action-toggle{background:none;border:none;color:#718096;font-size:18px;cursor:pointer;padding:4px 8px;border-radius:4px;line-height:1;margin-left:auto}.quick-action-toggle:hover{background-color:#f7fafc;color:#4a5568}.quick-actions{display:flex;gap:8px;padding:12px;background-color:#f7fafc;border-top:1px solid #e2e8f0;animation:fadeIn .2s ease-out}.quick-action-button{flex:1;padding:10px 16px;border-radius:6px;border:1px solid #e2e8f0;background-color:#fff;color:#4a5568;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;min-height:44px}.quick-action-button:hover{background-color:#edf2f7}.mobile-bottom-navigation{display:none;position:fixed;bottom:0;left:0;right:0;background-color:#fff;box-shadow:0 -2px 10px #0000000d;padding:12px 16px;z-index:10;justify-content:space-around}.mobile-nav-button{flex:1;margin:0 4px;padding:12px 8px;border-radius:6px;border:1px solid #e2e8f0;background-color:#f7fafc;color:#4a5568;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;min-height:44px;text-align:center}.mobile-nav-button:hover{background-color:#edf2f7}@media (max-width: 768px){body.mobile-hour-focus{padding-bottom:70px}.hour-focus-view{padding:12px 8px 80px}.mobile-bottom-navigation{display:flex}.filter-toggle-button{display:none}.staff-card{position:relative;padding:16px 12px;margin-bottom:12px;border-radius:8px;box-shadow:0 2px 4px #0000000d;transition:all .3s ease}.staff-info{display:flex;flex-wrap:wrap;align-items:center}.staff-name{font-size:16px;margin-right:8px;flex:1}.staff-role{font-size:14px;color:#718096;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:40%}.task-cell{margin-top:12px}.task-code,.no-task{min-height:60px;display:flex;align-items:center;justify-content:center;border-radius:8px;margin-bottom:0}.team-section h3{padding:14px 16px;font-size:16px;position:sticky;top:0;z-index:5;background-color:#f8f9fa}.task-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;padding:12px}.task-option{height:60px;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:16px;min-width:unset;margin:0}}@media (max-width: 768px){.time-selector select,.filter-toggle-button,.team-filter-option label,.team-filter-actions button,.task-option{min-height:44px;min-width:44px}.team-filter-option input[type=checkbox]{width:22px;height:22px}}.pwa-install-prompt{position:fixed;bottom:0;left:0;right:0;background-color:#fff;box-shadow:0 -2px 10px #0000001a;z-index:1000;animation:slideUp .3s ease-out;border-top-left-radius:16px;border-top-right-radius:16px;max-width:600px;margin:0 auto;overflow:hidden}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.prompt-content{display:flex;align-items:center;padding:16px;position:relative}.prompt-icon{flex-shrink:0;margin-right:16px}.prompt-icon img{width:48px;height:48px;border-radius:12px;box-shadow:0 2px 8px #0000001a}.prompt-text{flex:1}.prompt-text h3{margin:0 0 4px;font-size:16px;font-weight:600;color:#333}.prompt-text p{margin:0;font-size:14px;color:#666;line-height:1.4}.prompt-actions{display:flex;margin-left:16px;gap:8px;flex-wrap:wrap}.install-button,.dismiss-button{padding:8px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:background-color .2s,transform .1s}.install-button{background-color:#6366f1;color:#fff}.install-button:hover{background-color:#4f46e5}.dismiss-button{background-color:#f1f5f9;color:#64748b}.dismiss-button:hover{background-color:#e2e8f0}.install-button:active,.dismiss-button:active{transform:scale(.98)}@media (max-width: 480px){.prompt-content{flex-direction:column;text-align:center;padding:20px 16px}.prompt-icon{margin-right:0;margin-bottom:12px}.prompt-icon img{width:60px;height:60px}.prompt-text{margin-bottom:16px}.prompt-actions{margin-left:0;width:100%;justify-content:center}.install-button,.dismiss-button{flex:1;max-width:140px;padding:10px}}:root{--background-primary: #ffffff;--background-secondary: #f3f4f6;--text-primary: #1f2937;--text-secondary: #4b5563;--border-color: #e5e7eb;--card-background: #ffffff;--input-background: #ffffff;--button-primary: #2563eb;--button-primary-hover: #1d4ed8;--button-secondary: #e5e7eb;--button-secondary-hover: #d1d5db;--error-color: #ef4444;--success-color: #22c55e;--warning-color: #f59e0b;--modal-background: #ffffff;--modal-overlay: rgba(0, 0, 0, .5)}.dark{--background-primary: #111827;--background-secondary: #1f2937;--text-primary: #f3f4f6;--text-secondary: #d1d5db;--border-color: #374151;--card-background: #1f2937;--input-background: #374151;--button-primary: #3b82f6;--button-primary-hover: #2563eb;--button-secondary: #374151;--button-secondary-hover: #4b5563;--error-color: #f87171;--success-color: #4ade80;--warning-color: #fbbf24;--modal-background: #1f2937;--modal-overlay: rgba(0, 0, 0, .7)}body{background-color:var(--background-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}.card{background-color:var(--card-background);border:1px solid var(--border-color)}button{background-color:var(--button-primary);color:var(--text-primary);border:1px solid var(--border-color)}button:hover{background-color:var(--button-primary-hover)}input,textarea,select{background-color:var(--input-background);color:var(--text-primary);border:1px solid var(--border-color)}.modal-overlay{background-color:var(--modal-overlay)}.modal-content{background-color:var(--modal-background);color:var(--text-primary)}table{background-color:var(--card-background);color:var(--text-primary)}th,td{border-color:var(--border-color)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--background-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background: 0 0% 100%;--foreground: 222.2 84% 4.9%;--card: 0 0% 100%;--card-foreground: 222.2 84% 4.9%;--popover: 0 0% 100%;--popover-foreground: 222.2 84% 4.9%;--primary: 222.2 47.4% 11.2%;--primary-foreground: 210 40% 98%;--secondary: 210 40% 96.1%;--secondary-foreground: 222.2 47.4% 11.2%;--muted: 210 40% 96.1%;--muted-foreground: 215.4 16.3% 46.9%;--accent: 210 40% 96.1%;--accent-foreground: 222.2 47.4% 11.2%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 210 40% 98%;--border: 214.3 31.8% 91.4%;--input: 214.3 31.8% 91.4%;--ring: 222.2 84% 4.9%;--radius: .5rem}.dark{--background: 240 10% 3.9%;--foreground: 0 0% 98%;--card: 240 10% 3.9%;--card-foreground: 0 0% 98%;--popover: 240 10% 3.9%;--popover-foreground: 0 0% 98%;--primary: 240 5.9% 10%;--primary-foreground: 0 0% 98%;--secondary: 240 3.7% 15.9%;--secondary-foreground: 0 0% 98%;--muted: 240 3.7% 15.9%;--muted-foreground: 240 5% 64.9%;--accent: 240 3.7% 15.9%;--accent-foreground: 0 0% 98%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 0 0% 98%;--border: 240 3.7% 15.9%;--input: 240 3.7% 15.9%;--ring: 240 4.9% 83.9%;--sidebar-background: 240 10% 3.9%;--sidebar-foreground: 0 0% 98%;--sidebar-primary: 240 5.9% 10%;--sidebar-primary-foreground: 0 0% 98%;--sidebar-accent: 240 3.7% 15.9%;--sidebar-accent-foreground: 0 0% 98%;--sidebar-border: 240 3.7% 15.9%;--sidebar-ring: 240 4.9% 83.9%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));font-family:Inter,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";color:hsl(var(--foreground));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media (min-width: 1400px){.container{max-width:1400px}}.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}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.-bottom-1{bottom:-.25rem}.-bottom-12{bottom:-3rem}.-left-12{left:-3rem}.-right-1{right:-.25rem}.-right-12{right:-3rem}.-top-12{top:-3rem}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.bottom-\[15\%\]{bottom:15%}.left-0{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.left-16{left:4rem}.left-2{left:.5rem}.left-2\.5{left:.625rem}.left-3{left:.75rem}.left-72{left:18rem}.left-\[10\%\]{left:10%}.left-\[11px\]{left:11px}.left-\[25\%\]{left:25%}.left-\[50\%\]{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-1\.5{right:.375rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.right-\[20\%\]{right:20%}.top-0{top:0}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-2\.5{top:.625rem}.top-3{top:.75rem}.top-3\.5{top:.875rem}.top-4{top:1rem}.top-\[10\%\]{top:10%}.top-\[1px\]{top:1px}.top-\[50\%\]{top:50%}.top-\[60\%\]{top:60%}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[1\]{z-index:1}.col-span-2{grid-column:span 2 / span 2}.m-0{margin:0}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3\.5{margin-left:.875rem;margin-right:.875rem}.mx-6{margin-left:1.5rem;margin-right:1.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.-ml-4{margin-left:-1rem}.-mt-4{margin-top:-1rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-12{margin-left:3rem}.ml-16{margin-left:4rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-72{margin-left:18rem}.ml-\[33\%\]{margin-left:33%}.ml-auto{margin-left:auto}.mr-0{margin-right:0}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.\!table{display:table!important}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.aspect-video{aspect-ratio:16 / 9}.size-4{width:1rem;height:1rem}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[1\.2rem\]{height:1.2rem}.h-\[1px\]{height:1px}.h-\[300px\]{height:300px}.h-\[30px\]{height:30px}.h-\[40px\]{height:40px}.h-\[var\(--radix-navigation-menu-viewport-height\)\]{height:var(--radix-navigation-menu-viewport-height)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.h-svh{height:100svh}.max-h-32{max-height:8rem}.max-h-60{max-height:15rem}.max-h-96{max-height:24rem}.max-h-\[300px\]{max-height:300px}.max-h-\[500px\]{max-height:500px}.max-h-\[80vh\]{max-height:80vh}.max-h-\[90vh\]{max-height:90vh}.max-h-\[95vh\]{max-height:95vh}.max-h-screen{max-height:100vh}.min-h-0{min-height:0px}.min-h-\[100px\]{min-height:100px}.min-h-\[140px\]{min-height:140px}.min-h-\[150px\]{min-height:150px}.min-h-\[200px\]{min-height:200px}.min-h-\[400px\]{min-height:400px}.min-h-\[60px\]{min-height:60px}.min-h-\[60vh\]{min-height:60vh}.min-h-\[80px\]{min-height:80px}.min-h-screen{min-height:100vh}.min-h-svh{min-height:100svh}.w-0{width:0px}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-1\/4{width:25%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[--sidebar-width\]{width:var(--sidebar-width)}.w-\[1\.2rem\]{width:1.2rem}.w-\[100px\]{width:100px}.w-\[120px\]{width:120px}.w-\[130px\]{width:130px}.w-\[140px\]{width:140px}.w-\[150px\]{width:150px}.w-\[160px\]{width:160px}.w-\[180px\]{width:180px}.w-\[1px\]{width:1px}.w-\[200px\]{width:200px}.w-\[2px\]{width:2px}.w-\[300px\]{width:300px}.w-\[50px\]{width:50px}.w-\[60px\]{width:60px}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-10{min-width:2.5rem}.min-w-11{min-width:2.75rem}.min-w-32{min-width:8rem}.min-w-5{min-width:1.25rem}.min-w-9{min-width:2.25rem}.min-w-\[12rem\]{min-width:12rem}.min-w-\[150px\]{min-width:150px}.min-w-\[32px\]{min-width:32px}.min-w-\[60px\]{min-width:60px}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-2xl{max-width:42rem}.max-w-36{max-width:9rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-\[--skeleton-width\]{max-width:var(--skeleton-width)}.max-w-\[24rem\]{max-width:24rem}.max-w-\[300px\]{max-width:300px}.max-w-\[95vw\]{max-width:95vw}.max-w-lg{max-width:32rem}.max-w-max{max-width:-moz-max-content;max-width:max-content}.max-w-md{max-width:28rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-full{flex-basis:100%}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-px{--tw-translate-x: -1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-px{--tw-translate-x: 1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-0{--tw-rotate: 0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-0{--tw-scale-x: 0;--tw-scale-y: 0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-y{resize:vertical}.resize{resize:both}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-\[0\.5rem\]{border-radius:.5rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.rounded-r-lg{border-top-right-radius:var(--radius);border-bottom-right-radius:var(--radius)}.rounded-t-\[10px\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-bl{border-bottom-left-radius:.25rem}.rounded-tl-sm{border-top-left-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-\[1\.5px\]{border-width:1.5px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-\[--color-border\]{border-color:var(--color-border)}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity, 1))}.border-background{border-color:hsl(var(--background))}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-border{border-color:hsl(var(--border))}.border-border\/50{border-color:hsl(var(--border) / .5)}.border-cyan-200{--tw-border-opacity: 1;border-color:rgb(165 243 252 / var(--tw-border-opacity, 1))}.border-destructive{border-color:hsl(var(--destructive))}.border-destructive\/50{border-color:hsl(var(--destructive) / .5)}.border-emerald-200{--tw-border-opacity: 1;border-color:rgb(167 243 208 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-gray-600{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1))}.border-green-200{--tw-border-opacity: 1;border-color:rgb(187 247 208 / var(--tw-border-opacity, 1))}.border-green-600{--tw-border-opacity: 1;border-color:rgb(22 163 74 / var(--tw-border-opacity, 1))}.border-indigo-200{--tw-border-opacity: 1;border-color:rgb(199 210 254 / var(--tw-border-opacity, 1))}.border-input{border-color:hsl(var(--input))}.border-muted{border-color:hsl(var(--muted))}.border-muted-foreground{border-color:hsl(var(--muted-foreground))}.border-muted-foreground\/30{border-color:hsl(var(--muted-foreground) / .3)}.border-orange-200{--tw-border-opacity: 1;border-color:rgb(254 215 170 / var(--tw-border-opacity, 1))}.border-orange-500{--tw-border-opacity: 1;border-color:rgb(249 115 22 / var(--tw-border-opacity, 1))}.border-pink-200{--tw-border-opacity: 1;border-color:rgb(251 207 232 / var(--tw-border-opacity, 1))}.border-primary{border-color:hsl(var(--primary))}.border-purple-200{--tw-border-opacity: 1;border-color:rgb(233 213 255 / var(--tw-border-opacity, 1))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-red-500{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.border-red-600{--tw-border-opacity: 1;border-color:rgb(220 38 38 / var(--tw-border-opacity, 1))}.border-rose-200{--tw-border-opacity: 1;border-color:rgb(254 205 211 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.border-yellow-200{--tw-border-opacity: 1;border-color:rgb(254 240 138 / var(--tw-border-opacity, 1))}.border-yellow-500{--tw-border-opacity: 1;border-color:rgb(234 179 8 / var(--tw-border-opacity, 1))}.border-l-blue-500{--tw-border-opacity: 1;border-left-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-l-cyan-500{--tw-border-opacity: 1;border-left-color:rgb(6 182 212 / var(--tw-border-opacity, 1))}.border-l-emerald-500{--tw-border-opacity: 1;border-left-color:rgb(16 185 129 / var(--tw-border-opacity, 1))}.border-l-gray-500{--tw-border-opacity: 1;border-left-color:rgb(107 114 128 / var(--tw-border-opacity, 1))}.border-l-green-500{--tw-border-opacity: 1;border-left-color:rgb(34 197 94 / var(--tw-border-opacity, 1))}.border-l-indigo-500{--tw-border-opacity: 1;border-left-color:rgb(99 102 241 / var(--tw-border-opacity, 1))}.border-l-orange-500{--tw-border-opacity: 1;border-left-color:rgb(249 115 22 / var(--tw-border-opacity, 1))}.border-l-purple-500{--tw-border-opacity: 1;border-left-color:rgb(168 85 247 / var(--tw-border-opacity, 1))}.border-l-rose-500{--tw-border-opacity: 1;border-left-color:rgb(244 63 94 / var(--tw-border-opacity, 1))}.border-l-transparent{border-left-color:transparent}.border-t-transparent{border-top-color:transparent}.bg-\[--color-bg\]{background-color:var(--color-bg)}.bg-accent{background-color:hsl(var(--accent))}.bg-amber-100{--tw-bg-opacity: 1;background-color:rgb(254 243 199 / var(--tw-bg-opacity, 1))}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-amber-500{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}.bg-background{background-color:hsl(var(--background))}.bg-background\/80{background-color:hsl(var(--background) / .8)}.bg-background\/95{background-color:hsl(var(--background) / .95)}.bg-black\/50{background-color:#00000080}.bg-black\/80{background-color:#000c}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-blue-500\/10{background-color:#3b82f61a}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-cyan-100{--tw-bg-opacity: 1;background-color:rgb(207 250 254 / var(--tw-bg-opacity, 1))}.bg-cyan-50{--tw-bg-opacity: 1;background-color:rgb(236 254 255 / var(--tw-bg-opacity, 1))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-destructive\/10{background-color:hsl(var(--destructive) / .1)}.bg-emerald-100{--tw-bg-opacity: 1;background-color:rgb(209 250 229 / var(--tw-bg-opacity, 1))}.bg-emerald-50{--tw-bg-opacity: 1;background-color:rgb(236 253 245 / var(--tw-bg-opacity, 1))}.bg-foreground{background-color:hsl(var(--foreground))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-gray-500{--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity, 1))}.bg-gray-600{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-green-500\/10{background-color:#22c55e1a}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.bg-indigo-100{--tw-bg-opacity: 1;background-color:rgb(224 231 255 / var(--tw-bg-opacity, 1))}.bg-indigo-600{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity, 1))}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/20{background-color:hsl(var(--muted) / .2)}.bg-muted\/30{background-color:hsl(var(--muted) / .3)}.bg-muted\/40{background-color:hsl(var(--muted) / .4)}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-orange-100{--tw-bg-opacity: 1;background-color:rgb(255 237 213 / var(--tw-bg-opacity, 1))}.bg-orange-400{--tw-bg-opacity: 1;background-color:rgb(251 146 60 / var(--tw-bg-opacity, 1))}.bg-orange-500{--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1))}.bg-orange-500\/10{background-color:#f973161a}.bg-pink-100{--tw-bg-opacity: 1;background-color:rgb(252 231 243 / var(--tw-bg-opacity, 1))}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary) / .1)}.bg-primary\/5{background-color:hsl(var(--primary) / .05)}.bg-purple-100{--tw-bg-opacity: 1;background-color:rgb(243 232 255 / var(--tw-bg-opacity, 1))}.bg-purple-500{--tw-bg-opacity: 1;background-color:rgb(168 85 247 / var(--tw-bg-opacity, 1))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.bg-rose-100{--tw-bg-opacity: 1;background-color:rgb(255 228 230 / var(--tw-bg-opacity, 1))}.bg-rose-50{--tw-bg-opacity: 1;background-color:rgb(255 241 242 / var(--tw-bg-opacity, 1))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity, 1))}.bg-yellow-50{--tw-bg-opacity: 1;background-color:rgb(254 252 232 / var(--tw-bg-opacity, 1))}.bg-yellow-500{--tw-bg-opacity: 1;background-color:rgb(234 179 8 / var(--tw-bg-opacity, 1))}.bg-yellow-500\/10{background-color:#eab3081a}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-blue-400{--tw-gradient-from: #60a5fa var(--tw-gradient-from-position);--tw-gradient-to: rgb(96 165 250 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-50{--tw-gradient-from: #eff6ff var(--tw-gradient-from-position);--tw-gradient-to: rgb(239 246 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-500{--tw-gradient-from: #3b82f6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-600{--tw-gradient-from: #2563eb var(--tw-gradient-from-position);--tw-gradient-to: rgb(37 99 235 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-gray-200{--tw-gradient-from: #e5e7eb var(--tw-gradient-from-position);--tw-gradient-to: rgb(229 231 235 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-400{--tw-gradient-from: #818cf8 var(--tw-gradient-from-position);--tw-gradient-to: rgb(129 140 248 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-400{--tw-gradient-from: #c084fc var(--tw-gradient-from-position);--tw-gradient-to: rgb(192 132 252 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-indigo-600{--tw-gradient-to: rgb(79 70 229 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #4f46e5 var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-blue-600{--tw-gradient-to: #2563eb var(--tw-gradient-to-position)}.to-indigo-300{--tw-gradient-to: #a5b4fc var(--tw-gradient-to-position)}.to-indigo-400{--tw-gradient-to: #818cf8 var(--tw-gradient-to-position)}.to-indigo-800{--tw-gradient-to: #3730a3 var(--tw-gradient-to-position)}.to-purple-400{--tw-gradient-to: #c084fc var(--tw-gradient-to-position)}.to-purple-50{--tw-gradient-to: #faf5ff var(--tw-gradient-to-position)}.to-purple-600{--tw-gradient-to: #9333ea var(--tw-gradient-to-position)}.to-purple-700{--tw-gradient-to: #7e22ce var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.p-0{padding:0}.p-1{padding:.25rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\[1px\]{padding:1px}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-0{padding-bottom:0}.pb-12{padding-bottom:3rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pl-10{padding-left:2.5rem}.pl-2\.5{padding-left:.625rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pl-6{padding-left:1.5rem}.pl-8{padding-left:2rem}.pl-9{padding-left:2.25rem}.pr-10{padding-right:2.5rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-4{padding-right:1rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-20{padding-top:5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[0\.8rem\]{font-size:.8rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.ordinal{--tw-ordinal: ordinal;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-widest{letter-spacing:.1em}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-amber-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-blue-100{--tw-text-opacity: 1;color:rgb(219 234 254 / var(--tw-text-opacity, 1))}.text-blue-200{--tw-text-opacity: 1;color:rgb(191 219 254 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.text-blue-900{--tw-text-opacity: 1;color:rgb(30 58 138 / var(--tw-text-opacity, 1))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-cyan-600{--tw-text-opacity: 1;color:rgb(8 145 178 / var(--tw-text-opacity, 1))}.text-cyan-700{--tw-text-opacity: 1;color:rgb(14 116 144 / var(--tw-text-opacity, 1))}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-destructive\/80{color:hsl(var(--destructive) / .8)}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-emerald-700{--tw-text-opacity: 1;color:rgb(4 120 87 / var(--tw-text-opacity, 1))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/50{color:hsl(var(--foreground) / .5)}.text-foreground\/60{color:hsl(var(--foreground) / .6)}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.text-indigo-600{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity, 1))}.text-indigo-700{--tw-text-opacity: 1;color:rgb(67 56 202 / var(--tw-text-opacity, 1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/60{color:hsl(var(--muted-foreground) / .6)}.text-orange-500{--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity, 1))}.text-orange-600{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity, 1))}.text-orange-700{--tw-text-opacity: 1;color:rgb(194 65 12 / var(--tw-text-opacity, 1))}.text-pink-700{--tw-text-opacity: 1;color:rgb(190 24 93 / var(--tw-text-opacity, 1))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-purple-600{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity, 1))}.text-purple-700{--tw-text-opacity: 1;color:rgb(126 34 206 / var(--tw-text-opacity, 1))}.text-purple-800{--tw-text-opacity: 1;color:rgb(107 33 168 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-red-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.text-rose-600{--tw-text-opacity: 1;color:rgb(225 29 72 / var(--tw-text-opacity, 1))}.text-rose-700{--tw-text-opacity: 1;color:rgb(190 18 60 / var(--tw-text-opacity, 1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.text-yellow-600{--tw-text-opacity: 1;color:rgb(202 138 4 / var(--tw-text-opacity, 1))}.text-yellow-800{--tw-text-opacity: 1;color:rgb(133 77 14 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow: 0 0 0 1px hsl(var(--sidebar-border));--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-blue-500\/30{--tw-shadow-color: rgb(59 130 246 / .3);--tw-shadow: var(--tw-shadow-colored)}.shadow-gray-500\/30{--tw-shadow-color: rgb(107 114 128 / .3);--tw-shadow: var(--tw-shadow-colored)}.shadow-green-500\/30{--tw-shadow-color: rgb(34 197 94 / .3);--tw-shadow: var(--tw-shadow-colored)}.shadow-red-500\/30{--tw-shadow-color: rgb(239 68 68 / .3);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-border{--tw-ring-color: hsl(var(--border))}.ring-primary{--tw-ring-color: hsl(var(--primary))}.ring-ring{--tw-ring-color: hsl(var(--ring))}.ring-offset-2{--tw-ring-offset-width: 2px}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.\!transition-none{transition-property:none!important}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[left\]{transition-property:left;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[margin\,opa\]{transition-property:margin,opa;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[max-height\]{transition-property:max-height;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.\!duration-0{transition-duration:0s!important}.duration-1000{transition-duration:1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.fade-in,.fade-in-0{--tw-enter-opacity: 0}.fade-in-80{--tw-enter-opacity: .8}.zoom-in-95{--tw-enter-scale: .95}.\!duration-0{animation-duration:0s!important}.duration-1000{animation-duration:1s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{animation-timing-function:linear}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.running{animation-play-state:running}.paused{animation-play-state:paused}.slide-in{animation:slideIn .3s ease-out}.slide-out{animation:slideOut .3s ease-out}.slide-in-right{animation:slideInRight .3s ease-out}.slide-in-left{animation:slideInLeft .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.scale-in{animation:scaleIn .2s ease-out}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.fade-in{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.high-contrast{--background: 0 0% 100%;--foreground: 0 0% 0%;--card: 0 0% 100%;--card-foreground: 0 0% 0%;--popover: 0 0% 100%;--popover-foreground: 0 0% 0%;--primary: 0 0% 0%;--primary-foreground: 0 0% 100%;--secondary: 0 0% 90%;--secondary-foreground: 0 0% 0%;--muted: 0 0% 90%;--muted-foreground: 0 0% 30%;--accent: 0 0% 90%;--accent-foreground: 0 0% 0%;--destructive: 0 100% 40%;--destructive-foreground: 0 0% 100%;--border: 0 0% 0%;--input: 0 0% 0%;--ring: 0 0% 0%}.high-contrast.dark{--background: 0 0% 0%;--foreground: 0 0% 100%;--card: 0 0% 0%;--card-foreground: 0 0% 100%;--popover: 0 0% 0%;--popover-foreground: 0 0% 100%;--primary: 0 0% 100%;--primary-foreground: 0 0% 0%;--secondary: 0 0% 15%;--secondary-foreground: 0 0% 100%;--muted: 0 0% 15%;--muted-foreground: 0 0% 70%;--accent: 0 0% 15%;--accent-foreground: 0 0% 100%;--destructive: 0 100% 50%;--destructive-foreground: 0 0% 100%;--border: 0 0% 100%;--input: 0 0% 100%;--ring: 0 0% 100%}.compact-mode{--radius: .25rem}.compact-mode .card{padding:.75rem}.compact-mode .card-header{padding-left:0;padding-right:0;padding-bottom:.5rem;padding-top:0}.compact-mode .card-content{padding:0}.compact-mode .card-footer{padding:0;padding-top:.5rem}.compact-mode .tabs-list{height:2.25rem}.compact-mode .tabs-trigger,.compact-mode .button,.compact-mode .input,.compact-mode .select-trigger{height:2rem;padding:.25rem .75rem}.compact-mode .table th,.compact-mode .table td{padding:.5rem .75rem}.compact-mode h1{font-size:1.25rem;line-height:1.75rem}.compact-mode h2{font-size:1.125rem;line-height:1.75rem}.compact-mode h3{font-size:1rem;line-height:1.5rem}.compact-mode p{font-size:.875rem;line-height:1.25rem}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);top:-.5rem;right:-.5rem;bottom:-.5rem;left:-.5rem}.after\:inset-y-0:after{content:var(--tw-content);top:0;bottom:0}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-1:after{content:var(--tw-content);width:.25rem}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.first\:rounded-l-md:first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.first\:border-l:first-child{border-left-width:1px}.last\:rounded-r-md:last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.last\:border-0:last-child{border-width:0px}.last\:border-b-0:last-child{border-bottom-width:0px}.last\:border-r-0:last-child{border-right-width:0px}.last\:pb-0:last-child{padding-bottom:0}.focus-within\:relative:focus-within{position:relative}.focus-within\:z-20:focus-within{z-index:20}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-blue-200:hover{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.hover\:border-blue-600:hover{--tw-border-opacity: 1;border-color:rgb(37 99 235 / var(--tw-border-opacity, 1))}.hover\:border-cyan-200:hover{--tw-border-opacity: 1;border-color:rgb(165 243 252 / var(--tw-border-opacity, 1))}.hover\:border-cyan-300:hover{--tw-border-opacity: 1;border-color:rgb(103 232 249 / var(--tw-border-opacity, 1))}.hover\:border-emerald-200:hover{--tw-border-opacity: 1;border-color:rgb(167 243 208 / var(--tw-border-opacity, 1))}.hover\:border-emerald-300:hover{--tw-border-opacity: 1;border-color:rgb(110 231 183 / var(--tw-border-opacity, 1))}.hover\:border-gray-200:hover{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.hover\:border-gray-300:hover{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.hover\:border-gray-500:hover{--tw-border-opacity: 1;border-color:rgb(107 114 128 / var(--tw-border-opacity, 1))}.hover\:border-gray-600:hover{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1))}.hover\:border-green-200:hover{--tw-border-opacity: 1;border-color:rgb(187 247 208 / var(--tw-border-opacity, 1))}.hover\:border-green-500:hover{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity, 1))}.hover\:border-green-600:hover{--tw-border-opacity: 1;border-color:rgb(22 163 74 / var(--tw-border-opacity, 1))}.hover\:border-indigo-200:hover{--tw-border-opacity: 1;border-color:rgb(199 210 254 / var(--tw-border-opacity, 1))}.hover\:border-orange-200:hover{--tw-border-opacity: 1;border-color:rgb(254 215 170 / var(--tw-border-opacity, 1))}.hover\:border-primary:hover{border-color:hsl(var(--primary))}.hover\:border-primary\/50:hover{border-color:hsl(var(--primary) / .5)}.hover\:border-purple-200:hover{--tw-border-opacity: 1;border-color:rgb(233 213 255 / var(--tw-border-opacity, 1))}.hover\:border-red-500:hover{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.hover\:border-red-600:hover{--tw-border-opacity: 1;border-color:rgb(220 38 38 / var(--tw-border-opacity, 1))}.hover\:border-rose-200:hover{--tw-border-opacity: 1;border-color:rgb(254 205 211 / var(--tw-border-opacity, 1))}.hover\:border-rose-300:hover{--tw-border-opacity: 1;border-color:rgb(253 164 175 / var(--tw-border-opacity, 1))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-blue-200:hover{--tw-bg-opacity: 1;background-color:rgb(191 219 254 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-50:hover{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.hover\:bg-cyan-100:hover{--tw-bg-opacity: 1;background-color:rgb(207 250 254 / var(--tw-bg-opacity, 1))}.hover\:bg-cyan-200:hover{--tw-bg-opacity: 1;background-color:rgb(165 243 252 / var(--tw-bg-opacity, 1))}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive) / .8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-emerald-100:hover{--tw-bg-opacity: 1;background-color:rgb(209 250 229 / var(--tw-bg-opacity, 1))}.hover\:bg-emerald-200:hover{--tw-bg-opacity: 1;background-color:rgb(167 243 208 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-700:hover{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.hover\:bg-green-50:hover{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.hover\:bg-green-500\/20:hover{background-color:#22c55e33}.hover\:bg-green-600:hover{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.hover\:bg-green-700:hover{--tw-bg-opacity: 1;background-color:rgb(21 128 61 / var(--tw-bg-opacity, 1))}.hover\:bg-indigo-200:hover{--tw-bg-opacity: 1;background-color:rgb(199 210 254 / var(--tw-bg-opacity, 1))}.hover\:bg-indigo-700:hover{--tw-bg-opacity: 1;background-color:rgb(67 56 202 / var(--tw-bg-opacity, 1))}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:bg-muted\/80:hover{background-color:hsl(var(--muted) / .8)}.hover\:bg-orange-200:hover{--tw-bg-opacity: 1;background-color:rgb(254 215 170 / var(--tw-bg-opacity, 1))}.hover\:bg-pink-200:hover{--tw-bg-opacity: 1;background-color:rgb(251 207 232 / var(--tw-bg-opacity, 1))}.hover\:bg-primary:hover{background-color:hsl(var(--primary))}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary) / .8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-purple-200:hover{--tw-bg-opacity: 1;background-color:rgb(233 213 255 / var(--tw-bg-opacity, 1))}.hover\:bg-red-50:hover{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.hover\:bg-red-700:hover{--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity, 1))}.hover\:bg-rose-100:hover{--tw-bg-opacity: 1;background-color:rgb(255 228 230 / var(--tw-bg-opacity, 1))}.hover\:bg-rose-200:hover{--tw-bg-opacity: 1;background-color:rgb(254 205 211 / var(--tw-bg-opacity, 1))}.hover\:bg-secondary:hover{background-color:hsl(var(--secondary))}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:bg-transparent:hover{background-color:transparent}.hover\:bg-white:hover{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-blue-600:hover{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.hover\:text-blue-700:hover{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.hover\:text-blue-800:hover{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.hover\:text-destructive:hover{color:hsl(var(--destructive))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-gray-600:hover{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.hover\:text-gray-800:hover{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.hover\:text-green-600:hover{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.hover\:text-muted-foreground:hover{color:hsl(var(--muted-foreground))}.hover\:text-primary:hover{color:hsl(var(--primary))}.hover\:text-primary-foreground:hover{color:hsl(var(--primary-foreground))}.hover\:text-red-600:hover{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.hover\:text-red-700:hover{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:no-underline:hover{text-decoration-line:none}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow: 0 0 0 1px hsl(var(--sidebar-accent));--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-lg:hover{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-sm:hover{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:scale-\[1\.02\]:focus{--tw-scale-x: 1.02;--tw-scale-y: 1.02;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.focus\:border-blue-500:focus{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:bg-primary:focus{background-color:hsl(var(--primary))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:text-primary-foreground:focus{color:hsl(var(--primary-foreground))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.focus\:ring-red-600:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(220 38 38 / var(--tw-ring-opacity, 1))}.focus\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width: 1px}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color: hsl(var(--background))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100{opacity:1}.group:hover .group-hover\:bg-blue-200{--tw-bg-opacity: 1;background-color:rgb(191 219 254 / var(--tw-bg-opacity, 1))}.group:hover .group-hover\:bg-cyan-200{--tw-bg-opacity: 1;background-color:rgb(165 243 252 / var(--tw-bg-opacity, 1))}.group:hover .group-hover\:bg-emerald-200{--tw-bg-opacity: 1;background-color:rgb(167 243 208 / var(--tw-bg-opacity, 1))}.group:hover .group-hover\:bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.group:hover .group-hover\:bg-green-200{--tw-bg-opacity: 1;background-color:rgb(187 247 208 / var(--tw-bg-opacity, 1))}.group:hover .group-hover\:bg-indigo-200{--tw-bg-opacity: 1;background-color:rgb(199 210 254 / var(--tw-bg-opacity, 1))}.group:hover .group-hover\:bg-orange-200{--tw-bg-opacity: 1;background-color:rgb(254 215 170 / var(--tw-bg-opacity, 1))}.group:hover .group-hover\:bg-purple-200{--tw-bg-opacity: 1;background-color:rgb(233 213 255 / var(--tw-bg-opacity, 1))}.group:hover .group-hover\:bg-rose-200{--tw-bg-opacity: 1;background-color:rgb(254 205 211 / var(--tw-bg-opacity, 1))}.group\/menu-item:hover .group-hover\/menu-item\:opacity-100,.group:hover .group-hover\:opacity-100{opacity:1}.group.destructive .group-\[\.destructive\]\:border-muted\/40{border-color:hsl(var(--muted) / .4)}.group.toaster .group-\[\.toaster\]\:border-border{border-color:hsl(var(--border))}.group.toast .group-\[\.toast\]\:bg-muted{background-color:hsl(var(--muted))}.group.toast .group-\[\.toast\]\:bg-primary{background-color:hsl(var(--primary))}.group.toaster .group-\[\.toaster\]\:bg-background{background-color:hsl(var(--background))}.group.destructive .group-\[\.destructive\]\:text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.group.toast .group-\[\.toast\]\:text-muted-foreground{color:hsl(var(--muted-foreground))}.group.toast .group-\[\.toast\]\:text-primary-foreground{color:hsl(var(--primary-foreground))}.group.toaster .group-\[\.toaster\]\:text-foreground{color:hsl(var(--foreground))}.group.toaster .group-\[\.toaster\]\:shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{border-color:hsl(var(--destructive) / .3)}.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{background-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{color:hsl(var(--destructive-foreground))}.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{--tw-text-opacity: 1;color:rgb(254 242 242 / var(--tw-text-opacity, 1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{--tw-ring-color: hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color: #dc2626}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.has-\[\:disabled\]\:opacity-50:has(:disabled){opacity:.5}.group\/menu-item:has([data-sidebar=menu-action]) .group-has-\[\[data-sidebar\=menu-action\]\]\/menu-item\:pr-8{padding-right:2rem}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-selected\:bg-accent[aria-selected=true]{background-color:hsl(var(--accent))}.aria-selected\:bg-accent\/50[aria-selected=true]{background-color:hsl(var(--accent) / .5)}.aria-selected\:text-accent-foreground[aria-selected=true]{color:hsl(var(--accent-foreground))}.aria-selected\:text-muted-foreground[aria-selected=true]{color:hsl(var(--muted-foreground))}.aria-selected\:opacity-100[aria-selected=true]{opacity:1}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction=vertical]{height:1px}.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical]{width:100%}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=checked\]\:translate-x-5[data-state=checked]{--tw-translate-x: 1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked],.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x: var(--radix-toast-swipe-end-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x: var(--radix-toast-swipe-move-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up .2s ease-out}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down .2s ease-out}.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.data-\[active\]\:bg-accent\/50[data-active]{background-color:hsl(var(--accent) / .5)}.data-\[selected\=\'true\'\]\:bg-accent[data-selected=true]{background-color:hsl(var(--accent))}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:hsl(var(--background))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\[state\=on\]\:bg-accent[data-state=on],.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:hsl(var(--accent) / .5)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:hsl(var(--secondary))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:hsl(var(--muted))}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:hsl(var(--input))}.data-\[active\=true\]\:font-medium[data-active=true]{font-weight:500}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:hsl(var(--accent-foreground))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:hsl(var(--foreground))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:hsl(var(--primary-foreground))}.data-\[state\=on\]\:text-accent-foreground[data-state=on],.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:hsl(var(--accent-foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[disabled\=true\]\:opacity-50[data-disabled=true],.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[motion\^\=from-\]\:animate-in[data-motion^=from-],.data-\[state\=open\]\:animate-in[data-state=open],.data-\[state\=visible\]\:animate-in[data-state=visible]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\[motion\^\=to-\]\:animate-out[data-motion^=to-],.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[state\=hidden\]\:animate-out[data-state=hidden],.data-\[swipe\=end\]\:animate-out[data-swipe=end]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\[motion\^\=from-\]\:fade-in[data-motion^=from-]{--tw-enter-opacity: 0}.data-\[motion\^\=to-\]\:fade-out[data-motion^=to-],.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\[state\=closed\]\:fade-out-80[data-state=closed]{--tw-exit-opacity: .8}.data-\[state\=hidden\]\:fade-out[data-state=hidden]{--tw-exit-opacity: 0}.data-\[state\=open\]\:fade-in-0[data-state=open],.data-\[state\=visible\]\:fade-in[data-state=visible]{--tw-enter-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\[state\=open\]\:zoom-in-90[data-state=open]{--tw-enter-scale: .9}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion=from-end]{--tw-enter-translate-x: 13rem}.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion=from-start]{--tw-enter-translate-x: -13rem}.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion=to-end]{--tw-exit-translate-x: 13rem}.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion=to-start]{--tw-exit-translate-x: -13rem}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y: -.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .5rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y: 100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x: -100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x: -50%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed],.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed]{--tw-exit-translate-x: 100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y: -100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y: 100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x: -100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x: -50%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x: 100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y: -100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-top-full[data-state=open]{--tw-enter-translate-y: -100%}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);left:0}.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction=vertical]:after{content:var(--tw-content);height:.25rem}.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction=vertical]:after{content:var(--tw-content);width:100%}.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]{left:calc(var(--sidebar-width) * -1)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]{right:calc(var(--sidebar-width) * -1)}.group[data-side=left] .group-data-\[side\=left\]\:-right-4{right:-1rem}.group[data-side=right] .group-data-\[side\=right\]\:left-0{left:0}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:-mt-8{margin-top:-2rem}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:hidden{display:none}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!size-8{width:2rem!important;height:2rem!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[--sidebar-width-icon\]{width:var(--sidebar-width-icon)}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)\)\]{width:calc(var(--sidebar-width-icon) + 1rem)}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)_\+2px\)\]{width:calc(var(--sidebar-width-icon) + 1rem + 2px)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:w-0{width:0px}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-side=right] .group-data-\[side\=right\]\:rotate-180,.group[data-state=open] .group-data-\[state\=open\]\:rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:overflow-hidden{overflow:hidden}.group[data-variant=floating] .group-data-\[variant\=floating\]\:rounded-lg{border-radius:var(--radius)}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border{border-width:1px}.group[data-side=left] .group-data-\[side\=left\]\:border-r{border-right-width:1px}.group[data-side=right] .group-data-\[side\=right\]\:border-l{border-left-width:1px}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!p-0{padding:0!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!p-2{padding:.5rem!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:opacity-0{opacity:0}.group[data-variant=floating] .group-data-\[variant\=floating\]\:shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:after\:left-full:after{content:var(--tw-content);left:100%}.peer\/menu-button[data-size=default]~.peer-data-\[size\=default\]\/menu-button\:top-1\.5{top:.375rem}.peer\/menu-button[data-size=lg]~.peer-data-\[size\=lg\]\/menu-button\:top-2\.5{top:.625rem}.peer\/menu-button[data-size=sm]~.peer-data-\[size\=sm\]\/menu-button\:top-1{top:.25rem}.peer[data-variant=inset]~.peer-data-\[variant\=inset\]\:min-h-\[calc\(100svh-theme\(spacing\.4\)\)\]{min-height:calc(100svh - 1rem)}@supports ((-webkit-backdrop-filter: var(--tw)) or (backdrop-filter: var(--tw))){.supports-\[backdrop-filter\]\:bg-background\/60{background-color:hsl(var(--background) / .6)}}.dark\:-rotate-90:is(.dark *){--tw-rotate: -90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:rotate-0:is(.dark *){--tw-rotate: 0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:scale-0:is(.dark *){--tw-scale-x: 0;--tw-scale-y: 0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:scale-100:is(.dark *){--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:border-blue-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(30 64 175 / var(--tw-border-opacity, 1))}.dark\:border-destructive:is(.dark *){border-color:hsl(var(--destructive))}.dark\:border-red-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(153 27 27 / var(--tw-border-opacity, 1))}.dark\:border-yellow-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(133 77 14 / var(--tw-border-opacity, 1))}.dark\:bg-amber-900\/20:is(.dark *){background-color:#78350f33}.dark\:bg-blue-900\/20:is(.dark *){background-color:#1e3a8a33}.dark\:bg-blue-950\/20:is(.dark *){background-color:#17255433}.dark\:bg-gray-800\/50:is(.dark *){background-color:#1f293780}.dark\:bg-green-900\/20:is(.dark *){background-color:#14532d33}.dark\:bg-red-950\/20:is(.dark *){background-color:#450a0a33}.dark\:bg-yellow-950\/20:is(.dark *){background-color:#42200633}.dark\:text-yellow-500:is(.dark *){--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.dark\:hover\:bg-gray-700:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}@media (min-width: 640px){.sm\:bottom-0{bottom:0}.sm\:right-0{right:0}.sm\:top-auto{top:auto}.sm\:mb-4{margin-bottom:1rem}.sm\:mb-6{margin-bottom:1.5rem}.sm\:ml-0{margin-left:0}.sm\:ml-2{margin-left:.5rem}.sm\:mr-2{margin-right:.5rem}.sm\:mt-0{margin-top:0}.sm\:mt-6{margin-top:1.5rem}.sm\:inline{display:inline}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:h-10{height:2.5rem}.sm\:h-14{height:3.5rem}.sm\:min-h-\[120px\]{min-height:120px}.sm\:min-h-\[200px\]{min-height:200px}.sm\:min-w-\[120px\]{min-width:120px}.sm\:min-w-\[180px\]{min-width:180px}.sm\:max-w-\[500px\]{max-width:500px}.sm\:max-w-md{max-width:28rem}.sm\:max-w-sm{max-width:24rem}.sm\:flex-initial{flex:0 1 auto}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:items-center{align-items:center}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2\.5{gap:.625rem}.sm\:gap-3{gap:.75rem}.sm\:gap-4{gap:1rem}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.sm\:space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:p-6{padding:1.5rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pb-4{padding-bottom:1rem}.sm\:pr-12{padding-right:3rem}.sm\:text-left{text-align:left}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}.data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state=open]{--tw-enter-translate-y: 100%}}@media (min-width: 768px){.md\:absolute{position:absolute}.md\:col-span-3{grid-column:span 3 / span 3}.md\:col-span-4{grid-column:span 4 / span 4}.md\:mb-12{margin-bottom:3rem}.md\:mb-4{margin-bottom:1rem}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-12{height:3rem}.md\:h-20{height:5rem}.md\:h-32{height:8rem}.md\:h-40{height:10rem}.md\:w-2\/3{width:66.666667%}.md\:w-2\/5{width:40%}.md\:w-20{width:5rem}.md\:w-3\/5{width:60%}.md\:w-32{width:8rem}.md\:w-40{width:10rem}.md\:w-48{width:12rem}.md\:w-\[180px\]{width:180px}.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{width:var(--radix-navigation-menu-viewport-width)}.md\:w-auto{width:auto}.md\:max-w-\[420px\]{max-width:420px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.md\:grid-cols-\[1fr_300px\]{grid-template-columns:1fr 300px}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:gap-6{gap:1.5rem}.md\:space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.md\:p-12{padding:3rem}.md\:p-3{padding:.75rem}.md\:p-6{padding:1.5rem}.md\:p-8{padding:2rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-base{font-size:1rem;line-height:1.5rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:opacity-0{opacity:0}.after\:md\:hidden:after{content:var(--tw-content);display:none}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:m-2{margin:.5rem}.peer[data-state=collapsed][data-variant=inset]~.md\:peer-data-\[state\=collapsed\]\:peer-data-\[variant\=inset\]\:ml-2{margin-left:.5rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:ml-0{margin-left:0}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:rounded-xl{border-radius:.75rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}}@media (min-width: 1024px){.lg\:inline-flex{display:inline-flex}.lg\:hidden{display:none}.lg\:w-64{width:16rem}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:p-8{padding:2rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:pt-24{padding-top:6rem}.lg\:text-5xl{font-size:3rem;line-height:1}}.\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]){background-color:hsl(var(--accent))}.first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has([aria-selected]):last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\.day-outside\)\]\:bg-accent\/50:has([aria-selected].day-outside){background-color:hsl(var(--accent) / .5)}.\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has([aria-selected].day-range-end){border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\:last-child\]\:truncate>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.\[\&\>span\]\:line-clamp-1>span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y: -3px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:left-4>svg{left:1rem}.\[\&\>svg\]\:top-4>svg{top:1rem}.\[\&\>svg\]\:size-4>svg{width:1rem;height:1rem}.\[\&\>svg\]\:h-2\.5>svg{height:.625rem}.\[\&\>svg\]\:h-3>svg{height:.75rem}.\[\&\>svg\]\:h-3\.5>svg{height:.875rem}.\[\&\>svg\]\:w-2\.5>svg{width:.625rem}.\[\&\>svg\]\:w-3>svg{width:.75rem}.\[\&\>svg\]\:w-3\.5>svg{width:.875rem}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-destructive>svg{color:hsl(var(--destructive))}.\[\&\>svg\]\:text-foreground>svg{color:hsl(var(--foreground))}.\[\&\>svg\]\:text-muted-foreground>svg{color:hsl(var(--muted-foreground))}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:1.75rem}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0px}.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text{fill:hsl(var(--muted-foreground))}.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke="#ccc"]{stroke:hsl(var(--border) / .5)}.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor{stroke:hsl(var(--border))}.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke="#fff"]{stroke:transparent}.\[\&_\.recharts-layer\]\:outline-none .recharts-layer{outline:2px solid transparent;outline-offset:2px}.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke="#ccc"]{stroke:hsl(var(--border))}.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector,.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{fill:hsl(var(--muted))}.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke="#ccc"]{stroke:hsl(var(--border))}.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke="#fff"]{stroke:transparent}.\[\&_\.recharts-sector\]\:outline-none .recharts-sector,.\[\&_\.recharts-surface\]\:outline-none .recharts-surface{outline:2px solid transparent;outline-offset:2px}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:hsl(var(--muted-foreground))}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-top:.75rem;padding-bottom:.75rem}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.\[\&_p\]\:leading-relaxed p{line-height:1.625}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0px}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:-.5rem}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=left] .\[\[data-side\=left\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:-.5rem}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-side=right] .\[\[data-side\=right\]_\&\]\:cursor-e-resize{cursor:e-resize}
