@charset "UTF-8";@font-face{font-family:inter tight;src:url(/fonts/inter-tight.ttf)format("truetype");font-style:normal;font-display:swap}*{margin:0;padding:0;box-sizing:border-box;font-family:inter tight,sans-serif}body{font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,sans-serif;line-height:1.6;color:#333;background-color:#fff}.container{max-width:1400px;margin:0 auto;padding:16px}header nav{display:flex;align-items:center;justify-content:space-between;padding:16px}header nav a{text-decoration:none;color:#000}header nav a:hover,header nav a:visited,header nav a:active,header nav a:focus{color:#000;text-decoration:none}header nav .branding{display:flex;align-items:center;gap:12px}header nav .branding img{width:70px}header nav .branding span{font-size:16px;font-weight:600;color:#000}h1,h2,h3{margin-bottom:16px;font-weight:600}h2{font-size:18px;margin-bottom:0}p{font-size:14px;margin-bottom:24px}a{text-decoration:none}a:visited{color:unset}strong{font-weight:500}#project-overview .overview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.project-card{padding:24px;margin-bottom:16px;cursor:pointer;border:2px solid;border-color:#e9ecef;border-radius:12px;transition:all ease .3s}.project-card h2{margin-bottom:6px}.project-card:hover{border-color:#57cc99;background-color:rgba(87,204,153,.2)}.project-card .project-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:16px}.project-card .project-meta{margin-top:8px;color:#6c757d;font-size:14px}.refresh-container{display:flex;align-items:center;gap:8px}.refresh-button{border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s ease;background:#57cc99;color:#fff;padding:10px 16px;border-radius:10px;font-size:14px;font-weight:500;transition:all .2s ease}.refresh-button:hover{background:#38b880}.refresh-button:disabled{background:#6c757d;cursor:not-allowed;opacity:.7}.table-container{background:#fff;overflow:hidden}.table-container table{width:100%;border-collapse:collapse;border-spacing:0;background:0 0}.table-container table th,.table-container table td{padding:12px;text-align:left;white-space:nowrap;border:none;background:0 0}.table-container table td:first-child,.table-container table th:first-child{min-width:200px}.table-container table th{font-weight:500;background:0 0;font-size:12px;text-transform:uppercase;color:#6c757d;position:relative}.table-container table th.sortable{cursor:pointer}.table-container table th.sortable:hover{color:#494f54}.table-container table th .header-emoji{font-size:18px;margin-right:8px;vertical-align:middle}.table-container table th .header-text{display:inline-block;vertical-align:middle}.table-container table .sort-indicator{display:inline-block;margin-left:5px;vertical-align:middle;font-size:12px;color:#57cc99}.table-container table tr{border-bottom:2px solid #e9ecef}.table-container table tr.clickable{cursor:pointer}.table-container table tr.clickable:hover{background-color:rgba(0,0,0,2%)}.table-container table tr.missing-data{background-color:#fff3cd}.language-tags,.app-tags{display:flex;flex-wrap:wrap;gap:4px}.language-tag{padding:2px 8px;border-radius:50px;font-size:11px;display:inline-block;background:#e9ecef;text-transform:uppercase}.app-tag{padding:2px 8px;border-radius:50px;font-size:11px;display:inline-block;background:#007bff;color:#fff}.param-tag{padding:2px 8px;border-radius:50px;font-size:11px;display:inline-block;margin-right:4px;margin-bottom:2px;background:#28a745;color:#fff}.param-tag.size-small{background-color:rgba(252,142,162,.2);color:#fc8ea2}.param-tag.size-large{background-color:rgba(55,119,255,.2);color:#3777ff}.param-tag.type-app{background-color:rgba(142,91,167,.2);color:#8e5ba7}.param-tag.type-web{background-color:rgba(42,157,143,.2);color:#2a9d8f}.missing-tag{padding:2px 8px;border-radius:50px;font-size:11px;display:inline-block;background:#f5275b;color:#fff;margin-right:4px;margin-bottom:2px}.app-icon{vertical-align:middle;border-radius:4px}.app-icon.size-small{width:21px;height:21px;margin-right:2px}.app-icon.size-large{width:37px;height:37px;border-radius:6px}.app-display{display:flex;align-items:center;gap:8px}.app-display .app-name{font-size:14px;font-weight:500;text-transform:capitalize}.article-link{display:inline-block;padding:8px 16px;background:#e9ecef;color:#000;border-radius:10px;text-decoration:none;font-size:14px;box-sizing:border-box;min-width:100px;height:33px;line-height:17px}.article-link:hover,.article-link:active,.article-link:focus{background:#e9ecef;color:#000;text-decoration:none;cursor:pointer}.article-link:visited{color:#000;background:#e9ecef;text-decoration:none}.back-button{border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s ease;background:#e9ecef;padding:8px 16px;margin-bottom:16px;border-radius:10px;font-size:14px;position:relative;overflow:hidden;box-sizing:border-box}.back-button::before{content:"←";position:absolute;left:-20px;top:50%;transform:translateY(-50%);transition:left .4s cubic-bezier(.175,.885,.32,1.275);font-size:16px}.back-button:hover,.back-button:active{padding-left:28px}.back-button:hover::before,.back-button:active::before{left:8px}.clear-filters-btn{border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s ease;padding:8px 16px;background:#e9ecef;border-radius:10px;font-size:14px;position:relative;overflow:hidden;box-sizing:border-box;min-width:100px}.clear-filters-btn::before{content:"×";position:absolute;left:-20px;top:50%;transform:translateY(-50%);transition:left .4s cubic-bezier(.175,.885,.32,1.275);font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;height:16px}.clear-filters-btn:hover,.clear-filters-btn:active{padding-left:28px}.clear-filters-btn:hover::before,.clear-filters-btn:active::before{left:8px}.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:16px;justify-content:space-between}.filters .filters-left{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.filters .dropdown{position:relative;display:inline-block;margin-right:8px}.filters .dropdown-btn{border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s ease;background:#fff;border:1px solid #ddd;padding:8px 16px;min-width:120px;text-align:left;border-radius:10px;position:relative;--arrow-display:block}.filters .dropdown-btn:hover{background:#fefefe}.filters .dropdown-btn::after{content:"↓";position:absolute;right:16px;top:50%;transform:translateY(-50%);display:var(--arrow-display,block)}.filters .dropdown-count{background:rgba(87,204,153,.2);color:#57cc99;padding:0;border-radius:10px;font-size:11px;position:absolute;right:16px;top:50%;transform:translateY(-50%);z-index:2;width:18px;height:18px;display:flex;align-items:center;justify-content:center}.filters .dropdown-content{display:none;position:absolute;background:#fff;min-width:200px;box-shadow:0 8px 16px rgba(0,0,0,.2);border:1px solid #ddd;border-radius:10px;z-index:1000;max-height:200px;overflow-y:auto;top:calc(100% + 8px);left:0}.filters .dropdown-content.show{display:block}.filters .dropdown-item{display:block;padding:8px 12px;cursor:pointer;border-bottom:1px solid #f0f0f0;font-size:14px}.filters .dropdown-item:hover{background:#fefefe}.filters .dropdown-item:last-child{border-bottom:none}.filters .dropdown-item input[type=checkbox]{margin-right:8px}.filters .dropdown-item input[type=checkbox]:checked{accent-color:#57CC99}.search-container{position:relative;min-width:200px;max-width:300px}.search-container .search-input{width:100%;padding:8px 12px;padding-right:30px;border:1px solid #ddd;border-radius:10px;font-size:14px}.search-container .search-input:focus{outline:none;border-color:#57cc99;box-shadow:0 0 0 2px rgba(87,204,153,.2)}.search-container .search-icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#6c757d;pointer-events:none}.file-path{font-size:13px;background:#fefefe;padding:2px 4px;border-radius:3px;font-family:monaco,menlo,ubuntu mono,monospace}.loading-container{text-align:center;padding:32px}.loading-container p{margin-top:16px}.loading-spinner{display:inline-block;width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #007bff;border-radius:50%;animation:spin 1s linear infinite}.notification{position:fixed;bottom:20px;right:20px;padding:15px 20px;border-radius:8px;box-shadow:0 4px 8px rgba(0,0,0,.15);display:flex;align-items:center;justify-content:space-between;max-width:400px;z-index:1000;animation:slideIn .3s ease-out}.notification.info{background-color:#e3f2fd;border-left:4px solid #2196f3}.notification.success{background-color:#e8f5e9;border-left:4px solid #4caf50}.notification.warning{background-color:#fff8e1;border-left:4px solid #ff9800}.notification.error{background-color:#ffebee;border-left:4px solid #f44336}.notification .close-btn{background:0 0;border:none;font-size:20px;cursor:pointer;margin-left:10px;color:#666}.notification .close-btn:hover{color:#333}@keyframes slideIn{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.hidden{display:none}.text-muted{color:#6c757d}.text-small{font-size:14px}.login-container{display:flex;justify-content:center;align-items:center;min-height:60vh;padding:32px}.login-form{background:#fff;padding:32px;border-radius:12px;box-shadow:0 4px 8px rgba(0,0,0,.15);width:100%;max-width:400px;text-align:center}.login-form h2{margin-bottom:8px;color:#333}.login-form p{margin-bottom:24px;color:#6c757d}.login-form .form-group{margin-bottom:16px;text-align:left}.login-form .form-group label{display:block;margin-bottom:4px;font-weight:500;color:#333}.login-form .form-group input{width:100%;padding:12px;border:1px solid #e9ecef;border-radius:8px;font-size:14px;transition:border-color .2s ease}.login-form .form-group input:focus{outline:none;border-color:#57cc99;box-shadow:0 0 0 2px rgba(87,204,153,.2)}.login-form .login-button{border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s ease;width:100%;padding:12px;background:#57cc99;color:#fff;font-weight:500;border-radius:8px;margin-bottom:16px}.login-form .login-button:hover:not(:disabled){background:#38b880}.login-form .login-button:disabled{background:#6c757d;cursor:not-allowed;opacity:.7}.login-form .error-message{background:#ffebee;color:#c62828;padding:8px;border-radius:4px;font-size:14px;border-left:4px solid #f44336}.overview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.overview-header .header-left{display:flex;align-items:center;gap:16px}.overview-header .header-left .user-info{font-size:14px;color:#6c757d}.overview-header .header-right{display:flex;align-items:center;gap:8px}.logout-button{border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s ease;background:#e9ecef;color:#333;padding:8px 16px;border-radius:8px;font-size:14px}.logout-button:hover{background:#cbd3da}@media(max-width:768px){.container{padding:10px}.login-container{padding:16px;min-height:50vh}.login-form{padding:24px}#project-overview .overview-header{flex-direction:column;align-items:flex-start;gap:16px}#project-overview .overview-header .header-left{flex-direction:column;align-items:flex-start;gap:4px}#project-overview .overview-header .header-right{width:100%;justify-content:space-between}#project-overview .overview-header .refresh-container{flex:1}#project-overview .overview-header .refresh-container .refresh-button{width:100%}.project-card .project-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.filters{flex-direction:column;align-items:stretch}.filters .dropdown{margin-right:0;margin-bottom:8px}.filters .dropdown-btn{width:100%}.table-container table{font-size:13px}.table-container table th,.table-container table td{padding:8px}.notification{left:20px;right:20px;max-width:calc(100% - 40px)}}