:root{--bg-primary:#f8fafc;--bg-secondary:#fff;--text-primary:#0f172a;--text-secondary:#475569;--accent:#1e3a8a;--accent-hover:#1e40af;--accent-light:#eff6ff;--border:#e2e8f0;--priority-top:#22c55e;--priority-average:#f59e0b;--priority-low:#ef4444;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem}@media (prefers-color-scheme:dark){:root{--bg-primary:#121212;--bg-secondary:#1e1e1e;--text-primary:#e0e0e0;--text-secondary:#a0a0a0;--accent:#3b82f6;--accent-hover:#60a5fa;--accent-light:#1a2332;--border:#2d2d2d;--shadow-sm:0 1px 2px 0 #00000080;--shadow-md:0 4px 6px -1px #0000004d, 0 2px 4px -2px #0000004d;--shadow-lg:0 10px 15px -3px #0000004d, 0 4px 6px -4px #0000004d;--priority-top:#4ade80;--priority-average:#fbbf24;--priority-low:#f87171}}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}a{color:var(--accent);text-decoration:none;transition:color .2s}a:hover{color:var(--accent-hover)}button{cursor:pointer;font-family:inherit;transition:all .2s}input,select,textarea{background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;padding:.75rem 1rem;font-family:inherit;font-size:1rem;transition:all .2s}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light);outline:none}.container{max-width:1200px;margin:0 auto;padding:2rem}.header{z-index:50;-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background-color:#fffc;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex;position:sticky;top:0}@media (prefers-color-scheme:dark){.header{background-color:#0f172acc}}.title{color:var(--text-primary);align-items:center;gap:.5rem;font-size:1.5rem;font-weight:700;display:flex}.btn-primary{background-color:var(--accent);color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:none;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:600;display:inline-flex}.btn-primary:hover{background-color:var(--accent-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-md);align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:600;display:inline-flex}.btn-secondary:hover{background-color:var(--bg-primary);border-color:var(--text-secondary)}.fab{background-color:var(--accent);color:#fff;width:3.5rem;height:3.5rem;box-shadow:var(--shadow-lg);cursor:pointer;z-index:100;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .3s cubic-bezier(.175,.885,.32,1.275);display:flex;position:fixed;bottom:2rem;right:2rem}.fab:hover{background-color:var(--accent-hover);transform:scale(1.1)}.fab svg{width:1.5rem;height:1.5rem}.grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:2rem;display:grid}.card{background-color:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border);flex-direction:column;transition:all .3s;display:flex;overflow:hidden}.card:hover{box-shadow:var(--shadow-lg);border-color:var(--accent);transform:translateY(-4px)}.card-img-wrapper{background-color:var(--bg-primary);justify-content:center;align-items:center;width:100%;height:200px;display:flex;position:relative;overflow:hidden}.card-img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.card:hover .card-img{transform:scale(1.05)}.card-content{flex-direction:column;flex-grow:1;padding:1.5rem;display:flex}.card-header{justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;display:flex}.card-title{color:var(--accent);margin-bottom:.25rem;font-size:1.25rem;font-weight:700}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:9999px;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-top{color:var(--priority-top);background-color:#22c55e1a}.badge-average{color:var(--priority-average);background-color:#f59e0b1a}.badge-low{color:var(--priority-low);background-color:#3b82f61a}.card-desc{color:var(--text-secondary);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:auto;font-size:.875rem;line-height:1.6;display:-webkit-box;overflow:hidden}.form-group{margin-bottom:1.5rem}.form-label{color:var(--text-primary);margin-bottom:.5rem;font-weight:600;display:block}.file-drop-area{border:2px dashed var(--border);border-radius:var(--radius-lg);text-align:center;background-color:var(--bg-primary);cursor:pointer;padding:3rem 2rem;transition:all .2s}.file-drop-area:hover,.file-drop-area.active{border-color:var(--accent);background-color:var(--accent-light)}@media (width<=768px){.container,.header{padding:1rem}.grid{grid-template-columns:1fr}.fab{bottom:1.5rem;right:1.5rem}}.icon-button{cursor:pointer;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;min-width:40px;min-height:40px;padding:.5rem;transition:all .2s;display:flex}.icon-button:hover{background:var(--bg-primary)}.popup{background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:100;min-width:250px;padding:1rem;animation:.2s ease-out forwards slideDown;position:absolute;top:calc(100% + .5rem)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.search-input-visible,.filter-select-visible{border:1px solid var(--border);border-radius:var(--radius-md);background-color:var(--bg-secondary);width:100%;color:var(--text-primary);padding:.75rem 1rem}.search-input-visible:focus,.filter-select-visible:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light);outline:none}
