:root{--wh-indigo:#4f46e5;--wh-indigo-muted:#eef2ff;--wh-success:#10b981;--wh-warning:#f59e0b;--wh-error:#ef4444;--wh-info:#3b82f6;--wh-border:#e2e8f0;--wh-border-strong:#cbd5e1;--wh-surface:#fff;--wh-surface-hover:#f8fafc;--wh-bg:#f6f6f6;--wh-radius-lg:16px}@keyframes frm-fadeSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes frm-shimmer-flow{0%{background-position:-1000px 0}to{background-position:1000px 0}}.frm-root{background-color:var(--wh-bg);box-sizing:border-box;flex-direction:column;flex:1;min-height:0;display:flex}.frm-island{flex-direction:column;margin:10px 14px 8px;display:flex}.frm-toolbar-glass{background:var(--wh-surface);border-radius:var(--wh-radius-lg);border:1px solid var(--wh-border);flex-direction:column;display:flex;overflow:hidden;box-shadow:0 4px 20px #00000008}.frm-tabs-header{border-bottom:1px solid var(--wh-border);-webkit-backdrop-filter:blur(12px);background:#ffffffb3;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.frm-count-badge{background:var(--wh-bg);color:var(--wh-text-secondary);border:1px solid var(--wh-border);border-radius:10px;justify-content:center;align-items:center;margin-left:8px;padding:2px 6px;font-size:11px;font-weight:600;display:inline-flex}[data-state=active] .frm-count-badge{background:var(--wh-indigo);color:#fff;border-color:var(--wh-indigo)}.frm-search-wrapper{background:var(--wh-bg);border:1px solid var(--wh-border);border-radius:8px;align-items:center;width:260px;padding:6px 12px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.frm-search-wrapper:focus-within{background:var(--wh-surface);border-color:var(--wh-indigo);box-shadow:0 0 0 3px var(--wh-indigo-muted);width:280px}.frm-search-icon{color:var(--wh-text-muted);margin-right:8px}.frm-search-input{font-family:var(--wh-font);color:var(--wh-text);background:0 0;border:none;outline:none;width:100%;font-size:13px}.frm-search-input::placeholder{color:var(--wh-text-muted)}.frm-search-clear{cursor:pointer;color:var(--wh-text-muted);background:0 0;border:none;align-items:center;margin-left:6px;padding:0;display:flex}.frm-search-clear:hover{color:var(--wh-text)}.frm-content-area{background:var(--wh-surface);min-height:400px;padding:20px}.frm-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;display:grid}.frm-animate-in{opacity:0;animation:.5s cubic-bezier(.16,1,.3,1) forwards frm-fadeSlideUp}.frm-card{border:1px solid var(--wh-border);background:var(--wh-surface);cursor:pointer;font-family:var(--wh-font);text-align:left;border-radius:14px;outline:none;flex-direction:column;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden;box-shadow:0 2px 4px #00000005}.frm-card:after{content:"";pointer-events:none;border-radius:14px;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff1a}.frm-card:hover,.frm-card:focus-visible{border-color:var(--wh-border-strong);transform:translateY(-4px);box-shadow:0 12px 24px -8px #00000014,0 4px 8px -4px #0000000a}.frm-card:focus-visible{box-shadow:0 0 0 3px var(--wh-indigo-muted),0 12px 24px -8px #00000014;border-color:var(--wh-indigo)}.frm-card:active{transform:translateY(-1px);box-shadow:0 4px 8px #0000000d}.frm-card-body{flex-direction:column;height:100%;padding:20px;display:flex}.frm-card-top{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.frm-icon-box{border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.frm-icon-box--primary{background:var(--wh-indigo-muted)}.frm-icon-box--warning{background:#fef3c7}.frm-icon-box--success{background:#d1fae5}.frm-icon-box--error{background:#fee2e2}.frm-icon-box--info{background:#dbeafe}.frm-icon-box--neutral{background:var(--wh-bg)}.frm-hover-action{opacity:0;background:var(--wh-indigo-muted);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex;transform:translate(-8px)}.frm-card:hover .frm-hover-action{opacity:1;transform:translate(0)}.frm-card-content{flex:1}.frm-card-title{color:var(--wh-text);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0 0 6px;font-size:15px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.frm-card-desc{color:var(--wh-text-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.frm-card-desc.empty{color:var(--wh-text-muted);font-style:italic}.frm-date{color:var(--wh-text-muted);margin-top:4px;font-size:12px;display:block}.frm-card-divider{background:var(--wh-border);width:100%;height:1px;margin:16px 0}.frm-card-meta{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.frm-meta-badge{color:var(--wh-text-secondary);background:var(--wh-bg);border-radius:6px;align-items:center;gap:6px;padding:4px 8px;font-size:12px;font-weight:500;display:inline-flex}.frm-meta-badge.danger{color:var(--wh-error);background:#fef2f2}.frm-card-footer{justify-content:space-between;align-items:center;margin-top:auto;display:flex}.frm-footer-text{color:var(--wh-text-secondary);font-size:13px;font-weight:600;transition:color .2s}.frm-footer-icon{color:var(--wh-text-muted);justify-content:center;align-items:center;transition:transform .2s,color .2s;display:flex}.frm-card:hover .frm-footer-text{color:var(--wh-indigo)}.frm-card:hover .frm-footer-icon{color:var(--wh-indigo);transform:translate(4px)}.frm-review-note{background:var(--wh-bg);color:var(--wh-text-secondary);border-left:3px solid var(--wh-indigo);border-radius:8px;align-items:flex-start;gap:8px;margin-top:12px;padding:10px;font-size:12px;display:flex}.frm-review-note p{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;line-height:1.4;display:-webkit-box;overflow:hidden}.frm-skeleton-card{background:var(--wh-surface);border:1px solid var(--wh-border);border-radius:14px;height:220px}.frm-shimmer{background:linear-gradient(90deg,#f6f7f8 8%,#edeef1 18%,#f6f7f8 33%) 0 0/1000px 100%;animation-name:frm-shimmer-flow;animation-duration:2s;animation-timing-function:linear;animation-iteration-count:infinite;animation-fill-mode:forwards}.frm-center{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;animation:.4s forwards frm-fadeSlideUp;display:flex}.frm-empty-illustration{background:var(--wh-bg);box-shadow:inset 0 0 0 1px var(--wh-border);border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin-bottom:20px;display:flex}.frm-center-title{color:var(--wh-text);margin:0 0 8px;font-size:18px;font-weight:600}.frm-center-desc{color:var(--wh-text-secondary);max-width:320px;margin:0;font-size:14px;line-height:1.5}@media (width<=768px){.frm-tabs-header{flex-direction:column;align-items:stretch}.frm-search-wrapper,.frm-search-wrapper:focus-within{width:100%}.frm-grid{grid-template-columns:1fr}}[data-theme=dark] .frm-toolbar-glass{background:#1e1e1e99;border-color:#ffffff1a}[data-theme=dark] .frm-tabs-header{background:#28282899;border-color:#ffffff1a}[data-theme=dark] .frm-card{background:#1e1e1e;border-color:#ffffff1a}[data-theme=dark] .frm-card:hover{border-color:#fff3;box-shadow:0 12px 24px -8px #0000004d}[data-theme=dark] .frm-shimmer{background:linear-gradient(90deg,#2a2a2a 8%,#333 18%,#2a2a2a 33%)}[data-theme=dark] .frm-search-wrapper{background:#0003;border-color:#ffffff1a}[data-theme=dark] .frm-content-area{background:#121212}@media (prefers-reduced-motion:reduce){.frm-animate-in,.frm-card,.frm-hover-action,.frm-footer-icon{transition:none!important;animation:none!important}}