:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}html,body,#root{width:100%;height:100%;overflow:hidden;-webkit-text-size-adjust:none}:root{--bg-inner: #242427;--bg-light: #747bff;--border-light: #575656;--text-light: #dfdede}.theme-select{cursor:pointer}#theme-select-light{border-radius:50%;width:25px;height:25px;background:#fff;border:1px solid black}#theme-select-dark{border-radius:50%;width:25px;height:25px;background:#000;border:1px solid white}#theme-select-purple-blue{border-radius:50%;width:25px;height:25px;background:linear-gradient(to bottom right,#e920d5,#0e2eb6)}.theme-purple-blue{--bg-header: white;--bg-main: white;--bg-light: white;--bg-inputs: white;--text-main: #503f54;--main-color: #fefd01;--main-dark: #feda01;--secondary: white;--borders: #ccc;--danger: #8e0303;--separator: radial-gradient(ellipse at center, #fefd01, transparent 80%);--nav-underline: radial-gradient(ellipse at center, #feda01, white 70%);--nav-underline-hover-active: radial-gradient(ellipse at center, #fed8014c, white 70%);--card-shadow-color: #5c5c5c;--card-text-color: white;--card-bg: linear-gradient(to bottom right, #e920d5, #0e2eb6);--card-separator-line-color: var(--main-color);--shadow-color: #979797}.theme-light{--bg-header: white;--bg-main: white;--bg-light: #c8c8ec;--bg-off: #f0f0f0;--bg-inputs: white;--text-main: #503f54;--main-color: #05058b;--main-dark: #050447;--secondary: #503f54;--borders: #ccc;--danger: #8e0303;--separator: radial-gradient(ellipse at center, #05058b, transparent 80%);--nav-underline: radial-gradient(ellipse at center, #05058b, white 70%);--nav-underline-hover-active: radial-gradient(ellipse at center, #050447, white 70%);--card-shadow-color: #5c5c5c;--card-text-color: #503f54;--card-bg: white;--card-separator-line-color: var(--main-color);--shadow-color: #979797}.theme-dark{--bg-header: #242427;--bg-main: #242427;--bg-light: #8895af;--bg-inputs: #d0d1d3;--text-main: var(--text-light);--main-color: #517acd;--main-dark: #2f4878;--borders: var(--text-light);--danger: #f98888;--secondary: var(--text-light);--separator: radial-gradient(ellipse at center, #517acd, transparent 80%);--nav-underline: radial-gradient(ellipse at center, #517acd, transparent 70%);--nav-underline-hover-active: radial-gradient(ellipse at center, #2f4878, transparent 70%);--card-shadow-color: black;--card-text-color: var(--text-light);--card-bg: #333839;--card-separator-line-color: var(--main-color);--shadow-color: black}#root{display:flex;flex-direction:column;margin:0 auto;background:var(--bg-main);color:var(--text-main)}section{width:100%}a,a:hover{text-decoration:none}.bg-main{background:var(--bg-main)}hr{border-top:1px solid var(--borders);width:100%}.addons{position:relative}.wide-wrap{width:80ch;overflow:hidden;text-overflow:ellipsis;white-space:normal;word-wrap:break-word;word-break:break-word}.freeze-col{position:sticky;left:0;z-index:10}.freeze-row{position:sticky;top:0;z-index:10}.z-highest{z-index:100!important}.addons-container{overflow-x:scroll}.multi-checkbox{display:flex;flex-direction:column;gap:1rem;padding:15px;max-height:20rem;min-width:15rem;overflow-y:scroll;border:1px solid var(--borders);background:var(--bg-main)}.multi-checkbox h5{margin:0}.multi-checkbox ul{margin:0;list-style:none;padding-inline-start:0}.multi-checkbox ul li{padding:5px 0}.multi-checkbox ul li input{margin:0}.multi-checkbox ul li input[type=number],.total-post-time input[type=number]{width:4rem}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;cursor:pointer;transition:border-color .25s}.relative{position:relative}.absolute{position:absolute}.hidden{display:none!important}.pointer{cursor:pointer}.d-flex{display:flex}.flex-column{flex-direction:column}.flex-grow{flex:1}.flex-shrink{flex-shrink:0}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.d-grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.grid-cols-20{grid-template-columns:repeat(28,1fr)}.grid-cols-21{grid-template-columns:repeat(29,1fr)}.grid-cols-22{grid-template-columns:repeat(30,1fr)}.grid-cols-23{grid-template-columns:repeat(31,1fr)}.grid-rows-1{grid-template-rows:repeat(1,1fr)}.grid-rows-2{grid-template-rows:repeat(2,1fr)}.grid-rows-3{grid-template-rows:repeat(3,1fr)}.grid-rows-4{grid-template-rows:repeat(4,1fr)}.col-span-1{grid-column:span 1 / span 1}.col-span-2{grid-column:span 2 / span 2}.col-span-3{grid-column:span 3 / span 3}.col-span-4{grid-column:span 4 / span 4}.row-span-1{grid-row:span 1 / span 1}.row-span-2{grid-row:span 2 / span 2}.row-span-3{grid-row:span 3 / span 3}.row-span-4{grid-row:span 4 / span 4}.align-items-start{align-items:flex-start}.align-items-center{align-items:center}.align-items-baseline{align-items:baseline}.align-self-start{align-self:flex-start}.align-self-end{align-self:flex-end}.justify-content-between{justify-content:space-between}.justify-content-around{justify-content:space-around}.justify-content-start{justify-content:start}.justify-content-end{justify-content:end}.justify-content-center{justify-content:center}.text-start{text-align:start}.no-wrap{white-space:nowrap}.underline{text-decoration:underline}.w-100{width:100%}.w-50{width:50%}.w-25{width:25%}.h-100{height:100%}.p-10{padding:10px}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.5rem}.p-6{padding:2rem}.p-7{padding:2.5rem}.p-8{padding:3rem}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.overflow-auto{overflow:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-auto{overflow-x:auto}.overflow-y-hidden{overflow-y:hidden}.overflow-x-hidden{overflow-x:hidden}.text-nowrap{text-wrap:nowrap}.text-upper{text-transform:uppercase}.text-center{text-align:center}.text-muted{opacity:.5;text-decoration:line-through}.bg-inner{background-color:var(--bg-inner)}.bg-header{background:var(--bg-header)}.bg-light{background-color:var(--bg-light)}.bg-input{background:var(--bg-inputs)}.border-light{border-color:var(--border-light)}.round-bg{border-radius:50%}.text-danger{color:var(--danger)}h1{margin:0}input{border:1px solid;border-radius:5px;line-height:2}select{border-radius:5px;padding:5px}header{padding:20px;display:flex;flex-direction:column;gap:10px;width:calc(100% - 40px);direction:ltr;color:var(--text-main)}header h1{margin:0;font-size:1.7em}header .header-logo{height:3rem}header nav{display:flex;align-items:center;gap:10px}header nav a.nav-active{color:var(--main-color);text-decoration:underline}main{width:calc(100% - 4rem);height:100%;margin:auto;padding:10px;overflow:auto;flex:1;display:flex;flex-direction:column;align-items:center;gap:10px;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.btn{padding:5px 10px}.btn-small{padding:2px 4px}.btn-danger{background-color:var(--danger);color:#fff}#login,#register{display:flex;flex-direction:column;gap:15px;padding:30px;border-radius:8px}#login form,#register form{display:flex;flex-direction:column;align-items:center;gap:15px}#login .input-group,#register .input-group{display:flex;flex-direction:column}table{table-layout:fixed}table,th,td{position:relative;border:1px solid var(--borders);border-collapse:collapse;padding:5px}.modal-overlay{position:fixed;width:100%;height:100%;background-color:#0000004d;top:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:100}.modal{width:80%;height:80%;border-radius:20px;padding:15px;overflow-y:scroll;display:flex;flex-direction:column}.post-color-1{background-color:#e67e22}.post-color-2{background-color:#f39c12}.post-color-3{background-color:#f1c40f}.post-color-4{background-color:#f7dc6f}.post-color-5{background-color:#a9dfbf}.post-color-6{background-color:#58d68d}.post-color-7{background-color:#27ae60}.post-color-8{background-color:#1e8449}.gantt-borders{outline:1px solid var(--borders);outline-offset:-1px}.gantt-row{position:relative;height:60px;flex-shrink:0;overflow-x:hidden;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.gantt-cell{height:60px;width:10rem;flex-shrink:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.project-modal{background:#fff;border-radius:8px;max-width:800px;width:90%;max-height:90vh;overflow-y:hidden;padding:24px;box-shadow:0 4px 6px #0000001a;z-index:1000}.project-modal h3{margin-top:0;margin-bottom:0;color:#333}.project-modal .modal-content{overflow-y:auto}.project-modal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-bottom:24px}.project-modal-grid+.project-modal-grid{margin-top:16px}.project-modal-section{margin-bottom:24px}.project-modal-section h4{margin-bottom:8px;color:var(--text-main)}.project-modal-section .text-muted{color:var(--text-light);font-size:.9em;margin-bottom:16px}.flexible-config-items{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.flexible-config-item{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:12px;align-items:end;padding:16px;border:1px solid var(--borders);border-radius:4px;background:var(--bg-light)}.flexible-config-controls{display:flex;justify-content:space-between;align-items:center;margin-top:16px}.total-duration{color:var(--main-color);font-size:1.1em}.modal-actions{display:flex;gap:12px;justify-content:flex-end}.modal .form-group{display:flex;flex-direction:column;gap:4px;justify-content:flex-end}.modal .form-group label{font-weight:500;color:var(--text-main);font-size:.9em}.modal .form-group input,.modal .form-group select{padding:8px 12px;border:1px solid var(--borders);border-radius:4px;font-size:14px;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.modal .form-group input:focus,.modal .form-group select:focus{outline:none;border-color:#2c5aa0;box-shadow:0 0 0 2px #2c5aa01a}.modal .form-group select{height:2.8rem}.modal .form-group textarea{padding:8px 12px;border:1px solid var(--borders);border-radius:4px;font-size:14px;resize:vertical;min-height:80px}.modal .form-group textarea:focus{outline:none;border-color:var(--main-dark);box-shadow:0 0 0 2px var(--shadow-color)}.weekend{background-color:var(--bg-off)}.config-status-icon{font-size:1.2em;cursor:pointer;transition:transform .2s}.config-status-icon:hover{transform:scale(1.1)}.config-complete{color:#28a745}.config-missing{color:#ffc107}.card{border:1px solid var(--borders);border-radius:8px;background:var(--bg-main);box-shadow:0 2px 4px var(--shadow-color)}.status{padding:4px 8px;border-radius:4px;font-size:.85em;font-weight:700}.status.complete{background-color:#d4edda;color:#155724}.status.in-progress{background-color:#fff3cd;color:#856404}.btn-sm{padding:4px 8px;font-size:.85em}.btn-primary{background-color:var(--main-color);color:#fff;border-color:var(--main-dark)}.btn-primary:hover{background-color:var(--main-dark)}.btn:disabled{opacity:.6;cursor:not-allowed}.new-badge{background-color:var(--danger);color:#fff;border-radius:4px;font-size:.6rem;position:absolute;top:-3px;left:-5px;padding:0 1px}.new-row{background-color:#e3f2fd;border-left:4px solid #60a1d0}.edited-cell{background-color:#fff3cd;border-left:3px solid #ffc107}.work-order-skipped,.work-order-canceled{background-color:#f8f9fa;border-left:3px solid #6c757d;opacity:.6}.work-order-completed{background-color:#d4edda;border-left:3px solid #28a745}.frozen-table-container{position:relative;overflow:auto;max-height:100%;max-width:100%;flex:1}.frozen-table thead th{position:sticky;top:0;background:var(--bg-header);z-index:10;outline:2px solid var(--borders);outline-offset:-1px}.frozen-table th:first-child,.frozen-table td:first-child{position:sticky;left:0;background:var(--bg-main);z-index:5;outline:2px solid var(--borders);outline-offset:-1px}.frozen-table thead th:first-child{background:var(--bg-header);z-index:11}.sticky-controls{position:sticky;top:0;background:var(--bg-main);z-index:20;padding:10px 0;outline:2px solid var(--borders);outline-offset:-1px;margin-bottom:10px}.projects-table th:first-child,.projects-table td:first-child{position:sticky;left:0;background:var(--bg-main);z-index:5;outline:2px solid var(--borders);outline-offset:-1px;width:100px;min-width:100px;max-width:100px}.projects-table th:nth-child(2),.projects-table td:nth-child(2){position:sticky;left:111px;background:var(--bg-main);z-index:5;outline:2px solid var(--borders);outline-offset:-1px;width:120px;min-width:120px;max-width:120px}.projects-table thead th:first-child,.projects-table thead th:nth-child(2){background:var(--bg-header);z-index:11}.schedule-table{table-layout:fixed;width:100%;border-collapse:collapse}.schedule-table th:first-child,.schedule-table td:first-child{width:150px;min-width:150px;font-weight:700}.schedule-table th:not(:first-child),.schedule-table td:not(:first-child){width:200px;min-width:200px}.schedule-table td{vertical-align:top;padding:8px;overflow:hidden;text-overflow:ellipsis}.schedule-table .work-order-item{display:block;margin-bottom:4px;padding:2px 4px;background-color:var(--bg-light);border-radius:3px;font-size:.85em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workbook-table th:first-child,.workbook-table td:first-child{width:100px;min-width:100px;max-width:100px}.workbook-table input,.workbook-table textarea,.workbook-table select{border:1px solid var(--borders);border-radius:8px;padding:2px 4px;font-size:.85em;min-height:32px;box-sizing:border-box;vertical-align:top;font-family:inherit;line-height:1.4}.workbook-table select{height:32px;padding:4px 8px}.workbook-table textarea{min-height:32px;resize:vertical;padding:4px 8px;line-height:1.4}.workbook-table input[type=checkbox]{transform:scale(1.2);min-height:auto;height:auto}.workbook-table input[type=time]{height:32px}.workbook-table td{padding:4px;vertical-align:middle;text-align:center;height:40px}.day-switcher{display:flex;align-items:center;gap:10px;margin-bottom:20px}.day-switcher button{padding:8px 12px;font-size:1.2em;min-width:40px}.day-switcher input[type=date]{padding:8px;font-size:1em;border:1px solid var(--borders);border-radius:4px}.progress-bar{position:relative;border:1px solid var(--borders)}.progress-fill{border-radius:inherit}.project-overview-modal .modal{width:90%;max-width:900px;height:auto;max-height:90vh}.project-overview-modal .modal-content{max-height:calc(90vh - 120px);overflow-y:auto}.project-overview-modal .card{margin-bottom:0}.project-overview-modal h4{margin:0 0 15px;color:var(--main-color);border-bottom:1px solid var(--borders);padding-bottom:8px}.project-overview-modal .d-grid>div{padding:8px 0}.project-overview-modal .d-grid>div strong{display:block;margin-bottom:4px;color:var(--main-color);font-size:.9em}.project-overview-modal table{margin-top:10px}.project-overview-modal table th,.project-overview-modal table td{padding:8px;text-align:left}.project-overview-modal table th{background:var(--bg-header);font-weight:700}.project-overview-modal select{padding:8px;border:1px solid var(--borders);border-radius:4px;background:var(--bg-main);color:var(--text-main)}.project-overview-modal label{color:var(--main-color);font-weight:700}.project-overview-modal .progress-bar{border:2px solid var(--borders);background:var(--bg-light)}.project-overview-modal .progress-fill{background:linear-gradient(90deg,#ffc107,#28a745);transition:width .5s ease,background-color .3s ease}.project-overview-modal .progress-fill[style*="100%"]{background:#28a745!important}.prep-task-modal{width:50%;height:50%;overflow:auto}.pointer{cursor:pointer;transition:color .2s ease}.pointer:hover{color:var(--main-color)}.work-order-item.pointer{border:1px solid transparent;transition:all .2s ease}.work-order-item.pointer:hover{border-color:var(--main-color);background-color:var(--main-color);color:#fff;transform:translateY(-1px);box-shadow:0 2px 4px var(--shadow-color)}@media (max-width: 768px){.schedule-table{font-size:.8em}.schedule-table th:first-child,.schedule-table td:first-child{min-width:120px}.schedule-table th:not(:first-child),.schedule-table td:not(:first-child){min-width:80px}.project-overview-modal .modal{width:95%;height:95%}.project-overview-modal .d-grid{grid-template-columns:1fr}.prep-task-modal{width:90%}.project-modal,.modal{width:95%;max-height:95vh;padding:16px}.project-modal-grid{grid-template-columns:1fr}.flexible-config-item{grid-template-columns:1fr;gap:8px}.flexible-config-controls{flex-direction:column;gap:12px;align-items:stretch}.modal-actions{flex-direction:column}}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:9999}.loading-content{background:#fff;padding:2rem;border-radius:8px;text-align:center;box-shadow:0 4px 6px #0000001a}.loading-content p{margin:0;font-size:1.1em;color:#333;font-weight:500}.spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.theme-dark .loading-content{background:var(--bg-main);color:var(--text-main)}.theme-dark .loading-content p{color:var(--text-main)}.theme-dark .spinner{border-color:var(--bg-light);border-top-color:var(--main-color)}.theme-light .loading-content{background:var(--bg-main);color:var(--text-main)}.theme-light .loading-content p{color:var(--text-main)}.theme-light .spinner{border-color:var(--bg-light);border-top-color:var(--main-color)}.theme-purple-blue .loading-content{background:var(--bg-main);color:var(--text-main)}.theme-purple-blue .loading-content p{color:var(--text-main)}.theme-purple-blue .spinner{border-color:var(--bg-light);border-top-color:var(--main-color)}@media print{.schedule-table{font-size:.8em}.schedule-table th:first-child,.schedule-table td:first-child{width:100px;min-width:100px}.schedule-table th:not(:first-child),.schedule-table td:not(:first-child){width:140px;min-width:140px}.day-switcher,.loading-overlay{display:none}}
