/* White, clean UI + subtle motion */
:root{--border:#e5e7eb;--primary:#b45309;--muted:#6b7280}
*{box-sizing:border-box}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;margin:0;color:#111;background:#fff}
.container{max-width:1080px;margin:24px auto;padding:0 16px}
.card{border:1px solid var(--border);border-radius:16px;padding:20px;background:#fff;box-shadow:0 10px 24px rgba(0,0,0,.05);transition:transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(0,0,0,.08)}
input,select,textarea,button{font:inherit}
.input{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:#fff;transition:border-color .2s,box-shadow .2s}
.input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.15)}
.btn{padding:10px 14px;border:1px solid #111;border-radius:12px;background:#111;color:#fff;cursor:pointer;text-decoration:none;display:inline-block;transition:transform .15s ease,opacity .15s ease}
.btn:hover{transform:translateY(-1px);opacity:.95}
.btn.secondary{background:#fff;color:#111}
.btn.block{width:100%}
.btn.logout{background:#dc2626;color:#fff !important;border-color:#b91c1c}
.btn.logout:hover{background:#b91c1c}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
.center{text-align:center}
.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}
.small{color:var(--muted);font-size:13px}
.badge{border:1px solid var(--border);padding:6px 10px;border-radius:999px;background:#fafafa;color:#111;display:inline-block}
.notice{padding:12px 16px;border:1px dashed #f59e0b;background:#fffbeb;border-radius:12px}
.grid{display:grid;gap:16px}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
img.thumb{width:100%;height:140px;object-fit:cover;border-radius:10px;border:1px solid var(--border)}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.5);display:none;align-items:center;justify-content:center;padding:16px;z-index:50}
.modal.active{display:flex;animation:fade .2s ease}
.modal .dialog{background:#fff;border-radius:16px;border:1px solid var(--border);max-width:720px;width:100%;padding:20px}
.header{display:flex;justify-content:space-between;align-items:center;gap:12px}
.header a:not(.btn){color:#111;text-decoration:none}
.header .right{display:flex;gap:8px;align-items:center}
table{width:100%;border-collapse:collapse}
td,th{padding:10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}
@media (max-width:700px){.row,.row-3{grid-template-columns:1fr}}
@keyframes fade{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}
