:root{--bg:#0e1116;--panel:#151a21;--panel2:#1b212a;--panel3:#222a35;--border:#2b3441;--text:#eef2f7;--muted:#98a5b5;--accent:#5e8df5;--accent2:#7aa2ff;--danger:#e15d68;--ok:#4abb83;--sidebar:292px;--tile:190px;--radius:12px}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:"Segoe UI",Inter,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:14px}button,input,select{font:inherit}button{color:inherit}.hidden{display:none!important}.mobile-only{display:none!important}
/* login */.login-body{background:radial-gradient(circle at 25% 10%,#24345b 0,#121722 32%,#0b0e13 70%);display:grid;place-items:center}.login-shell{width:100%;padding:24px}.login-card{width:min(420px,100%);margin:auto;background:#161b23;border:1px solid #2b3441;border-radius:20px;padding:36px;box-shadow:0 30px 90px #0009}.brand-mark{width:56px;height:56px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,#6a94f7,#3b65c9);color:#fff;font-size:28px;font-weight:800;box-shadow:0 8px 30px #3967d455}.brand-mark.small{width:38px;height:38px;border-radius:10px;font-size:20px;flex:0 0 auto}.login-card h1{margin:18px 0 4px;font-size:28px}.login-card>p{margin:0 0 24px;color:var(--muted)}label{display:block;margin:14px 0 7px;color:#c4ccd8;font-size:13px}.login-card input,.form-control{width:100%;background:#0e1218;border:1px solid #343e4c;color:#fff;border-radius:10px;padding:12px 13px;outline:none}.login-card input:focus,.form-control:focus{border-color:var(--accent);box-shadow:0 0 0 3px #5e8df522}.primary{border:0;background:var(--accent);color:#fff;border-radius:10px;padding:11px 16px;font-weight:650;cursor:pointer}.wide{width:100%;margin-top:22px}.login-foot{text-align:center;color:#708094;margin-top:24px;font-size:12px}.alert{padding:11px 12px;border-radius:9px;margin:14px 0}.alert.danger{background:#472329;border:1px solid #8d3f49;color:#ffdce0}.alert.ok{background:#183b2c;border:1px solid #286c50;color:#d9ffea}
/* shell */.app-body{overflow:hidden}.app-shell{height:100vh;display:flex}.sidebar{width:var(--sidebar);height:100vh;background:#12171e;border-right:1px solid #272f3a;display:flex;flex-direction:column;flex:0 0 auto}.sidebar-head{height:72px;display:flex;align-items:center;gap:11px;padding:0 17px;border-bottom:1px solid #252d37}.sidebar-head>div:nth-child(2){min-width:0}.sidebar-head strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:15px}.sidebar-head small{display:block;color:var(--muted);margin-top:2px}.nav-section{padding:12px 9px 5px}.nav-item{width:100%;display:flex;align-items:center;gap:11px;border:0;background:transparent;padding:10px 11px;border-radius:8px;cursor:pointer;text-align:left;color:#d8dee7}.nav-item:hover{background:#1c232c}.nav-item.active{background:#263142;color:#fff}.nav-ico{font-size:17px;width:22px;text-align:center;color:#c3ccda}.sidebar-label{display:flex;align-items:center;justify-content:space-between;padding:14px 17px 8px;color:#7f8da0;text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.08em}.tiny-btn,.icon-btn{border:0;background:transparent;color:#c5ceda;cursor:pointer;border-radius:8px;display:inline-grid;place-items:center}.tiny-btn{font-size:20px;width:25px;height:25px}.tiny-btn:hover,.icon-btn:hover{background:#28313d;color:#fff}.icon-btn{width:34px;height:34px;font-size:18px}.icon-btn.big{width:42px;height:42px;font-size:26px}.folder-tree{overflow:auto;min-height:80px;padding:0 8px 10px;flex:1}.tree-loading{color:#77869a;padding:12px}.tree-row{display:flex;align-items:center;height:34px;border-radius:7px;cursor:pointer;color:#d5dce6;position:relative;padding-right:4px}.tree-row:hover{background:#1c232c}.tree-row.active{background:#273349;color:#fff}.tree-toggle{width:22px;text-align:center;color:#8290a2;flex:0 0 auto}.tree-toggle.empty{opacity:.25}.tree-icon{width:24px;text-align:center}.tree-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.tree-count{font-size:11px;color:#78879a;margin-left:6px}.tree-more{opacity:0;width:26px;height:26px;border:0;background:transparent;color:#aeb8c7;border-radius:6px;cursor:pointer}.tree-row:hover .tree-more{opacity:1}.tree-more:hover{background:#344050}.sidebar-bottom{padding:7px 9px;border-top:1px solid #252d37}.profile{min-height:66px;padding:10px 12px;border-top:1px solid #252d37;display:flex;align-items:center;gap:10px}.avatar{width:38px;height:38px;border-radius:50%;background:#31405a;display:grid;place-items:center;font-weight:700}.profile-text{min-width:0;flex:1}.profile-text strong,.profile-text small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-text small{color:#8795a8;margin-top:3px;font-size:11px}
.workspace{min-width:0;flex:1;display:flex;flex-direction:column;background:#0f1319}.topbar{height:72px;border-bottom:1px solid #272f39;display:flex;align-items:center;gap:15px;padding:0 20px;background:#12171e}.search-wrap{height:40px;max-width:620px;min-width:220px;flex:1;display:flex;align-items:center;gap:9px;background:#1b212a;border:1px solid #2e3743;border-radius:9px;padding:0 12px}.search-wrap span{font-size:20px;color:#8e9bad}.search-wrap input{background:transparent;border:0;outline:0;color:#fff;width:100%;font-size:14px}.search-wrap input::placeholder{color:#7d8999}.toolbar{display:flex;align-items:center;gap:7px;margin-left:auto}.tool-btn,.small-btn{border:1px solid #303a47;background:#1b222c;color:#dfe5ee;border-radius:8px;cursor:pointer}.tool-btn{height:38px;padding:0 11px;display:flex;align-items:center;gap:7px}.tool-btn:hover,.small-btn:hover{background:#26303c}.tool-btn.primary-soft{background:#263959;border-color:#3b5686}.compact-select{height:38px;background:#1b222c;border:1px solid #303a47;color:#dfe5ee;border-radius:8px;padding:0 9px;outline:0}.content{overflow:auto;padding:24px 26px 50px;flex:1}.content-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px}.content-head h1{margin:0;font-size:25px;font-weight:650}.content-head p{margin:6px 0 0;color:var(--muted)}.view-actions{display:flex;gap:4px}.selection-bar{position:sticky;top:0;z-index:9;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 13px;background:#243149;border:1px solid #39547f;border-radius:10px;margin-bottom:16px;box-shadow:0 5px 20px #0005}.selection-bar>div{display:flex;gap:7px;flex-wrap:wrap}.small-btn{padding:7px 11px}.small-btn.danger{border-color:#75424a;color:#ffc0c6;background:#3a2328}.small-btn.danger:hover{background:#512a31}
/* gallery */.date-group{margin:0 0 26px}.date-title{font-size:14px;font-weight:650;color:#cdd5df;margin:0 0 10px}.gallery-subgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--tile),1fr));gap:8px;align-items:stretch}.media-card{position:relative;aspect-ratio:1/1;background:#202630;border-radius:5px;overflow:hidden;cursor:pointer;outline:1px solid transparent;transition:transform .08s,outline-color .08s}.media-card:hover{transform:translateY(-1px);outline-color:#586477}.media-card.selected{outline:3px solid var(--accent);outline-offset:-3px}.media-card img{width:100%;height:100%;object-fit:cover;display:block;background:#242c36}.media-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#0000 52%,#000a 100%);opacity:.8;pointer-events:none}.media-name{position:absolute;left:9px;right:45px;bottom:8px;color:#fff;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 3px #000}.media-check{position:absolute;top:8px;left:8px;width:22px;height:22px;border-radius:6px;background:#10151ccf;border:1px solid #8a98aa;display:none;place-items:center;font-weight:800}.selecting .media-check,.media-card.selected .media-check{display:grid}.media-card.selected .media-check{background:var(--accent);border-color:#fff}.media-fav{position:absolute;right:8px;top:8px;width:28px;height:28px;border:0;border-radius:8px;background:#0c1016b8;color:#fff;cursor:pointer;opacity:0;transition:.1s}.media-card:hover .media-fav,.media-fav.on{opacity:1}.media-fav.on{color:#ffd75f}.video-badge{position:absolute;left:8px;top:8px;background:#0c1016c7;border-radius:6px;padding:4px 7px;font-size:11px}.selecting .video-badge{left:38px}.empty-state{min-height:300px;display:grid;place-items:center;color:#8290a3;border:1px dashed #2a3441;border-radius:12px}.pager{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:28px;color:#9eabba}
/* upload */.drop-overlay{position:fixed;inset:0;background:#0b1017e8;z-index:90;display:grid;place-items:center;border:4px dashed #648df1}.drop-overlay>div{text-align:center}.drop-icon{font-size:64px;color:#7aa2ff}.drop-overlay h2{font-size:27px;margin:8px}.drop-overlay p{color:#a9b5c5}.upload-panel{position:fixed;right:18px;bottom:18px;width:390px;max-height:520px;background:#171d26;border:1px solid #344050;border-radius:13px;box-shadow:0 18px 60px #000a;z-index:80;overflow:hidden}.upload-head{height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 12px 0 15px;border-bottom:1px solid #2b3441}.upload-summary{display:flex;justify-content:space-between;padding:12px 15px 7px;color:#b9c4d2;font-size:12px}.progress{height:5px;margin:0 15px 10px;background:#29323e;border-radius:99px;overflow:hidden}.progress i{display:block;height:100%;width:0;background:#6692fa;transition:width .15s}.upload-list{max-height:340px;overflow:auto;padding:4px 10px 12px}.upload-row{display:grid;grid-template-columns:1fr auto;gap:8px;padding:8px;border-radius:7px}.upload-row:nth-child(odd){background:#1b222c}.upload-row .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-row .status{color:#8f9daf;font-size:12px}.upload-row.error .status{color:#ff8c96}.upload-row.done .status{color:#76d6a6}
/* viewer */.viewer{position:fixed;inset:0;background:#07090deF;z-index:100;display:flex;align-items:center;justify-content:center}.viewer-stage{width:calc(100% - 150px);height:calc(100% - 90px);display:flex;align-items:center;justify-content:center;position:relative}.viewer-stage img,.viewer-stage video{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 8px 60px #000}.viewer-close{position:absolute;right:20px;top:16px;width:44px;height:44px;border:0;border-radius:50%;background:#1f2630;color:white;font-size:29px;cursor:pointer;z-index:2}.viewer-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:72px;border:0;background:#171d25aa;color:#fff;font-size:48px;border-radius:9px;cursor:pointer;z-index:2}.viewer-nav.prev{left:17px}.viewer-nav.next{right:17px}.viewer-info{position:absolute;left:10px;bottom:3px;padding:8px 10px;background:#10151ccc;border-radius:8px;color:#d8e0ea;max-width:60%;font-size:12px}.viewer-tools{position:absolute;right:20px;bottom:18px;display:flex;gap:8px}.viewer-tools button{background:#1c242fdd;border:1px solid #394554;color:#fff;padding:9px 12px;border-radius:8px;cursor:pointer}
/* modal */.modal{position:fixed;inset:0;background:#07090dbd;z-index:120;display:grid;place-items:center;padding:20px}.modal-card{width:min(560px,100%);max-height:86vh;background:#171d25;border:1px solid #333e4b;border-radius:14px;box-shadow:0 25px 90px #000b;display:flex;flex-direction:column}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:15px 17px;border-bottom:1px solid #2b3440}.modal-head h3{margin:0;font-size:17px}.modal-body{padding:17px;overflow:auto}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 17px;border-top:1px solid #2b3440}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-check{display:flex;align-items:center;gap:8px;margin:9px 0}.form-check input{accent-color:var(--accent)}.folder-choice{max-height:350px;overflow:auto;border:1px solid #303a47;border-radius:9px;padding:7px}.folder-choice button{width:100%;text-align:left;border:0;background:transparent;color:#d8e1eb;padding:8px;border-radius:6px;cursor:pointer}.folder-choice button:hover,.folder-choice button.active{background:#28364d}.muted{color:var(--muted)}
/* admin */.admin-overlay{position:fixed;inset:0;background:#090c11f2;z-index:110;padding:25px}.admin-shell{height:100%;max-width:1250px;margin:auto;background:#12171e;border:1px solid #2f3946;border-radius:15px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 25px 80px #000}.admin-head{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid #2a333f}.admin-head h2{margin:0;font-size:23px}.admin-head p{margin:4px 0 0;color:#8d9aac}.admin-tabs{display:flex;gap:4px;padding:10px 14px;border-bottom:1px solid #2a333f;overflow:auto}.admin-tabs button{border:0;background:transparent;color:#aab5c4;padding:9px 13px;border-radius:8px;white-space:nowrap;cursor:pointer}.admin-tabs button:hover,.admin-tabs button.active{background:#263142;color:#fff}.admin-content{padding:20px;overflow:auto;flex:1}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.admin-toolbar h3{margin:0}.table-wrap{overflow:auto;border:1px solid #2d3743;border-radius:10px}table{width:100%;border-collapse:collapse;min-width:760px}th,td{text-align:left;padding:11px 12px;border-bottom:1px solid #2a333f;vertical-align:middle}th{background:#1b222c;color:#9eabba;font-size:12px;position:sticky;top:0}tr:hover td{background:#171e27}.status-pill{display:inline-block;padding:4px 7px;border-radius:99px;font-size:11px;background:#24303d;color:#c2ccd8}.status-pill.on{background:#183b2c;color:#83dfad}.action-btn{border:1px solid #36414e;background:#202832;color:#dce3ec;border-radius:7px;padding:5px 8px;cursor:pointer;margin-right:4px}.action-btn:hover{background:#2b3643}.permission-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.permission-group{border:1px solid #303a47;border-radius:10px;padding:12px}.permission-group h4{margin:0 0 9px}.permission-item{display:flex;gap:8px;align-items:flex-start;padding:5px 0;color:#cbd4df}.permission-item input{margin-top:3px;accent-color:var(--accent)}.folder-perm-table{display:grid;gap:5px}.fp-row{display:grid;grid-template-columns:minmax(220px,1fr) repeat(5,90px);gap:6px;align-items:center;padding:8px;border-bottom:1px solid #29323d}.fp-row.head{color:#8f9daf;font-size:12px;position:sticky;top:0;background:#12171e;z-index:2}.fp-row label{margin:0;text-align:center}.fp-row input{accent-color:var(--accent)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;max-width:800px}.settings-grid .full{grid-column:1/-1}.info-box{padding:12px;border-radius:9px;background:#1c2634;border:1px solid #30415a;color:#b9c8db}.log-detail{font-family:Consolas,monospace;font-size:11px;color:#8fa0b6;max-width:360px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.toast-host{position:fixed;right:18px;top:18px;z-index:200;display:grid;gap:8px}.toast{min-width:260px;max-width:420px;background:#202833;border:1px solid #3a4655;border-left:4px solid #6692fa;border-radius:9px;padding:11px 13px;box-shadow:0 10px 35px #0008;animation:toastin .16s ease}.toast.error{border-left-color:#e15d68}.toast.success{border-left-color:#4abb83}@keyframes toastin{from{transform:translateY(-7px);opacity:0}to{transform:none;opacity:1}}
@media(max-width:1050px){.tool-btn b{display:none}.sidebar{width:250px}.compact-select{max-width:100px}}
@media(max-width:800px){.mobile-only{display:grid!important}.sidebar{position:fixed;left:-270px;top:0;z-index:130;width:270px;transition:left .2s;box-shadow:15px 0 50px #000a}.sidebar.open{left:0}.topbar{padding:0 10px;height:auto;min-height:64px;flex-wrap:wrap;padding-top:9px;padding-bottom:9px}.search-wrap{order:2;min-width:100%;max-width:none}.toolbar{margin-left:auto}.content{padding:17px 12px 35px}.gallery-subgrid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));}.upload-panel{left:10px;right:10px;width:auto}.viewer-stage{width:100%;height:calc(100% - 120px)}.viewer-nav{width:40px;height:55px;font-size:36px}.admin-overlay{padding:0}.admin-shell{border-radius:0;border:0}.settings-grid{grid-template-columns:1fr}.settings-grid .full{grid-column:auto}.fp-row{grid-template-columns:minmax(170px,1fr) repeat(5,70px);min-width:600px}.folder-perm-table{overflow:auto}.form-row{grid-template-columns:1fr}}

/* v1.0.8 - yükleme paneli kontrolleri / MIME uyumluluk sürümü */
.upload-head-actions{display:flex;align-items:center;gap:4px}.upload-panel.minimized .upload-summary,.upload-panel.minimized .progress,.upload-panel.minimized .upload-list{display:none}.upload-panel.minimized{width:360px}.upload-panel.minimized .upload-head{border-bottom:0}.selection-bar #selectAll{font-weight:700}
