:root{--primary: #2563eb;--primary-hover: #1d4ed8;--bg-dark: #f8fafc;--bg-white: #ffffff;--text-main: #0f172a;--text-muted: #64748b;--border: #e2e8f0;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1)}*{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:var(--bg-dark);color:var(--text-main);font-size:14px}.app-container{display:flex;height:100vh}.sidebar{width:250px;background:var(--bg-white);border-right:1px solid var(--border);padding:1.5rem 1rem;transition:width .3s ease,padding .3s ease;overflow:hidden;box-shadow:var(--shadow-sm)}.sidebar.collapsed{width:70px;padding:1.5rem .5rem}.sidebar .logo{font-size:1.25rem;font-weight:700;color:var(--primary);margin-bottom:2rem;padding:0 .5rem;white-space:nowrap;min-height:1.75rem}.sidebar ul{list-style:none;padding:0;margin:0}.sidebar li{margin-bottom:.25rem}.sidebar a{display:block;padding:.75rem 1rem;text-decoration:none;color:var(--text-muted);border-radius:6px;transition:all .2s;white-space:nowrap;font-size:.9rem}.sidebar.collapsed a{text-align:center;padding:.75rem .5rem;font-size:1.25rem}.sidebar li.active a,.sidebar a:hover{background-color:#eff6ff;color:var(--primary);font-weight:500}.content{flex:1;padding:1.5rem;overflow-y:auto;position:relative}.sidebar-toggle{position:fixed;top:1rem;left:270px;z-index:100;background:var(--bg-white);border:1px solid var(--border);border-radius:6px;width:36px;height:36px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.2rem;box-shadow:var(--shadow-md);transition:left .3s ease,transform .2s}.sidebar-toggle:hover{transform:scale(1.05);background:var(--bg-dark)}.sidebar.collapsed~.content .sidebar-toggle{left:90px}h1{margin-top:0;margin-bottom:1.5rem;font-size:1.75rem;font-weight:700}h3{font-size:1.125rem;font-weight:600}.card{background:white;padding:1.25rem;border-radius:8px;box-shadow:var(--shadow-sm);margin-bottom:1.25rem;border:1px solid var(--border)}.btn{background:var(--primary);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s;box-shadow:var(--shadow-sm)}.btn:hover:not(:disabled){background:var(--primary-hover);box-shadow:var(--shadow-md)}.btn:disabled{opacity:.5;cursor:not-allowed}.table{width:100%;border-collapse:collapse;font-size:.875rem;background:white}.table th,.table td{padding:.625rem .5rem;border:1px solid var(--border);text-align:left}.table th{background:#f8fafc;font-weight:600;color:var(--text-main);white-space:nowrap;font-size:.8rem}.table td{vertical-align:top}.table select{width:100%;padding:.375rem;border:1px solid var(--border);border-radius:4px;font-size:.8rem;margin-bottom:.25rem}.table input[type=time]{width:100%;padding:.25rem;border:1px solid var(--border);border-radius:4px;font-size:.75rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;font-size:.875rem;color:var(--text-main)}.form-group input,.form-group select{width:100%;padding:.5rem;border:1px solid var(--border);border-radius:6px;font-size:.875rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.schedule-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.schedule-controls{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.schedule-controls select,.schedule-controls input{padding:.5rem;border:1px solid var(--border);border-radius:6px;font-size:.875rem}.position-group-header{background:#1e3a8a;color:#fff;padding:.75rem 1rem;font-weight:600;font-size:.9rem;border-radius:4px;margin-top:1rem;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.position-group-header:first-child{margin-top:0}.notes-field{width:100%;padding:.3rem .4rem;font-size:.7rem;border:1px solid #e5e7eb;border-radius:3px;margin-top:4px;background:#f9fafb;font-family:inherit}.notes-field::placeholder{color:#9ca3af;font-style:italic}.notes-field:focus{outline:none;border-color:#3b82f6;background:white}.employee-name-cell{background:#f8f9fa;font-weight:600;border-left:3px solid #10b981!important}
