.root, :root {
    --color-primary: #2b3440;
    --color-primary-hover: #3a4752;
    --color-accent: #4f5b66;
    --color-accent-hover: #5f6b76;
    --color-secondary: #6b7780;
    --color-secondary-hover: #8a9499;
    --color-success: #2d7a57;
    --color-success-hover: #3e8f6a;
    --color-danger: #8a3b45;
    --color-danger-hover: #b0535e;
    --color-bg: #f5f6f8;
    --color-surface: #ffffff;
    --color-text: #222831;
    --radius-sm: 6px;
    --radius-md: 10px;
    --shadow-sm: 0 6px 18px rgba(16,24,32,0.06);
    --control-border: #e1e6ea;
    --control-border-focus: #cfd8dd;
}

* { margin:0;padding:0;box-sizing:border-box;font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;}
body{background:var(--color-bg);color:var(--color-text);font-size:15px;line-height:1.45;}
.header{background:var(--color-primary);color:#fff;padding:1rem;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-sm);} 
.logo{display:flex;align-items:center;} 
.logo img{height:44px;margin-right:12px;} 
.logo h1{font-size:1.25rem;font-weight:700;}
.nav-menu{display:flex;list-style:none;}
.nav-menu li{margin-left:20px;}
.nav-menu a{color:#fff;text-decoration:none;padding:5px 10px;border-radius:4px;transition:background-color .25s ease,color .25s ease,box-shadow .25s ease;}
.nav-menu a:hover{background:rgba(255,255,255,.2);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);}
.nav-dropdown{position:relative;}
.submenu-toggle{
    display:none;
    margin-left:4px;
    padding:5px 7px;
    border:none;
    border-radius:4px;
    background:transparent;
    color:#fff;
    cursor:pointer;
    transition:background-color .25s ease,color .25s ease;
}
.submenu-toggle:hover{background:rgba(255,255,255,.2);}
.nav-submenu{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    list-style:none;
    margin:4px 0 0;
    padding:6px;
    min-width:140px;
    background:#123f85;
    border:1px solid rgba(255,255,255,.14);
    border-radius:6px;
    box-shadow:0 6px 18px rgba(0,0,0,.2);
    z-index:1000;
}
.nav-submenu li{margin:0;}
.nav-submenu a{display:block;padding:7px 10px;border-radius:4px;white-space:nowrap;}
.nav-dropdown:hover .nav-submenu{display:block;}
.nav-dropdown.open .nav-submenu{display:block;}

.container{max-width:1200px;margin:20px auto;padding:0 20px;}
.login-container{max-width:400px;margin:100px auto;padding:24px;background:#fff;border:1px solid #d8e6fb;border-radius:8px;box-shadow:0 8px 16px rgba(0,0,0,.08);text-align:center;}
.login-container img{max-width:100%;margin-bottom:20px;}

.form-group{margin-bottom:15px;text-align:left;}
.form-group label{display:block;margin-bottom:5px;font-weight:600;}
.form-group :is(input, select, textarea){width:100%;padding:10px;border:1px solid var(--control-border-focus);border-radius:var(--radius-sm);background:#fff;color:var(--color-text);transition:border-color .25s ease,box-shadow .25s ease,background-color .25s ease;}
.form-group :is(input, select, textarea):focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 0.2rem rgba(79,141,228,.2);}

.form-row{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:15px;}
.form-row .form-group{flex:1;min-width:200px;}

.btn{padding:10px 15px;border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:bold;text-decoration:none;display:inline-block;text-align:center;transition:background-color .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease;}
.btn-primary{background:#1f5fbf;color:#fff;border:1px solid #1d5fb6;box-shadow:0 4px 8px rgba(31,95,191,.12);}
.btn-primary:hover{background:#3d78d0;transform:translateY(-1px);box-shadow:0 6px 12px rgba(31,95,191,.16);}
.btn-secondary{background:#1f5fbf;color:#fff;border:1px solid #1d5fb6;box-shadow:0 4px 8px rgba(31,95,191,.12);}
.btn-secondary:hover{background:#3d78d0;transform:translateY(-1px);box-shadow:0 6px 12px rgba(31,95,191,.16);}
.btn-danger{background:#b53a4a;color:#fff;border:1px solid #9f3343;box-shadow:0 4px 8px rgba(167,57,74,.12);}
.btn-danger:hover{background:#d15a6a;transform:translateY(-1px);box-shadow:0 6px 12px rgba(167,57,74,.18);}
.btn-pdf{background:#8a8a8a;color:#fff;border:1px solid #707070;box-shadow:0 4px 8px rgba(0,0,0,.12);}
.btn-pdf:hover{background:#a5a5a5;transform:translateY(-1px);box-shadow:0 6px 12px rgba(0,0,0,.16);}
.btn-sm{padding:4px 8px;font-size:12px;margin:2px 0;}

.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px;margin-top:20px;}
.dashboard-card{background:var(--color-surface);padding:20px;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);text-align:center;cursor:pointer;border:1px solid #d8e7fb;transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease;}
.dashboard-card:hover{transform:translateY(-5px);background:#f4f9ff;box-shadow:0 16px 30px rgba(31,95,191,.14);}
.dashboard-card h3{margin-bottom:10px;color:var(--color-primary);}

.table{width:100%;border-collapse:collapse;margin:20px 0;background:var(--color-surface);}
.table th,.table td{padding:12px 15px;text-align:left;border-bottom:1px solid #dbe8fb;}
.table th{background:#123f85;color:#fff;}
.table tr:hover{background:#edf5ff;}

.form-container{background:var(--color-surface);padding:20px;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:20px;}
.form-container h3{margin-top:0;margin-bottom:20px;color:var(--color-primary);}

.search-container{margin-bottom:20px;display:flex;gap:10px;}
.search-container input{flex:1;padding:10px;border:1px solid #ddd;border-radius:var(--radius-sm);}

.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;overflow:auto;background:rgba(0,0,0,.5);}
.modal-content{background:var(--color-surface);margin:10% auto;padding:20px;border-radius:var(--radius-md);width:80%;max-width:500px;border:1px solid #d8e6fb;box-shadow:0 10px 20px rgba(0,0,0,.10);}
.close{color:#aaa;float:right;font-size:28px;font-weight:bold;cursor:pointer;}
.close:hover{color:#000;}

.agenda{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;}
.time-slot{background:var(--color-surface);padding:15px;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid #d8e6fb;}
.time-slot h3{color:var(--color-primary);margin-bottom:10px;}
.appointment{background:#f5f9ff;padding:10px;margin-bottom:10px;border-left:4px solid #2a72cf;border-radius:4px;}

.footer{background:#123f85;color:#fff;text-align:center;padding:20px;margin-top:40px;}

.alert{padding:12px;margin:15px 0;border-radius:5px;border-left:4px solid;}
.alert.success{background:#d4edda;border-color:#28a745;color:#155724;}
.alert.error{background:#f8d7da;border-color:#dc3545;color:#721c24;}
.alert.warning{background:#fff3cd;border-color:#ffc107;color:#856404;}

select{border:1px solid var(--control-border);}

.inventory-summary{margin-top:30px;padding:20px;background:#f6faff;border-radius:8px;border:1px solid #d8e6fb;border-left:4px solid var(--color-accent);}
.inventory-summary h3{margin-top:0;color:var(--color-primary);border-bottom:2px solid #dbe8fb;padding-bottom:10px;}
.inventory-summary > div{display:flex;gap:15px;flex-wrap:wrap;}
.inventory-summary > div > div{flex:1;min-width:200px;text-align:center;}
.inventory-summary h4{margin:0 0 10px 0;color:#666;font-size:14px;}
.summary-cards{display:flex;gap:20px;justify-content:center;margin-top:15px;}
.summary-card{background:var(--color-surface);padding:20px;border-radius:var(--radius-md);box-shadow:0 2px 10px rgba(0,0,0,.1);text-align:center;min-width:180px;border-top:4px solid;}
.summary-card.total{border-top-color:var(--color-accent);}
.summary-card.stock-bajo{border-top-color:var(--color-danger);}
.summary-card h4{margin:0 0 10px 0;color:#666;font-size:14px;text-transform:uppercase;}
.summary-card p{margin:0;font-size:28px;font-weight:bold;}
.summary-card.total p{color:var(--color-accent);}
.summary-card.stock-bajo p{color:var(--color-danger);}
#repuestosTable td{vertical-align:middle;}
.stock-bajo{color:#c37b1e;font-weight:bold;}
.stock-agotado{color:#b53a4a;font-weight:bold;}
form.inline-form{display:inline-block;margin:0;padding:0;}

.estado-badge{padding:4px 8px;border-radius:12px;font-size:12px;font-weight:bold;display:inline-block;min-width:80px;text-align:center;}
.estado-programado{background:#fff3cd;color:#856404;}
.estado-proceso{background:#d1ecf1;color:#0c5460;}
.estado-completado{background:#d4edda;color:#155724;}
.estado-cancelado{background:#f8d7da;color:#721c24;}
.estado-select{padding:3px;border-radius:4px;border:1px solid #ddd;font-size:12px;width:100%;}

.btn-today-compact{padding:8px 20px;background:#fff;color:#2b69c1;border-radius:8px;text-decoration:none;font-weight:600;transition:all .25s ease;border:2px solid transparent;}
.btn-today-compact:hover{background:#f8f9fa;color:#4f8de4;border-color:rgba(255,255,255,.5);transform:translateY(-2px);}

.date-selector-compact{
    background:#123f85;
    border-radius:8px;
    padding:12px 14px;
    color:#fff;
    margin-bottom:18px;
    box-shadow:0 6px 12px rgba(18,63,133,.10);
}
.date-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;flex-wrap:wrap;gap:12px;}
.current-date-compact{flex:1;min-width:160px;}
.week-day{font-size:14px;font-weight:600;margin-bottom:3px;color:rgba(255,255,255,.95);} 
.date{font-size:20px;font-weight:700;letter-spacing:.4px;} 
.date-picker-compact{position:relative;} 
.compact-date-input{background:rgba(255,255,255,.9);border:none;border-radius:8px;padding:8px 12px;font-size:14px;cursor:pointer;min-width:140px;color:#333;transition:all .25s;} 
.compact-date-input:hover{background:#fff;transform:translateY(-1px);box-shadow:0 3px 8px rgba(0,0,0,.12);} 
.compact-date-input:focus{outline:none;background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.2);} 
.nav-compact{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.12);border-radius:8px;padding:4px;} 
.nav-arrow{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:rgba(255,255,255,.18);color:#fff;text-decoration:none;font-size:16px;transition:all .25s;} 
.nav-arrow:hover{background:rgba(255,255,255,.28);transform:scale(1.06);} 
.nav-arrow.prev span,.nav-arrow.next span{display:block;line-height:1;}

.compact-stats{display:flex;align-items:center;justify-content:center;gap:12px;background:rgba(255,255,255,.08);border-radius:8px;padding:8px 10px;margin-top:8px;border:1px solid rgba(255,255,255,.14);} 
.stat-item{display:flex;align-items:center;gap:6px;} 
.stat-label{font-size:12px;color:rgba(255,255,255,.85);} 
.stat-value{font-size:14px;font-weight:700;color:#fff;background:rgba(255,255,255,.12);padding:2px 8px;border-radius:16px;min-width:36px;text-align:center;} 
.stat-divider{color:rgba(255,255,255,.5);font-size:20px;}

@media(max-width:768px){
    .header{flex-direction:column;align-items:flex-start;gap:12px;}
    .nav-menu{flex-wrap:wrap;gap:8px;}
    .nav-menu li{margin-left:0;}
    .nav-dropdown{display:flex;align-items:center;flex-wrap:wrap;}
    .submenu-toggle{display:inline-block;}
    .nav-dropdown:hover .nav-submenu{display:none;}
    .nav-dropdown.open .nav-submenu{display:block;position:static;width:100%;margin-top:6px;}
    .inventory-summary>div{flex-direction:column;}
    .inventory-summary>div>div{min-width:auto;}
    .search-container{flex-direction:column;}
    .summary-cards{flex-direction:column;}
    .summary-card{min-width:auto;}
    .table th:nth-child(3),.table td:nth-child(3),.table th:nth-child(4),.table td:nth-child(4){display:none;}
    .date-header{flex-direction:column;align-items:stretch;}
    .current-date-compact{text-align:center;}
    .nav-compact{justify-content:center;}
    .compact-stats{flex-wrap:wrap;gap:10px;}
    .stat-divider{display:none;}
}
