:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#18212f;background:#f5f7fb;font-synthesis:none;--navy: #172554;--navy-2: #1e326f;--blue: #3563e9;--blue-soft: #eef3ff;--line: #e4e9f1;--muted: #687386;--danger: #b42318}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}input,select,textarea{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2{font-family:inherit}.screen-center{min-height:100vh;display:grid;place-items:center}.screen-center.compact{min-height:220px}.spinner{width:28px;height:28px;border:3px solid #dbe3f7;border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;color:#72809b;margin-bottom:7px}.muted{color:var(--muted)}.login-screen{min-height:100vh;display:grid;grid-template-columns:minmax(360px,46%) minmax(400px,1fr);background:#fff}.login-story{padding:clamp(48px,8vw,120px);display:flex;flex-direction:column;justify-content:center;color:#fff;background:radial-gradient(circle at 10% 90%,#2f54a7 0,transparent 36%),linear-gradient(145deg,#111d45,#1d3476);position:relative;overflow:hidden}.login-story:after{content:"";width:390px;height:390px;position:absolute;right:-190px;top:-110px;border:1px solid #ffffff24;border-radius:40% 60% 55% 45%;transform:rotate(24deg)}.brand-mark{width:50px;height:50px;display:grid;place-items:center;border-radius:15px;background:#fff;color:var(--navy);margin-bottom:56px;box-shadow:0 14px 35px #0003}.login-story .eyebrow{color:#a9bde9}.login-story h1{font-size:clamp(42px,5vw,70px);line-height:1.02;letter-spacing:-.055em;margin-bottom:25px}.login-story>p:not(.eyebrow){color:#c7d3ed;max-width:480px;font-size:17px;line-height:1.6}.security-note{margin-top:52px;display:flex;align-items:center;gap:10px;color:#bdccec;font-size:13px}.login-card{padding:clamp(44px,9vw,140px);display:flex;flex-direction:column;justify-content:center;max-width:690px}.login-card h2{font-size:32px;margin-bottom:8px;letter-spacing:-.035em}.login-card form{display:flex;flex-direction:column;gap:18px;margin-top:35px}.login-card label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600;color:#394457}.login-card input{border:1px solid #d7deea;border-radius:9px;padding:13px 14px;outline:none;transition:.15s}.login-card input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #3563e91a}.optional{color:#929baa;font-weight:400}.primary-button{border:0;border-radius:9px;padding:13px 17px;color:#fff;background:var(--blue);font-weight:600;display:flex;align-items:center;justify-content:center;gap:9px}.primary-button:disabled{opacity:.65}.error-banner{padding:11px 13px;color:#8f1d16;background:#fff0ee;border:1px solid #f5c5bf;border-radius:8px;font-size:13px}.auth-config-error{margin-top:24px}.oidc-options{display:flex;flex-direction:column;gap:12px}.oidc-options.oidc-only{margin-top:32px}.login-divider{display:flex;align-items:center;gap:12px;color:#929baa;font-size:12px;text-transform:uppercase}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:#e2e7ef}.oidc-button{border:1px solid #d7deea;border-radius:9px;padding:13px 17px;background:#fff;color:#263247;font-weight:600;display:flex;align-items:center;justify-content:center;gap:9px}.oidc-button:hover{border-color:var(--blue);color:var(--blue)}.login-link{margin-top:20px;text-decoration:none}.login-spinner{margin-top:28px}.app-shell{min-height:100vh;display:flex}.sidebar-backdrop,.mobile-menu-button,.filter-toggle{display:none}.sidebar{flex:none;background:var(--navy);color:#eef3ff;min-height:100vh;width:248px;position:relative;display:flex;flex-direction:column;transition:width .18s}.sidebar.closed{width:64px}.sidebar-brand{height:68px;display:flex;align-items:center;gap:11px;padding:0 17px;border-bottom:1px solid #ffffff12;white-space:nowrap}.sidebar-brand>span{color:#9bb7ff;display:grid;place-items:center}.sidebar-toggle{position:absolute;top:83px;right:-11px;width:23px;height:23px;border-radius:50%;border:1px solid var(--line);background:#fff;color:#5f6b7d;display:grid;place-items:center;z-index:2}.sidebar-section-title{display:flex;align-items:center;justify-content:space-between;color:#8fa3cf;padding:30px 18px 10px;font-size:10px;letter-spacing:.13em;font-weight:700}.sidebar-views-title{padding-top:22px}.overview-list button{grid-template-columns:18px minmax(0,1fr)}.project-list{display:flex;flex-direction:column;padding:0 9px;gap:3px}.project-list button{min-width:0;border:0;background:transparent;color:#c7d2ed;display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left;padding:10px;border-radius:7px}.project-list button:hover{background:#ffffff0d}.project-list button.active{color:#fff;background:#ffffff14}.project-list button>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-list small{font-size:9px;color:#8195c0}.project-dot{width:7px;height:7px;background:#7899e5;border-radius:2px}.sidebar-user{margin-top:auto;border-top:1px solid #ffffff12;padding:17px;display:flex;align-items:center;gap:10px}.sidebar-user>div{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:#4260a2;font-weight:700}.sidebar-user>span{display:flex;flex-direction:column;min-width:0}.sidebar-user strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user small{font-size:10px;color:#91a3cc}.workspace{min-width:0;flex:1;display:flex;flex-direction:column}.topbar{height:89px;padding:17px 28px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.topbar h1{font-size:22px;margin:0;letter-spacing:-.03em}.icon-button{border:0;background:transparent;color:#667085;display:inline-flex;align-items:center;justify-content:center;padding:7px;border-radius:7px}.icon-button:hover{background:#f0f3f8}.user-button{gap:10px}.user-button>span{width:29px;height:29px;display:grid;place-items:center;border-radius:8px;background:var(--blue-soft);color:var(--blue);font-weight:700}.viewbar{min-height:57px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;gap:20px}.view-tabs{align-self:stretch;display:flex}.view-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;color:#667085;padding:0 16px;display:flex;align-items:center;gap:7px;font-size:13px}.view-tabs button.active{color:var(--blue);border-bottom-color:var(--blue);font-weight:600}.today-options{align-self:stretch;display:flex;align-items:center;gap:18px;color:#526078;font-size:12px}.today-options label{display:flex;align-items:center;gap:7px;white-space:nowrap}.view-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.search-box{border:1px solid var(--line);background:#f9fafc;padding:7px 10px;border-radius:7px;display:flex;align-items:center;gap:7px;color:#8993a3}.search-box input{border:0;outline:0;background:transparent;width:150px;font-size:12px}.view-actions>select,.secondary-button{border:1px solid var(--line);border-radius:7px;background:#fff;padding:8px 10px;font-size:12px}.view-content{padding:20px 25px 34px;min-width:0;flex:1}.gantt-workspace{height:100dvh;min-height:0;overflow:hidden}.gantt-content{min-height:0;display:flex;flex-direction:column;overflow:hidden}.table-toolbar{height:39px;display:flex;justify-content:space-between;align-items:flex-start;color:#778196;font-size:11px}.table-toolbar strong{color:#364152}.table-toolbar span{padding:0 5px}.table-toolbar-actions,.task-sort-control,.task-sort-control label{display:flex;align-items:center}.table-toolbar-actions,.task-sort-control{gap:8px}.task-sort-control label{gap:6px;color:#778196;font-size:11px}.task-sort-control select{min-height:30px;border:1px solid var(--line);border-radius:7px;padding:4px 25px 4px 8px;color:#4c586b;background:#fff;font-size:11px}.sort-direction{min-width:31px;min-height:30px;justify-content:center;padding:4px}.ordering-warning{margin-bottom:10px;border:1px solid #ead7a8;border-radius:7px;padding:7px 10px;color:#805c17;background:#fffaf0;font-size:11px}.secondary-button{display:flex;align-items:center;gap:6px;color:#4c586b}.column-menu-wrap{position:relative}.column-menu{z-index:5;position:absolute;top:37px;right:0;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 28px #1923371b;min-width:160px;padding:8px;display:flex;flex-direction:column}.column-menu label{display:flex;gap:8px;padding:7px;font-size:12px}.table-error{margin-bottom:10px;display:flex;justify-content:space-between}.table-error button{border:0;color:inherit;background:transparent;font-weight:600}.root-drop{border:1px solid var(--line);background:#fff;border-radius:9px;box-shadow:0 2px 5px #1f29370a;overflow:hidden;transition:box-shadow .15s}.table-scroll{width:100%;overflow:auto}.task-table{width:100%;border-collapse:collapse;min-width:900px}.task-table th{height:38px;text-align:left;background:#fafbfd;border-bottom:1px solid var(--line);border-right:1px solid #edf0f5;color:#747f91;font-size:10px;letter-spacing:.03em;font-weight:600;padding:0 11px;white-space:nowrap}.task-table th.sortable{cursor:pointer}.task-table td{height:43px;border-bottom:1px solid #edf0f5;border-right:1px solid #f0f2f6;padding:0 10px;font-size:12px;background:#fff}.today-view .table-scroll{border:1px solid var(--line);border-radius:9px;background:#fff}.today-table{min-width:760px}.today-table th:first-child,.today-table td:first-child{width:36px;padding:0 11px;text-align:center}.today-task-title{display:flex;flex-direction:column;gap:2px;min-width:190px}.today-task-title strong{color:#2f3a4c;font-size:12px}.today-task-title small{color:#929cad;font-size:9px}.today-status{display:inline-flex;border-radius:12px;padding:3px 8px;font-size:10px;white-space:nowrap}.today-status.today{color:#3158b8;background:#eaf0ff}.today-status.ongoing{color:#176b49;background:#e8f7ef}.today-status.late{color:#9b251b;background:#ffebe9}.table-chips{display:flex;gap:4px;flex-wrap:wrap;min-width:90px}.table-chips span{background:#eef2f8;border-radius:10px;color:#526078;padding:2px 7px;white-space:nowrap}.bucket-cell{display:block;min-width:90px;width:100%;overflow:hidden;border:1px solid transparent;border-radius:5px;padding:4px 18px 4px 5px;color:#59667a;background:transparent;white-space:nowrap;text-overflow:ellipsis}.bucket-cell:not(:disabled):hover,.bucket-cell:not(:disabled):focus{border-color:#ccd5e6;background:#fff}.assignee-picker,.table-picker{position:relative;min-width:130px}.assignee-picker summary,.table-picker summary{display:flex;align-items:center;gap:6px;min-height:30px;color:#8993a3;cursor:pointer;list-style:none}.assignee-picker summary::-webkit-details-marker,.table-picker summary::-webkit-details-marker{display:none}.assignee-picker summary>svg,.table-picker summary>svg{flex:none;opacity:0}tr:hover .assignee-picker summary>svg,tr:hover .table-picker summary>svg,.assignee-picker[open] summary>svg,.table-picker[open] summary>svg{opacity:1}.assignee-picker summary small,.table-picker summary small{color:#98a2b3}.assignee-menu,.table-picker-menu{position:absolute;z-index:8;top:calc(100% + 3px);left:0;min-width:180px;max-height:220px;overflow-y:auto;padding:6px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 12px 28px #19233726}.assignee-menu label{display:flex;align-items:center;gap:7px;padding:6px;color:#536073;font-size:11px;white-space:nowrap}.assignee-menu>small{display:block;padding:7px;color:#98a2b3}.label-menu{min-width:220px}.label-options{display:flex;flex-direction:column;max-height:160px;overflow-y:auto}.label-options label{display:flex;align-items:center;gap:7px;padding:6px;color:#536073;font-size:11px;white-space:nowrap}.label-options>small{padding:7px;color:#98a2b3}.task-table tr:hover td,.task-table tr.selected td{background:#f8faff}.task-table tr.selected td:first-child{box-shadow:inset 3px 0 var(--blue)}.task-table tr.drop-inside td{background:#edf3ff}.task-table tr.drop-before td{box-shadow:inset 0 2px var(--blue)}.task-table tr.drop-after td{box-shadow:inset 0 -2px var(--blue)}.task-table tr.dragging{opacity:.45;position:relative;z-index:3}.task-table .drag-cell{width:28px;padding:0 3px;border-right:0}.task-table .task-column-selection{width:40px;min-width:40px;box-sizing:border-box;padding:0 8px;text-align:center}.drag-handle,.tree-toggle,.row-action{border:0;background:transparent;color:#a1aabc;padding:3px;display:grid;place-items:center}.drag-handle{cursor:grab;touch-action:none}.drag-handle:disabled{cursor:not-allowed;opacity:.38}.task-title-cell{display:flex;align-items:center;gap:7px;min-width:270px}.tree-toggle{color:#657087}.tree-spacer{width:22px;flex:none}.task-title-cell>input[type=text],.task-title-cell>input:not([type]){min-width:100px;flex:1;border:1px solid transparent;background:transparent;padding:5px;border-radius:5px}.task-title-cell>input:focus{outline:0;border-color:#aac0f8;background:#fff}.row-action{opacity:0}tr:hover .row-action{opacity:1}.date-cell{border:0;background:transparent;width:119px;color:#536073;font-size:11px}.date-with-source{display:flex;align-items:center;gap:5px}.table-clear-schedule,.clear-schedule-button{border:0;background:transparent;color:#697589;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.table-clear-schedule{padding:3px;border-radius:4px}.table-clear-schedule:hover,.clear-schedule-button:hover{color:#264fae;background:#edf3ff}.schedule-source{display:inline-flex;flex:none;align-items:center;border:1px solid #d9dee7;border-radius:9px;padding:2px 5px;color:#697589;background:#f4f6f9;font-size:8px;font-weight:600;line-height:1;white-space:nowrap}.schedule-source-derived{border-color:#c9d7f8;color:#3f5eaa;background:#edf3ff}.schedule-source-unscheduled{border-style:dashed;color:#7e8795;background:#fafbfc}.priority{border:0;background:#f2f4f7;border-radius:12px;padding:3px 7px;font-size:10px}.priority-3,.priority-4,.priority-5{color:#9b251b;background:#ffebe9}.priority-2{color:#956900;background:#fff5cf}.priority-1{color:#176b49;background:#e8f7ef}.dependency-cell{display:flex;align-items:center;gap:4px;min-width:165px}.dependency-cell>span{display:inline-flex;align-items:center;gap:3px;font-size:9px;padding:3px 5px;background:#edf2ff;color:#3459b6;border-radius:4px}.dependency-cell>span button{border:0;background:transparent;color:inherit;padding:0;line-height:1}.dependency-cell form{display:flex;align-items:center;gap:3px;color:#98a2b3}.dependency-cell input{border:0;outline:0;width:42px;font-size:10px}.new-task-row{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 13px;color:#8b96a7}.new-task-title{flex:1;min-width:160px;border:0;outline:0;font-size:12px}.new-task-date,.new-task-parent{height:30px;border:1px solid #dfe4ec;border-radius:5px;background:#fff;color:#536073;font-size:11px}.new-task-date{width:125px}.new-task-parent{width:min(190px,24vw)}.new-task-row button{border:0;background:transparent;color:var(--blue);font-size:11px;font-weight:600}.root-drop-hint{height:27px;padding-top:6px;text-align:center;color:#8a94a6;background:#fafbfd;font-size:11px;transition:background .15s,color .15s}.root-drop-hint.is-over{color:var(--blue);background:var(--blue-soft)}.empty-state,.error-state{padding:60px 25px;color:var(--muted);text-align:center}.task-panel{width:min(430px,38vw);min-width:350px;background:#fff;border-left:1px solid var(--line);box-shadow:-8px 0 24px #23304b0a;z-index:7}.panel-head{height:68px;border-bottom:1px solid var(--line);padding:0 20px;display:flex;align-items:center;justify-content:space-between;color:#7a8495;font-size:11px;font-weight:600}.panel-head-actions{display:flex;align-items:center;gap:4px}.delete-task-button{color:var(--danger)}.delete-task-button:disabled{cursor:default;opacity:.45}.panel-content{padding:25px;overflow-y:auto;max-height:calc(100vh - 111px)}.panel-tabs{height:43px;display:flex;gap:4px;padding:0 18px;border-bottom:1px solid var(--line)}.panel-tabs button{border:0;border-bottom:2px solid transparent;padding:0 10px;color:#7a8495;background:transparent;font-size:11px}.panel-tabs button.active{border-bottom-color:var(--blue);color:var(--blue);font-weight:600}.panel-tabs button span{margin-left:3px;border-radius:8px;padding:1px 5px;background:#edf1f7;font-size:8px}.panel-error{display:flex;justify-content:space-between;margin-bottom:14px}.panel-error button{border:0;color:inherit;background:transparent;font-weight:600}.panel-title{display:flex;align-items:flex-start;gap:10px}.panel-title input:not([type=checkbox]){flex:1;font-family:inherit;border:0;outline:0;font-size:20px;font-weight:700;min-width:0}.panel-title input[type=checkbox]{margin-top:6px}.panel-grid{margin:27px 0;border:1px solid var(--line);border-radius:8px}.panel-grid label{min-height:43px;display:grid;grid-template-columns:115px 1fr;align-items:center;border-bottom:1px solid var(--line);padding:0 12px;font-size:11px}.panel-grid label:last-child{border-bottom:0}.panel-grid label>span{display:flex;align-items:center;gap:7px;color:#6d7788}.panel-grid label>span .schedule-source{margin-left:auto}.panel-grid input,.panel-grid select{border:0;outline:0;background:transparent}.date-input-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.date-input-actions input{min-width:0}.clear-schedule-button{gap:5px;border-radius:5px;padding:4px 6px;font-size:10px;white-space:nowrap}.description-field{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:600}.description-field textarea{min-height:125px;border:1px solid var(--line);resize:vertical;border-radius:8px;padding:11px;line-height:1.5;outline:0}.description-field textarea:focus{border-color:#9ab3f1}.panel-section{margin-top:25px}.panel-section h3{font-family:inherit;text-transform:uppercase;letter-spacing:.08em;color:#758094;font-size:10px;display:flex;align-items:center;gap:5px}.chip-list{display:flex;flex-wrap:wrap;gap:6px}.chip-list span{border:1px solid #d8dfeb;border-radius:12px;padding:4px 8px;font-size:10px}.chip-list small{color:#99a1ae}.picker-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.picker-list label{min-width:0;display:flex;align-items:center;gap:6px;border:1px solid #e3e7ee;border-radius:7px;padding:7px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#536073;font-size:9px}.picker-list input{flex:none}.picker-avatar{width:20px;height:20px;flex:none;display:grid;place-items:center;border-radius:6px;color:#3559ad;background:#e5ecff;font-size:8px;font-weight:700}.label-dot{width:8px;height:8px;flex:none;border-radius:3px;background:#8fa1c5}.label-create-form{display:grid;grid-template-columns:minmax(0,1fr) 28px auto;gap:5px;margin-top:8px}.label-create-form input[type=text],.label-create-form input:not([type]){min-width:0;height:28px;border:1px solid #dce2ec;border-radius:5px;padding:0 7px;outline:0;font-size:10px}.label-create-form input[type=text]:focus,.label-create-form input:not([type]):focus{border-color:#9ab3f1}.label-create-form input[type=color]{width:28px;height:28px;border:1px solid #dce2ec;border-radius:5px;padding:2px;background:#fff}.label-create-form button{border:0;border-radius:5px;padding:0 9px;color:#fff;background:var(--blue);font-size:10px}.table-picker-menu .label-create-form{padding-top:7px;border-top:1px solid #edf0f5}.relation-list{display:flex;flex-direction:column;gap:5px}.relation-list>div{min-height:34px;display:grid;grid-template-columns:42px minmax(0,1fr) 24px;align-items:center;gap:5px;border:1px solid #e3e7ee;border-radius:6px;padding:0 7px;font-size:9px}.relation-list span{color:#788497}.relation-list strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:500}.relation-list button{border:0;color:#9aa3b1;background:transparent}.dependency-add{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.dependency-add select{grid-column:1 / -1;min-width:0;border:1px solid var(--line);border-radius:6px;padding:7px;font-size:9px}.dependency-add button{border:1px solid #d7dfef;border-radius:6px;padding:6px;color:#4665a8;background:#f4f7ff;font-size:8px}.activity-section+.activity-section{margin-top:28px}.activity-section>h3{display:flex;align-items:center;gap:6px;color:#4d596d;font-size:11px}.comments-list{display:flex;flex-direction:column;gap:13px}.task-comment{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px}.comment-avatar{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;color:#3559ad;background:#e5ecff;font-size:9px;font-weight:700}.task-comment header{display:flex;align-items:center;gap:7px;margin-bottom:4px}.task-comment header strong{font-size:9px}.task-comment time{flex:1;color:#9aa3b1;font-size:7px}.task-comment header button{border:0;color:#a2aab7;background:transparent}.task-comment textarea{width:100%;min-height:46px;border:1px solid transparent;border-radius:6px;padding:6px;resize:vertical;color:#4b5668;background:#f8f9fb;font-size:10px;line-height:1.5}.task-comment textarea:focus{border-color:#a9bbeb;outline:0;background:#fff}.comment-form{margin-top:16px;border:1px solid #dce2eb;border-radius:8px;padding:7px}.comment-form textarea{width:100%;min-height:65px;border:0;outline:0;resize:vertical;font-size:10px}.comment-form button{display:flex;align-items:center;gap:5px;margin-left:auto;border:0;border-radius:6px;padding:6px 9px;color:#fff;background:var(--blue);font-size:9px}.attachment-upload{display:flex;align-items:center;gap:7px;border:1px dashed #bac7dd;border-radius:7px;padding:10px;color:#536da8;background:#f8faff;cursor:pointer;font-size:9px}.attachment-upload input{display:none}.attachment-list{display:flex;flex-direction:column;gap:5px;margin-top:9px}.attachment-list>div:not(.activity-empty){display:grid;grid-template-columns:20px minmax(0,1fr) 24px 24px;align-items:center;gap:5px;border:1px solid #e3e7ee;border-radius:7px;padding:7px;color:#6e798a}.attachment-list span{min-width:0;display:flex;flex-direction:column}.attachment-list strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#495568;font-size:9px}.attachment-list small{color:#9aa3b1;font-size:7px}.attachment-list a,.attachment-list button{border:0;color:#71809a;background:transparent}.activity-empty{padding:22px;color:#9aa3b1;text-align:center;font-size:9px}.view-scaffold{max-width:620px;margin:90px auto;text-align:center;color:#657085}.scaffold-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:15px;margin:0 auto 20px;color:var(--blue);background:var(--blue-soft)}.view-scaffold h2{color:#263246;font-size:22px}.view-scaffold p{line-height:1.6}.scaffold-tasks{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;margin-top:25px}.scaffold-tasks span{background:#fff;border:1px solid var(--line);border-radius:7px;padding:7px 10px;font-size:11px}.gantt-view{--g-arrow-color: #718096;--g-bar-color: #7697ee;--g-bar-border: #6585d9;--g-progress-color: #3e64c8;--g-handle-color: #244cae;--g-row-color: #fff;--g-row-border-color: #e7ebf2;--g-header-background: #fafbfd;--g-today-highlight: #ef5f67;min-height:0;flex:1;display:flex;flex-direction:column}.gantt-toolbar,.gantt-toolbar-actions,.dependency-inspector,.gantt-hint{display:flex;align-items:center}.gantt-toolbar{min-height:40px;justify-content:space-between;margin-bottom:10px}.zoom-control{display:flex;border:1px solid var(--line);background:#fff;border-radius:8px;padding:3px}.zoom-control button{border:0;border-radius:5px;padding:6px 11px;color:#667085;background:transparent;font-size:11px}.zoom-control button.active{color:#264fae;background:var(--blue-soft);font-weight:600}.gantt-toolbar-actions{gap:12px}.gantt-root-drop{min-height:25px;display:grid;place-items:center;border:1px dashed #d8deea;border-bottom:0;border-radius:8px 8px 0 0;color:#8a94a6;background:#fafbfd;font-size:10px}.gantt-root-drop.is-over{color:var(--blue);background:var(--blue-soft);border-color:#7898ef}.conflict-count,.schedule-clear{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:600}.conflict-count{color:#b54708}.schedule-clear{color:#28805b}.dependency-inspector,.gantt-hint{min-height:39px;gap:8px;border:1px solid #cdd9f7;background:#f5f8ff;color:#52617a;border-radius:8px 8px 0 0;padding:0 12px;font-size:11px}.dependency-inspector strong{color:#263d77}.dependency-inspector button{display:flex;align-items:center;gap:5px;border:0;color:var(--danger);background:transparent;font-size:11px;font-weight:600}.dependency-inspector span+button{margin-left:auto;color:#476188}.gantt-hint{color:#6d7890;background:#fbfcff;border-color:var(--line)}.gantt-shell{min-height:0;flex:1;display:grid;grid-template-columns:515px minmax(0,1fr);overflow:hidden;border:1px solid var(--line);border-top:0;border-radius:0 0 9px 9px;background:#fff;box-shadow:0 2px 5px #1f29370a}.gantt-labels{min-height:0;display:flex;flex-direction:column;position:relative;z-index:3;border-right:1px solid #dfe4ec;background:#fff}.gantt-label-header{height:85px;display:grid;grid-template-columns:28px minmax(0,1fr) 90px 167px;align-items:flex-end;padding:0 13px 13px;background:#fafbfd;border-bottom:1px solid var(--line);color:#737f91;font-size:10px;font-weight:600;letter-spacing:.04em}.gantt-label-body{min-height:0;flex:1;overflow-y:auto;scrollbar-width:none}.gantt-label-body::-webkit-scrollbar{display:none}.gantt-label-row{width:100%;height:48px;display:grid;grid-template-columns:28px minmax(0,1fr) 90px 167px;align-items:center;gap:8px;padding:0 11px;border:0;border-bottom:1px solid #edf0f5;background:#fff;color:#303c4f;text-align:left}.gantt-label-row.drop-inside{background:#edf3ff}.gantt-label-row.drop-before{box-shadow:inset 0 2px var(--blue)}.gantt-label-row.drop-after{box-shadow:inset 0 -2px var(--blue)}.gantt-label-row.dragging{z-index:4;opacity:.55}.gantt-drag-handle{width:25px;height:30px}.gantt-label-row:hover,.gantt-label-row.selected{background:#f6f9ff}.gantt-label-row.selected{box-shadow:inset 3px 0 var(--blue)}.gantt-label-row.conflict{box-shadow:inset 3px 0 #e68a3a}.gantt-label-title{min-width:0;display:flex;align-items:center;gap:6px;font-size:11px}.gantt-label-title>span:nth-last-child(2){overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.gantt-title-source{display:none}.gantt-expand{width:17px;flex:none;display:grid;place-items:center;color:#68758b}.gantt-label-body small{color:#98a1af;font-size:8px;white-space:nowrap}.gantt-schedule{display:flex;align-items:center;gap:5px}.gantt-label-bucket{width:90px;overflow:hidden;border:1px solid transparent;border-radius:4px;padding:3px 15px 3px 4px;color:#657187;background:transparent;font-size:9px;white-space:nowrap;text-overflow:ellipsis}.gantt-label-bucket:not(:disabled):hover,.gantt-label-bucket:not(:disabled):focus{border-color:#ccd5e6;background:#fff}.gantt-chart-host{min-width:0;min-height:0;overflow:hidden}.gantt-chart-host .gantt-container{border-radius:0}.gantt-chart-host .current-highlight,.gantt-chart-host .current-ball-highlight{pointer-events:none}.gantt-chart-host .gantt .bar-label{font-family:inherit;font-size:11px;fill:#fff;font-weight:500}.gantt-chart-host .gantt .bar-label.big{fill:#435067}.gantt-chart-host .gantt .bar-wrapper{cursor:grab}.gantt-chart-host .gantt .bar-wrapper:active{cursor:grabbing}.gantt-chart-host .gantt .bar-wrapper .handle.left,.gantt-chart-host .gantt .bar-wrapper .handle.right{cursor:ew-resize;opacity:.55;stroke:transparent;stroke-width:12px;pointer-events:all}.gantt-chart-host .gantt .bar-wrapper:hover .handle.left,.gantt-chart-host .gantt .bar-wrapper:hover .handle.right,.gantt-chart-host .gantt .bar-wrapper .handle.visible{opacity:1}.gantt-chart-host .gantt .bar-wrapper.flow-selected .bar,.gantt-chart-host .gantt .bar-wrapper:focus-visible .bar{stroke:#2249aa;stroke-width:2px}.gantt-chart-host .gantt .bar-wrapper.flow-conflict .bar{fill:#e39a55;stroke:#c87425}.gantt-chart-host .gantt .bar-wrapper.flow-derived .bar{stroke:#315dbd;stroke-width:1px;stroke-dasharray:3 2}.gantt-chart-host .gantt .bar-wrapper.flow-unscheduled .bar{fill:#f4f6f9;stroke:#8994a6;stroke-width:1px;stroke-dasharray:4 3}.gantt-chart-host .gantt .bar-wrapper.flow-unscheduled .bar-label{fill:#647084}.gantt-chart-host .gantt .bar-wrapper.flow-milestone .bar,.gantt-chart-host .gantt .bar-wrapper.flow-milestone .bar-progress{transform-box:fill-box;transform-origin:center;transform:scale(.68) rotate(45deg)}.gantt-chart-host .gantt .bar-wrapper.flow-milestone .handle,.gantt-chart-host .gantt .bar-wrapper.flow-milestone .bar-label{display:none}.gantt-chart-host .gantt .flow-connector{fill:#fff;stroke:#3563e9;stroke-width:2px;opacity:0;cursor:crosshair;transition:opacity .15s;pointer-events:all}.gantt-chart-host .gantt .bar-wrapper:hover .flow-connector{opacity:1}.gantt-chart-host .gantt .arrow>path.flow-dependency{pointer-events:stroke;cursor:pointer;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.gantt-chart-host .gantt .arrow .flow-dependency-point{fill:#fff;stroke:var(--g-arrow-color);stroke-width:2px;pointer-events:none}.gantt-chart-host .gantt .arrow>path.flow-dependency:hover,.gantt-chart-host .gantt .arrow>path.flow-dependency.selected{stroke:#e05261;stroke-width:4px}.gantt-chart-host .gantt .flow-dependency-preview{fill:none;stroke:#3563e9;stroke-width:2px;stroke-dasharray:5 4;pointer-events:none}.kanban-toolbar,.kanban-selectors,.kanban-notice,.kanban-card-top,.kanban-card-meta{display:flex;align-items:center}.kanban-toolbar{min-height:45px;justify-content:space-between;margin-bottom:10px}.kanban-selectors{gap:9px}.kanban-selectors>label{position:relative;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;background:#fff;padding-left:10px;color:#8993a3;font-size:10px;font-weight:600}.kanban-selectors select{appearance:none;min-width:120px;border:0;outline:0;background:transparent;padding:8px 25px 8px 0;color:#384458;font-size:11px;font-weight:500}.kanban-selectors svg{position:absolute;right:8px;pointer-events:none}.card-settings-wrap{position:relative}.card-settings{position:absolute;z-index:8;top:38px;right:0;width:175px;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 12px 28px #1923371b}.card-settings label{display:flex;gap:8px;padding:7px;color:#4f5b6e;font-size:11px}.kanban-notice{gap:7px;margin-bottom:10px;border:1px solid #dce4f6;border-radius:7px;padding:8px 10px;color:#61708a;background:#f7f9fd;font-size:10px}.kanban-board{display:flex;align-items:flex-start;gap:14px;min-height:580px;overflow-x:auto;padding:2px 2px 18px}.kanban-column{width:285px;min-width:285px;border:1px solid #e3e7ee;border-radius:10px;background:#f1f3f7;transition:box-shadow .15s,background .15s}.kanban-column.is-over{background:#eaf0ff;box-shadow:0 0 0 2px #85a2ed}.kanban-column>header{height:46px;display:flex;align-items:center;gap:8px;padding:0 12px;color:#354053}.kanban-column>header strong{min-width:0;flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12px}.kanban-column>header small{min-width:21px;border-radius:10px;padding:2px 5px;color:#7b8595;background:#e4e7ed;text-align:center;font-size:9px}.bucket-edit-button{display:grid;place-items:center;border:0;padding:3px;color:#788397;background:transparent}.bucket-edit-button:hover{color:var(--blue)}.bucket-edit-form{width:100%;display:grid;grid-template-columns:minmax(0,1fr) 65px 24px 24px;gap:5px}.bucket-edit-form input,.new-bucket-form input{min-width:0;border:1px solid #cdd5e2;border-radius:5px;padding:5px 6px;font-size:10px}.bucket-edit-form button{display:grid;place-items:center;border:0;border-radius:5px;color:#fff;background:var(--blue)}.bucket-edit-form button:last-child{color:#687386;background:#e5e8ed}.new-bucket-column{width:285px;min-width:285px;min-height:46px;border:1px dashed #d6dbe4;border-radius:10px;background:#f7f8fa}.new-bucket-button{width:100%;display:flex;align-items:center;gap:7px;border:0;padding:15px 13px;color:#68758a;background:transparent;font-size:11px}.new-bucket-form{display:grid;gap:8px;padding:10px}.new-bucket-form>div{display:flex;gap:6px}.new-bucket-form button{border:0;border-radius:5px;padding:6px 8px;color:#fff;background:var(--blue);font-size:9px}.new-bucket-form button:last-child{color:#687386;background:#e5e8ed}.kanban-color{width:8px;height:8px;border-radius:3px}.kanban-cards{min-height:56px;display:flex;flex-direction:column;gap:8px;padding:0 8px}.kanban-card{position:relative;border:1px solid #e0e5ed;border-radius:8px;padding:11px;background:#fff;box-shadow:0 1px 3px #202a3c0c;cursor:grab;touch-action:none}.kanban-card:hover{border-color:#cbd6ed;box-shadow:0 5px 15px #24345510}.kanban-card.selected{border-color:#7e9eea;box-shadow:0 0 0 2px #dce6ff}.kanban-card.dragging{opacity:.28}.kanban-card.overlay{width:269px;box-shadow:0 14px 35px #22304a2b;transform:rotate(2deg)}.kanban-card-top{justify-content:space-between;min-height:16px;margin-bottom:5px;color:#99a2b0}.kanban-card-top small{font-size:8px;font-weight:600}.kanban-card-top svg{color:#41936d}.kanban-card>strong{display:block;margin-bottom:10px;color:#303b4d;font-size:12px;font-weight:600;line-height:1.4}.kanban-labels{display:flex;flex-wrap:wrap;gap:4px;margin:-2px 0 10px}.kanban-labels span{border-radius:4px;padding:3px 6px;color:#536176;background:#edf1f6;font-size:8px}.kanban-card-meta{min-height:20px;gap:8px;color:#8490a1}.kanban-card-meta>span{display:inline-flex;align-items:center;gap:4px;font-size:8px}.card-priority{border-radius:8px;padding:3px 6px;color:#75611c;background:#fff3c7}.card-priority.p3,.card-priority.p4,.card-priority.p5{color:#963229;background:#fee9e7}.card-avatars{margin-left:auto}.card-avatars i{width:20px;height:20px;display:grid;place-items:center;margin-left:-5px;border:2px solid white;border-radius:50%;color:#385494;background:#dce6ff;font-size:8px;font-style:normal;font-weight:700}.kanban-empty{display:grid;place-items:center;min-height:55px;border:1px dashed #cbd2dd;border-radius:7px;color:#a1a9b5;font-size:9px}.kanban-add{width:calc(100% - 16px);display:flex;align-items:center;gap:6px;margin:8px;border:0;border-radius:6px;padding:8px;color:#7d8797;background:transparent;font-size:10px;text-align:left}.kanban-add:hover{color:var(--blue);background:#e6ebf5}.kanban-add-form{margin:8px;border:1px solid #cdd7ea;border-radius:8px;padding:7px;background:#fff}.kanban-add-form textarea{width:100%;min-height:55px;border:0;outline:0;resize:vertical;font-size:11px}.kanban-add-form>div{display:flex;gap:6px}.kanban-add-form button{border:0;border-radius:5px;padding:5px 8px;color:#fff;background:var(--blue);font-size:9px}.kanban-add-form button:last-child{color:#687386;background:#eef1f5}.calendar-toolbar,.calendar-actions,.unscheduled-tray>header,.calendar-unscheduled-card,.flow-calendar-event{display:flex;align-items:center}.calendar-toolbar{min-height:54px;justify-content:space-between;margin-bottom:10px}.calendar-toolbar h2{margin:0;color:#2d394c;font-size:18px}.calendar-actions{gap:9px}.calendar-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:12px;align-items:start}.unscheduled-tray,.calendar-surface{border:1px solid var(--line);border-radius:9px;background:#fff;box-shadow:0 2px 5px #1f29370a}.unscheduled-tray{min-height:300px;padding:12px}.unscheduled-tray>header{gap:7px;color:#3a4659}.unscheduled-tray>header strong{flex:1;font-size:11px}.unscheduled-tray>header span{border-radius:9px;padding:2px 6px;color:#768196;background:#edf0f5;font-size:9px}.unscheduled-tray>p{margin:10px 0 13px;color:#929baa;font-size:9px;line-height:1.5}.unscheduled-tray>div{display:flex;flex-direction:column;gap:6px}.calendar-unscheduled-card{gap:5px;border:1px solid #e3e7ee;border-radius:7px;padding:8px 7px;color:#4a5668;background:#fafbfc;text-align:left;cursor:grab}.calendar-unscheduled-card:hover,.calendar-unscheduled-card.selected{border-color:#8ca7eb;background:#f3f6ff}.calendar-unscheduled-card>svg{flex:none;color:#a0a8b5}.calendar-unscheduled-card>span{min-width:0;display:flex;flex-direction:column;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:10px}.calendar-unscheduled-card small{color:#9aa3b1;font-size:7px}.tray-empty{padding:30px 8px;color:#a1a9b5;text-align:center;font-size:9px}.calendar-surface{min-width:0;overflow:hidden;padding:8px}.calendar-surface .fc{--fc-border-color: #e7ebf1;--fc-page-bg-color: white;--fc-neutral-bg-color: #fafbfd;--fc-today-bg-color: #f1f5ff;--fc-event-bg-color: #5879d7;--fc-event-border-color: #4e70cb;--fc-now-indicator-color: #eb5b66;color:#3a4658;font-size:10px}.calendar-surface .fc .fc-scrollgrid{border-radius:6px;overflow:hidden}.calendar-surface .fc .fc-col-header-cell-cushion{padding:9px 4px;color:#758094;font-size:9px;font-weight:600;text-transform:uppercase}.calendar-surface .fc .fc-daygrid-day-number{padding:7px;color:#667085;font-size:10px}.calendar-surface .fc .fc-event{border-radius:4px;padding:1px 3px;cursor:grab}.calendar-surface .fc .fc-event.flow-calendar-selected{box-shadow:0 0 0 2px #263e83}.calendar-surface .fc .fc-event.flow-calendar-done{opacity:.55}.calendar-surface .fc .fc-event.flow-calendar-derived{border-style:dashed;box-shadow:inset 0 0 0 1px #fff6}.flow-calendar-event{min-width:0;gap:4px;overflow:hidden;padding:2px;font-size:9px}.flow-calendar-event span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.flow-calendar-event .schedule-source{max-width:none;overflow:visible;color:inherit;background:#ffffff24;border-color:#ffffff70;font-size:7px}.flow-calendar-event>i{width:7px;height:7px;flex:none;transform:rotate(45deg);border:1px solid white;background:currentColor}.calendar-surface .fc .flow-calendar-milestone{border-color:transparent;background:transparent;color:#6c4fba;font-weight:600}@media(max-width:900px){body{overflow-x:hidden}input,select,textarea{font-size:16px!important}.login-screen{grid-template-columns:1fr}.login-story{display:none}.sidebar{position:fixed;inset:0 auto 0 0;z-index:30;width:min(82vw,300px);min-height:100dvh;box-shadow:14px 0 40px #0c17394d;transform:translate(0);transition:transform .2s ease}.sidebar.closed{width:min(82vw,300px);transform:translate(-105%);box-shadow:none}.sidebar-toggle{top:16px;right:12px;width:36px;height:36px;border-color:#ffffff20;background:#ffffff12;color:#fff}.sidebar-backdrop{display:block;position:fixed;inset:0;z-index:29;border:0;background:#11182773}.workspace{width:100%}.topbar{height:68px;padding:10px 14px;gap:10px}.mobile-menu-button{display:inline-flex;flex:none;width:44px;height:44px}.project-heading{min-width:0;flex:1}.project-heading .eyebrow{display:none}.topbar h1{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:18px}.user-button{width:44px;height:44px}.user-button>span{display:none}.viewbar{position:relative;align-items:stretch;flex-direction:column;gap:0;padding:0}.view-tabs{min-height:52px;overflow-x:auto;padding:0 8px;scrollbar-width:none}.today-options{min-height:52px;flex-wrap:wrap;gap:12px 18px;padding:12px 14px}.today-viewbar{display:grid;grid-template-columns:minmax(0,1fr) auto}.today-viewbar .today-options{grid-column:1 / -1}.today-viewbar .filter-toggle{position:static;grid-column:2;grid-row:2;align-self:start;margin:8px 10px 4px 0}.today-viewbar .view-actions{grid-column:1 / -1;grid-row:2}.view-tabs::-webkit-scrollbar{display:none}.view-tabs button{flex:1 0 auto;min-width:86px;min-height:48px;justify-content:center;padding:0 12px}.filter-toggle{display:flex;position:absolute;right:10px;top:61px;z-index:2;min-height:40px;background:#fff}.filter-toggle.active{border-color:#9bb1e9;color:var(--blue);background:var(--blue-soft)}.view-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:52px;overflow:hidden;padding:8px 104px 4px 10px;opacity:1;transition:max-height .2s ease,padding .2s ease,opacity .15s ease}.view-actions.mobile-open{max-height:260px;padding-top:8px;padding-bottom:10px;opacity:1}.search-box{grid-column:1 / -1;min-height:40px}.search-box input{width:100%;min-width:0}.view-actions>select{width:100%;min-width:0;min-height:40px;visibility:hidden}.view-actions.mobile-open>select{visibility:visible}.view-content{padding:14px 12px 24px}.table-toolbar{height:auto;min-height:44px;gap:12px;align-items:center;flex-wrap:wrap}.table-toolbar>div:first-child{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.table-toolbar .secondary-button{min-height:40px}.table-toolbar-actions{margin-left:auto;max-width:100%;min-width:0}.task-sort-control{min-width:0}.task-sort-control label>span{display:none}.task-sort-control select{width:130px;min-width:0;min-height:40px}.table-scroll{overscroll-behavior-x:contain}.task-table{min-width:820px}.today-table{min-width:760px}.today-table th:first-child,.today-table td:first-child{position:sticky;left:0;z-index:3;background:#fff}.today-table th:first-child{z-index:5;background:#fafbfd}.today-table th:nth-child(2),.today-table td:nth-child(2){left:38px}.task-table th,.task-table td{height:48px}.task-table td{font-size:14px}.task-table .drag-cell{position:sticky;left:0;z-index:3;width:40px;min-width:40px;box-sizing:border-box;background:#fff}.task-table th.drag-cell{z-index:5;background:#fafbfd}.task-table .task-column-selection{position:sticky;left:40px;z-index:3;box-shadow:1px 0 #e4e9f1}.task-table th.task-column-selection{z-index:5}.task-table .task-column-title,.today-table th:nth-child(2),.today-table td:nth-child(2){position:sticky;z-index:2;min-width:240px;box-shadow:1px 0 #e4e9f1}.task-table .task-column-title{left:80px}.task-table th.task-column-title,.today-table th:nth-child(2){z-index:4}.task-title-cell{min-width:215px}.drag-handle,.tree-toggle,.row-action{min-width:32px;min-height:32px}.row-action,.assignee-picker summary>svg,.table-picker summary>svg{opacity:1}.new-task-row{flex-wrap:wrap;padding-block:7px}.new-task-title{flex-basis:calc(100% - 34px)}.new-task-parent{flex:1;width:auto}.task-panel{position:fixed;inset:0;z-index:40;width:100vw;min-width:0;min-height:100dvh;border-left:0}.panel-head{height:60px;padding:0 12px 0 18px}.panel-head .icon-button{width:44px;height:44px}.panel-tabs{height:48px}.panel-tabs button{min-width:88px;font-size:13px}.panel-content{max-height:calc(100dvh - 108px);padding:20px 16px 40px}.panel-grid label,.description-field{font-size:13px}.panel-section h3,.activity-section>h3{font-size:12px}.picker-list label,.task-comment textarea,.comment-form textarea{font-size:12px}.gantt-shell{grid-template-columns:minmax(0,1fr);min-height:241px}.gantt-chart-host{min-height:240px}.gantt-content{overflow-y:auto}.gantt-view{flex-shrink:0}.gantt-chart-host .gantt-container{width:100%;overflow:auto;overscroll-behavior-x:contain;touch-action:auto}.gantt-chart-host .gantt .bar-label{font-size:13px}.gantt-chart-host .gantt .bar-wrapper{cursor:pointer}.gantt-chart-host .gantt .bar-wrapper.flow-milestone .bar-label{display:block;fill:#435067;text-anchor:start}.gantt-chart-host .flow-task-hit-area{pointer-events:all}.gantt-toolbar{align-items:flex-start;flex-direction:column;gap:8px;flex-shrink:0}.gantt-toolbar-actions{width:100%;flex-wrap:wrap;gap:8px}.gantt-toolbar-actions .secondary-button,.gantt-toolbar-actions select{min-height:44px}.gantt-toolbar-actions .sort-direction{min-width:44px}.zoom-control{width:100%;overflow-x:auto}.zoom-control button{flex:1 0 auto;min-height:44px}.dependency-inspector,.gantt-hint{min-height:44px;flex-shrink:0;flex-wrap:wrap;padding:8px 10px}.dependency-inspector button{min-height:44px}.calendar-layout{grid-template-columns:1fr}.unscheduled-tray{min-height:auto}.unscheduled-tray>div{flex-direction:row;overflow-x:auto;padding-bottom:4px}.calendar-unscheduled-card{flex:0 0 210px;min-height:44px}.calendar-surface{overflow-x:auto;overscroll-behavior-x:contain}.calendar-surface .fc{min-width:100%;font-size:12px}.calendar-week .calendar-surface .fc{min-width:620px}.calendar-toolbar{align-items:flex-start;flex-direction:column;gap:10px}.calendar-actions{width:100%}.calendar-actions .zoom-control{flex:1}.kanban-toolbar{align-items:stretch;flex-direction:column;gap:8px}.kanban-selectors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.kanban-selectors>label,.kanban-selectors select{min-width:0;width:100%}.kanban-toolbar .card-settings-wrap{align-self:flex-end}.kanban-board{min-height:calc(100dvh - 330px);margin-right:-12px;scroll-snap-type:x proximity;scroll-padding-left:2px}.kanban-column,.new-bucket-column{width:calc(100vw - 38px);min-width:calc(100vw - 38px);scroll-snap-align:start}.kanban-card{min-height:72px;touch-action:pan-y}.kanban-card>strong{font-size:14px}.kanban-card-top small,.kanban-labels span,.kanban-card-meta>span{font-size:10px}}@media(max-width:520px){.login-card{width:100%;max-width:none;padding:32px 20px}.login-card h2{font-size:28px}.view-tabs button{min-width:78px;padding:0 8px}.view-tabs button svg{width:15px}.view-actions{grid-template-columns:1fr}.view-actions.mobile-open{max-height:420px}.view-actions .search-box,.view-actions>select{grid-column:1}.kanban-selectors{grid-template-columns:1fr}.panel-grid label{grid-template-columns:96px minmax(0,1fr)}.picker-list{grid-template-columns:1fr}.calendar-toolbar h2{font-size:16px}.calendar-actions .secondary-button{min-height:40px}}@media(max-width:900px){.gantt-workspace .topbar{height:52px;padding:4px 8px;flex-shrink:0}.gantt-workspace .viewbar{flex-direction:row;min-height:45px;padding:0 8px;gap:4px;flex-shrink:0}.gantt-workspace .view-tabs{min-height:44px;min-width:0;flex:1;padding:0}.gantt-workspace .view-tabs button{min-height:44px;min-width:70px;padding:0 7px}.gantt-workspace .filter-toggle{position:static;width:44px;min-height:44px;padding:0;flex:none;justify-content:center;align-self:center}.gantt-workspace .filter-toggle span{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}.gantt-content{padding:6px 8px 8px;overflow:hidden}.gantt-view{flex-shrink:1}.gantt-toolbar{flex-direction:row;align-items:center;min-height:44px;margin-bottom:6px;gap:8px}.gantt-mobile-zoom{min-height:44px;flex:1;min-width:0}.gantt-toolbar-actions{width:auto;flex-wrap:nowrap;flex:none}.gantt-toolbar-actions .secondary-button{display:inline-flex;align-items:center;gap:6px}.gantt-shell,.gantt-chart-host{min-height:0}.gantt-shell{border-top:1px solid var(--line);border-radius:8px}.gantt-chart-host{touch-action:none}.gantt-chart-host .gantt-container{touch-action:none;overscroll-behavior:contain}.gantt-chart-host .gantt-container .lower-text{margin:0;padding-left:4px;text-align:left;white-space:nowrap;overflow:hidden}.gantt-chart-host .gantt-container .grid-header{left:auto}.gantt-filters-dialog{position:fixed;inset:auto 0 0;width:min(100%,520px);max-width:100%;max-height:calc(85dvh - env(safe-area-inset-top));margin:0 auto;padding:16px 16px calc(16px + env(safe-area-inset-bottom));border:1px solid var(--line);border-radius:16px 16px 0 0;background:#fff;box-shadow:0 -8px 40px #17255426;overflow-y:auto;overscroll-behavior:contain}.gantt-filters-dialog::backdrop{background:#11182773}.gantt-filters-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.gantt-filters-heading h2{font-size:18px;margin:0}.gantt-filters-heading button{width:44px;height:44px;flex:none}.gantt-filters-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gantt-filters-body>select{width:100%;min-width:0;min-height:44px;border:1px solid var(--line);border-radius:7px;padding:8px;background:#fff}.gantt-filters-body .search-box,.gantt-filters-body .task-sort-control{grid-column:1 / -1}.gantt-filters-body .search-box,.gantt-filters-body .task-sort-control select,.gantt-filters-body .sort-direction{min-height:44px}.gantt-filters-body .sort-direction{min-width:44px}.gantt-filters-body .task-sort-control label{min-width:0;flex:1}.gantt-filters-body .task-sort-control select{width:100%;min-width:0}.gantt-gesture-help{color:var(--muted);font-size:12px;margin:16px 0 0}}@media(prefers-reduced-motion:reduce){.sidebar,.view-actions{transition:none}}.bootstrap-fallback{align-items:center;background:#f8fafc;color:#172554;display:flex;flex-direction:column;inset:0;justify-content:center;position:fixed}.bootstrap-fallback h1,.bootstrap-fallback p{margin:.25rem}.move-tasks-dialog{width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--line);border-radius:12px;padding:24px;color:#18212f;background:#fff;box-sizing:border-box}.move-tasks-dialog::backdrop{background:#0f172a73}.move-tasks-dialog h2{margin-top:0}.move-tasks-dialog p{overflow-wrap:anywhere}.move-tasks-dialog label{display:grid;gap:8px;margin:16px 0}.move-tasks-dialog input,.move-tasks-dialog select{width:100%;min-width:0;box-sizing:border-box}.move-dialog-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:24px}.table-toolbar-actions{flex-wrap:wrap}.table-toolbar{height:auto;min-height:39px;gap:12px;flex-wrap:wrap}.status-menu{min-width:240px;max-width:calc(100vw - 32px)}.status-menu label{display:flex;flex-direction:column;align-items:stretch;gap:6px}.status-menu select{width:100%;padding:6px}
