
/* AllFileOne directory / access-level architecture v1.8 */
:root{--free:#16a34a;--professional:#7c3aed;--pro:#ea580c;--business:#0f766e}
.catalog-shell{padding:42px 8% 80px}.catalog-hero{max-width:900px;margin:0 auto 30px;text-align:center}.catalog-hero h1{font-size:42px;line-height:1.2;margin-bottom:12px}.catalog-hero p{color:var(--sub);font-size:18px}.catalog-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) repeat(2,minmax(150px,220px));gap:12px;margin:28px 0}.catalog-toolbar input,.catalog-toolbar select{width:100%;padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:var(--card);color:var(--text);font:inherit}.catalog-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:14px 0 20px;color:var(--sub)}.catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.catalog-card{display:flex;flex-direction:column;min-height:210px;padding:20px;border:1px solid var(--border);border-radius:18px;background:var(--card);color:var(--text);text-decoration:none;box-shadow:var(--shadow);transition:.2s}.catalog-card:hover{transform:translateY(-4px);border-color:var(--primary)}.catalog-card h3{font-size:18px;margin:12px 0 8px}.catalog-card p{color:var(--sub);font-size:14px;flex:1}.catalog-card-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.level-badge,.category-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}.level-badge.free{background:#dcfce7;color:#166534}.level-badge.professional{background:#ede9fe;color:#5b21b6}.level-badge.pro{background:#ffedd5;color:#9a3412}.level-badge.business{background:#ccfbf1;color:#115e59}.category-badge{background:var(--bg);color:var(--sub)}.catalog-open{margin-top:14px;font-weight:800;color:var(--primary)}.catalog-empty{padding:45px;text-align:center;background:var(--card);border-radius:18px;color:var(--sub)}
.access-gateways{padding:25px 8% 75px}.access-gateways h2{font-size:32px;margin-bottom:10px}.gateway-lead{color:var(--sub);margin-bottom:22px}.gateway-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.gateway-card{display:flex;flex-direction:column;min-height:245px;padding:28px;border-radius:22px;text-decoration:none;color:white;position:relative;overflow:hidden;box-shadow:var(--shadow);transition:.25s}.gateway-card:hover{transform:translateY(-6px)}.gateway-card.free{background:linear-gradient(135deg,#15803d,#22c55e)}.gateway-card.professional{background:linear-gradient(135deg,#5b21b6,#8b5cf6)}.gateway-card.pro{background:linear-gradient(135deg,#c2410c,#f97316)}.gateway-kicker{font-size:12px;font-weight:900;letter-spacing:.08em;opacity:.9}.gateway-card h3{font-size:28px;margin:12px 0}.gateway-card p{opacity:.92;flex:1}.gateway-action{font-weight:900;margin-top:20px}.home-popular{padding:20px 8% 65px}.home-popular-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:22px}.home-popular-head h2{font-size:32px}.home-popular-head p{color:var(--sub)}.home-popular .catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.home-popular .catalog-card{min-height:185px}.home-popular-actions{display:flex;justify-content:center;gap:12px;margin-top:24px;flex-wrap:wrap}.directory-btn{display:inline-flex;padding:12px 18px;border-radius:12px;text-decoration:none;font-weight:800;background:var(--card);color:var(--primary);border:1px solid var(--border)}
@media(max-width:1050px){.catalog-grid,.home-popular .catalog-grid{grid-template-columns:repeat(3,1fr)}.gateway-grid{grid-template-columns:1fr}.catalog-toolbar{grid-template-columns:1fr 1fr}.catalog-toolbar input{grid-column:1/-1}}
@media(max-width:720px){.catalog-shell,.access-gateways,.home-popular{padding-left:20px;padding-right:20px}.catalog-hero h1{font-size:32px}.catalog-grid,.home-popular .catalog-grid{grid-template-columns:1fr}.catalog-toolbar{grid-template-columns:1fr}.catalog-toolbar input{grid-column:auto}.home-popular-head{align-items:flex-start;flex-direction:column}.catalog-meta{align-items:flex-start;flex-direction:column}}

/* PDF portfolio audit v1.40 */
.tool-group-badge{display:inline-flex;align-self:flex-start;margin-top:10px;padding:5px 9px;border-radius:999px;background:color-mix(in srgb,var(--primary) 10%,var(--card));color:var(--primary);font-size:11px;font-weight:800}.pdf-portfolio-summary{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;padding:16px 20px;margin:0 auto 18px;border:1px solid var(--border);border-radius:16px;background:var(--card);color:var(--sub)}.pdf-portfolio-summary strong{color:var(--text);font-size:18px}.pdf-portfolio-summary a{color:var(--primary);font-weight:800}.catalog-toolbar{grid-template-columns:minmax(220px,1fr) repeat(3,minmax(140px,200px))}@media(max-width:1050px){.catalog-toolbar{grid-template-columns:1fr 1fr}.catalog-toolbar input{grid-column:1/-1}}@media(max-width:720px){.catalog-toolbar{grid-template-columns:1fr}.catalog-toolbar input{grid-column:auto}}
.catalog-capabilities{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.catalog-capabilities span{font-size:11px;font-weight:800;padding:5px 8px;border-radius:999px;background:#f1f5f9;color:#475569}.catalog-toolbar{grid-template-columns:minmax(220px,2fr) repeat(5,minmax(130px,1fr))}@media(max-width:1100px){.catalog-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.catalog-toolbar{grid-template-columns:1fr}}

/* v3.8.1 catalog category visibility and auto directory */
.catalog-toolbar{grid-template-columns:minmax(260px,2fr) repeat(5,minmax(145px,1fr));align-items:stretch}
.catalog-toolbar select{min-width:0;color:var(--text,#0f172a);background-color:var(--card,#fff);appearance:auto}
.catalog-toolbar select option{color:#0f172a;background:#fff}
.static-tool-directory{margin:0 0 24px}
.static-tool-directory details{border:1px solid var(--border,#dbe5f3);border-radius:18px;background:var(--card,#fff);box-shadow:var(--shadow);overflow:hidden}
.static-tool-directory summary{display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;padding:17px 20px;font-weight:900;list-style:none}
.static-tool-directory summary::-webkit-details-marker{display:none}
.static-tool-directory summary::after{content:"펼치기 +";font-size:13px;color:var(--primary,#2563eb)}
.static-tool-directory details[open] summary::after{content:"접기 −"}
.static-tool-directory-intro{margin:0;padding:0 20px 16px;color:var(--sub,#64748b)}
.static-tool-directory-content{max-height:min(62vh,680px);overflow:auto;padding:0 20px 22px;border-top:1px solid var(--border,#e2e8f0)}
.static-tool-group{padding-top:16px}
.static-tool-group h2{display:flex;align-items:center;gap:8px;font-size:16px;margin:0 0 10px}
.static-tool-group h2 span{font-size:11px;color:var(--primary,#2563eb);background:#eff6ff;border-radius:999px;padding:3px 7px}
.static-tool-links{display:flex;flex-wrap:wrap;gap:8px}
.static-tool-links a{display:inline-flex;padding:8px 11px;border:1px solid var(--border,#dbe5f3);border-radius:999px;background:#f8fbff;text-decoration:none;color:#1e40af;font-size:13px}
.static-tool-links a:hover{border-color:#2563eb;background:#eff6ff}
@media(max-width:1250px){.catalog-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-toolbar input{grid-column:1/-1}}
@media(max-width:760px){.catalog-toolbar{grid-template-columns:1fr}.catalog-toolbar input{grid-column:auto}.static-tool-directory summary{padding:15px 16px}.static-tool-directory-content{padding-left:14px;padding-right:14px}.static-tool-links a{font-size:12px;padding:7px 9px}}

/* v4.21.0 catalog card integrity and demand-aware ordering */
.catalog-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));align-items:stretch}
.catalog-card{min-width:0;overflow:hidden;isolation:isolate}
.catalog-card-top{align-items:flex-start;flex-wrap:wrap;min-width:0}
.level-badge,.category-badge{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;writing-mode:horizontal-tb!important;word-break:keep-all}
.category-badge{margin-left:auto;flex:0 1 auto}
.catalog-card h3,.catalog-card p,.catalog-open{overflow-wrap:anywhere;word-break:keep-all}
.catalog-card h3{min-height:3em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.catalog-card p{min-height:4.7em;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.catalog-capabilities{min-height:56px;align-content:flex-start}
@media(max-width:560px){.catalog-grid{grid-template-columns:1fr}.catalog-card h3,.catalog-card p{min-height:0}.catalog-capabilities{min-height:0}}

/* AFO Find My Task UX v1: simple-first catalog */
.all-tools-page .catalog-toolbar{grid-template-columns:minmax(280px,1.6fr) repeat(3,minmax(150px,220px));align-items:start}
.all-tools-page .catalog-advanced-filters{grid-column:1/-1;border:1px solid var(--border);border-radius:14px;background:var(--card)}
.all-tools-page .catalog-advanced-filters summary{cursor:pointer;padding:12px 16px;font-weight:800;color:var(--sub)}
.all-tools-page .catalog-advanced-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 12px 12px}
.all-tools-page .catalog-grid{grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:12px}
.all-tools-page .catalog-card--simple{min-height:108px;padding:16px;justify-content:space-between}
.all-tools-page .catalog-card--simple h3{min-height:0;margin:0;font-size:16px;line-height:1.42;-webkit-line-clamp:3}
.all-tools-page .catalog-card--simple .catalog-open{margin-top:18px;font-size:13px}
@media(max-width:900px){.all-tools-page .catalog-toolbar{grid-template-columns:1fr 1fr}.all-tools-page .catalog-toolbar>input{grid-column:1/-1}.all-tools-page .catalog-advanced-filter-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.all-tools-page .catalog-toolbar{grid-template-columns:1fr}.all-tools-page .catalog-toolbar>input,.all-tools-page .catalog-advanced-filters{grid-column:auto}.all-tools-page .catalog-advanced-filter-grid{grid-template-columns:1fr}.all-tools-page .catalog-grid{grid-template-columns:1fr 1fr}.all-tools-page .catalog-card--simple{min-height:94px;padding:14px}.all-tools-page .catalog-card--simple h3{font-size:15px}}


/* AFO Find My Task UX v2: simple purpose-first buttons */
.all-tools-page .catalog-task-shortcuts{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:8px;margin:0 0 12px}
.all-tools-page .catalog-task-shortcuts button{min-height:48px;padding:9px 8px;border:1px solid var(--border);border-radius:12px;background:var(--card);color:var(--text);font:inherit;font-size:13px;font-weight:750;cursor:pointer}
.all-tools-page .catalog-task-shortcuts button:hover,.all-tools-page .catalog-task-shortcuts button[data-active="true"]{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 9%,var(--card));color:var(--primary)}
.all-tools-page .catalog-toolbar{grid-template-columns:minmax(280px,1.8fr) minmax(170px,.8fr) minmax(170px,.8fr)}
.all-tools-page .catalog-advanced-filters{grid-column:1/-1}
.all-tools-page .catalog-advanced-filter-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:1100px){.all-tools-page .catalog-task-shortcuts{grid-template-columns:repeat(5,minmax(0,1fr))}.all-tools-page .catalog-advanced-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.all-tools-page .catalog-task-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.all-tools-page .catalog-toolbar{grid-template-columns:1fr}.all-tools-page .catalog-advanced-filter-grid{grid-template-columns:1fr}}
