:root{--bg:#f5f6f8;--text:#1f2328;--accent:#1f4b7a;--white:#fff;--border:#d8dee4}
*{box-sizing:border-box}body{margin:0;font-family:"Hiragino Kaku Gothic ProN",sans-serif;background:var(--bg);color:var(--text)}
.container{max-width:1100px;margin:0 auto;padding:20px}.site-header{background:#fff;border-bottom:1px solid var(--border)}.header-inner{display:flex;justify-content:space-between;align-items:center}.brand{font-weight:700;color:#000;text-decoration:none;display:flex;align-items:center;gap:8px}.brand-logo{width:30px;height:30px;display:block}nav a{margin-left:16px;color:#333}
.breadcrumbs{margin:12px 0 6px;font-size:13px;color:#4b5563}.breadcrumbs a{color:#1f4b7a;text-decoration:none}.breadcrumb-sep{margin:0 8px;color:#9ca3af}
.auth-card,.detail,.content-card,table,.form-grid,.admin-links a{background:var(--white);border:1px solid var(--border);border-radius:10px}
.auth-card{max-width:460px;margin:40px auto;padding:24px}.auth-card form label,.form-grid label{display:block;margin:12px 0}.auth-card input,.form-grid input,.form-grid textarea,.form-grid select{width:100%;padding:10px;border:1px solid #c8d1dc;border-radius:8px}
button,.btn{background:var(--accent);color:#fff;padding:10px 16px;border:none;border-radius:8px;text-decoration:none;display:inline-block;cursor:pointer}
.btn-link-form{display:inline}.btn-link-form .btn{padding:8px 12px}
.filter-row{display:flex;gap:8px;margin:16px 0;flex-wrap:wrap}
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.content-card{padding:16px;text-decoration:none;color:inherit}.card-thumb{display:block;width:100%;height:150px;object-fit:cover;border-radius:8px;margin-bottom:10px;background:#eef2f6}.card-thumb-placeholder{display:flex;align-items:center;justify-content:center;color:#6b7280;font-size:12px}.badge{display:inline-block;background:#eaf2fb;color:#17406a;padding:4px 8px;border-radius:99px;font-size:12px}
.detail{padding:24px}.detail video,.detail img{max-width:100%;border-radius:10px}iframe{border:1px solid var(--border);border-radius:8px}
table{width:100%;border-collapse:collapse;padding:8px}th,td{padding:10px;border-bottom:1px solid var(--border);text-align:left}
.form-grid{padding:20px}.drop-zone{border:2px dashed #9db3c8;padding:20px;border-radius:10px;background:#f8fbff}.drop-zone.drag{background:#e8f1fb}.error{color:#b00020}
.admin-links{display:flex;gap:12px}.admin-links a{padding:20px;text-decoration:none;color:#111}
@media (max-width:768px){.container{padding:12px}table{font-size:12px}.admin-links{flex-direction:column}}
