* { box-sizing: border-box; }
body { font-family: 'Inter', system-ui, sans-serif; background-color: #09090b; color: #e4e4e7; }
.hidden-pane { display: none !important; }

::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #27272a; border-radius: 99px; }
::-webkit-scrollbar-thumb:hover { background: #3f3f46; }

input[type="date"] { color-scheme: dark; }

.input-dark {
    background-color: #09090b;
    border: 1px solid #27272a;
    color: #fafafa;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.input-dark:focus {
    outline: none;
    border-color: #f97316;
    box-shadow: 0 0 0 3px #f973161a, 0 0 0 1px #f9731633;
    background-color: #111114;
}
.input-dark::placeholder { color: #52525b; }

.btn-primary {
    background: linear-gradient(135deg, #f97316 0%, #ea580c 100%);
    color: white;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 1px 3px rgba(249, 115, 22, 0.3), 0 1px 2px rgba(0,0,0,0.2);
}
.btn-primary:hover {
    background: linear-gradient(135deg, #fb923c 0%, #f97316 100%);
    box-shadow: 0 4px 12px rgba(249, 115, 22, 0.4), 0 1px 3px rgba(0,0,0,0.2);
    transform: translateY(-1px);
}
.btn-primary:active { transform: translateY(0); }

.btn-secondary {
    background-color: #18181b;
    border: 1px solid #27272a;
    color: #a1a1aa;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.btn-secondary:hover {
    background-color: #27272a;
    border-color: #3f3f46;
    color: #fafafa;
}

.tree-children {
    position: relative;
    margin-left: 1.5rem;
    padding-left: 1.25rem;
    border-left: 2px solid #27272a;
}

.progress-bar-bg { background-color: #27272a; border-radius: 999px; overflow: hidden; height: 4px; }
.progress-bar-fill {
    background: linear-gradient(90deg, #f97316 0%, #fb923c 100%);
    height: 100%;
    transition: width 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 999px;
}

.modal-backdrop {
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    background: rgba(0, 0, 0, 0.6);
}

.glass-panel {
    background: rgba(17, 17, 20, 0.95);
    border: 1px solid rgba(39, 39, 42, 0.8);
    box-shadow: 0 25px 50px -12px rgba(0,0,0,0.5), 0 0 0 1px rgba(249,115,22,0.05);
}

.sidebar-item {
    transition: all 0.15s ease;
    border-radius: 8px;
    position: relative;
}
.sidebar-item:hover { background-color: #18181b; }
.sidebar-item.active {
    background: linear-gradient(135deg, rgba(249, 115, 22, 0.12) 0%, rgba(249, 115, 22, 0.06) 100%);
    color: #fb923c;
}
.sidebar-item.active::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 60%;
    background: #f97316;
    border-radius: 0 99px 99px 0;
}

.task-card {
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    border: 1px solid #27272a;
}
.task-card:hover {
    border-color: #3f3f46;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

.gradient-text {
    background: linear-gradient(135deg, #fb923c 0%, #f97316 50%, #fdba74 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.notif-dot {
    animation: pulseSoft 2s ease-in-out infinite;
}

@keyframes pulseSoft {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.6; transform: scale(1.2); }
}

select option { background: #111114; color: #e4e4e7; }
