:root{
  --text:#f7fafc;--muted:rgba(255,255,255,.68);--line:rgba(255,255,255,.16);
  --glass:rgba(22,35,43,.58);--glass2:rgba(255,255,255,.09);--accent:#ef3d59;--accent2:#fa6578;
  --dark:#0d1b22;--shadow:0 22px 60px rgba(0,0,0,.28);--admin:#2563eb;--danger:#dc2626;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}button,input,textarea,select{font:inherit}a{text-decoration:none;color:inherit}button{cursor:pointer}

/* HOME */
.home-page{min-height:100vh;background:#10232c;color:var(--text);overflow-x:hidden}.page-bg{position:fixed;inset:0;z-index:-3;background-image:url('https://images.unsplash.com/photo-1602600220542-f3b3b7f3bf1c?fm=jpg&fit=crop&w=2400&q=82');background-size:cover;background-position:center 48%;transform:scale(1.015)}.page-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,18,24,.12),rgba(8,19,25,.26) 45%,rgba(5,16,22,.73) 100%)}.page-overlay{position:fixed;inset:0;z-index:-2;background:radial-gradient(circle at 25% 5%,rgba(255,155,105,.18),transparent 38%),radial-gradient(circle at 80% 20%,rgba(20,76,102,.18),transparent 36%)}.home-shell{width:min(1540px,calc(100% - 52px));margin:auto;min-height:100vh}.home-header{height:118px;display:grid;grid-template-columns:250px minmax(360px,700px) 1fr;align-items:start;padding-top:28px;gap:28px}.home-logo{display:inline-flex;flex-direction:column;width:max-content;color:#fff;text-shadow:0 4px 20px rgba(0,0,0,.24)}.home-logo strong{font-size:31px;line-height:1;letter-spacing:-1.2px;font-weight:900;white-space:nowrap}.home-logo span{font-size:17px;font-style:italic;font-weight:700;opacity:.76;margin:6px 0 0 22px}.top-google-search{height:54px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.23);backdrop-filter:blur(18px);border-radius:30px;display:flex;align-items:center;box-shadow:0 10px 30px rgba(0,0,0,.13);overflow:hidden}.search-mark{font-weight:900;color:#fff;margin-left:22px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#4285f4 0 25%,#34a853 25% 50%,#fbbc05 50% 75%,#ea4335 75%)}.top-google-search input{flex:1;border:0;outline:0;color:#fff;background:transparent;padding:0 16px;font-size:16px}.top-google-search input::placeholder{color:rgba(255,255,255,.75)}.top-google-search button{width:58px;height:100%;border:0;background:transparent;color:#fff;font-size:29px}.top-actions{display:flex;justify-content:flex-end;align-items:center;gap:16px;height:54px}.weather-pill{height:46px;max-width:390px;border:1px solid rgba(255,255,255,.15);background:rgba(24,49,58,.38);backdrop-filter:blur(16px);border-radius:16px;padding:0 14px;display:flex;align-items:center;gap:8px;white-space:nowrap}.weather-icon{font-size:18px;line-height:1}.weather-pill b{max-width:125px;overflow:hidden;text-overflow:ellipsis;font-size:13px}.weather-temp{font-weight:850;font-size:14px;padding-left:8px;border-left:1px solid rgba(255,255,255,.18)}.weather-pill small{max-width:105px;overflow:hidden;text-overflow:ellipsis;color:rgba(255,255,255,.78);font-size:11px}.text-link{font-weight:650;font-size:14px}.google-auth-btn{height:40px;padding:0 13px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(15,31,39,.38);backdrop-filter:blur(14px);display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:750;font-size:13px;white-space:nowrap}.google-auth-btn:hover{background:rgba(255,255,255,.13)}.google-login-btn{background:rgba(255,255,255,.92);color:#24313a;border-color:rgba(255,255,255,.65)}.google-login-btn:hover{background:#fff}.google-g{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-weight:900;color:#4285f4;background:#fff;border:1px solid rgba(0,0,0,.08)}.top-admin-btn{background:linear-gradient(135deg,var(--accent),var(--accent2));padding:11px 18px;border-radius:999px;font-weight:750;box-shadow:0 10px 25px rgba(239,61,89,.24)}
.shortcut-area{padding:12px 80px 22px}.shortcut-grid{max-width:1050px;margin:auto;display:grid;grid-template-columns:repeat(9,minmax(70px,1fr));gap:25px 22px}.shortcut{border:0;background:none;color:#fff;display:flex;flex-direction:column;align-items:center;gap:9px;min-width:0;transition:.2s transform}.shortcut:hover{transform:translateY(-4px)}.shortcut-icon{position:relative;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,rgba(255,255,255,.25),rgba(255,255,255,.10));border:1px solid rgba(255,255,255,.28);box-shadow:0 10px 28px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.22);overflow:hidden}.shortcut-icon img{position:absolute;inset:7px;width:44px;height:44px;object-fit:contain;border-radius:12px}.icon-fallback{font-size:18px;font-weight:900;color:#fff}.shortcut-name{font-size:12px;font-weight:650;line-height:1.2;text-align:center;max-width:100px;text-shadow:0 2px 6px rgba(0,0,0,.55);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shortcut-add .add-icon{font-size:34px;background:linear-gradient(145deg,#ff4b5f,#d92147)}
.glass{background:linear-gradient(135deg,rgba(19,35,43,.67),rgba(35,51,58,.48));border:1px solid rgba(255,255,255,.18);box-shadow:var(--shadow);backdrop-filter:blur(18px)}.quick-save-wrap{max-width:1080px;margin:10px auto 0}.quick-save{min-height:90px;border-radius:32px;display:flex;align-items:center;padding:12px 15px;gap:14px}.home-round{width:62px;height:62px;flex:0 0 62px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#ff536c,#d9294b);border:1px solid rgba(255,255,255,.34);font-size:12px;font-weight:900}.quick-save-input{height:58px;flex:1;border:1px solid rgba(255,255,255,.29);border-radius:18px;display:flex;align-items:center;background:rgba(255,255,255,.08)}.link-symbol{font-size:20px;margin-left:18px;opacity:.75}.quick-save-input input{flex:1;height:100%;border:0;outline:0;background:transparent;color:#fff;padding:0 16px;font-size:16px}.quick-save-input input::placeholder{color:rgba(255,255,255,.77)}.quick-action{height:48px;padding:0 16px;border:0;border-left:1px solid rgba(255,255,255,.18);background:transparent;color:#fff;font-weight:650}.send-btn{width:54px;height:54px;flex:0 0 54px;border:1px solid rgba(255,255,255,.23);border-radius:16px;background:linear-gradient(145deg,#ff536a,#d92b4c);color:#fff;font-size:24px;box-shadow:0 12px 25px rgba(239,61,89,.22)}
.toast{max-width:1080px;margin:14px auto 0;padding:13px 18px;border-radius:14px;backdrop-filter:blur(15px);font-weight:700}.toast.success{background:rgba(16,120,73,.72);border:1px solid rgba(166,255,208,.25)}.toast.error{background:rgba(151,31,50,.76);border:1px solid rgba(255,177,190,.22)}
.saved-panel{max-width:1080px;margin:22px auto 0;border-radius:27px;padding:21px}.saved-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:16px}.saved-head h2{font-size:16px;margin:0 0 4px}.saved-head p{font-size:12px;color:var(--muted);margin:0}.saved-tools{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px}.saved-search{width:220px;height:38px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.07);outline:0;color:#fff;padding:0 12px}.saved-search::placeholder{color:rgba(255,255,255,.58)}.saved-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.saved-card{min-width:0;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.07);border-radius:14px;padding:10px;display:flex;align-items:center;gap:8px;transition:.2s}.saved-card:hover{background:rgba(255,255,255,.13);transform:translateY(-2px)}.saved-main{display:flex;align-items:center;gap:9px;min-width:0;flex:1}.saved-favicon{position:relative;width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:rgba(255,255,255,.13);display:grid;place-items:center;font-size:11px;font-weight:900;overflow:hidden}.saved-favicon img{position:absolute;inset:5px;width:24px;height:24px;object-fit:contain}.saved-copy{min-width:0}.saved-copy b,.saved-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.saved-copy b{font-size:12px}.saved-copy small{font-size:10px;color:var(--muted);margin-top:2px}.saved-category{font-size:9px;color:rgba(255,255,255,.66);max-width:74px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-glass{padding:22px;text-align:center;color:var(--muted);border:1px dashed rgba(255,255,255,.18);border-radius:14px}
.feature-row{max-width:1080px;margin:20px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.feature-card{min-height:100px;border-radius:22px;padding:18px;display:flex;align-items:center;gap:15px;cursor:pointer;transition:.2s}.feature-card:hover{transform:translateY(-3px);background:linear-gradient(135deg,rgba(31,49,58,.78),rgba(48,62,68,.58))}.feature-icon{width:54px;height:54px;flex:0 0 54px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(239,61,89,.5),rgba(114,44,78,.45));font-size:28px}.feature-card:nth-child(2) .feature-icon{background:linear-gradient(145deg,rgba(132,73,240,.55),rgba(74,49,129,.45))}.feature-card:nth-child(3) .feature-icon{background:linear-gradient(145deg,rgba(52,130,246,.55),rgba(37,76,134,.45))}.feature-card h3{margin:0 0 5px;font-size:16px}.feature-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.home-footer{text-align:center;padding:26px 0 34px;color:rgba(255,255,255,.72);font-size:13px}.brand-footer{display:flex;align-items:center;justify-content:center;gap:9px;font-weight:650}.brand-footer img{width:24px;height:24px;border-radius:7px;box-shadow:0 5px 16px rgba(0,0,0,.22)}
.modal-backdrop{position:fixed;inset:0;z-index:50;background:rgba(3,10,15,.7);backdrop-filter:blur(7px);display:grid;place-items:center;padding:20px}.modal-backdrop[hidden]{display:none}.save-modal{width:min(620px,100%);background:#17252d;color:#fff;border:1px solid rgba(255,255,255,.17);border-radius:26px;box-shadow:0 30px 100px rgba(0,0,0,.55);padding:25px;position:relative}.modal-close{position:absolute;right:18px;top:15px;width:36px;height:36px;border-radius:50%;border:0;background:rgba(255,255,255,.08);color:#fff;font-size:24px}.modal-title{display:flex;gap:13px;align-items:center;margin-bottom:18px}.modal-title>span{width:44px;height:44px;border-radius:14px;background:linear-gradient(145deg,#ff5269,#d62748);display:grid;place-items:center;font-size:27px}.modal-title h2{margin:0;font-size:21px}.modal-title p{margin:3px 0 0;color:var(--muted);font-size:12px}.modal-form{display:grid;gap:13px}.modal-form label{font-size:12px;font-weight:700;color:rgba(255,255,255,.78)}.modal-form small{font-weight:500;opacity:.6}.modal-form input{display:block;width:100%;margin-top:6px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.07);border-radius:12px;outline:none;color:#fff;padding:12px 13px}.modal-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-submit{border:0;border-radius:13px;padding:13px 16px;background:linear-gradient(135deg,#ef3d59,#fa6578);color:#fff;font-weight:800;margin-top:3px}

/* ADMIN / SETUP */
.admin-page{min-height:100vh;background:#f3f6fb;color:#162033}.admin-wrap{width:min(1360px,calc(100% - 36px));margin:auto}.admin-layout{display:grid;grid-template-columns:245px 1fr;gap:20px;padding:20px 0 42px}.admin-sidebar{min-height:calc(100vh - 40px);background:linear-gradient(180deg,#12212b,#172d39);color:#fff;border-radius:24px;padding:22px;position:sticky;top:20px;height:max-content;box-shadow:0 20px 45px rgba(16,36,48,.15)}.admin-brand{display:flex;align-items:center;gap:12px;font-weight:900;font-size:22px}.admin-logo{width:42px;height:42px;border-radius:14px;background:#071b34 url('branding/favicon-48x48.png') center/cover no-repeat;display:grid;place-items:center;color:transparent;overflow:hidden;box-shadow:0 7px 18px rgba(0,0,0,.18)}.admin-sub{color:rgba(255,255,255,.52);font-size:11px;margin:7px 0 22px 54px}.admin-menu{display:grid;gap:7px}.admin-menu a{padding:11px 12px;border-radius:11px;color:rgba(255,255,255,.76);font-size:14px}.admin-menu a:hover,.admin-menu a.active{background:rgba(255,255,255,.09);color:#fff}.admin-main{min-width:0}.admin-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.admin-top h1{margin:0;font-size:26px}.admin-top p{margin:4px 0 0;color:#718096;font-size:13px}.admin-view-btn{padding:10px 14px;border-radius:11px;background:#fff;border:1px solid #e5eaf2;font-size:13px;font-weight:750}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.stat{background:#fff;border:1px solid #e7ebf2;border-radius:17px;padding:17px;box-shadow:0 7px 18px rgba(26,44,72,.04)}.stat b{display:block;font-size:27px}.stat span{color:#748197;font-size:12px}.panel{background:#fff;border:1px solid #e5eaf2;border-radius:20px;padding:20px;box-shadow:0 10px 30px rgba(31,49,77,.05);margin-bottom:16px}.panel h2,.panel h3{margin-top:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field.full{grid-column:1/-1}.field label{display:block;font-size:12px;font-weight:750;color:#455066;margin-bottom:6px}.input,textarea,select{width:100%;border:1px solid #dfe5ee;background:#fff;border-radius:11px;padding:11px 12px;outline:none;color:#172033}.input:focus,textarea:focus,select:focus{border-color:#7aa2ff;box-shadow:0 0 0 4px rgba(37,99,235,.08)}.checkline{display:flex!important;align-items:center;gap:8px;font-weight:650!important}.btn{border:0;border-radius:10px;padding:10px 13px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:6px;background:#edf1f6;color:#28364a}.btn.primary{background:#2563eb;color:#fff}.btn.danger{background:#fee2e2;color:#9f1239}.btn.small{padding:7px 9px;font-size:12px}.alert{padding:12px 14px;border-radius:12px;margin-bottom:14px;font-weight:650}.alert.success{background:#dcfce7;color:#166534}.alert.error{background:#fee2e2;color:#991b1b}.table-wrap{overflow:auto;border:1px solid #e5eaf2;border-radius:14px}.table{width:100%;border-collapse:collapse;min-width:900px}.table th,.table td{padding:11px;border-bottom:1px solid #edf0f4;text-align:left;vertical-align:middle;font-size:12px}.table th{background:#f8fafc;color:#5f6b7e}.table-link{display:flex;align-items:center;gap:9px;max-width:370px}.table-icon{position:relative;width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:#f1f5f9;display:grid;place-items:center;overflow:hidden;font-weight:800}.table-icon img{position:absolute;inset:5px;width:24px;height:24px}.table-link strong,.table-link small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table-link small{color:#7d899a;max-width:300px}.badge{display:inline-block;font-size:10px;font-weight:800;border-radius:999px;padding:5px 8px;background:#edf2f7;color:#64748b}.badge.admin{background:#dbeafe;color:#1d4ed8}.badge.feature{background:#ffe4e9;color:#be123c}.actions{display:flex;gap:5px;flex-wrap:wrap}.muted{color:#7a8799}.login-bg{min-height:100vh;background:linear-gradient(rgba(8,20,26,.54),rgba(8,20,26,.78)),url('https://images.unsplash.com/photo-1602600220542-f3b3b7f3bf1c?fm=jpg&fit=crop&w=1800&q=78') center/cover fixed;display:grid;place-items:center;padding:20px}.login-card{width:min(430px,100%);background:rgba(16,31,39,.86);border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(18px);color:#fff;border-radius:26px;padding:26px;box-shadow:0 30px 100px rgba(0,0,0,.42)}.login-card .field label{color:rgba(255,255,255,.75)}.login-card .input{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);color:#fff}.login-card h1{margin:18px 0 6px}.login-card p{color:rgba(255,255,255,.6);font-size:13px}.login-actions{display:grid;gap:9px;margin-top:16px}.login-actions .btn:not(.primary){background:rgba(255,255,255,.08);color:#fff}

@media(max-width:1180px){.home-header{grid-template-columns:190px minmax(300px,1fr);height:auto;padding-bottom:18px}.top-actions{grid-column:1/-1;justify-content:flex-end;height:auto}.shortcut-grid{grid-template-columns:repeat(6,1fr)}.saved-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:850px){.home-shell{width:min(100% - 24px,1540px)}.home-header{grid-template-columns:1fr}.home-logo{margin:auto}.top-google-search{width:100%}.top-actions{justify-content:center;flex-wrap:wrap}.shortcut-area{padding:16px 0}.shortcut-grid{grid-template-columns:repeat(4,1fr);gap:20px 8px}.quick-save{border-radius:24px;flex-wrap:wrap}.quick-save-input{order:2;flex-basis:calc(100% - 76px)}.quick-action{display:none}.saved-head{align-items:flex-start;flex-direction:column}.saved-tools{width:100%}.saved-search{flex:1;width:auto}.saved-grid{grid-template-columns:repeat(2,1fr)}.feature-row{grid-template-columns:1fr}.admin-layout{grid-template-columns:1fr}.admin-sidebar{min-height:auto;position:static}.stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.home-logo strong{font-size:27px}.top-actions{gap:8px}.weather-pill{font-size:12px;width:100%;max-width:none;justify-content:center;order:1}.google-auth-btn{display:inline-flex!important;order:2;min-height:40px;padding:0 12px;font-size:12px}.top-admin-btn{order:3;padding:10px 14px}.weather-pill small{display:none}.shortcut-grid{grid-template-columns:repeat(3,1fr)}.shortcut-icon{width:54px;height:54px}.quick-save{padding:10px}.home-round{width:52px;height:52px;flex-basis:52px}.quick-save-input{height:52px;flex-basis:calc(100% - 66px)}.send-btn{width:100%;height:44px;flex-basis:100%}.saved-grid{grid-template-columns:1fr}.saved-category{display:none}.modal-two,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.stats{grid-template-columns:1fr 1fr}.admin-wrap{width:min(100% - 20px,1360px)}}

/* v2.2 - Excel import, bulk delete, automatic website logos */
.import-panel{border-top:4px solid #2563eb}.import-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.import-head h3{margin:0 0 5px}.import-head p{margin:0;color:#718096;font-size:13px;line-height:1.55}.import-form{display:grid;grid-template-columns:minmax(300px,1fr) minmax(160px,260px) auto;align-items:center;gap:10px}.file-drop{position:relative;border:1.5px dashed #b8c5d8;border-radius:14px;background:#f8fbff;padding:13px 15px;display:flex;align-items:center;gap:11px;cursor:pointer;transition:.2s}.file-drop:hover{border-color:#2563eb;background:#f3f7ff}.file-drop>span{width:38px;height:38px;border-radius:11px;background:#dbeafe;color:#1d4ed8;display:grid;place-items:center;font-size:20px;font-weight:900}.file-drop b,.file-drop small{display:block}.file-drop b{font-size:13px;color:#24324a}.file-drop small{font-size:11px;color:#7a8799;margin-top:2px}.file-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}.import-file-name{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:1px solid #e3e8f0;background:#fff;border-radius:11px;padding:11px 12px;color:#66758c;font-size:12px}.import-columns{margin-top:10px;color:#728096;font-size:11px}.list-tools{display:flex;align-items:center;gap:9px}.list-tools form:last-child{width:270px}.bulk-delete-btn{white-space:nowrap}.bulk-delete-btn:disabled{opacity:.45;cursor:not-allowed}.select-col{width:38px;text-align:center!important}.select-col input{width:17px;height:17px;accent-color:#2563eb;cursor:pointer}.badge.excel{background:#e8f5e9;color:#18733d}.auto-logo:after{content:"";position:absolute;right:2px;bottom:2px;width:7px;height:7px;border-radius:50%;background:#22c55e;border:2px solid #fff;z-index:3}.table-icon img{object-fit:contain}.table tbody tr:has([data-row-select]:checked){background:#f4f8ff}
@media(max-width:1000px){.import-form{grid-template-columns:1fr}.import-head{flex-direction:column}.list-head{align-items:flex-start}.list-tools{width:100%;flex-wrap:wrap}.list-tools form:last-child{flex:1;min-width:220px}}

/* v2.4 - folders, backup, header/footer settings, draggable shortcuts */
.glass-lite{background:rgba(15,31,39,.38);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(14px)}
.shortcut-toolbar{max-width:1050px;margin:0 auto 18px;border-radius:16px;padding:9px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:rgba(255,255,255,.78);font-size:11px}
.shortcut-toolbar>div{display:flex;gap:7px}.layout-btn{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);color:#fff;border-radius:10px;padding:7px 10px;font-size:11px;font-weight:750}.layout-btn:hover{background:rgba(255,255,255,.14)}.layout-btn:disabled{opacity:.6;cursor:wait}.admin-save-layout{background:rgba(37,99,235,.33);border-color:rgba(147,197,253,.28)}
.draggable-shortcut{position:relative;cursor:grab;user-select:none}.draggable-shortcut:active{cursor:grabbing}.draggable-shortcut.is-dragging{opacity:.35;transform:scale(.92)}.drag-grip{position:absolute;z-index:3;top:-4px;right:10px;opacity:0;font-size:11px;letter-spacing:-3px;color:rgba(255,255,255,.78);transition:.18s}.draggable-shortcut:hover .drag-grip{opacity:1}.admin-live-badge{font-size:11px;font-weight:850;padding:7px 10px;border-radius:999px;background:rgba(37,99,235,.45);border:1px solid rgba(147,197,253,.3)}
.folder-create-btn{height:38px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);color:#fff;border-radius:12px;padding:0 12px;font-weight:750;font-size:11px}.folder-create-btn:hover{background:rgba(255,255,255,.14)}
.folder-strip{display:flex;gap:8px;overflow-x:auto;padding:2px 0 14px;scrollbar-width:thin}.folder-chip{flex:0 0 auto;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.06);color:rgba(255,255,255,.82);border-radius:12px;padding:8px 11px;font-size:10px;font-weight:700}.folder-chip b{margin-left:5px;opacity:.58}.folder-chip:hover,.folder-chip.active{background:rgba(255,255,255,.17);border-color:rgba(255,255,255,.25);color:#fff}.saved-category{border:0;background:rgba(255,255,255,.05);padding:5px 7px;border-radius:8px;cursor:pointer}.saved-category:hover{background:rgba(255,255,255,.13);color:#fff}.modal-form select{display:block;width:100%;margin-top:6px;border:1px solid rgba(255,255,255,.15);background:#22343d;border-radius:12px;outline:none;color:#fff;padding:12px 13px}.folder-modal{width:min(500px,100%)}
.section-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.section-title-row h3{margin:0 0 5px}.section-title-row p{margin:0;color:#718096;font-size:13px;line-height:1.5}.inline-create{display:flex;gap:8px;min-width:390px}.admin-folder-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.admin-folder-card{border:1px solid #e6ebf2;border-radius:14px;padding:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fbfcfe}.admin-folder-card b,.admin-folder-card small{display:block}.admin-folder-card b{font-size:13px}.admin-folder-card small{font-size:10px;color:#8793a5;margin-top:4px}.backup-panel{border-top:4px solid #16a34a}.restore-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px}.backup-note{margin-top:10px;background:#f0fdf4;color:#166534;border:1px solid #dcfce7;border-radius:11px;padding:10px 12px;font-size:11px}
@media(max-width:1000px){.section-title-row{flex-direction:column}.inline-create{min-width:0;width:100%}.admin-folder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.shortcut-toolbar{margin-top:4px;flex-direction:column;align-items:flex-start}.shortcut-toolbar>div{width:100%;flex-wrap:wrap}.saved-tools{flex-wrap:wrap}.folder-create-btn{order:3}.restore-row{grid-template-columns:1fr}.admin-folder-grid{grid-template-columns:1fr}}
@media(max-width:560px){.shortcut-toolbar{font-size:10px}.layout-btn{font-size:10px;padding:6px 8px}.inline-create{flex-direction:column}.folder-chip{padding:7px 9px}.saved-tools span{display:none}}

/* v2.7 guest ownership controls */
.guest-link-actions{display:flex;gap:4px}.guest-link-actions button,.guest-folder-menu{border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.07);color:#fff;border-radius:8px;min-width:27px;height:27px;cursor:pointer}.guest-link-actions button:hover,.guest-folder-menu:hover{background:rgba(255,255,255,.17)}.guest-link-actions .danger,.guest-folder-menu.danger{color:#ffb5b5}.guest-folder-wrap{display:inline-flex;align-items:center;gap:3px;flex:0 0 auto}.guest-folder-wrap .folder-chip{margin:0}


/* v3.1 - custom website icons + mobile Google login + DKPY favicon branding */
.icon-upload-field{border:1px dashed #cbd5e1;border-radius:14px;padding:13px;background:#f8fafc}.icon-upload-field>label>small{font-weight:500;color:#7a8799}.icon-upload-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.icon-preview{position:relative;width:58px;height:58px;flex:0 0 58px;border-radius:14px;background:#eef2f7;border:1px solid #dde4ee;display:grid;place-items:center;overflow:hidden;font-weight:900}.icon-preview img{position:absolute;inset:7px;width:44px;height:44px;object-fit:contain;border-radius:9px}.icon-file-pick{position:relative;overflow:hidden;display:inline-flex!important;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border-radius:11px;background:#e8f0ff;color:#1d4ed8!important;border:1px solid #cfe0ff;cursor:pointer;font-size:12px!important;font-weight:800!important;margin:0!important}.icon-file-pick input{position:absolute;inset:0;opacity:0;cursor:pointer}.remove-icon-check{margin:0!important;color:#9f1239!important;background:#fff1f2;padding:10px 12px;border-radius:10px}.custom-icon-badge{margin-top:4px;background:#ede9fe;color:#6d28d9}.auto-logo.customized:after{background:#8b5cf6}.admin-page .icon-upload-field small{display:block;margin-top:7px;color:#7a8799}.google-auth-btn{box-shadow:0 8px 20px rgba(0,0,0,.08)}
@media(max-width:560px){.home-header{gap:14px;padding-top:18px}.top-actions{width:100%}.google-login-btn{flex:1;max-width:220px}.top-admin-btn{min-width:92px;text-align:center}.weather-pill b{max-width:150px}.shortcut-area{padding-top:8px}}

@media(max-width:560px){.admin-live-badge{display:none}}

/* v3.2 - bố cục cá nhân: kéo link đã lưu lên khu icon mà không ảnh hưởng người khác */
.saved-card.draggable-saved-link{position:relative;cursor:grab}
.saved-card.draggable-saved-link:active{cursor:grabbing}
.saved-card.is-drag-source{opacity:.45;transform:scale(.98)}
.saved-drag-handle{flex:0 0 14px;font-size:11px;letter-spacing:-3px;color:rgba(255,255,255,.46);user-select:none}
.saved-card:hover .saved-drag-handle{color:rgba(255,255,255,.9)}
.saved-pin-top{flex:0 0 30px;width:30px;height:30px;border-radius:9px;border:1px solid rgba(255,255,255,.14);background:rgba(37,99,235,.20);color:#dbeafe;font-size:16px;font-weight:900;cursor:pointer;display:grid;place-items:center;transition:.18s}
.saved-pin-top:hover{background:rgba(37,99,235,.42);transform:translateY(-1px)}
.personal-extra-shortcut .shortcut-icon{box-shadow:0 0 0 2px rgba(52,211,153,.22),0 10px 28px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.22)}
.personal-shortcut-badge{position:absolute;z-index:4;top:-5px;left:12px;width:17px;height:17px;border-radius:50%;display:grid;place-items:center;background:rgba(15,23,42,.92);border:1px solid rgba(52,211,153,.6);font-size:9px;color:#6ee7b7;box-shadow:0 3px 10px rgba(0,0,0,.28)}
.draggable-shortcut.is-personal-priority .drag-grip{opacity:.85}
.shortcut-grid.drag-ready{outline:1px dashed rgba(147,197,253,.5);outline-offset:8px;border-radius:18px}
@media(max-width:560px){
  .saved-drag-handle{display:none}
  .saved-pin-top{flex-basis:34px;width:34px;height:34px;font-size:18px}
  .saved-card{gap:7px}
}


/* v3.3 - kéo hai chiều: từ danh sách lên icon và từ icon xuống danh sách */
.shortcut-lower-btn{position:absolute;z-index:5;right:7px;bottom:19px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:rgba(15,23,42,.90);border:1px solid rgba(147,197,253,.48);color:#dbeafe;font-size:13px;font-weight:900;line-height:1;opacity:0;transform:translateY(3px);transition:.16s;box-shadow:0 4px 12px rgba(0,0,0,.28);cursor:pointer}
.draggable-shortcut:hover .shortcut-lower-btn,.shortcut-lower-btn:focus{opacity:1;transform:none;outline:none}
.saved-panel[data-saved-drop-zone]{transition:outline-color .18s,box-shadow .18s,transform .18s}
.saved-panel[data-saved-drop-zone].is-drop-target{outline:2px dashed rgba(96,165,250,.92);outline-offset:7px;box-shadow:0 0 0 6px rgba(37,99,235,.12),0 18px 55px rgba(15,23,42,.24);transform:translateY(-2px)}
.saved-panel[data-saved-drop-zone].is-drop-target:before{content:"Thả tại đây để đưa icon xuống danh sách";display:block;margin:-2px 0 12px;padding:9px 12px;border-radius:11px;background:rgba(37,99,235,.22);border:1px solid rgba(147,197,253,.32);color:#dbeafe;font-size:12px;font-weight:800;text-align:center}
@media(max-width:560px){.shortcut-lower-btn{opacity:.92;transform:none;right:4px;bottom:18px;width:23px;height:23px}}

/* ===== DKPY v3.4: hình nền cá nhân ===== */
.background-modal{width:min(860px,100%)}
.background-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.background-choice{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.055);border-radius:15px;padding:8px;color:#fff;text-align:left;cursor:pointer;transition:.18s;overflow:hidden}
.background-choice:hover,.background-choice.active{border-color:rgba(96,165,250,.8);background:rgba(37,99,235,.16);transform:translateY(-1px)}
.background-choice>span{display:block;height:95px;border-radius:11px;background-size:cover;background-position:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.background-choice b,.background-choice small{display:block;padding:0 3px}.background-choice b{font-size:12px;margin-top:8px}.background-choice small{font-size:10px;color:rgba(255,255,255,.62);margin-top:2px}
.background-actions{display:flex;justify-content:flex-end;margin-top:15px}.background-actions .modal-submit{width:auto;min-width:120px}


/* Nút quản trị ở góc trên đã được bỏ khỏi HTML v3.4. Giữ class cũ chỉ để tương thích cache CSS. */
.top-admin-btn{display:none!important}


/* DKPY v3.6 - thông báo đầu trang, drop URL và menu Admin dạng tab */
.announcement-bar{position:relative;z-index:8;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;min-height:44px;max-height:60px;background:linear-gradient(100deg,rgba(15,23,42,.98),rgba(30,64,175,.96) 45%,rgba(14,116,144,.95));color:#fff;box-shadow:0 9px 30px rgba(15,23,42,.28);overflow:hidden;border-bottom:1px solid rgba(255,255,255,.15);transition:opacity .42s ease,max-height .42s ease,min-height .42s ease,transform .42s ease}
.announcement-bar:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 0 38%,rgba(255,255,255,.12) 48%,transparent 58%);transform:translateX(-120%);animation:dkpyNoticeShine 2.8s ease-out 1;pointer-events:none}
.announcement-label{position:relative;z-index:2;height:30px;margin-left:12px;display:flex;align-items:center;padding:0 13px;font-size:10px;font-weight:950;letter-spacing:.09em;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);border-radius:999px;white-space:nowrap;box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}
.announcement-window{position:relative;z-index:2;overflow:hidden;min-width:0;white-space:nowrap}
.announcement-run{display:inline-block;min-width:max-content;padding-left:100%;animation:dkpyAnnouncement var(--announcement-speed,24s) linear 1 both;font-size:13px;font-weight:780;letter-spacing:.01em;will-change:transform}
.announcement-run a,.announcement-run span{color:#fff;padding-right:80px;text-shadow:0 1px 8px rgba(0,0,0,.22)}
.announcement-run a{text-decoration:none}.announcement-run a:hover{text-decoration:underline}
.announcement-bar.is-finished{opacity:0;max-height:0;min-height:0;transform:translateY(-8px);border:0;pointer-events:none}
@keyframes dkpyAnnouncement{from{transform:translateX(0)}to{transform:translateX(-100%)}}
@keyframes dkpyNoticeShine{0%{transform:translateX(-120%)}70%,100%{transform:translateX(120%)}}
.browser-link-drop{max-width:1080px;margin:14px auto 0;border-radius:18px;padding:13px 16px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;border-style:dashed!important;transition:.18s ease;cursor:copy}
.browser-drop-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:rgba(59,130,246,.2);border:1px solid rgba(147,197,253,.25);font-size:22px;font-weight:900}
.browser-drop-copy h3{margin:0 0 3px;font-size:13px}.browser-drop-copy p{margin:0;color:rgba(255,255,255,.68);font-size:11px;line-height:1.45}
.browser-link-drop>strong{font-size:11px;color:#bfdbfe;background:rgba(37,99,235,.18);border:1px solid rgba(147,197,253,.25);padding:9px 11px;border-radius:11px;white-space:nowrap}
.browser-link-drop.is-browser-drop-target{transform:translateY(-2px) scale(1.005);border-color:#93c5fd!important;background:rgba(37,99,235,.24)!important;box-shadow:0 0 0 5px rgba(59,130,246,.13),0 18px 45px rgba(0,0,0,.22)}
.browser-link-drop[data-drop-state="ok"]>strong{background:rgba(22,163,74,.25);border-color:rgba(134,239,172,.35);color:#dcfce7}.browser-link-drop[data-drop-state="error"]>strong{background:rgba(220,38,38,.24);border-color:rgba(254,202,202,.3);color:#fee2e2}
.admin-menu-divider{height:1px;background:rgba(255,255,255,.1);margin:6px 4px}
section[data-admin-group]{display:none}section[data-admin-group].admin-panel-active{display:block;animation:adminPanelIn .16s ease both}@keyframes adminPanelIn{from{opacity:.25;transform:translateY(5px)}to{opacity:1;transform:none}}
.announcement-admin-panel{border-top:4px solid #ea580c}.announcement-state{font-size:10px;font-weight:900;border-radius:999px;padding:7px 10px;letter-spacing:.05em}.announcement-state.on{background:#dcfce7;color:#166534}.announcement-state.off{background:#f1f5f9;color:#64748b}
@media(max-width:850px){.announcement-bar{grid-template-columns:1fr}.announcement-label{justify-content:center;min-height:28px}.announcement-run{font-size:12px}.browser-link-drop{grid-template-columns:auto 1fr}.browser-link-drop>strong{grid-column:1/-1;text-align:center}.admin-menu{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-menu a{text-align:center;font-size:12px}.admin-menu-divider{grid-column:1/-1}.admin-sub{margin-left:54px}}
@media(max-width:480px){.browser-link-drop{padding:11px 12px}.browser-drop-copy h3{font-size:12px}.browser-drop-copy p{font-size:10px}.announcement-label{font-size:10px}.admin-menu{grid-template-columns:1fr 1fr}}


/* DKPY v3.7 - hình nền mặc định do Admin quản lý */
.admin-background-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:8px}
.admin-background-choice{position:relative;display:grid;grid-template-columns:78px minmax(0,1fr);align-items:center;gap:10px;padding:8px;border:1px solid #e2e8f0;border-radius:14px;background:#fbfdff;cursor:pointer;transition:.16s}
.admin-background-choice:hover{border-color:#93c5fd;transform:translateY(-1px);box-shadow:0 7px 20px rgba(15,23,42,.06)}
.admin-background-choice input{position:absolute;opacity:0;pointer-events:none}
.admin-background-choice:has(input:checked){border-color:#2563eb;background:#eff6ff;box-shadow:0 0 0 2px rgba(37,99,235,.09)}
.admin-bg-preview{height:52px;border-radius:10px;background-size:cover;background-position:center;border:1px solid rgba(15,23,42,.08)}
.admin-bg-copy b,.admin-bg-copy small{display:block}.admin-bg-copy b{font-size:12px;color:#172033}.admin-bg-copy small{font-size:10px;color:#718096;margin-top:4px}.field-help{display:block;margin-top:8px;color:#718096;line-height:1.55}
@media(max-width:900px){.admin-background-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.admin-background-grid{grid-template-columns:1fr}}
