:root{--font-headlines:"Outfit", sans-serif;--font-body:"Inter", sans-serif;--color-primary:#4caf4f;--color-primary-hover:#3e8e41;--color-secondary:#263238;--color-info:#2196f3;--neutral-black:#263238;--neutral-dgrey:#4d4d4d;--neutral-grey:#717171;--neutral-lgrey:#89939e;--neutral-grey-blue:#abbed1;--neutral-silver:#f5f7fa;--neutral-white:#fff;--color-warning:#fbc02d;--color-error:#e53935;--color-success:#2e7d32;--primary-tint-1:#66bb6a;--primary-tint-2:#81c784;--primary-tint-3:#a5d6a7;--primary-tint-4:#c8e6c9;--primary-tint-5:#e8f5e9;--shadow-sm:0px 2px 4px #abbed133;--shadow-md:0px 4px 8px #abbed14d;--shadow-lg:0px 8px 16px #abbed126;--shadow-xl:0px 16px 24px #abbed133;--border-radius-sm:4px;--border-radius-md:8px;--border-radius-lg:12px;--transition-fast:all .2s ease-in-out;--transition-normal:all .3s ease}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--neutral-silver);color:var(--neutral-dgrey);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-headlines);color:var(--color-secondary);font-weight:600}h1{margin-bottom:1.5rem;font-size:2.25rem;line-height:2.75rem}h2{margin-bottom:1.25rem;font-size:1.75rem;line-height:2.25rem}h3{margin-bottom:1rem;font-size:1.25rem;line-height:1.75rem}h4{font-size:1.1rem;line-height:1.5rem}.app-container{width:100%;min-height:100vh;display:flex}.sidebar{background-color:var(--color-secondary);width:260px;color:var(--neutral-white);box-shadow:var(--shadow-lg);z-index:10;flex-direction:column;flex-shrink:0;padding:2rem 1.5rem;display:flex}.brand-section{align-items:center;gap:.75rem;margin-bottom:3rem;display:flex}.brand-logo{color:var(--color-primary);font-size:1.75rem}.brand-name{font-family:var(--font-headlines);letter-spacing:-.5px;color:var(--neutral-white);font-size:1.3rem;font-weight:700}.sidebar-nav{flex-direction:column;flex-grow:1;gap:.5rem;display:flex}.nav-item{color:var(--neutral-grey-blue);border-radius:var(--border-radius-md);cursor:pointer;transition:var(--transition-fast);align-items:center;gap:.75rem;padding:.85rem 1rem;font-weight:500;text-decoration:none;display:flex}.nav-item:hover{color:var(--neutral-white);background-color:#ffffff0d}.nav-item.active{background-color:var(--color-primary);color:var(--neutral-white)}.sidebar-footer{color:var(--neutral-lgrey);border-top:1px solid #ffffff1a;padding-top:1.5rem;font-size:.8rem}.main-content{flex-direction:column;flex-grow:1;gap:2rem;padding:2.5rem;display:flex;overflow-y:auto}.content-header{border-bottom:1px solid var(--neutral-grey-blue);justify-content:space-between;align-items:center;padding-bottom:1.25rem;display:flex}.header-title-desc{color:var(--neutral-grey);margin-top:.25rem;font-size:.95rem}.btn{border-radius:var(--border-radius-sm);font-family:var(--font-body);cursor:pointer;transition:var(--transition-fast);box-shadow:var(--shadow-sm);border:none;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.95rem;font-weight:500;text-decoration:none;display:inline-flex}.btn-primary{background-color:var(--color-primary);color:var(--neutral-white)}.btn-primary:hover{background-color:var(--color-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background-color:var(--neutral-white);color:var(--color-secondary);border:1px solid var(--neutral-grey-blue)}.btn-secondary:hover{background-color:var(--neutral-silver);color:var(--color-secondary)}.btn-danger{background-color:var(--color-error);color:var(--neutral-white)}.btn-danger:hover{background-color:#b71c1c}.btn-icon-only{border-radius:50%;padding:.5rem}.card{background:var(--neutral-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);transition:var(--transition-normal);border:1px solid #abbed133;padding:1.75rem}.card:hover{box-shadow:var(--shadow-md)}.info-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;display:grid}.stat-card{align-items:center;gap:1.25rem;display:flex}.stat-icon{border-radius:var(--border-radius-md);background-color:var(--primary-tint-5);width:54px;height:54px;color:var(--color-primary);justify-content:center;align-items:center;font-size:1.5rem;display:flex}.stat-details h3{margin-bottom:.1rem;font-size:1.5rem}.stat-details p{color:var(--neutral-grey);font-size:.9rem}.table-container{border-radius:var(--border-radius-md);border:1px solid #abbed133;margin-top:1rem;overflow-x:auto}.custom-table{border-collapse:collapse;text-align:left;background-color:var(--neutral-white);width:100%}.custom-table th{background-color:var(--neutral-silver);color:var(--color-secondary);border-bottom:2px solid #abbed14d;padding:1rem 1.25rem;font-size:.9rem;font-weight:600}.custom-table td{color:var(--neutral-dgrey);vertical-align:middle;border-bottom:1px solid #abbed133;padding:1rem 1.25rem;font-size:.95rem}.custom-table tr:hover{background-color:#4caf4f08}.user-badge{align-items:center;gap:.5rem;font-weight:500;display:inline-flex}.color-dot{border:1px solid #0000001a;border-radius:50%;width:12px;height:12px;display:inline-block}.form-group{margin-bottom:1.25rem}.form-label{color:var(--neutral-black);margin-bottom:.4rem;font-size:.9rem;font-weight:500;display:block}.form-control{border:1px solid var(--neutral-grey-blue);border-radius:var(--border-radius-sm);width:100%;font-family:var(--font-body);color:var(--neutral-dgrey);transition:var(--transition-fast);background-color:var(--neutral-white);padding:.65rem .9rem;font-size:.95rem}.form-control:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #4caf4f26}.form-row{gap:1rem;display:flex}.form-row .form-group{flex:1}.calendar-wrapper{flex-direction:column;gap:1.5rem;display:flex}.calendar-header{justify-content:space-between;align-items:center;padding:.5rem 0;display:flex}.calendar-grid{border-radius:var(--border-radius-lg);background-color:#abbed11a;grid-template-columns:repeat(7,1fr);gap:.5rem;padding:.5rem;display:grid}.calendar-day-header{text-align:center;color:var(--neutral-grey);font-weight:600;font-family:var(--font-headlines);padding:.75rem 0;font-size:.9rem}.calendar-day-cell{background-color:var(--neutral-white);border-radius:var(--border-radius-md);min-height:110px;transition:var(--transition-fast);border:1px solid #abbed126;flex-direction:column;gap:.35rem;padding:.5rem;display:flex}.calendar-day-cell:hover{box-shadow:var(--shadow-sm);border-color:var(--neutral-grey-blue)}.calendar-day-cell.other-month{color:var(--neutral-lgrey);background-color:#f5f7fa99}.calendar-day-number{margin-bottom:.25rem;font-size:.9rem;font-weight:600}.calendar-turn-block{border-radius:var(--border-radius-sm);color:var(--neutral-white);text-overflow:ellipsis;white-space:normal;cursor:pointer;transition:var(--transition-fast);padding:.35rem .5rem;font-size:.72rem;font-weight:500;line-height:1.25;overflow:hidden;box-shadow:0 1px 2px #00000026}.calendar-turn-block:hover{filter:brightness(1.05);transform:scale(1.02)}.tanda-diagram-container{margin-top:1.5rem}.tanda-timeline{background-color:var(--neutral-silver);border-radius:var(--border-radius-md);border:1px solid var(--neutral-grey-blue);height:60px;margin-bottom:1.5rem;display:flex;overflow:hidden;box-shadow:inset 0 2px 4px #0000000d}.tanda-timeline-segment{color:var(--neutral-white);text-align:center;cursor:pointer;transition:var(--transition-fast);text-shadow:0 1px 2px #00000080;border-right:1px solid #ffffff40;justify-content:center;align-items:center;min-width:50px;padding:0 .5rem;font-size:.85rem;font-weight:600;display:flex}.tanda-timeline-segment:last-child{border-right:none}.tanda-timeline-segment:hover{filter:brightness(1.1);box-shadow:inset 0 0 10px #0003}.tanda-days-axis{color:var(--neutral-grey);justify-content:space-between;padding:0 .5rem;font-size:.8rem;font-weight:500;display:flex}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background-color:#26323899;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background-color:var(--neutral-white);border-radius:var(--border-radius-lg);width:550px;max-width:90%;box-shadow:var(--shadow-xl);animation:.3s cubic-bezier(.16,1,.3,1) modalFadeIn;overflow:hidden}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header{background-color:var(--neutral-silver);border-bottom:1px solid var(--neutral-grey-blue);justify-content:space-between;align-items:center;padding:1.25rem 1.75rem;display:flex}.modal-body{max-height:75vh;padding:1.75rem;overflow-y:auto}.modal-footer{border-top:1px solid var(--neutral-grey-blue);justify-content:flex-end;gap:.75rem;padding:1.25rem 1.75rem;display:flex}.close-btn{cursor:pointer;color:var(--neutral-grey);background:0 0;border:none;font-size:1.5rem}.close-btn:hover{color:var(--neutral-black)}.view-tabs{border-radius:var(--border-radius-md);background-color:#abbed140;margin-bottom:1rem;padding:.25rem;display:inline-flex}.tab-btn{border-radius:var(--border-radius-sm);color:var(--neutral-dgrey);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;padding:.5rem 1.25rem;font-size:.9rem;font-weight:500}.tab-btn.active{background-color:var(--neutral-white);color:var(--color-secondary);box-shadow:var(--shadow-sm)}.list-header-actions{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.search-input-container{width:250px;position:relative}.toast-notification{background-color:var(--color-secondary);color:var(--neutral-white);border-radius:var(--border-radius-md);box-shadow:var(--shadow-xl);z-index:2000;align-items:center;gap:.75rem;padding:1rem 1.5rem;animation:.3s ease-out slideUp;display:flex;position:fixed;bottom:2rem;right:2rem}@keyframes slideUp{0%{opacity:0;transform:translateY(100px)}to{opacity:1;transform:translateY(0)}}.toast-success{border-left:4px solid var(--color-primary)}.toast-error{border-left:4px solid var(--color-error)}.turn-tooltip-details{color:var(--neutral-grey);padding:.5rem;font-size:.85rem}.turn-tooltip-details strong{color:var(--neutral-black)}.sidebar.collapsed{width:76px;padding:2rem .5rem}.sidebar{transition:width .3s cubic-bezier(.4,0,.2,1),padding .3s cubic-bezier(.4,0,.2,1)}.sidebar.collapsed .brand-name,.sidebar.collapsed .nav-item-text,.sidebar.collapsed .user-details-text,.sidebar.collapsed .user-role-badge,.sidebar.collapsed .sidebar-footer{display:none!important}.sidebar.collapsed .brand-section{justify-content:center!important}.sidebar.collapsed .nav-item{justify-content:center;padding:.85rem}.sidebar.collapsed button{justify-content:center}.mobile-header,.sidebar-overlay{display:none}@media (width<=768px){.app-container{flex-direction:column}.sidebar{z-index:1000;width:260px;height:100vh;box-shadow:var(--shadow-xl);transition:left .3s cubic-bezier(.4,0,.2,1);position:fixed;top:0;bottom:0;left:-270px}.sidebar.mobile-open{left:0}.sidebar-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:999;background-color:#26323880;display:block;position:fixed;inset:0}.mobile-header{background-color:var(--color-secondary);color:var(--neutral-white);z-index:90;box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;padding:.85rem 1.25rem;display:flex;position:sticky;top:0}.menu-toggle-btn{color:var(--neutral-white);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.main-content{gap:1.25rem;padding:1.25rem 1rem}.content-header{flex-direction:column;align-items:flex-start;gap:.75rem;padding-bottom:1rem}.content-header .btn{width:100%}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:2px;padding:2px}.calendar-day-header{padding:.25rem 0;font-size:.7rem}.calendar-day-cell{border-radius:4px;min-height:55px;padding:.25rem}.calendar-day-number{margin-bottom:.1rem;font-size:.75rem}.calendar-turn-block{padding:.15rem .25rem;font-size:.55rem}.calendar-turn-block span{font-size:.55rem!important}.tanda-timeline-segment{padding:0 2px;font-size:.65rem}.tanda-timeline-segment span,.tanda-days-axis span{font-size:.65rem!important}.tanda-diagram-container{padding:1rem!important}.tanda-diagram-container h3{font-size:1.1rem}.list-header-actions{flex-direction:column;align-items:stretch;gap:1rem}.search-input-container{width:100%}.form-row{flex-direction:column;gap:0}.custom-table th,.custom-table td{padding:.75rem .5rem;font-size:.85rem}.sidebar-toggle-btn{display:none!important}}
