.page-state,.page-skeleton{margin:36px auto 60px;border:3px solid #294a46;border-radius:10px;background:#f5f0dc;box-shadow:0 5px 0 #154b50;overflow:hidden;max-width:900px}
.page-state-stripe,.skeleton-stripe{height:54px;border-bottom:2px solid #394f42;background:repeating-linear-gradient(118deg,#ffe574 0 22px,#ffdc53 22px 40px)}
.page-state-content{padding:40px;text-align:center}
.page-state-symbol{display:inline-flex;align-items:center;justify-content:center;min-width:76px;height:66px;padding:0 14px;box-sizing:border-box;border:2px solid #8fac8e;border-radius:12px;background:#e1ebce;color:#346959;font-size:30px;font-weight:900;box-shadow:0 3px 0 #bbc9a6}
.page-state h1{font-size:28px;line-height:1.5;margin:24px 0 12px;color:#294e43}
.page-state p{font-size:15px;line-height:1.9;color:#5d705c;max-width:550px;margin:0 auto 25px}
.page-state-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px 24px}
.page-state-link{color:#2b7463;font-size:14px;text-decoration:underline;text-underline-offset:4px}
.page-state-search{display:flex;gap:10px;max-width:490px;margin:30px auto 0}
.page-state-search input[type=search]{min-width:0;flex:1;border:2px solid #87a78e;border-radius:6px;background:#e7edd7;padding:10px 12px;font:inherit;font-size:14px;color:#2c5344}
.page-state button:focus-visible,.page-state a:focus-visible,.page-state input:focus-visible{outline:3px solid #167e82;outline-offset:3px}
.skeleton-content{padding:30px}
.skeleton-content>p{font-size:14px;color:#526f5b;margin:0 0 22px}
.skeleton-line,.skeleton-card{background:#dce4c9;border-radius:7px;animation:page-pulse 1.4s ease-in-out infinite}
.skeleton-line{height:15px;margin-bottom:13px;width:85%}.skeleton-title{width:60%;height:26px;margin-bottom:24px}.skeleton-short{width:45%}
.skeleton-card{height:110px;margin:18px 0;background:#e6ead6;border:1px solid #c4cfb2}
@keyframes page-pulse{50%{opacity:.45}}
@media(max-width:640px){.page-state,.page-skeleton{margin:24px auto 40px}.page-state-content{padding:28px 18px}.page-state h1{font-size:23px}.page-state-search{gap:8px}.skeleton-content{padding:22px 18px}.page-state-actions{gap:16px}.page-state-search button{padding:8px 12px}}
@media(prefers-reduced-motion:reduce){.skeleton-line,.skeleton-card{animation:none}}
