@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes loading-dot-bounce{0%,80%,to{transform:scale(.55);opacity:.35}40%{transform:scale(1);opacity:1}}@keyframes loading-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.shimmer{background:linear-gradient(105deg,#eceae6 0% 38%,#f8f7f5 50%,#eceae6 62% 100%);background-size:220% 100%;animation:shimmer 1.6s ease-in-out infinite}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Segoe UI,Tahoma,sans-serif;background:#f4f3ef;color:#1f1f1f}button,input,select,textarea{font:inherit}.inline-error{margin:0 0 1rem;padding:.75rem .9rem;border-radius:.5rem;background:#c6282814;border:1px solid rgba(198,40,40,.25);color:#b71c1c;font-size:.9rem;line-height:1.45}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem}.page-header h1{margin:0;font-size:1.6rem}.page-header p{margin:.35rem 0 0;color:#666}.btn-primary,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border-radius:.5rem;padding:.7rem 1rem;text-decoration:none;cursor:pointer;border:none;font:inherit}.btn-primary{background:#111;color:#fff}.btn-primary:disabled{opacity:.88;cursor:wait}.btn-secondary{background:#fff;color:#111;border:1px solid #ddd}.header-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.card-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.card-header h2,.card-header h3,.card-header legend{margin:0}.btn-reset{display:inline-flex;align-items:center;justify-content:center;border-radius:.5rem;padding:.45rem .75rem;cursor:pointer;border:1px solid #ddd;background:#fff;color:#444;font-size:.85rem;white-space:nowrap}.btn-reset:disabled{opacity:.55;cursor:not-allowed}.filters{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.filters input,.filters select{border:1px solid #ddd;border-radius:.5rem;padding:.7rem .85rem;background:#fff}.filters input{flex:1;min-width:220px}.table-wrap{overflow:auto;background:#fff;border-radius:.75rem}table{width:100%;border-collapse:collapse}table th,table td{padding:.85rem;border-bottom:1px solid #eee;text-align:left;vertical-align:middle}.actions{display:flex;gap:.5rem;white-space:nowrap}.actions a,.actions button{border:none;background:transparent;color:#111;cursor:pointer;text-decoration:underline;font:inherit}
