@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--bg-app: #F3F4F8;--bg-white: #FFFFFF;--bg-sidebar: linear-gradient(135deg, #091C36 0%, #1c1917 60%, #ea580c 100%);--bg-sidebar-dark: #1c1917;--bg-hover: rgba(255,255,255,.12);--text-primary: #1F2937;--text-secondary: #6B7280;--text-muted: #9CA3AF;--text-on-accent: #FFFFFF;--accent: #ea580c;--accent-hover: #c2410c;--accent-light: rgba(234,88,12,.15);--accent-mid: rgba(234,88,12,.25);--danger: #EF4444;--danger-bg: rgba(239,68,68,.1);--success: #10B981;--success-bg: rgba(16,185,129,.1);--warning: #F59E0B;--warning-bg: rgba(245,158,11,.1);--border: #E5E7EB;--border-strong: #D1D5DB;--shadow-xs: 0 1px 2px rgba(0,0,0,.05);--shadow-sm: 0 1px 4px rgba(0,0,0,.06), 0 2px 8px rgba(0,0,0,.04);--shadow-md: 0 4px 16px rgba(0,0,0,.08), 0 2px 6px rgba(0,0,0,.04);--shadow-lg: 0 12px 32px rgba(0,0,0,.12), 0 4px 16px rgba(0,0,0,.06);--shadow-accent: 0 4px 16px rgba(234,88,12,.3);--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--radius-xl: 20px;--sidebar-width: 220px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box;font-family:Inter,system-ui,sans-serif}body{background:var(--bg-app);color:var(--text-primary);min-height:100vh;-webkit-font-smoothing:antialiased}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.app-layout{display:flex;min-height:100vh}.app-main{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--bg-app)}.sidebar{width:var(--sidebar-width);background:var(--bg-sidebar);display:flex;flex-direction:column;padding:1rem .75rem;position:fixed;top:0;left:0;bottom:0;z-index:200;overflow:hidden}.app-main{margin-left:var(--sidebar-width)}.sidebar-logo{display:flex;align-items:center;gap:.75rem;padding:.5rem .5rem 1.5rem}.sidebar-logo-icon{width:36px;height:36px;border-radius:var(--radius-sm);background:#fff3;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-logo-text{color:#fff;font-size:1.15rem;font-weight:800;letter-spacing:-.03em}.sidebar-section-label{font-size:.68rem;font-weight:700;color:#ffffff73;text-transform:uppercase;letter-spacing:.1em;padding:0 .5rem;margin-bottom:.35rem}.sidebar-nav{flex:1;display:flex;flex-direction:column;gap:.15rem;overflow-y:auto}.sidebar-item{display:flex;align-items:center;gap:.7rem;padding:.6rem .75rem;border-radius:var(--radius-sm);border:none;background:transparent;color:#ffffffb3;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .18s ease;width:100%;text-align:left}.sidebar-item:hover{background:var(--bg-hover);color:#fff}.sidebar-item.active{background:#fff3;color:#fff;font-weight:600}.sidebar-footer{display:flex;align-items:center;gap:.5rem;padding:.75rem .5rem 0;border-top:1px solid rgba(255,255,255,.12)}.sidebar-user{display:flex;align-items:center;gap:.6rem;flex:1;min-width:0}.sidebar-avatar{width:34px;height:34px;border-radius:50%;background:#fff3;color:#fff;font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:2px solid rgba(255,255,255,.3)}.sidebar-user-info{display:flex;flex-direction:column;min-width:0}.sidebar-user-name{color:#fff;font-size:.82rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{color:#ffffff80;font-size:.68rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.sidebar-logout{background:transparent;border:none;color:#ffffff80;cursor:pointer;padding:.4rem;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.sidebar-logout:hover{background:#ffffff1f;color:#fff}.topbar{background:var(--bg-white);border-bottom:1px solid var(--border);padding:.875rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-xs)}.topbar-title{font-size:1.15rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.topbar-right{display:flex;align-items:center;gap:.75rem}.page-content{flex:1;padding:1.75rem 2rem;animation:fadeIn .25s ease-out;overflow:hidden}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#091c36,#1c1917 60%,#ea580c);position:relative;overflow:hidden}.auth-container:before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.01) 0,rgba(255,255,255,.01) 1px,transparent 1px,transparent 10px);pointer-events:none}.auth-card{background:var(--bg-white);border:1px solid var(--border);padding:2.5rem;border-radius:var(--radius-lg);width:100%;max-width:440px;box-shadow:var(--shadow-lg);animation:fadeIn .4s ease-out}.auth-card h2{font-size:1.75rem;font-weight:800;margin-bottom:.4rem;color:var(--text-primary);text-align:center;letter-spacing:-.03em}.auth-card p{color:var(--text-secondary);text-align:center;margin-bottom:2rem;font-size:.9rem}.form-group{margin-bottom:1.15rem;display:flex;flex-direction:column;gap:.4rem}.form-group label{font-size:.82rem;color:var(--text-secondary);font-weight:600}.form-input,.form-select{width:100%;padding:.65rem .9rem;background:#e9eaef;border:1.5px solid #D1D5DB;border-radius:var(--radius-sm);color:var(--text-primary);font-size:.9rem;transition:border-color .2s,box-shadow .2s,background .2s;outline:none;appearance:none}.form-input::placeholder{color:var(--text-muted)}.form-input:focus,.form-select:focus{border-color:var(--accent);background:var(--bg-white);box-shadow:0 0 0 3px #ea580c26}.btn{padding:.65rem 1.25rem;border:none;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-weight:600;font-size:.88rem;cursor:pointer;transition:all .18s;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;letter-spacing:.01em;box-shadow:0 2px 8px #ea580c38;width:auto;white-space:nowrap}.btn:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-accent)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.btn-outline{background:var(--bg-white);color:var(--accent);border:1.5px solid var(--accent);box-shadow:none}.btn-outline:hover{background:var(--accent-light);box-shadow:none;transform:none}.btn-ghost{background:var(--bg-white);color:var(--text-secondary);border:1.5px solid var(--border);box-shadow:var(--shadow-xs)}.btn-ghost:hover{background:var(--bg-app);color:var(--text-primary);border-color:var(--border-strong);box-shadow:var(--shadow-xs);transform:none}.btn-danger{background:var(--danger);box-shadow:0 2px 8px #ef444438}.btn-danger:hover{background:#dc2626;box-shadow:0 4px 14px #ef44444d}.btn-success{background:var(--success);box-shadow:0 2px 8px #10b98138}.btn-success:hover{background:#059669}.board-wrapper{display:flex;gap:1.25rem;overflow-x:auto;padding-bottom:1rem;padding-top:.25rem;min-height:calc(100vh - 230px)}.board-wrapper::-webkit-scrollbar{height:5px}.board-wrapper::-webkit-scrollbar-track{background:transparent}.board-wrapper::-webkit-scrollbar-thumb{background:var(--border);border-radius:10px}.board-container{display:flex;gap:1.25rem;overflow-x:auto;padding-bottom:1rem;padding-top:.25rem;height:calc(100vh - 220px)}.column{min-width:290px;max-width:310px;background:#f6f6f9;border-radius:var(--radius-lg);padding:1rem;display:flex;flex-direction:column;transition:background .2s,box-shadow .2s;flex-shrink:0}.column.dragging-over{background:#fdf2e9!important;box-shadow:inset 0 0 0 2px #ea580c40!important}.column h3{font-size:.78rem;font-weight:700;color:var(--text-secondary);margin-bottom:.875rem;display:flex;align-items:center;justify-content:space-between;text-transform:uppercase;letter-spacing:.07em}.column h3 span{background:#00000012;padding:.1rem .55rem;border-radius:20px;font-size:.72rem;color:var(--text-secondary);font-weight:700;text-transform:none;letter-spacing:0}.task-card{background:var(--bg-white);border-radius:var(--radius);padding:1rem;margin-bottom:.5rem;border:1.5px solid transparent;box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s;position:relative}.task-card:hover{box-shadow:var(--shadow-md);border-color:#ea580c40;transform:translateY(-2px)}.hover-danger:hover{filter:drop-shadow(0 0 4px rgba(239,68,68,.5))}.dashboard{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;padding:1.75rem 2rem;animation:fadeIn .25s;overflow:hidden}.header{background:var(--bg-white);border-bottom:1px solid var(--border);padding:.875rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-xs);position:sticky;top:0;z-index:100}.header h1{font-size:1.1rem;font-weight:700;color:var(--text-primary)}.header-actions{display:flex;gap:1rem;align-items:center}.btn-secondary{background:var(--bg-white);color:var(--text-secondary);border:1.5px solid var(--border);box-shadow:var(--shadow-xs)}.btn-secondary:hover{background:var(--bg-app);color:var(--text-primary);box-shadow:var(--shadow-xs);transform:none}.data-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--bg-white);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--border)}.data-table th,.data-table td{padding:1rem 1.25rem;text-align:left;border-bottom:1px solid var(--border)}.data-table th{background:var(--bg-app);color:var(--text-secondary);font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}.data-table tr:hover td{background:#ea580c05}.data-table tr:last-child td{border-bottom:none}.badge{padding:.28rem .65rem;border-radius:100px;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;display:inline-flex;align-items:center}.badge.pending{background:var(--warning-bg);color:#b45309;border:1px solid rgba(245,158,11,.2)}.badge.approved{background:var(--success-bg);color:#065f46;border:1px solid rgba(16,185,129,.2)}.alert{padding:.85rem 1rem;border-radius:var(--radius-sm);margin-bottom:1.25rem;background:var(--danger-bg);border:1px solid rgba(239,68,68,.2);color:#b91c1c;font-size:.875rem;font-weight:500}.alert.success{background:var(--success-bg);border-color:#10b98133;color:#065f46}.auth-link{display:block;text-align:center;margin-top:1.25rem;color:var(--text-secondary);font-size:.875rem;text-decoration:none;cursor:pointer}.auth-link span{color:var(--accent);font-weight:600}.auth-link span:hover{text-decoration:underline}.fc{background:var(--bg-white);padding:1.25rem;border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.fc-theme-standard td,.fc-theme-standard th,.fc-theme-standard .fc-scrollgrid{border-color:#dddfe4!important}.fc .fc-toolbar-title{color:var(--text-primary);font-size:1.05rem!important;font-weight:700}.fc .fc-button-primary{background:var(--bg-app)!important;border-color:var(--border)!important;box-shadow:none!important;color:var(--text-secondary)!important;font-weight:600!important;font-size:.82rem!important}.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:not(:disabled):active,.fc .fc-button-primary:hover{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}.fc .fc-button-group .fc-dayGridMonth-button:before,.fc .fc-button-group .fc-dayGridWeek-button:before{display:none}.fc .fc-dayGridMonth-button,.fc .fc-dayGridWeek-button{font-size:.8rem!important}.fc-day-today{background:#ea580c0a!important}.fc-daygrid-day-number{color:var(--text-secondary);font-weight:500;font-size:.82rem}.fc-event{cursor:pointer;border:none!important;border-radius:4px;padding:2px 6px;font-size:.7rem;font-weight:600}@keyframes bell-ring{0%{transform:rotate(0)}15%{transform:rotate(15deg)}30%{transform:rotate(-12deg)}45%{transform:rotate(10deg)}60%{transform:rotate(-8deg)}75%{transform:rotate(5deg)}to{transform:rotate(0)}}.bell-shake{animation:bell-ring 1.2s ease infinite;color:var(--warning)!important}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.dropdown-item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.6rem .75rem;font-size:.82rem;font-weight:500;color:var(--text-primary);background:none;border:none;border-radius:6px;cursor:pointer;transition:all .15s;text-align:left}.dropdown-item:hover{background:var(--bg-app);color:var(--accent)}.hover-bg-gray:hover{background-color:var(--bg-app)}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
