.quick-tools { position: fixed; z-index: 1100; right: 16px; top: 50%; transform: translateY(-50%); display: flex; flex-direction: column; gap: 8px; padding: 8px; background: rgba(255,255,255,.96); border: 1px solid #e3eaf0; border-radius: 24px; box-shadow: 0 8px 32px rgba(26,61,81,.14); font-family: 'Montserrat','Open Sans',Arial,sans-serif; }
.quick-tools-link { position: relative; display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 17px; color: #237ca8; background: #edf6fa; text-decoration: none; transition: color .2s ease,background-color .2s ease,box-shadow .2s ease; }
.quick-tools-link svg { display: block; width: 24px; height: 24px; flex-shrink: 0; pointer-events: none; }
.quick-tools-calc { color: #fff; background: #339ace; }
.quick-tools-link:hover, .quick-tools-link:focus-visible { background: #237ca8; color: #fff; text-decoration: none; }
.quick-tools-link:focus-visible { outline: 3px solid #175c80; outline-offset: 3px; }
.quick-tools-label { position: absolute; right: calc(100% + 18px); top: 50%; transform: translate(4px,-50%); opacity: 0; visibility: hidden; pointer-events: none; white-space: nowrap; padding: 12px 16px; border-radius: 14px; background: #1d3443; color: #fff; box-shadow: 0 6px 24px #183e5226; font-size: 12px; font-weight: 600; transition: opacity .15s ease,transform .15s ease,visibility .15s ease; }
.quick-tools-link:hover .quick-tools-label, .quick-tools-link:focus-visible .quick-tools-label { opacity: 1; visibility: visible; transform: translate(0,-50%); }
.quick-tools-mobile { display: none; }
@media(max-width:767px) {
 .quick-tools { top: auto; right: auto; bottom: calc(16px + env(safe-area-inset-bottom,0px)); left: 12px; width: min(310px,calc(100% - 100px)); transform: none; flex-direction: row; gap: 6px; padding: 6px; border-radius: 22px; box-shadow: 0 6px 28px rgba(26,61,81,.2); }
 .quick-tools-link { width: auto; min-width: 0; flex: 1; height: 46px; gap: 8px; border-radius: 16px; }
 .quick-tools-link svg { width: 20px; height: 20px; }
 .quick-tools-mobile { display: inline; font-size: 12px; font-weight: 700; }
 .quick-tools .quick-tools-label { display: none; }
 body:has(.quick-tools) { padding-bottom: calc(80px + env(safe-area-inset-bottom,0px)); }
}
@media(prefers-reduced-motion:reduce) { .quick-tools-link, .quick-tools-label { transition: none; } }
