html,body{overflow:visible!important}.navbar-user-icon-btn{margin-right:15px}.schedule-arrow{transition:background .2s,box-shadow .2s}.schedule-arrow:focus{outline:none;box-shadow:0 0 0 3px #1976d233}.schedule-arrow:hover:not(:disabled){background:#e3e8ee}.schedule-arrow:active:not(:disabled){background:#bbdefb}.schedule-arrow:disabled{opacity:.6;cursor:not-allowed}.calendar-table th.sticky-header .dev-header-name{color:#222;margin:0;padding:0;font-weight:600;font-size:.97em!important}.calendar-table th.sticky-header .role-tag{padding:.08em .5em!important;font-size:.75em!important}.role-tag{color:#1976d2;background:#eee;border-radius:4px;margin:0;padding:.1em .6em;font-size:.82em;font-weight:600;transition:background .18s,color .18s;display:inline-block}.role-tag.Developer{color:#1976d2;background:#e3f2fd}.role-tag.Lead{color:#fb8c00;background:#fff3e0}.role-tag.Manager{color:#8e24aa;background:#f3e5f5}.role-tag.Mobile{color:#388e3c;background:#e8f5e9}.role-tag.Backend{color:#5e35b1;background:#ede7f6}.role-tag.Frontend{color:#fbc02d;background:#fffde7}.calendar-section.admin-card.full-width-card{background:#d7e1f1;border-radius:16px;margin-bottom:24px;box-shadow:0 4px 24px #1976d21a,0 1.5px #e3e8ee}.calendar-table{border-collapse:separate;border-spacing:0;width:100%;box-shadow:none;background:#fff;font-size:.98em}.calendar-table th.sticky-header{letter-spacing:.5px;border-top:none;border-bottom:2px solid #e3e8ee;border-right:1.5px solid #f0f4fa;font-size:1.04em;font-weight:700;color:#1976d2!important;vertical-align:middle!important;background:#f7fafd!important;height:54px!important;min-height:44px!important;max-height:60px!important;padding:8px 0!important}.calendar-table th.sticky-header:first-child{border-radius:12px 0 0}.calendar-table th.sticky-header:last-child{border-right:none;border-radius:0 12px 0 0}.calendar-table td.calendar-cell{vertical-align:top;background:#fff;border-bottom:1.5px solid #f0f4fa;border-right:1.5px solid #f0f4fa;min-width:120px;height:54px;padding:.2em .3em;transition:background .18s;position:relative}.calendar-table td.calendar-cell:last-child{border-right:none}.calendar-table tr.today-row td.calendar-cell{background:#e3f0ff!important}.calendar-table tr.holiday-row td.calendar-cell,.calendar-table td.holiday-cell{background:#fffbe6!important}.calendar-table tr.weekend-row td.calendar-cell,.calendar-table td.weekend-cell{background:#f7fafd!important}.calendar-table .event-label.admin-task-tag{color:#222;background:#f6faff;border:1.5px solid #1976d2;border-radius:7px;margin-bottom:4px;padding:.5em .7em;font-size:.97em;font-weight:500;transition:box-shadow .18s,border .18s;box-shadow:0 1px 4px #1976d212}.calendar-table .event-label.admin-task-tag:hover{border:1.5px solid #1565c0;box-shadow:0 4px 16px #1976d211}.calendar-table .product-tag{color:#fff;opacity:.95;pointer-events:none;background:#1976d2;border-radius:4px;margin-left:2px;padding:.1em .5em;font-size:.78em;line-height:1.3}.calendar-table .remove-task,.calendar-table .copy-task{color:#d81b60;opacity:.8;margin-left:8px;font-size:1.1em;transition:color .18s,opacity .18s}.calendar-table .remove-task:hover,.calendar-table .copy-task:hover{color:#b71c1c;opacity:1}.calendar-table .add-task-icon-btn{cursor:pointer;background:#1976d2;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;margin:4px auto 0;transition:background .18s,box-shadow .18s;display:flex;box-shadow:0 2px 8px #1976d211}.calendar-table .add-task-icon-btn:hover{background:#1565c0;box-shadow:0 4px 16px #1976d211}.calendar-table .calendar-date{color:#1976d2;text-align:center;background:#f7fafd;border-bottom:1.5px solid #e3e8ee;border-right:1.5px solid #e3e8ee;border-radius:0;min-width:90px;padding:.7em .2em;font-weight:700}.calendar-table .calendar-date .date-num{margin-bottom:.1em;font-size:.65em;font-weight:700}.calendar-table tr.today-row .calendar-date{color:#fff!important;background:#1976d2!important}.calendar-table tr.today-row td.calendar-date{border-top-left-radius:12px;border-bottom-left-radius:12px}.calendar-table tr.today-row td.calendar-cell:last-child{border-top-right-radius:12px;border-bottom-right-radius:12px}:-webkit-any(input:-webkit-autofill,select:-webkit-autofill){transition:background-color 5000s ease-in-out;color:#222!important;-webkit-text-fill-color:#222!important;background-color:#fafbfc!important}:is(input:autofill,select:autofill){transition:background-color 5000s ease-in-out;color:#222!important;-webkit-text-fill-color:#222!important;background-color:#fafbfc!important}.calendar-table th.sticky-header{letter-spacing:.5px;border-radius:10px;font-weight:700;color:#16324a!important;vertical-align:middle!important;background:#fff!important;height:62px!important;min-height:54px!important;max-height:68px!important;padding-top:4px!important;padding-bottom:4px!important}.dashboard-main{margin-top:18px}.task-icon{color:#fff;background:#7b2cf0;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:18px;display:inline-flex;box-shadow:0 1px #0000000a}.col-bug .task-icon{margin-left:6px}.modal.copy-task-modal .modal-subtitle{color:#3381d4;text-align:center;letter-spacing:.1px;margin-bottom:18px;font-size:1.08em;font-weight:500}.copy-task-form-card{background:#fff;border:1.5px solid #e3eaf3;border-radius:12px;min-width:287px;max-width:420px;margin-bottom:18px;margin-left:auto;margin-right:auto;padding:1.2em 1.5em;box-shadow:0 2px 12px #1976d212}.copy-task-form-card label{color:#222;margin-top:2px;margin-bottom:0;margin-left:2px;font-size:1em;font-weight:500}.copy-task-form-card input[type=date],.copy-task-form-card select{box-sizing:border-box;background:#fafbfc;border:1.5px solid #d0d0d0;border-radius:8px;width:100%;margin-top:8px;margin-bottom:0;padding:.7em 1em;font-size:1.08em;transition:border .2s}.modal.copy-task-modal .btn-save.primary-btn{min-width:110px;box-shadow:none;background:#1976d2;border:none;border-radius:6px;padding:.7em 0;font-size:1.08em}.modal.copy-task-modal .btn-cancel{color:#555;min-width:110px;box-shadow:none;background:#f4f4f4;border:none;border-radius:6px;padding:.7em 0;font-size:1.08em}.modal.copy-task-modal .modal-content form{flex-direction:column;align-items:center;gap:1.1em;margin-bottom:1.2em;display:flex}.modal.copy-task-modal .modal-content label{color:#222;flex-direction:column;align-items:flex-start;width:100%;margin-bottom:0;font-size:1em;font-weight:500;display:flex}.modal.copy-task-modal .modal-content label>input[type=date],.modal.copy-task-modal .modal-content label>select{background:#fafbfc;border:1.5px solid #d0d0d0;border-radius:6px;width:220px;min-width:120px;max-width:100%;margin-top:.35em;margin-bottom:0;padding:.6em 1em;font-size:.97em;transition:border .2s;display:block}.modal.copy-task-modal .modal-content label>input[type=date]:focus,.modal.copy-task-modal .modal-content label>select:focus{border-color:#1976d2;outline:none}.modal.copy-task-modal .modal-content .modal-actions{margin-top:1.5em}.modal.copy-task-modal .modal-content label>input[type=date],.modal.copy-task-modal .modal-content label>select{width:220px;min-width:120px;max-width:100%;margin-top:.2em;margin-bottom:.7em;font-size:.97em;display:block}.modal.copy-task-modal .modal-content{min-width:320px;max-width:420px;font-family:var(--sans);background:#f8fafc;border:2px solid #1976d222;border-radius:16px;margin:0 auto;padding:2.5rem 2.2rem 2rem;position:relative;box-shadow:0 8px 32px #1976d22e,0 1.5px 6px #00000012}.modal.copy-task-modal h2{color:#1976d2;text-align:center;letter-spacing:.5px;margin-bottom:1.2rem;font-size:1.5rem;font-weight:600}.modal.copy-task-modal label{color:#333;margin-bottom:.4em;font-weight:500;display:block}.modal.copy-task-modal input[type=date],.modal.copy-task-modal select{background:#fafbfc;border:1.5px solid #d0d0d0;border-radius:6px;width:100%;margin-top:.2em;margin-bottom:.7em;padding:.7em 1em;font-size:1rem;transition:border .2s}.modal.copy-task-modal input:focus,.modal.copy-task-modal select:focus{border-color:#1976d2;outline:none}.modal.copy-task-modal .modal-actions{justify-content:flex-end;gap:1.2em;margin-top:1.5em;display:flex}.modal.copy-task-modal .btn-save.primary-btn{color:#fff;cursor:pointer;background:#1976d2;border:none;border-radius:6px;padding:.7em 2.2em;font-size:1.1em;font-weight:600;transition:background .18s;box-shadow:0 2px 8px #1976d21a}.modal.copy-task-modal .btn-save.primary-btn:disabled .btn{color:#fff;cursor:pointer;background:#1976d2;border:none;border-radius:8px;padding:8px 14px;font-weight:600}.modal.copy-task-modal .btn-save.primary-btn:disabled .btn-small{padding:6px 10px;font-size:.9em}.modal.copy-task-modal .btn-save.primary-btn:disabled .btn-danger{background:#d81b60}.modal.copy-task-modal .btn-save.primary-btn:disabled .btn-link{color:#1976d2;cursor:pointer;background:0 0;border:none}.modal.copy-task-modal .btn-save.primary-btn:disabled .table{border-collapse:collapse;background:#fff;border:1px solid #eef3fb;width:100%}.modal.copy-task-modal .btn-save.primary-btn:disabled .table th,.modal.copy-task-modal .btn-save.primary-btn:disabled .table td{text-align:left;border-bottom:1px solid #f1f5f9;padding:10px 12px}.modal.copy-task-modal .btn-save.primary-btn:disabled .table th{color:#16325c;background:#fbfdff;font-weight:700}.modal.copy-task-modal .btn-save.primary-btn:disabled{cursor:not-allowed;background:#b0b0b0}.modal.copy-task-modal .btn-save.primary-btn:hover:not(:disabled){background:#115293}.modal.copy-task-modal .btn-cancel{color:#555;cursor:pointer;background:#f4f4f4;border:1.5px solid #e0e0e0;border-radius:6px;padding:.7em 2.2em;font-size:1.1em;font-weight:500;transition:background .18s,border .18s}.modal.copy-task-modal .btn-cancel:hover{background:#e0e0e0;border-color:#bdbdbd}.modal.copy-task-modal label{margin-bottom:.7em}.modal.copy-task-modal input[type=date],.modal.copy-task-modal select{margin-bottom:1.2em}.modal.copy-task-modal .modal-content{box-sizing:border-box}.modal-content{min-width:340px;max-width:540px;font-family:var(--sans);background:#fff;border-radius:14px;margin:0 auto;padding:2.5rem 2.2rem 2rem;position:relative;box-shadow:0 8px 32px #1976d22e,0 1.5px 6px #00000012}.modal h2{color:var(--primary);text-align:center;letter-spacing:.5px;margin-bottom:1.2rem;font-size:2rem;font-weight:600}.modal label{color:#333;margin-bottom:.4em;font-weight:500;display:block}.modal input[type=text],.modal input[type=number],.modal input[type=email],.modal input[type=password],.modal select{background:#fafbfc;border:1.5px solid #d0d0d0;border-radius:6px;width:100%;margin-top:.2em;margin-bottom:.7em;padding:.7em 1em;font-size:.8rem;transition:border .2s}.modal input:focus,.modal select:focus{border-color:var(--primary);outline:none}.btn-save.primary-btn{color:#fff;cursor:pointer;background:#1976d2;border:none;border-radius:6px;padding:.7em 2.2em;font-size:1.1em;font-weight:600;transition:background .18s;box-shadow:0 2px 8px #1976d21a}.btn-save.primary-btn:hover{background:var(--primary-dark)}.btn-cancel{color:#555;cursor:pointer;background:#f4f4f4;border:1.5px solid #e0e0e0;border-radius:6px;padding:.7em 2.2em;font-size:1.1em;font-weight:500;transition:background .18s,border .18s}.btn-cancel:hover{background:#e0e0e0;border-color:#bdbdbd}.modal .admin-input{font-size:.8rem}.modal .existing-task-list{z-index:1002;background:#fff;border:1.5px solid #d0d0d0;border-radius:8px;width:420px;min-width:320px;max-width:420px;margin-top:.2em;padding:.2em 0;position:absolute;left:0;box-shadow:0 4px 16px #1976d221}.modal .existing-task-item{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border-radius:4px;outline:none;padding:.5em 1em;font-size:1.05em;transition:background .15s;overflow:hidden}.modal .existing-task-item.selected,.modal .existing-task-item:hover{border:1.5px solid #1976d2;background:#e3f2fd!important}.modal .error-message{color:#d32f2f;text-align:left;margin-bottom:.7em;font-size:1em}.existing-task-list{z-index:1002;background:#fff;border:1px solid #d0d0d0;border-radius:6px;width:320px;min-width:260px;max-width:340px;margin-top:.2em;padding:.2em 0;position:absolute;box-shadow:0 2px 8px #1976d21a}.existing-task-item{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border-radius:4px;outline:none;padding:.3em .5em;transition:background .15s;overflow:hidden}.existing-task-item.selected,.existing-task-item:hover{border:1px solid #1976d2;background:#e3f2fd!important}:root{--text:#222;--text-h:#08060d;--bg:#fff;--border:#e3e3e3;--code-bg:#f4f3ec;--accent:#ffb300;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--primary:#1976d2;--primary-dark:#115293;--primary-light:#63a4ff;--background:#f5f7fa;--surface:#fff;--text-light:#fff;--calendar-task-bg:#e3f0fd;--calendar-task-border:#1976d2;--calendar-task-text:#1976d2;--calendar-today-bg:#fffde7;--calendar-weekend-bg:#f0f4f8}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{background:var(--background);color:var(--text);margin:0;font-family:Inter,Segoe UI,Arial,sans-serif}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#app{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;max-width:100%;height:100vh;min-height:100vh;margin:0 auto;display:flex}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}.task-manager{background:#fff;border-radius:12px;width:100%;max-width:100%;margin:40px 0;padding:32px 24px;box-shadow:0 4px 24px #00000014}.task-manager h1{color:#4b2e83;text-align:center;margin-bottom:24px;font-size:2rem}.add-task{color:#fff;cursor:pointer;background:#4b2e83;border:none;border-radius:6px;padding:8px 18px;font-size:1rem;font-weight:600;transition:background .2s;box-shadow:0 2px 8px #4b2e831f}.add-task:hover{background:#6c4bb6}#task-list{width:100%;margin:0;padding:0;list-style:none}.task-item{background:#f7f6fb;border-radius:8px;justify-content:space-between;align-items:center;width:100%;margin-bottom:12px;padding:12px 16px;font-size:1rem;display:flex;box-shadow:0 1px 4px #4b2e830f}.task-name{color:#333;font-weight:500}.task-status{text-transform:capitalize;border-radius:16px;padding:4px 12px;font-size:.9rem;font-weight:600}.task-status.pending{color:#b26c00;background:#ffe5b2}.task-status.done{color:#2f855a;background:#c6f6d5}.modal{z-index:200;background:#2121211f;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:12px;min-width:340px;max-width:95vw;padding:2.5rem 2.5rem 2rem;box-shadow:0 8px 32px #0000001f}.modal-content h2{color:#4b2e83;margin-bottom:8px;font-size:1.4rem;font-weight:600}.input-task{background:#f7f6fb;border:1.5px solid #e5e4e7;border-radius:8px;outline:none;width:100%;margin-bottom:0;padding:12px 16px;font-size:1rem;transition:border-color .2s}.input-task:focus{background:#fff;border-color:#4b2e83}.modal-actions{justify-content:flex-end;gap:1.5rem;margin-top:1.5rem;display:flex}.btn-save{color:#fff;cursor:pointer;background:#1976d2;border:none;border-radius:8px;padding:.5rem 1.5rem;font-size:1rem;font-weight:600;transition:background .2s}.btn-save:hover{background:#1565c0}.btn-cancel{color:#888;cursor:pointer;background:#f0f1f3;border:none;border-radius:8px;margin-left:.5rem;padding:.5rem 1.5rem;font-size:1rem;font-weight:600;transition:background .2s}.btn-cancel:hover{background:#e0e3e8}.calendar-section{background:var(--surface);border-radius:10px;max-width:100vw;margin:32px auto;padding:24px 12px;box-shadow:0 2px 12px #00000012}.calendar-section.admin-card,.full-width-card{height:100%;margin-bottom:0;padding-bottom:0}.calendar-section h1{color:#2a3b5d;text-align:left;margin-bottom:18px;font-size:1.7rem}.calendar-table-container{box-sizing:border-box;scrollbar-color:#1976d2 #e3e3e3;scrollbar-width:thin;background:var(--surface);height:100%;min-height:0;overflow-y:visible;width:100%!important;max-width:100%!important;margin-bottom:0!important;padding-bottom:0!important;overflow-x:auto!important}.calendar-table-container::-webkit-scrollbar{background:#e3e3e3;height:12px}.calendar-table-container::-webkit-scrollbar-thumb{background:#1976d2;border-radius:6px}.calendar-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:max-content}.calendar-table th,.calendar-table td{border-right:1px solid var(--border);border:1px solid var(--border);width:280px;min-width:280px;max-width:280px;font-family:Segoe UI,Arial,sans-serif;font-size:15px}.calendar-table th:last-child,.calendar-table td:last-child{border-right:none}.calendar-table tr:last-child td{border-bottom:none}.calendar-table th.sticky-header{background:var(--primary-dark);color:var(--text-light)}.calendar-table th,.calendar-table td{text-align:center;vertical-align:top;background:#fff;min-width:120px;padding:8px 6px}.calendar-table th.date-col.sticky-header{text-transform:uppercase;letter-spacing:.5px;color:#596777!important;text-align:left!important;background:#f7fbff!important;padding-left:8px!important;font-size:.78rem!important;font-weight:600!important}.calendar-table .calendar-date{color:#13314a;width:var(--date-col-width,96px);min-width:var(--date-col-width,96px);max-width:var(--date-col-width,96px);background:#fff;border-right:1.5px solid #e6e9ec;flex-direction:column;align-items:flex-start;gap:2px;padding:8px;font-family:Segoe UI,Arial,sans-serif;font-size:.86rem;font-weight:600}.calendar-table .calendar-date .date-num{color:#0f2a42;white-space:nowrap;font-size:.88rem;font-weight:700}.calendar-table .calendar-day-label{color:#6b7a90;font-size:.78rem;font-weight:500}.calendar-day{color:#888;font-size:.9em}.calendar-day-label{color:#f4f3ec;margin-top:2px;font-size:.95em;font-weight:400;display:block}.calendar-cell{vertical-align:top;background:#fff;border-bottom:1px solid #f0f1f3;border-right:1px solid #f0f1f3;min-width:180px;max-width:220px;padding:.5rem .5rem .7rem;position:relative}.task-list{flex-direction:column;align-items:stretch;gap:.4rem;margin-bottom:.3rem;display:flex}.event-label{color:#222;cursor:grab;border-radius:4px;justify-content:space-between;align-items:center;min-height:24px;margin:2px 0;padding:2px 8px;font-size:.95em;font-weight:600;transition:box-shadow .2s;display:flex}.event-label:active{box-shadow:0 2px 8px #4b2e8333}.admin-task-tag{min-width:80px;max-width:320px;color:var(--calendar-task-text);cursor:grab;border:1px solid var(--calendar-task-border);white-space:normal;text-overflow:unset;word-break:break-word;border-radius:8px;align-items:center;margin-bottom:.1rem;padding:.25rem .7rem;font-size:14px;font-weight:500;transition:background .15s,box-shadow .15s;display:inline-flex;overflow:visible;box-shadow:0 1px 4px #1976d20a}.admin-task-tag:hover{box-shadow:0 2px 8px #1976d21a}.copy-task{white-space:nowrap;text-overflow:ellipsis;opacity:0;pointer-events:none;color:#888;z-index:2;background:0 0;border-radius:50%;justify-content:center;align-items:center;width:18px;max-width:90%;height:18px;padding:0;font-size:1em;line-height:18px;transition:opacity .15s,background .15s,color .15s;display:flex;position:absolute;top:4px;right:6px;overflow:hidden}.remove-task{opacity:0;pointer-events:none;color:#888;z-index:2;background:0 0;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:1em;line-height:18px;transition:opacity .15s,background .15s,color .15s;display:flex;position:absolute;top:4px;right:28px}.event-label.admin-task-tag:hover .remove-task,.event-label.admin-task-tag:hover .copy-task{opacity:1;pointer-events:auto}.copy-task:hover{color:#1976d2;background:#e3f0fd}.remove-task:hover{color:#f44336;background:#fbe9e7}.event-label.admin-task-tag{box-sizing:border-box;justify-content:flex-start;align-items:flex-start;width:100%;min-width:80px;max-width:320px;min-height:32px;padding-top:.2em;padding-right:50px;transition:background .15s,box-shadow .15s;display:flex;position:relative}.task-input{background:#f7f6fb;border:1px solid #e5e4e7;border-radius:6px;outline:none;width:100%;margin-top:2px;margin-bottom:2px;padding:6px 0;font-size:1em;transition:border-color .2s}.task-input:focus{background:#fff;border-color:#4b2e83}.admin-input{color:#08060d;background:#f8fafc;border:1.5px solid #e0e3e8;border-radius:8px;outline:none;width:90%;margin-top:.2rem;padding:.3rem .8rem;font-size:1rem;transition:border .2s,box-shadow .2s}.admin-input:focus{background:#fff;border:1.5px solid #1976d2;box-shadow:0 2px 8px #1976d214}.navbar{color:#fff;background:#2563eb;justify-content:space-between;align-items:center;height:64px;margin-bottom:18px;padding:0 18px;display:flex;box-shadow:0 2px 8px #2563eb14}.admin-navbar{height:64px;color:var(--text-light);border-bottom:2px solid var(--primary-dark);z-index:100;background:#2563eb;justify-content:space-between;align-items:center;padding:0 2.5rem;display:flex;position:fixed;top:0;left:0;right:0}.navbar-title{letter-spacing:.5px;color:var(--text-light);font-size:1.5rem;font-weight:600}.navbar-links{gap:2rem;display:flex}.navbar-link{color:var(--text-light);border-bottom:2px solid #0000;padding:8px 0;font-size:1rem;font-weight:500;text-decoration:none;transition:color .2s,border .2s}.navbar-link.active{color:var(--accent);border-bottom:2px solid var(--accent)}.navbar-link.active,.navbar-link:hover{color:var(--accent);background:#1976d2}.primary-btn{color:#fff;cursor:pointer;background:linear-gradient(90deg,#1976d2 60%,#2196f3 100%);border:none;border-radius:8px;padding:.6rem 1.5rem;font-size:1rem;font-weight:600;transition:background .2s,box-shadow .2s;box-shadow:0 2px 8px #1976d214}.primary-btn:hover{background:linear-gradient(90deg,#1565c0 60%,#1976d2 100%);box-shadow:0 4px 16px #1976d21f}.dashboard-main{box-sizing:border-box;flex-direction:column;flex:auto;align-items:stretch;height:calc(100vh - 80px);min-height:0;display:flex}.admin-card,.calendar-section.admin-card,.full-width-card{box-sizing:border-box;border-radius:0;width:100%;max-width:100%;height:100%;margin:0;padding:0 12px}.calendar-table-container{box-sizing:border-box;height:100%;min-height:0}body,html{box-sizing:border-box;background:#d7e1f1;height:100%;margin:0;padding:0}#app{box-sizing:border-box;flex-direction:column;height:100vh;min-height:100vh;margin:0;padding:0;display:flex}@media (width<=1100px){.admin-table th,.admin-table td{min-width:120px;font-size:.97rem}.calendar-table-container{max-width:98vw}}@media (width<=1024px){.dashboard-main{margin-top:110px}.admin-card{padding:1rem .2rem .5rem}}@media (width<=700px){.admin-navbar{flex-direction:column;gap:.5rem;height:auto;padding:1rem .5rem}}.full-width-card{border-radius:0;width:100vw;max-width:100vw;margin:0;padding-left:0;padding-right:0}.full-width-table{table-layout:fixed;width:100vw;min-width:100vw;max-width:100vw}.vertical-scroll-only{border-radius:20px;width:100%;height:100%;min-height:0;overflow:hidden auto;margin-bottom:0!important;padding-bottom:0!important}.admin-table th,.admin-table td{word-break:break-word;min-width:180px;max-width:220px}.date-col,.sticky-col{z-index:3;background:#f4f6fa;position:sticky;left:0;box-shadow:2px 0 8px -4px #e0e3e8}.sticky-header{z-index:10;z-index:20;background:#f4f6fa;position:sticky;top:0;left:0;box-shadow:0 2px 8px #0000000a}.sticky-col.date-col.sticky-header{z-index:30;background:#115293;left:0}@media (width<=900px){.admin-table th,.admin-table td{min-width:120px;font-size:.97rem}.full-width-table{min-width:100vw;max-width:100vw}}.drag-placeholder{opacity:.7;border:2px dashed #2196f3;min-height:32px;background:#e3f2fd!important}.drag-chosen{z-index:10;border:2px solid #2196f3;box-shadow:0 4px 16px #2196f340;background:#fff!important}.drag-dragging{opacity:.6;border:2px solid #1976d2;box-shadow:0 8px 24px #2196f32e}.drag-fallback{opacity:.8;border:2px solid #1976d2;background:#bbdefb!important}.task-list.drag-over{background:#f0f7fa;outline:2px solid #2196f3;transition:background .2s,outline .2s}.weekend-row,.weekend-cell{position:relative;background-color:#fff6e0!important}.weekend-row td.calendar-cell,.weekend-cell{background-blend-mode:normal;background-image:repeating-linear-gradient(45deg,#d58a290f 0 12px,#fff0 12px 24px)}.weekend-row .calendar-date{font-weight:700;color:#d58a00!important;background:#fff6e0!important}.weekend-row .calendar-day-label{color:#bfa05a;font-weight:600}.sticky-col,.date-col{z-index:3;background:#f4f6fa;position:sticky;left:0;box-shadow:2px 0 8px -4px #e0e3e8;min-width:var(--date-col-width,96px)!important;max-width:var(--date-col-width,96px)!important;width:var(--date-col-width,96px)!important;padding-left:8px!important;padding-right:8px!important}.calendar-date{flex-direction:column;justify-content:center;align-items:flex-start;min-width:var(--date-col-width,96px)!important;max-width:var(--date-col-width,96px)!important;width:var(--date-col-width,96px)!important;padding-left:8px!important;padding-right:8px!important}.calendar-table th.date-col,.calendar-table td.date-col,.calendar-table td.calendar-date,.calendar-table .sticky-col.date-col{box-sizing:border-box!important;width:var(--date-col-width,96px)!important;min-width:var(--date-col-width,96px)!important;max-width:var(--date-col-width,96px)!important;padding-left:8px!important;padding-right:8px!important}.calendar-table .sticky-col.date-col{border-right:none!important}.calendar-table th:not(.sticky-col):not(.date-col),.calendar-table td:not(.sticky-col):not(.date-col){width:280px!important;min-width:280px!important;max-width:280px!important}td.actions-cell .calendar-table th:not(.sticky-col):not(.date-col),td.actions-cell .calendar-table td:not(.sticky-col):not(.date-col){width:80px!important;min-width:80px!important;max-width:100px!important}body,html{box-sizing:border-box;height:100%;margin:0;padding:0}html,body{overflow-x:hidden}.leave-cell{opacity:1;background-image:repeating-linear-gradient(45deg,#6d28d90d 0 12px,#fff0 12px 24px);position:relative;background-color:#f3f0fb!important}.leave-label{text-align:center;letter-spacing:.3px;border-radius:14px;justify-content:center;align-items:center;gap:6px;margin:0;padding:.4em 1.1em;font-size:.82em;font-weight:600;display:inline-flex}.leave-cell .leave-label{color:#6d28d9;background:#fff;border:1px solid #e0d6fa;box-shadow:0 1px 3px #6d28d91a}.leave-cell .leave-label:before{content:"";background:#6d28d9;border-radius:50%;flex-shrink:0;width:6px;height:6px}.calendar-cell.leave-cell{vertical-align:middle;text-align:center;padding:0;display:table-cell}#product-filter-select,.product-filter-select{appearance:none;color:#222;cursor:pointer;background:#f8fafc url("data:image/svg+xml;utf8,<svg fill='%23333' height='20' viewBox='0 0 20 20' width='20' xmlns='http://www.w3.org/2000/svg'><path d='M7.293 7.293a1 1 0 011.414 0L10 8.586l1.293-1.293a1 1 0 111.414 1.414l-2 2a1 1 0 01-1.414 0l-2-2a1 1 0 010-1.414z'/></svg>") right .7em center/1.1em 1.1em no-repeat;border:1px solid #b0b8c1;border-radius:6px;width:auto;min-width:120px;max-width:220px;padding:.35em 2.2em .35em .8em;font-size:1em;transition:border .2s;box-shadow:0 1px 2px #00000008}#product-filter-select:focus,.product-filter-select:focus{background-color:#fff;border-color:#1976d2;outline:none}.login-container{background:linear-gradient(120deg,#f5f7fa 60%,#e3f0fd 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-form{background:#fff;border-radius:16px;flex-direction:column;align-items:stretch;gap:1.2rem;min-width:340px;max-width:95vw;padding:2.5rem 2.5rem 2rem;display:flex;box-shadow:0 4px 32px #1976d21a,0 1.5px 6px #4b2e830a}.login-form h2{color:#1976d2;text-align:center;letter-spacing:-.5px;margin-bottom:.5rem;font-weight:700}.login-form .admin-input{margin-bottom:.5rem}.login-form .error-message{color:#d32f2f;text-align:center;margin-bottom:.5rem;font-size:.98em}.login-form .primary-btn{width:100%;margin-top:.5rem;padding:.7rem 0;font-size:1.08em}@media (width<=600px){.login-form{min-width:0;padding:1.2rem .5rem}}tr.today-row{box-shadow:inset 0 0 0 2px #1976d2;border-left:4px solid #1976d2!important;border-right:4px solid #1976d2!important}tr.today-row>td,tr.today-row>th{border-top:2px solid #1976d2!important;border-bottom:2px solid #1976d2!important}.copy-calendar-day-btn{color:#08060d!important}.holiday-cell,.holiday-row{color:#d48806!important;background:#fffbe6!important}.holiday-emoji{vertical-align:middle;margin-left:6px;font-size:1.1em}.weekend-cell,.weekend-row,.weekend-cell,.weekend-row,.weekend-row .calendar-date,.weekend-row .calendar-day-label,.weekend-row .leave-label,.weekend-cell .leave-label{color:#b59b00!important;background:#fffbe6!important}.weekend-row,.weekend-cell{border-bottom:1px solid #e3e3e3;color:#b59b00!important;background:#f7fafc!important}.holiday-row,.holiday-cell{border-bottom:1px solid #e3e3e3;color:#d48806!important;background:#fffbe6!important}.weekend-row .calendar-date,.holiday-row .calendar-date{border-left:4px solid #ffe082;font-weight:600;background:inherit!important}.weekend-row .calendar-day-label,.holiday-row .calendar-day-label{letter-spacing:.5px;font-weight:600}.today-row{border-left:6px solid #1976d2;background:#e3f2fd!important}.schedule-page-title{color:#1976d2;text-align:left;text-shadow:0 2px 12px #1976d21a;background:linear-gradient(90deg,#e3f2fd 0%,#fff 100%);border:2px solid #1976d2;border-radius:8px;padding:.4em 2.5em .4em 2em;font-family:Poppins,Segoe UI,Arial,sans-serif;font-size:1.2rem;font-weight:500;line-height:1.18;transition:box-shadow .2s,border .2s;display:inline-block;box-shadow:0 2px 12px #1976d212}.calendar-table tr.weekend-row td.calendar-cell,.calendar-table td.weekend-cell,.calendar-table tr.weekend-row th.date-col,.calendar-table th.weekend-cell{color:#d09a2f!important;background-color:#fff6e0!important;border-bottom:1px solid #f0e6d1!important;position:relative!important}.calendar-table tr.weekend-row td.calendar-cell:before,.calendar-table td.weekend-cell:before{content:"";pointer-events:none;z-index:0;position:absolute;inset:0;background-image:repeating-linear-gradient(45deg,#d58a290f 0 14px,#fff0 14px 28px)!important}.calendar-table tr.weekend-row td.calendar-cell>.task-list,.calendar-table td.weekend-cell>.task-list{z-index:1;position:relative}.calendar-table tr.weekend-row td.calendar-date,.calendar-table tr.weekend-row th.date-col{color:#d58a00!important;z-index:2!important;background-color:#fff6e0!important;border-left:4px solid #ffdca3!important;font-weight:600!important}.calendar-table th.date-col,.calendar-table td.date-col,.calendar-table td.calendar-date,.calendar-table .sticky-col.date-col{width:var(--date-col-width,96px)!important;min-width:var(--date-col-width,96px)!important;max-width:var(--date-col-width,96px)!important}.calendar-table tr.weekend-row td.calendar-date,.calendar-table tr.weekend-row th.date-col.sticky-header,.calendar-table tr.weekend-row .sticky-col.date-col{background-color:#fff6e0!important}.calendar-table tr.weekend-row td.calendar-date .date-num,.calendar-table tr.weekend-row td.calendar-date .calendar-day-label{color:#d58a00!important}.calendar-table th.empty-dev-col{background:#f7f9fc!important}.empty-dev-pill{color:#9aa4b2;background:#eef1f6;border-radius:16px;padding:.35em .9em;font-size:.85em;font-weight:600;display:inline-block}.calendar-table td.empty-dev-cell{background:#fbfcfe}.calendar-table td.empty-dev-cell:after{content:"";background:#e6eaf0;width:60%;height:1px;margin:26px auto 0;display:block}
