*{margin:0;padding:0;box-sizing:border-box}body{background:#0a0a0a;color:#f8f6f2;font-family:Inter,sans-serif}a{color:inherit;text-decoration:none}#loginView{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login-box{background:#141414;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:48px 40px;width:100%;max-width:420px}.login-box h1{font-family:Anton,sans-serif;font-size:2rem;text-align:center;margin-bottom:8px}.login-box h1 span{color:#00d4aa}.login-box p{text-align:center;color:#ffffff80;font-size:.9rem;margin-bottom:32px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:.8rem;color:#fff9;margin-bottom:6px;text-transform:uppercase;letter-spacing:1px}.form-group input,.form-group textarea,.form-group select{width:100%;padding:12px 14px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#f8f6f2;font-size:.95rem;font-family:Inter,sans-serif;transition:border .3s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#00d4aa}.form-group textarea{min-height:120px;resize:vertical}.form-group textarea.large{min-height:300px}.btn{display:inline-block;padding:10px 20px;border-radius:6px;border:none;font-size:.85rem;font-weight:600;cursor:pointer;text-decoration:none;transition:all .2s;font-family:Inter,sans-serif}.btn-primary{background:linear-gradient(135deg,#00d4aa,#00a888);color:#0a0a0a}.btn-primary:hover{box-shadow:0 4px 15px #00d4aa4d}.btn-secondary{background:#ffffff14;color:#f8f6f2;border:1px solid rgba(255,255,255,.15)}.btn-secondary:hover{background:#ffffff26}.btn-danger{background:#ff3b301a;color:#ff3b30;border:1px solid rgba(255,59,48,.3)}.btn-danger:hover{background:#ff3b3033}.btn-xs{padding:4px 10px;font-size:.75rem}.btn-block{width:100%}.error-msg{background:#ff3b301a;border:1px solid rgba(255,59,48,.3);color:#ff3b30;padding:12px;border-radius:8px;text-align:center;margin-bottom:20px;font-size:.9rem}.back-link{display:block;text-align:center;margin-top:20px;color:#fff6;font-size:.85rem}.back-link:hover{color:#00d4aa}#adminView,body.logged-in #loginView{display:none}body.logged-in #adminView{display:flex;min-height:100vh}.sidebar{width:260px;background:#101010;border-right:1px solid rgba(255,255,255,.06);padding:24px 0;position:fixed;top:0;left:0;bottom:0;overflow-y:auto;z-index:100}.sidebar-brand{font-family:Anton,sans-serif;font-size:1.3rem;text-align:center;padding:0 20px 24px;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:20px}.sidebar-brand span{color:#00d4aa}.sidebar-brand small{display:block;font-family:Inter,sans-serif;font-size:.7rem;color:#fff6;font-weight:400;letter-spacing:1px;text-transform:uppercase}.nav-group{margin-bottom:20px}.nav-group-title{font-size:.7rem;text-transform:uppercase;letter-spacing:1px;color:#ffffff59;padding:8px 24px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 24px;color:#ffffffb3;font-size:.9rem;cursor:pointer;transition:all .2s;border-left:3px solid transparent}.nav-item i{width:20px;text-align:center;font-size:.95rem}.nav-item:hover{background:#ffffff0a;color:#fff}.nav-item.active{background:#00d4aa14;border-left-color:#00d4aa;color:#00d4aa}.main{margin-left:260px;flex:1;padding:32px;min-height:100vh}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.topbar h1{font-family:Anton,sans-serif;font-size:1.8rem;text-transform:uppercase;letter-spacing:1px}.topbar h1 span{color:#00d4aa}.user-info{display:flex;align-items:center;gap:16px}.user-info .name{font-size:.9rem;color:#fff9}.logout-btn{background:#ff3b301a;color:#ff3b30;border:1px solid rgba(255,59,48,.3);padding:8px 16px;border-radius:6px;font-size:.85rem;cursor:pointer;transition:all .2s}.logout-btn:hover{background:#ff3b3033}.card{background:#141414;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:24px;margin-bottom:24px}.card h2{font-family:Anton,sans-serif;font-size:1.2rem;text-transform:uppercase;letter-spacing:1px;margin-bottom:20px;color:#00d4aa}.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.card-head h2{margin:0}table{width:100%;border-collapse:collapse}table th,table td{padding:14px 16px;text-align:left;border-bottom:1px solid rgba(255,255,255,.06);font-size:.9rem}table th{color:#ffffff80;font-size:.75rem;text-transform:uppercase;letter-spacing:1px}table tr:hover td{background:#ffffff05}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:24px}.stat-card{background:#141414;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:24px}.stat-card .stat-value{font-family:Anton,sans-serif;font-size:2.4rem;color:#00d4aa}.stat-card .stat-label{color:#ffffff80;font-size:.85rem;margin-top:6px}.stat-card .stat-icon{float:right;color:#00d4aa4d;font-size:2rem}.badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge-published{background:#00d4aa26;color:#00d4aa}.badge-draft{background:#ffffff1a;color:#fff9}.badge-unread{background:#007aff26;color:#007aff}.card-img-thumb{width:60px;height:40px;object-fit:cover;border-radius:4px}.action-btns{display:flex;gap:8px;flex-wrap:wrap}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}.success-msg{background:#00d4aa1a;border:1px solid rgba(0,212,170,.3);color:#00d4aa;padding:14px;border-radius:8px;margin-bottom:20px;font-size:.9rem}.upload-row{display:flex;gap:12px;align-items:center}.upload-row input[type=file]{flex:1;padding:10px;background:#ffffff0d;border:1px dashed rgba(255,255,255,.2);border-radius:8px;color:#fff9;cursor:pointer;font-size:.85rem}.image-preview{margin-top:12px;max-width:300px;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.1);display:none}.image-preview img{width:100%;display:block}.empty-state{text-align:center;padding:60px 20px;color:#fff6}.empty-state i{font-size:3rem;margin-bottom:16px;color:#00d4aa4d}.msg-body{white-space:pre-line;color:#ffffffb3;font-size:.9rem;margin-top:10px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#141414;border:1px solid rgba(255,255,255,.15);color:#f8f6f2;padding:12px 22px;border-radius:8px;font-size:.9rem;z-index:999;opacity:0;transition:opacity .3s;pointer-events:none}.toast.show{opacity:1}@media(max-width:768px){.sidebar{width:0;overflow:hidden;transition:width .3s ease}.sidebar.open{width:260px}.sidebar-brand{font-size:1.3rem;padding:0 20px 24px}.sidebar-brand small,.nav-group-title{display:block}.nav-item{padding:12px 24px;justify-content:flex-start}.nav-item span{display:inline}.main{margin-left:0;padding:60px 16px 16px}.topbar{flex-direction:column;gap:12px;align-items:flex-start}.topbar h1{font-size:1.3rem}.user-info{width:100%;justify-content:space-between;flex-wrap:wrap;gap:8px}.form-row,.form-row-3{grid-template-columns:1fr}table{font-size:.8rem;display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}table th,table td{padding:10px 8px;white-space:nowrap}.stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}.stat-card{padding:16px}.stat-card .stat-value{font-size:1.8rem}.card{padding:16px}.card-head{flex-direction:column;gap:12px;align-items:flex-start}.sidebar-toggle{display:flex}.form-group input,.form-group textarea,.form-group select{font-size:16px!important;min-height:44px}.btn{min-height:44px;padding:12px 20px}.btn-xs{min-height:auto;padding:8px 12px}.action-btns{flex-direction:column}.action-btns .btn{width:100%;text-align:center}.login-box{padding:32px 20px}}.sidebar-toggle{display:none;position:fixed;top:12px;left:12px;z-index:200;width:40px;height:40px;background:#141414;border:1px solid rgba(255,255,255,.1);border-radius:8px;align-items:center;justify-content:center;color:#00d4aa;cursor:pointer;font-size:1.2rem}
/* pf-gallery: portfolio multi-image picker */
.pf-group{margin-bottom:24px}
.pf-help{font-size:.78rem;color:#ffffff8c;margin:0 0 14px;line-height:1.5}
.pf-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.pf-slot{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:8px;transition:border-color .2s,background .2s}
.pf-slot.filled{border-color:rgba(0,212,170,.5);background:rgba(0,212,170,.05)}
.pf-slot-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.pf-num{font-size:.7rem;text-transform:uppercase;letter-spacing:1px;color:#ffffff9e;font-weight:600}
.pf-x{background:none;border:none;color:#ffffff59;cursor:pointer;font-size:.8rem;padding:4px 6px;border-radius:4px;line-height:1;transition:color .2s,background .2s}
.pf-x:hover{color:#ff3b30;background:#ff3b301a}
.pf-thumb-wrap{position:relative;width:100%;aspect-ratio:4/3;border-radius:8px;overflow:hidden;background:#0000004d;border:1px solid rgba(255,255,255,.07);display:flex;align-items:center;justify-content:center}
.pf-thumb{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .25s}
.pf-thumb.has{opacity:1}
.pf-pick{position:relative;z-index:1;display:inline-flex;align-items:center;gap:7px;background:#0a0a0acc;color:#f8f6f2;border:1px solid rgba(255,255,255,.22);border-radius:6px;padding:8px 13px;font-size:.75rem;cursor:pointer;font-family:Inter,sans-serif;transition:background .2s,border-color .2s}
.pf-pick:hover{background:#00d4aa1f;border-color:rgba(0,212,170,.6)}
.pf-slot.filled .pf-pick{background:#0a0a0a99;font-size:.68rem;padding:6px 10px;opacity:0;transition:opacity .2s}
.pf-slot.filled:hover .pf-pick,.pf-slot.filled .pf-thumb-wrap:focus-within .pf-pick{opacity:1}
.pf-url{width:100%;padding:9px 11px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#f8f6f2;font-size:.78rem;font-family:Inter,sans-serif}
.pf-url:focus{outline:none;border-color:#00d4aa}
.pf-meta{font-size:.68rem;color:#ffffff70;letter-spacing:.3px;min-height:1em}
.pf-actions{display:flex;align-items:center;gap:14px;margin-top:12px;flex-wrap:wrap}
.pf-count{font-size:.75rem;color:#ffffff8c}
.pf-list-thumb{position:relative;display:inline-block;line-height:0}
.pf-count-badge{position:absolute;right:2px;bottom:2px;background:#00d4aa;color:#0a0a0a;font-size:.6rem;font-weight:700;line-height:1;padding:3px 5px;border-radius:4px;letter-spacing:0}

.login-note{text-align:center;color:rgba(255,255,255,.45);font-size:.72rem;line-height:1.55;margin:16px 0 0}
