:root{--bg:#0f172a;--card:#111827;--muted:#94a3b8;--text:#e5e7eb;--accent:#22c55e;--accent2:#60a5fa;--danger:#ef4444;--warn:#f59e0b;--input:#1f2937;--border:#334155}
*{box-sizing:border-box}

:root{--bg-color:#f5f7fa;--text-color:#2d3748;--border-color:#e2e8f0;--header-bg:#2d3748;--card-bg:#fff;--card-empty-bg:#EFF4F9;--hover-bg:#edf2f7;--btn-primary:#4299e1;--btn-secondary:#718096;--btn-danger:#e53e3e;--input-bg:#fff;--input-border:#e2e8f0;--muted-color:#718096;--accent-color:#4299e1;--sprite-url: url('/img/sprite-light.png');--toggle-bg:#edf2f7;--toggle-bg-active:#718096;--toggle-color:#D7DCE2;--toggle-color-active:#edf2f7;--tag-bg:#e5e7eb;--tag-color:#0f172a;--tag-quality-bg:#B7D1E3;--tag-frame_resolution-bg:#B7D1E3;--tag-codecs-bg:#B7E7D1;--tag-genre-bg:#E2E0F9;--tr-bg:#EFF4F9;--tr-hover-bg:#E8EDF2;--item_budget-bg:#FFF3B3;--item_slogan-bg:#F0D8FA;--placeholder-color:#99A3B2}

[data-theme="dark"]{--bg-color:#1a202c;--text-color:#e2e8f0;--border-color:#4a5568;--header-bg:#2d3748;--card-bg:#2d3748;--card-empty-bg:#465060;--hover-bg:#4a5568;--btn-primary:#63b3ed;--btn-secondary:#a0aec0;--btn-danger:#fc8181;--input-bg:#4a5568;--input-border:#718096;--muted-color:#a0aec0;--accent-color:#63b3ed;--sprite-url: url('/img/sprite-dark.png');--toggle-bg:#4a5568;--toggle-bg-active:#a0aec0;--toggle-color:#6A7689;--toggle-color-active:#e2e8f0;--tag-bg:#58647A;--tag-color:#C6CACE;--tag-quality-bg:#5883A1;--tag-frame_resolution-bg:#5883A1;--tag-codecs-bg:#5B7268;--tag-genre-bg:#575760;--tr-bg:#465060;--tr-hover-bg:#4A5566;--item_budget-bg:#C6A700;--item_slogan-bg:#37014E;--placeholder-color:#A0AEC0}

body{background-color:var(--bg-color);color:var(--text-color);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;margin:0;padding:0;transition:background-color 0.3s,color .3s}
.container{max-width:1472px;margin:0 auto;padding:1rem}

.tag{padding:.1rem .4rem;border:1px solid var(--border);border-radius:6px;font-size:.75rem;background-color:var(--hover-bg);color:var(--text-color);}

.badge{padding:.15rem .5rem;border-radius:999px;font-size:.75rem;border:1px solid var(--border);color:var(--muted)}
.inline{display:inline-flex;gap:.5rem;align-items:center}

.header{background-color:var(--header-bg);color:#fff;padding:10px 15px;border-radius:8px;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 4px rgba(0,0,0,0.1)}
.brand{font-size:1.4em;font-weight:600;background:url('/img/film-slate.png') left center no-repeat;padding-left: 32px;}
.toolbar{background-color:var(--card-bg);padding:10px 15px;border-radius:8px;margin-bottom:10px;box-shadow:0 1px 3px rgba(0,0,0,0.1);display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:space-between}

.filters{display:flex;flex-wrap:wrap;gap:.5rem;}
.filters_field{display:flex;flex-direction:column;}
.filters_field label{font-size:.8em;margin-bottom:4px;color:var(--muted-color)}
.sorting{display:inline-flex;gap:.5rem;align-items:center}
.input{padding:6px 10px;border:1px solid var(--input-border);border-radius:4px;background-color:var(--input-bg);color:var(--text-color);font-size:.9em}
.select{padding:6px 10px;border:1px solid var(--input-border);border-radius:4px;background-color:var(--input-bg);color:var(--text-color);font-size:.8em}
.btn{height:32px;padding:7px 14px;border:none;border-radius:4px;cursor:pointer;font-size:.9em;transition:background-color 0.2s,transform .1s}
.btn:hover{opacity:.9}
.btn:active{transform:scale(0.98)}
.btn{background-color:var(--btn-primary);color:#fff}
.btn.secondary{background-color:var(--btn-secondary);color:#fff}
.btn.danger{background-color:var(--btn-danger);color:#fff}
.btn.outline{background-color:transparent;border:1px solid var(--btn-primary);color:var(--btn-primary)}

.apply_filters,.reset_filters{padding: 8px;width: 32px;position:relative}
.apply_filters {margin-left: auto;}
.apply_filters:before,.reset_filters:before{position:absolute;content:'';left:8px;top:8px;width:16px;height:16px;background:var(--sprite-url) -208px 0 no-repeat}
.reset_filters:before{background-position:-224px 0}
.filters .input::placeholder {color: var(--placeholder-color);font-size:.8em}
.filters .input {font-size:.9em}
.theme-toggle{margin:0 .4rem 0 auto}
.toggle_theme{border:1px solid #ccc;padding:5px;background-color:var(--bg-color);color:var(--text-color);stroke:var(--text-color)}

.movie_items {margin: 15px 0;}

.table{table-layout:fixed;width:100%;border-collapse:collapse;background-color:var(--card-bg);border-radius:8px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,0.1);margin:0}
.table tr:nth-child(even){background-color:var(--tr-bg)}
.table tr:hover{background-color:var(--tr-hover-bg)}

.table th,.table td{padding:4px 8px;border-bottom:1px solid var(--border-color);font-size:.9em;font-size:.85em;letter-spacing:-.6px;text-align:center}
.table th{border-bottom:none;padding:8px;background-color:var(--header-bg);color:#fff;font-weight:600}

th.sortable{cursor:pointer;user-select:none;position:relative;}
th.sortable:after{content:'';position:absolute;opacity:.3;width:8px;height:16px;background:var(--sprite-url) -240px 0 no-repeat;margin:auto;margin-left:3px;top:2px;bottom:0}
th.sortable.sort-asc:after{opacity:0.75;background-position:-256px 0}
th.sortable.sort-desc:after{opacity:0.75;background-position:-248px 0}
th.sortable.sort-asc,th.sortable.sort-desc{background-color:#4a5568}
th.sortable:hover{background-color:#4a5568}

.table th.item_file_name,.table td.item_file_name{width:25%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}
.table td.item_file_name{font-size:11px}
.table td.item_file_name button{background:none;color:var(--text-color);max-width:100%;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;padding:0;border:0;cursor:pointer;border-bottom:1px dashed;font-size:11px}
.table th.eng_name,.table td.eng_name{width:20%;text-align:left}
.table th.rus_name,.table td.rus_name{width:20%;text-align:left}
.table th.item_year,.table td.item_year{width:4%}
.table th.movie_info,.table td.movie_info{width:10%}
.table td.movie_info span{margin:1px;background:var(--tag-bg);color:var(--tag-color);padding:0 2px;border-radius:3px;display:inline-block;font-size:12px;letter-spacing:-1px}
.table td.movie_info .quality{background:var(--tag-quality-bg)}
.table td.movie_info .frame_resolution{background:var(--tag-frame_resolution-bg)}
.table td.movie_info .codecs{background:var(--tag-codecs-bg)}
.table td.movie_info .genres span{background:var(--tag-genre-bg)}
.table th.hdd_name,.table td.hdd_name{width:4%}
.table td.hdd_name span{padding:1px 4px;border-radius:3px;display:inline-block;font-size:12px;border:1px solid var(--muted)}
.table th.item_size,.table td.item_size{width:3%}
.table td.item_size{font-size:12px}
.table th.item_director,.table td.item_director{width:8%}
.table th.count_files,.table td.count_files{width:4%;font-size:11px}
.table .count_files svg{display:inline-block;vertical-align:middle}
.table .count_files span{display:inline-block;background:var(--tag-bg);color:var(--tag-color);padding:1px 4px;line-height:1;border-radius:4px}
.table .count_files span + span{display:inline-block;background:#eee;padding:1px 4px;line-height:1;border-radius:4px}
.table th.item_details,.table td.item_details{width:10%}
.table th.delete_item,.table td.delete_item{font-size: 0.75em;width:3%;text-align:center}
.table .item_details button.suggest_meta{color:var(--text-color);max-width:100%;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;padding:0;border:0;cursor:pointer;border-bottom:1px dashed;background:no-repeat;font-size:11px}
.table .item_details small{color:var(--muted-color);font-size:11px;display:inline-block}
.table .delete_item button{width:18px;height:18px;padding:0;border-radius:50%}
.pagination{background-color:var(--card-bg);padding:12px 15px;border-radius:8px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 1px 3px rgba(0,0,0,0.1)}
.page-controls{display:flex;gap:8px}
.page-btn{padding:6px 12px;border:1px solid var(--input-border);background-color:var(--input-bg);color:var(--text-color);cursor:pointer;border-radius:4px}
.page-btn:disabled{opacity:.5;cursor:not-allowed}
.page-num{padding:6px 8px;border:1px solid var(--border);border-radius:6px;font-size:.75rem;background-color:var(--input-bg);color:var(--text-color)}
.muted{color:var(--muted-color)}


.alert{padding:10px 15px;border-radius:4px;margin:10px 0;font-size:.9em}
.alert.success{background-color:#c6f6d5;color:#2f855a;border:1px solid #9ae6b4}
.alert.error{background-color:#fed7d7;color:#c53030;border:1px solid #feb2b2}
.modal-backdrop{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,0.6);justify-content:center;align-items:center;z-index:1000}
.modal-content{background-color:var(--card-bg);padding:20px;border-radius:8px;max-width:1140px;max-height:90%;overflow-y:auto;width:90%;box-shadow:0 10px 25px rgba(0,0,0,0.2)}
.form_head{display:flex;justify-content:space-between; margin-bottom:.5rem;}
.form_title {font-weight: 700;font-size: 18px;}
.modal-content .input_text {width: 100%;}


.form-grid {display: flex;flex-wrap: wrap;margin-bottom: 5px;}
.form-grid > div {width: 19%;margin-right: 1%;margin-bottom: 15px;}

.form-grid > div.modal_item_file_name, .form-grid > div.modal_eng_name, .form-grid > div.modal_rus_name{width: 32%;}
.form-grid > div.modal_item_file_name_old, .form-grid > div.modal_item_slogan, .form-grid > div.modal_item_director{width: 32%;}

.form-grid > div.modal_poster_url {width: 39%;}
.form-grid > div.modal_plot {width: 59%;}
.form-grid > div.modal_poster {width: 39%;}

.form-grid label{font-size:.85rem;color:var(--muted);margin-bottom:.25rem;display:block}
.form-grid textarea{width: 100%;min-height:90px;resize:vertical}
.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:15px;margin-top:10px}
.letter-row{border:1px solid var(--border-color);padding:12px;border-radius:6px;background-color:var(--hover-bg)}
.bar{height:10px;border-radius:5px;margin-top:4px}
.posters_items {margin: 15px 0;}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.card{border:1px solid var(--border-color);border-radius:8px;overflow:hidden;background-color:var(--card-bg);box-shadow:0 2px 4px rgba(0,0,0,0.1);transition:transform 0.2s,box-shadow .2s}
.card:hover{transform:translateY(-3px);box-shadow:0 6px 12px rgba(0,0,0,0.15)}

.card_img{position:relative}
.item_status{display:inline-block;padding:4px 8px 4px 22px;font-size:12px;line-height:1;text-align:center;white-space:nowrap;border-radius:24px;position:absolute;top:10px;z-index:999;left:5px}

.status_watched{background-color:#dcfce7;color:#166534}
.status_planned{background-color:#fef9c3;color:#854d0e}
.status_favorite{background-color:#fee2e2;color:#991b1b}
.status_empty{background-color:#6c757d;color:#fff}

.status_watched:before,.status_planned:before,.status_favorite:before,.item_rating:before{position:absolute;content:'';left:4px;top:0;width:16px;height:16px;bottom:0;margin:auto;background:var(--sprite-url) -64px 0 no-repeat}
.status_planned:before {background-position:-80px 0;}
.status_favorite:before {background-position:-112px 0;}

.card .item_rating{display:inline-block;padding:4px 8px 4px 22px;font-size:12px;line-height:1;text-align:center;white-space:nowrap;border-radius:24px;position:absolute;top:10px;z-index:999;right:5px;background:rgba(0,0,0,0.7);color:#fff;font-weight:700}
.card .item_rating:before {background-position:-160px 0;}

.thumb{width:100%;height:320px;object-fit:cover;display:block}
.thumb_empty{background:var(--card-empty-bg) url('/img/thumb_empty.png') center center no-repeat;display: flex;align-items: center;justify-content: center;}
.thumb_empty img{opacity:.75}
.card_body{padding:10px}
.card_title{font-size:16px;font-weight:700;margin-bottom:8px}
.card_title button{cursor:pointer;color:var(--text-color);background:none;border:none;padding:0;display:inline-block;vertical-align:top;font-size:inherit;font-weight:inherit;text-align:left}
.card_title span{display:block;font-size:14px}
.meta_time{margin-bottom:12px;font-size:14px;color:var(--muted-color);display:flex;align-items:center;gap:16px}

.card .item_year,.card .item_time,.card .item_size,.card .item_frame_format{position:relative;padding-left:18px}
.card .item_year,.card .item_time,.card .item_frame_format{letter-spacing: -1px}
.card .item_year:before,.card .item_time:before,.card .item_size:before,.card .item_frame_format:before{position:absolute;content:'';left:0;top:0;width:16px;height:16px;bottom:0;margin:auto;background:var(--sprite-url) 0 0 no-repeat;opacity:.75}
.card .item_time:before{background-position:-16px 0}
.card .item_size,.card .item_frame_format{display:flex;align-items:center}
.card .item_size:before{background-position:-32px 0}
.card .item_frame_format:before{background-position:-48px 0}

.meta_genres{display:flex;flex-wrap:wrap;gap:6px;font-size:12px;color:var(--muted-color);margin-bottom:8px}
.meta_genres span{background-color:var(--hover-bg);padding:.15rem .5rem;border-radius:999px}
.meta_main{font-size:14px;color:var(--text-color);margin-bottom:8px}
.card .item_director{display:block;margin-bottom:4px}
.card .item_country{display:block}

.card .item_budget {
	background: var(--item_budget-bg);
	padding: 0 2px;
	font-size: 11px;
}
.card .item_slogan_box{display:block}
.card .item_slogan {
	background: var(--item_slogan-bg);
	padding: 0 2px;
	font-size: 11px;
}

.meta_main em{font-style:normal;font-weight:700}
.meta_bottom{display:flex;gap:16px;font-size:12px;border-top:1px solid var(--input-border);padding:10px 0 5px}
.meta_footer{display:flex;gap:6px;font-size:12px;color:var(--muted-color);padding:5px 0}
.meta_footer span{background:var(--tag-bg);color:var(--tag-color);padding:.1rem .5rem;border-radius:999px;letter-spacing:-0.5px}

.meta_footer .item_quality{background:var(--tag-quality-bg)}
.meta_footer .item_frame_resolution{background:var(--tag-frame_resolution-bg)}
.meta_footer .item_codecs{background:var(--tag-codecs-bg)}


.actions{display:flex;gap:6px}
.view-toggle{position:relative;padding:7px;background-color:var(--toggle-bg);color:var(--toggle-color);height:31px;width:31px}
.view-toggle:before{content:'';display:block;width:10px;height:10px;color:currentColor;position:absolute;left:9px;top:9px}

.view-toggle.view-table::before{top:10px;width:13px;height:2px;background:currentColor;box-shadow:0 5px 0 currentColor,0 10px 0 currentColor}
.view-toggle.view-grid:before{width:3px;height:3px;background:currentColor;box-shadow:5px 0 0 currentColor,10px 0 0 currentColor,0 5px 0 currentColor,5px 5px 0 currentColor,10px 5px 0 currentColor,0 10px 0 currentColor,5px 10px 0 currentColor,10px 10px 0 currentColor}
.view-toggle.active{background:var(--toggle-bg-active);color:var(--toggle-color-active)}

@media (max-width: 768px) {
body{padding:10px;font-size:14px}
.header{flex-direction:column;gap:10px;padding:10px}
.toolbar{flex-direction:column;align-items:stretch;padding:10px}
.filters{flex-direction:column}
.apply_filters {
	margin-left: 0;
}
.filters_field{min-width:auto}
.sorting{flex-direction:column}
.table{font-size:.85em}
.table th,.table td{padding:4px}
.pagination{flex-direction:column;gap:10px;align-items:center}
.page-controls{order:-1;margin-bottom:10px}
.cards{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}
.thumb{height:210px}
.card_body{padding:6px}
.card_title{font-size:.85em}
.meta_genres{font-size:.75em;gap:4px}
.meta_genres span{padding:1px 4px}
.form-grid > div {width:100%;margin-right:0}
.form-grid > div.modal_item_file_name, .form-grid > div.modal_eng_name, .form-grid > div.modal_rus_name{width: 100%;}
.form-grid > div.modal_item_file_name_old, .form-grid > div.modal_item_slogan, .form-grid > div.modal_item_director{width: 100%;}
.form-grid > div.modal_poster_url {width: 100%;}
.form-grid > div.modal_plot {width: 100%;}
.form-grid > div.modal_poster {width: 100%;}
.stats-grid{grid-template-columns:1fr}
.inline{flex-wrap:wrap;gap:8px;justify-content: center;}
.btn{padding:6px 10px;font-size:.85em}
}

.admin_buttons .btn{border: 1px solid var(--btn-primary);padding:6px 10px;font-size:.85em}
.auth-form{display:flex;gap:8px;align-items:center}
.auth-form .input{width:auto;min-width:100px;padding:6px 8px;font-size:.85em}
.auth-form .btn{border: 1px solid var(--btn-secondary);padding:6px 10px;font-size:.85em}
.auth-form .tag{font-size:.85em;padding:4px 8px}
.auth-dropdown{margin-left: 0.4rem;position:relative;display:inline-block}
.auth-dropdown-content{display:none;position:absolute;right:0;background-color:var(--card-bg);min-width:200px;box-shadow:0 8px 16px rgba(0,0,0,0.2);z-index:1;padding:10px;border-radius:4px;top:100%}
.auth-dropdown:hover .auth-dropdown-content{display:block}

.loading_box {
	display: none;
	color: #007bff;
	text-align: center;
	padding: 20px;
	background: #eee;
}
.all_movies{display:none;font-size: 11px;}
.all_movies table{
            border-collapse: collapse;
            width: 100%;
            max-width: 100%;
            overflow-x: auto;
            display: block;
        }
        .all_movies th, .all_movies td {
            border: 1px solid #ccc;
            padding: 2px 4px;
            text-align: left;
            white-space: nowrap;letter-spacing: -1px;
        }
        .all_movies th {
            background-color: #f2f2f2;
        }
        .all_movies tr.incomplete {
            background-color: #f9f9f9;
        }
        .all_movies td.null-value {
            background-color: #ffebee;
        }
		
.td-hidden {
font-size: 0;
}