.welcome-section{margin-bottom:32px}.welcome-section h1{color:#6a462f;font-size:1.8rem;font-weight:700}.welcome-section p{color:#666;margin-top:4px}.categories-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:24px;display:grid}.cat-card{color:inherit;background:#fff;border-radius:16px;text-decoration:none;transition:transform .2s,box-shadow .2s;display:block;overflow:hidden;box-shadow:0 2px 12px #0000000f}.cat-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.cat-card-header{color:#fff;background:linear-gradient(135deg,#6a462f,#cca87c);padding:24px}.cat-card-header h3{font-size:1.3rem;font-weight:600}.cat-card-header .photo-count{opacity:.85;margin-top:4px;font-size:.85rem}.cat-card-body{padding:20px 24px}.progress-bar-wrapper{background:#eee;border-radius:8px;height:10px;margin-bottom:12px;overflow:hidden}.progress-bar-fill{border-radius:8px;height:100%;transition:width .4s}.progress-bar-fill.ok{background:linear-gradient(90deg,#28a745,#6dd5a0)}.progress-bar-fill.low{background:linear-gradient(90deg,#ffc107,#ffe082)}.progress-bar-fill.over{background:linear-gradient(90deg,#dc3545,#ff8a80)}.cat-status{justify-content:space-between;align-items:center;display:flex}.cat-status .label{color:#666;font-size:.85rem}.cat-status .value{color:#333;font-size:.95rem;font-weight:600}.phase-badge{border-radius:20px;padding:4px 12px;font-size:.75rem;font-weight:600;display:inline-block}.phase-badge.selection{color:#2e7d32;background:#e8f5e9}.phase-badge.scoring{color:#1565c0;background:#e3f2fd}.phase-badge.completed{color:#7b1fa2;background:#f3e5f5}.selection-range{color:#888;margin-top:6px;font-size:.75rem}
